搜索
您的当前位置:首页实验3fsk(ask)调制解调实验

实验3fsk(ask)调制解调实验

来源:小侦探旅游网


实验3 FSK (ASK)调

制解调实验

-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

实验3 FSK(ASK)调制解调实验

一、实验目的

1.掌握FSK(ASK)调制器的工作原理及性能测试; 2.掌握FSK(ASK)锁相解调器工作原理及性能测试;

3. 学习FSK(ASK)调制、解调硬件实现,掌握电路调整测试方法。

二、实验仪器

1.FSK调制模块,位号A

2.FSK解调模块,位号C

3.时钟与基带数据发生模块,位号:G 4.噪声模块,位号B 5.20M双踪示波器1台 6.小平口螺丝刀1只 7.频率计1台(选用) 8.信号连接线3根

三、实验原理

(一) FSK调制电路工作原理

FSK调制电路是由两个ASK调制电路组合而成,它的电原理图,如图3-1所示。16K02为两ASK已调信号叠加控制跳线。用短路块仅将1-2脚相连,输出“1”码对应的ASK已调信号;用短路块仅将3-4脚相连,输出“0”码对应的ASK已调信号。用短路块将1-2脚及3-4脚都相连,则输出FSK已调信号。因此,1本实验箱没有专门设置ASK实验单元电路。 2KHZ方波数字基带信号输入2

2K伪随机码316K0116U03A74LS04

132KHZ低通f116TP0211216TP0116TP0321124116KHZ低通f21116U02A40661316TP0432图3-1 FSK调制解调电原理框图

1

11116U02B40661016K0216TP06图3-1中,输入的数字基带信号分成两路,一路控制f1=32KHz的载频,另一路经反相器去控制f2=16KHz的载频。当基带信号为“1”时,模拟开关B打开,模拟开关A关闭,此时输出f1=32KHz;当基带信号为“0”时,模拟开关B关闭,模拟开关A打开,此时输出f2=16KHz;在输出端经开关16K02叠加,即可得到已调的FSK信号。

电路中的两路载频(f1、f2)由时钟与基带数据发生模块产生的方波,经射随、选频滤波变为正弦波,再送至模拟开关4066。载频f1的幅度调节电位器16W01,载频f2的幅度调节电位器16W02。

(二) FSK解调电路工作原理

FSK解调采用锁相解调,锁相解调的工作原理是十分简单的,只要在设计锁相环时,使它锁定在FSK的一个载频上,此时对应的环路滤波器输出电压为零,而对另一载频失锁,则对应的环路滤波器输出电压不为零,那末在锁相环路滤波器输出端就可以获得原基带信号的信息。FSK锁相环解调器原理图如图3-2所示。FSK锁相解调器采用集成锁相环芯片

17TP0217TP01压控振荡器中心频率1FSK调制信号17U011439517C022200671112AINBINVCININHCACBR1R2MC4046PCPPC1PC2121313217U02A117TP031FSK解调输出VCOUT4SFZEN101517R0947K17W0110K图3-2 FSK锁相环解调器原理示意图

MC4046。其中,压控振荡器的频率是由17C02、17R09、17W01等元件参数确定,中心频率设计在32KHz左右,并可通过17W01电位器进行微调。当输入信号为32KHz时,调节17W01电位器,使环路锁定,经形成电路后,输出高电平;当输入信号为16KHz时,环路失锁,经形成电路后,输出低电平,则在解调器输出端就得到解调的基带信号序列。

四、各测量点和可调元件的作用 1. FSK调制模块

16K02:两ASK已调信号叠加控制跳线。用短路块将1-2脚及3-4脚都相

连,则输出FSK已调信号。仅1-2脚连通,则输出ASK已调信号。

16TP01:32KHz方波信号输入测试点,由4U01芯片(EPM240)编程产生。

2

16TP02:16KHz方波信号输入测试点,由4U01芯片(EPM240)编程产生。 16TP03:32KHz载波信号测试点,可调节电位器16W01改变幅度。 16TP04:16KHz载波信号测试点,可调节电位器16W02改变幅度。 16P01:数字基带信码信号输入铆孔。

16P02:FSK已调信号输出铆孔,此测量点需与16P01点波形对比测量。

2.FSK解调模块

17W01:解调模块压控振荡器的中心频率调整电位器。

17P01:FSK解调信号输入铆孔。

17TP02:FSK解调电路中压控振荡器输出时钟的中心频率,正常工作时应为32KHz左

右,频偏不应大于2KHz,若有偏差,可调节电位器17W01。

17P02:FSK解调信号输出,即数字基带信码信号输出,波形同16P01。

3.噪声模块

3W01:噪声电平调节。

