ssb调制解调matlab仿真设计,单边带SSB调制解调的MATLAB仿真.doc

单边带SSB调制解调的MATLAB仿真

预先设计的滤波器:LPF:

HSSB:

1、调制程序function myfun()%采用滤波法产生SSB信号Fs=44100;%采样频率44100HZk1=input('k1=');%调制信号的参数k1fc=20000;%载波频率设定为20000HZ;Fc=2000;%调制信号的频率t=0:1/Fs:1;%采样时间m=k1*sin(2*pi*Fc*t);%产生调制信号subplot(2,1,1);plot(m);xlabel('时间t');ylabel('调制信号m(t)');%做出调制信号的图SDSB=m.*cos(2*pi*fc*t);%产生双边带调制信号SSB=conv(HSSB,SDSB);%让双边带信号通过预先设计好的HSSB带通滤波器);subplot(2,1,2);plot(SSB);xlabel('f');ylabel('已调信号SSB(t)');sound(SSB,44100);%通过声卡发送已调信号end

在没有音频线传输信号时,模拟信道噪声程序 SNR=40;%设定模拟信道信噪比 SSB1=awgn(SSB,SNR);%加入模拟信道高斯白噪声解调程序 function myfun()%采用相干解调解调SSB信号Fs=44100;%采样频率44100HZfc=20000;%载波频率设定为20000HZ;t=0:1/Fs:1;%采样时间SSB1=wavrecord(44101,44100);%通过声卡接收信号subplot(3,1,1);plot(SSB1);xlabel('t');ylabel('通过声卡的接收信号');%作图S=conv(SSB1,HSSB);%让接收到的信号通过带通滤波器subplot(3,1,2);plot(S);xlabel('t');ylabel('通过带通滤波器后的接收信号');%作图ii=1;S1=ones(1,44101);while ii<=44101 S1(ii)=S(ii); ii=ii+1;end%通过循环截取前面的44101个数据点S2=conv(LPF,S1.*cos(2*pi*fc*t));%解调的核心程序subplot(3,1,3);plot(S2);xlabel('t');ylabel('解调后的信号');%作图end

你可能感兴趣的:(ssb调制解调matlab仿真设计,单边带SSB调制解调的MATLAB仿真.doc)