📄 ssb3.m
字号:
clear;
t0=2;
ts=1/1000;
fc=25;
fs=1/ts;
fl=20;
df=0.1;
snr1=3;
snr2=30;
t=[0:ts:t0];
m=zeros(size(t));
for i=1:length(t)
if (t(i)>=0.1)&(t(i)<1)
m(i)=t(i);
elseif (t(i)>=1)&(t(i)<=1.9)
m(i)=-t(i)+2;
else
m(i)=0;
end
end
c=cos(2*pi*fc.*t);
b=sin(2*pi*fc.*t);
lssb=m.*c+imag(hilbert(m)).*b;
s1 = awgn(lssb,snr1,'measured');
s2 = awgn(lssb,snr2,'measured');
y=lssb.*c;
y1=s1.*c;
y2=s2.*c;
[M,m,dfl]=fftseq(m,ts,df);
M=M/fs;
[LSSB,lssb,dfl]=fftseq(lssb,ts,df);
LSSB=LSSB/fs;
[S1,s1,dfl]=fftseq(s1,ts,df);
S1=S1/fs;
[S2,s2,dfl]=fftseq(s2,ts,df);
S2=S2/fs;
[Y,y,dfl]=fftseq(y,ts,df);
Y=Y/fs;
[Y1,y1,dfl]=fftseq(y1,ts,df);
Y1=Y1/fs;
[Y2,y2,dfl]=fftseq(y2,ts,df);
Y2=Y2/fs;
n_cutoff=floor(fl/dfl);
f=[0:dfl:dfl*(length(m)-1)]-fs/2;
H=zeros(size(f));
H(1:n_cutoff)=2*ones(1,n_cutoff);
H(length(f)-n_cutoff+1:length(f))=2*ones(1,n_cutoff);
DEM=H.*Y;
DEM1=H.*Y1;
DEM2=H.*Y2;
dem=real(ifft(DEM))*fs;
dem1=real(ifft(DEM1))*fs;
dem2=real(ifft(DEM2))*fs;
figure(1);
subplot(3,1,1);plot(t,m(1:length(t)));
title('调制信号');
subplot(3,1,2);plot(t,lssb(1:length(t)));
title('下边带信号');
subplot(3,1,3);plot(t,dem(1:length(t)));
title('解调信号');
figure(2);
subplot(3,1,1);plot(f,abs(fftshift(M)));
title('调制信号频谱');
subplot(3,1,2);plot(f,abs(fftshift(LSSB)));
title('下边带信号频谱');
subplot(3,1,3);plot(f,abs(fftshift(DEM)));
title('解调信号频谱');
figure(3);
subplot(3,2,1);plot(t,lssb(1:length(t)));
title('下边带信号');
subplot(3,2,2);plot(f,abs(fftshift(LSSB)));
title('下边带信号频谱');
subplot(3,2,3);plot(t,s1(1:length(t)));
title('加大噪声后下边带信号');
subplot(3,2,4);plot(f,abs(fftshift(S1)));
title('加大噪声后下边带信号频谱');
subplot(3,2,5);plot(t,s2(1:length(t)));
title('加小噪声后下边带信号');
subplot(3,2,6);plot(f,abs(fftshift(S2)));
title('加小噪声后下边带信号频谱');
figure(4);
subplot(3,1,1);plot(t,dem(1:length(t)));
title('解调信号');
subplot(3,1,2);plot(t,dem1(1:length(t)));
title('加大噪声解调信号');
subplot(3,1,3);plot(t,dem2(1:length(t)));
title('加小噪声解调信号');
figure(5);
subplot(3,1,1);plot(f,abs(fftshift(DEM)));
title('解调信号频谱');
subplot(3,1,2);plot(f,abs(fftshift(DEM1)));
title('加大噪声解调信号频谱');
subplot(3,1,3);plot(f,abs(fftshift(DEM2)));
title('加小噪声解调信号频谱');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -