FSK调制与解调可编辑.docVIP

  • 0
  • 0
  • 约2.54千字
  • 约 9页
  • 2022-12-20 发布于湖北
  • 举报
实验五 FSK调制与解调 实验目的 掌握二进制频移键控的原理。 运用MATLAB对2FSK的调制与解调过程进行仿真,记录并分析仿真结果。 实验内容 运用MATLAB编程实现FSK调制解调过程,并且输出其调制后的波形,画出频谱、功率谱密度图,并比较各种调制的误码率情况,讨论其调制效果。 软件概要设计说明,功能模块及流程和工作原理 2FSK信号在形式上如同两个不同频率交替发送的ASK信号相叠加,已调信号的时域表达式为: 2FSK调制就是使用两个不同的频率的载波信号来传输一个二进制信息序列。可以用二进制“1”来对应于载频f1,而“0”用来对应于另一项载频w2的已调波形,而这个可以用受矩形脉冲序列控制的开关电路对两个不同的独立的频率源w1、f2进行选择通。如下原理图: 2FSK信号的解调也有非相干和相干两种。FSK信号可以看成是用两个频率源交替输出得到,所以FSK接收机由两个并联的ASK接收机组成。如下原理图: 软件详细设计、关键技术与难点、测试数据 用MATLAB编程如下: Fc=10; %载频 Fs=40; %系统采样频率 Fd=1; %码速率 N=Fs/Fd; df=10; numSymb=25; %进行仿真的信息代码个数 M=2; %进制数 SNRpBit=60; %信噪比 SNR=SNRpBit/log2(M); seed=[12345 54321]; numPlot=15; x=randsrc(numSymb,1,[0:M-1]);%产生25个2进制随机码 figure(1) stem([0:numPlot-1],x(1:numPlot),bx); title(二进制随机序列) xlabel(Time); ylabel(Amplitude); %调制 y=dmod(x,Fc,Fd,Fs,fsk,M,df); numModPlot=numPlot*Fs; t=[0:numModPlot-1]./Fs; figure(2) plot(t,y(1:length(t)),b-); axis([min(t) max(t) -1.5 1.5]); title(调制后的信号) xlabel(Time); ylabel(Amplitude); %在已调信号中加入高斯白噪声 randn(state,seed(2)); y=awgn(y,SNR-10*log10(0.5)-10*log10(N),measured,[],db); figure(3) plot(t,y(1:length(t)),b-); axis([min(t) max(t) -1.5 1.5]); title(加入高斯白噪声后的已调信号) xlabel(Time); ylabel(Amplitude); %相干解调 figure(4) z1=ddemod(y,Fc,Fd,Fs,fsk/eye,M,df); title(相干解调后的信号的眼图) figure(5) stem([0:numPlot-1],x(1:numPlot),bx); hold on; stem([0:numPlot-1],z1(1:numPlot),ro); hold off; axis([0 numPlot -0.5 1.5]); title(相干解调后的信号原序列比较) legend(原输入二进制随机序列,相干解调后的信号) xlabel(Time); ylabel(Amplitude); %非相干解调 figure(6) z2=ddemod(y,Fc,Fd,Fs,fsk/eye/noncoh,M,df); title(非相干解调后的信号的眼图) figure(7) stem([0:numPlot-1],x(1:numPlot),bx); hold on; stem([0:numPlot-1],z2(1:numPlot),ro); hold off; axis([0 numPlot -0.5 1.5]); title(非相干解调后的信号) legend(原输入二进制随机序列,非相干解调后的信号) xlabel(Time); ylabel(Amplitude); %误码率统计 [errorSym ratioSym]=symerr(x,z1); figure(8) simbasebandex([0:1:5]); title(相干解调后误码率统计) [errorSym ratioSym]=symerr(x,z2); figure(9) simbasebandex([0:1:5]); title(非相干解调后误码率统计) %滤除高斯白噪声 Delay=3;R=0.5;PropD=0;

文档评论(0)

1亿VIP精品文档

相关文档