本文共 1339 字,大约阅读时间需要 4 分钟。
实现模拟调制信号与解调的仿真是我的MATLAB课程设计的一部分,我参考了网上的一些资料,并加入了一些自己的想法,代码已在本地MATLAB编译通过且能正常运行
SSB——单边带调制
fm=10;fc=40;am=sqrt(2);Fs=300; %采样频率Fs,载波频率fc,信号频率fmwc=2*pi*fc;wm=fm*2*pi;N=300;n=0:N-1;t=n/Fs; %时间序列f=n*Fs/N;%基带信号时域sm=am*cos(wm*t);figure(1);subplot(211);plot(t,sm);title('基带信号');xlabel('t');axis([0 1 -2 2]);grid on%基带信号频域S=fft(sm,300);%300点的fftSG=abs(S);subplot(212);plot(f(1:N/2),SG(1:N/2)); %SSB信号频域波形xlabel('Frequency(HZ)');title('基带信号频域波形 ');grid on;%SSB调制信号时域s=modulate(sm,fc,Fs,'amssb'); %对调制信号进行调制S=fft(s,300);SG=abs(S);figure(2);subplot(211);plot(t,s); %SSB信号时域波形title('SSB信号时域波形 '); xlabel('t');subplot(212);plot(f(1:N/2),SG(1:N/2)); %SSB信号频域波形xlabel('Frequency(HZ)');title('SSB信号频域波形 ');grid on;%-------------------------------------------------------------------------%解调fm=10;%信号频率fmfc=40;%载波频率fcam=sqrt(2);Fs=300; %采样频率Fswc=2*pi*fc;wm=fm*2*pi;N=300;n=0:N-1;t=n/Fs; %时间序列f=n*Fs/N;sm=am*cos(wm*t);s=modulate(sm,fc,Fs,'amssb'); sd=demod(s,fc,Fs,'amssb'); %对SSB信号进行解调SD=fft(sd,300);SDG=abs(SD);figure(3);subplot(2,1,1);plot(t,sd); %解调后的时域波形title('解调后的时域波形');xlabel('t');axis([0 1 -2 2]);subplot(2,1,2);plot(f(1:N/2),SDG(1:N/2)); %解调后的频域波形title('解调后的频域波形');xlabel('Frequency(HZ)');axis([0 150 0 300]);grid on;
转载地址:http://qwfgf.baihongyu.com/