实验3 FSK ASK调制解调实验.docx
《实验3 FSK ASK调制解调实验.docx》由会员分享,可在线阅读,更多相关《实验3 FSK ASK调制解调实验.docx(15页珍藏版)》请在冰豆网上搜索。
实验3FSKASK调制解调实验
实验3FSK(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已调信号。
因此,本实验箱没有专门设置ASK实验单元电路。
图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锁相解调器采用集成锁相环芯片
图3-2FSK锁相环解调器原理示意图
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)编程产生。
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调制信号和巳调信号波形观察:
双踪示波器触发测量探头接16P01,另一测量探头接16P02,调节示波器使两波形同步,观察FSK调制信号和巳调信号波形,记录实验数据。
7.噪声模块调节:
调节3W01,将3TP01噪声电平调为0;调节3W02,调整3P02信号幅度为4V。
8.FSK解调参数调节:
调节17W01电位器,使压控振荡器锁定在32KHz(16KHz行不行?
),同时可用频率计监测17TP02信号频率。
9.无噪声FSK解调输出波形观察:
调节3W01,将3TP01噪声电平调为0;双踪示波器触发测量探头接16P01,另一测量探头接17P02。
同时观察FSK调制和解调输出信号波形,并作记录,并比较两者波形,正常情况,两者波形一致。
如果不一致,可微调17W01电位器,使之达到一致。
10.加噪声FSK解调输出波形观察:
调节3W01逐步增加调制信号的噪声电平大小,看是否还能正确解调出基带信号。
11.ASK实验与上相似,这儿不再赘述。
12.关机拆线:
实验结束,关闭电源,拆除信号连线,并按要求放置好实验模块。
注:
由于本实验中载波频率为16KHz、32KHz,所以被调制基带信号的码元速率不要超过4KHz。
六、实验结果分析
根据输入的基带信号,请画出FSK、ASK各主要测试点波形。
FSK的Matlab仿真结果
原始基带信号
调制后的信号
接收到有噪声的信号
解调后的信号
抽样判决后的信号
调制信号的频谱分析
实验室演示的图形
基带信号和调制信号
原始信号和恢复信号
ASK的Matlab仿真结果
实验室演示的图形
ASK的基带信号和调制信号
实验心得
通过两个不同频率的载波信号可以对调制信号进行2FSK调制;通过想干解调,可以较好的实现2FSK调制信号的解调;解调出来的波形与调制信号相比会有一定的延时。
2FSK信号频谱是看成由两个不同频率的2ASK信号频谱组成。
附录
FSK的Matlab程序
主程序
closeall
clearall
n=16;
f1=18000000;
f2=6000000;
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);
子程序
functionbitstream=demoFSK(receivedSignal,bitRate,f1,f2,N)
loadnum
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('Waveofreceivingterminal(includingnoise)');
gridon;
subplot(3,1,2);
plot(1:
length(signal2),signal2);title('AfterPassingHPF');gridon;
subplot(3,1,3);
plot(1:
length(signal3),signal3);title('AfterPassingLPF');gridon;
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('Waveofreceivingterminal(includingnoise)');gridon;
subplot(3,1,2);
plot(1:
length(signal4),signal4);title('AfterPassingBPF');gridon;
subplot(3,1,3);
plot(1:
length(signal5),signal5);title('AfterPassingLPF');gridon;
fori=1:
min(length(bitstream1),length(bitstream2))%判决
if(bitstream1(i)>bitstream2(i))
bitstream(i)=1;
else
bitstream(i)=0;
end
end
bitstream
bit=[];%接收端波形
fori=1:
length(bitstream)
ifbitstream(i)==0
bit1=zeros(1,N);
else
bit1=ones(1,N);
end
bit=[bit,bit1];
end
figure(7)
plot(bit),title('binaryofreceivingterminal'),gridon;
axis([0,N*length(bitstream),-2.5,2.5]);
end
functiontransmittedSignal=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=[];
fori=1:
length(signal)
ifsignal(i)==1
transmittedSignal=[transmittedSignal,c1];
else
transmittedSignal=[transmittedSignal,c2];
end
end
figure
(2)
plot(1:
length(transmittedSignal),transmittedSignal);
title('ModulationofFSK');gridon;
figure(3)
m=0:
length(transmittedSignal)-1;
F=fft(transmittedSignal);
plot(m,abs(real(F))),title('ASK_frequency-domainanalysisreal');
gridon;
end
FSK的Matlab程序
clc;
clear;
N=30;
xn=[];
x=[101100101010010000000111111000];
t=0.01:
0.01:
N;
y=cos(2*pi*2*t);
fori=1:
N
ifx(i)==1
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([03000-12])
y=cos(2*pi*2*t);
subplot(5,2,2)
plot(y);
title('载波波形');
axis([03000-22])
z=xn.*y;
subplot(5,2,3)
plot(z)
title('已调信号')
axis([03000-1.51.5])
%对已调信号进行频谱分析
ba=fft(z,512);
ba=abs(ba);
subplot(5,2,4)
plot(ba);
title('已调信号频谱')
axis([-2006000150])
%加入高斯噪声
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([-2006000150])
%设计一个低通滤波器
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([03000-22])
%相干解调
x2=x_fir.*y;
subplot(5,2,8);
plot(x2);
title('与相干载波相乘波形')
axis([03000-0.52])
%对加入噪声的信号进行滤波
x3=filter(b,1,x2);
subplot(5,2,9)
plot(x3);
title('与相干载波相乘后滤波波形')
axis([03000-0.52.5])
%抽样判决
fori=1:
N
ifabs(x3(i*100-20))>=0.5;
xn2(i*100-99:
i*100)=ones(1,100);
else
xn2(i*100-99:
i*100)=zeros(1,100);
end
end
subplot(5,2,10);
plot(xn2);
title('恢复波形')
axis([03000-12])