1、
预先设计的滤波器:
LPF:
HSSB:
1、调制程序
function myfun()
%采用滤波法产生SSB信号
Fs=44100;%采样频率44100HZ
k1=input('k1=');%调制信号的参数k1
fc=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
2、pi*fc*t);%产生双边带调制信号
SSB=conv(HSSB,SDSB);%让双边带信号通过预先设计好的HSSB带通滤波器);
subplot(2,1,2);
plot(SSB);
xlabel('f');
ylabel('已调信号SSB(t)');
sound(SSB,44100);%通过声卡发送已调信号
end
2、 在没有音频线传输信号时,模拟信道噪声程序
SNR=40;%设定模拟信道信噪比
SSB1=awgn(SSB,SNR);%加入模拟信道高斯白噪声
3、 解调程序
function myfun()
%采用相干解调解调SSB信号
F
3、s=44100;%采样频率44100HZ
fc=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