基于Matlab调制与解调的实现(DOC) 下载本文

seed=[12345 54321];

numPlot=25; %产生25个二进制随机码 x=randsrc(numSymb,1,[0:M-1]); %产生25个二进制随机码 y=dmod(x,Fc,Fd,Fs,'fsk',M,df); %进行FSK调制 numModPlot=numPlot*Fs; %时间轴显示的长度

t=[0:numModPlot-1]./Fs; %时间轴与数字序列轴对应 figure(1)

stairs(x); axis([0 25 -0.5 1.5]); title('二进制随机序列') xlabel('Time'); ylabel('Amplitude'); figure(2)

plot(t,y(1:length(t)),'b-'); axis([min(t) max(t) -1.5 1.5]); title('调制后的信号') figure(3)

z1=ddemod(y,Fc,Fd,Fs,'fsk',M,df); stairs(z1); axis([min(t) max(t) -0.5 1.5]); title('相干解调后的信号') xlabel('Time'); ylabel('Amplitude'); L=length(z1); m=fft(z1,L); f=(0:(L-1))*Fs/L-Fs/2; figure(4); plot(f,abs(m)); xlabel('f'); 12

%显示二进制随机序列 %设置横纵坐标范围 %将图形命名 %定义x轴为时间轴 %定义y轴表示幅度 %显示第二个图 %设置横纵坐标范围 %将图形命名 %相干解调

%显示相干解调后的信号%设置横纵坐标范围 %将图形命名 %定义x轴为时间轴 %定义y轴表示幅度 %相干解调后的信号长度 %对相干解调后进行傅立叶变换%频率矢量 %显示图形5

%显示已调信号的频谱图%定义x轴为频率轴

ylabel('幅度'); %定义y轴表示幅度 title('相干解调后的信号频谱图'); %将图形命名

13

三.总结体会

通过这次实验,基本熟悉了Matlab的使用,通过编程能够实现一定的功能,在本次实验中实现了对信号的幅度,角度和FSK的调制与解调,基本达到了想要得到的结果,在角度调制中,主要对调频信号的分析,没能画出解调后信号的频谱,这是不足的地方。当然,我只研究了三种调制方式,还有其他的方式,如ASK,PSK等,我仍需要好好钻研这些调制,在本实验中,我没能做到对这三种调制进行比较。这是需要改进的地方。

14