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

📄 ssb3.m

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