⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssb3.asv

📁 单边带调制
💻 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 + -