3W02:加噪后信号幅度调节。

3TP01:噪声信号测试点,电平由3W01调节。 3P01:外加信号输入铆孔。 3P02:加噪后信号输出铆孔。

五、实验内容及步骤

1.插入有关实验模块:

在关闭系统电源的条件下,将“时钟与基带数据发生模块”、“ FSK调制模块” 、“噪声模块”、“FSK解调模块”,插到底板“G、A、B、C”号的位置插座上(具体位置可见底板右下角的“实验模块位置分布表”)。注意模块插头与底板插座的防呆口一致,模块位号与底板位号的一致。 2.信号线连接:

用专用导线将4P01、16P01;16P02、3P01;3P02、17P01连接(注意连接铆孔的箭头指向,将输出铆孔连接输入铆孔)。 3.加电:

打开系统电源开关,底板的电源指示灯正常显示。若电源指示灯显示不正常,请立即关闭电源,查找异常原因。 4.设置好跳线及开关:

用短路块将16K02的1-2、3-4相连。拨码器4SW02:设置为“00000”,4P01产生2K的 15位m序列输出。 5.载波幅度调节:

16W01:调节32KHz载波幅度大小,调节峰峰值4V。 16W02:调节16KHz载波幅度大小,调节峰峰值4V。 用示波器对比测量16TP03、16TP04两波形。 6.FSK调制信号和巳调信号波形观察:

3

双踪示波器触发测量探头接16P01,另一测量探头接16P02,调节示波器使两波形同步,观察FSK调制信号和巳调信号波形,记录实验数据。 7.噪声模块调节:

调节3W01,将3TP01噪声电平调为0;调节3W02,调整3P02信号幅度为4V。

8.FSK解调参数调节:

调节17W01电位器,使压控振荡器锁定在32KHz(16 KHz行不行) ,同时可用频率计监测17TP02信号频率。

9.无噪声FSK解调输出波形观察:

调节3W01,将3TP01噪声电平调为0;双踪示波器触发测量探头接16P01,另一测量探头接17P02。同时观察FSK调制和解调输出信号波形,并作记录,并比较两者波形,正常情况,两者波形一致。如果不一致,可微调17W01电位器,使之达到一致。 10.加噪声FSK解调输出波形观察:

调节3W01逐步增加调制信号的噪声电平大小,看是否还能正确解调出基带信号。

11.ASK实验与上相似,这儿不再赘述。 12.关机拆线:

实验结束,关闭电源,拆除信号连线,并按要求放置好实验模块。

注:由于本实验中载波频率为16KHz、32KHz,所以被调制基带信号的码元速率不要超过4KHz。

六、实验结果分析

根据输入的基带信号,请画出FSK、ASK各主要测试点波形。

FSK的Matlab仿真结果

原始基带信号

调制后的信号

4

接收到有噪声的信号

解调后的信号

抽样判决后的信号

调制信号的频谱分析

实验室演示的图形

5

基带信号和调制信号

原始信号和恢复信号

ASK的Matlab仿真结果

6

实验室演示的图形

7

ASK的基带信号和调制信号

实验心得

通过两个不同频率的载波信号可以对调制信号进行2FSK调制;通过想干解调,可以较好的实现2FSK调制信号的解调;解调出来的波形与调制信号相比会有一定的延时。2FSK信号频谱是看成由两个不同频率的2ASK信号频谱组成。

附录

FSK的Matlab程序

主程序

close all clear all n=16;

f1=18000000; f2=6000000;

8

bitRate=1000000; N=50; noise=10;

signal=source(n,N);

transmittedSignal=fskModu(signal,bitRate,f1,f2,N); signal1=gussian(transmittedSignal,noise);

configueSignal=demoFSK(signal1,bitRate,f1,f2,N);

子程序

function bitstream=demoFSK(receivedSignal,bitRate,f1,f2,N) load num

signal1=receivedSignal;

signal2=filter(gaotong,1,signal1); %通过HPF,得到高频分量 signal3=abs(signal2); %整流

signal3=filter(lowpass,1,signal3); %通过LPF,形成包络 bitstream=[];

IN1=fix(length(lowpass)/2)+fix(length(gaotong)/2); %延迟时间

bitstream1=[];

LL=N; %每个bit的抽样点数 i=IN1 +LL/2;

while (i<=length(signal3)) %判决

bitstream1=[bitstream1,signal3(i)>=0.5]; i=i+LL; end

bitstream1 figure(5)

subplot(3,1,1);

plot(1:length(signal1),signal1);

title('Waveof receivingterminal(including noise)'); grid on;

subplot(3,1,2);

plot(1:length(signal2),signal2);title('After Passing HPF');grid on;

