📄 ssb3.asv
字号:
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 + -