subplot(3,1,3);

plot(1:length(signal3),signal3);title('After Passing LPF');grid on;

9

signal4=filter(daitong,1,signal1); %通过BPF,得到低频分量 signal5=abs(signal4); %整流

signal5=filter(lowpass,1,signal5); %通过LPF,形成包络 IN2=fix(length(lowpass)/2)+fix(length(daitong)/2); %延迟时间

bitstream2=[];

LL=N; %每个bit的抽样点数 i=IN2 +LL/2;

while (i<=length(signal5)) %判决

bitstream2=[bitstream2,signal5(i)>=0.5]; i=i+LL; end

bitstream2 figure(6)

subplot(3,1,1);

plot(1:length(signal1),signal1);

title('Wave of receiving terminal(including noise)');grid on; subplot(3,1,2);

plot(1:length(signal4),signal4);title('After Passing BPF');grid on;

subplot(3,1,3);

plot(1:length(signal5),signal5);title('After Passing LPF');grid on;

for i=1:min(length(bitstream1),length(bitstream2)) %判决 if(bitstream1(i)>bitstream2(i)) bitstream(i)=1; else

bitstream(i)=0; end end

bitstream

bit=[]; %接收端波形 for i=1:length(bitstream) if bitstream(i)==0

10

bit1=zeros(1,N); else

bit1=ones(1,N); end

bit=[bit,bit1]; end

figure(7)

plot(bit),title('binary of receiving terminal'),grid on; axis([0,N*length(bitstream),-2.5,2.5]); end

function transmittedSignal=fskModu(signal,bitRate,f1,f2,N) t=linspace(0,1/bitRate,N); c1=sin(2*pi*t*f1); c2=sin(2*pi*t*f2); transmittedSignal=[]; for i=1:length(signal) if signal(i)==1

transmittedSignal=[transmittedSignal,c1]; else

transmittedSignal=[transmittedSignal,c2]; end end figure(2)

plot(1:length(transmittedSignal),transmittedSignal); title('Modulation of FSK');grid on; figure(3)

m=0:length(transmittedSignal)-1; F=fft(transmittedSignal);

plot(m,abs(real(F))),title('ASK_frequency-domain analysis real'); grid on; end

FSK的Matlab程序

clc; clear;

N=30; xn=[];

x=[1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0]; t=0.01:0.01:N; y=cos(2*pi*2*t); for i=1:N

if x(i)==1

11

xn(i*100-99:i*100)=ones(1,100); else

xn(i*100-99:i*100)=zeros(1,100); end end

subplot(5,2,1) plot(xn);

title('原始二进制信号'); axis([0 3000 -1 2])

y=cos(2*pi*2*t); subplot(5,2,2) plot(y);

title('载波波形'); axis([0 3000 -2 2])

z=xn.*y;

subplot(5,2,3) plot(z)

title('已调信号') axis([0 3000 -1.5 1.5])

%对已调信号进行频谱分析 ba=fft(z,512); ba=abs(ba); subplot(5,2,4) plot(ba);

title('已调信号频谱') axis([-200 600 0 150])

%加入高斯噪声

a=0.1;%noise 系数,控制噪声功率noise=a*(2*rand(1,100*N)-1); z1=z+noise; subplot(5,2,5) plot(z1);

title('加入噪声后信号波形');

%对加噪信号进行频谱分析 ba=fft(z1,512); ba=abs(ba); subplot(5,2,6) plot(ba);

title('加噪信号频谱') axis([-200 600 0 150])

%设计一个低通滤波器

Wp =50/80; Ws = 70/80;

[n,Wn] = buttord(Wp,Ws,1,5) [b,a] = butter(n,Wn);

%对加入噪声的信号进行滤波 x_fir=filter(b,1,z1);

%观察滤波之后的信号波形 subplot(5,2,7) plot(x_fir);

title('滤波之后的信号') axis([0 3000 -2 2])

%相干解调 x2=x_fir.*y; subplot(5,2,8); plot(x2);

title('与相干载波相乘波形') axis([0 3000 -0.5 2])

%对加入噪声的信号进行滤波 x3=filter(b,1,x2); subplot(5,2,9) plot(x3);

title('与相干载波相乘后滤波波形')

axis([0 3000 -0.5 2.5])

%抽样判决

for i=1:N

if abs(x3(i*100-20))>=0.5; xn2(i*100-99:i*100)=ones(1,100); else

12

xn2(i*100-99:i*100)=zeros(1,100); end end

subplot(5,2,10);

plot(xn2); title('恢复波形') axis([0 3000 -1 2])

13

因篇幅问题不能全部显示,请点此查看更多更全内容

Top