gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第8章/li8_5.m

    t=0.15;   %信号保持时间
ts=1/1500;  %采样时间间隔
fc=250;  %载波频率
fs=1/ts;  %采样频率
df=0.3;  %频率分辨率
t1=[0:ts:t];  %时间矢量
m=[ones(1,t/(3*ts)),-2*ones(1,t/(3*ts)),zeros(1,t/(3*ts)+1)]; %定义信号序列
c=cos(2*pi*fc.*t1);  %载波信号
u=m.*c;  %调制信号
y=u.*c;  %缩放
[n,m,df1]=fftseq(m,ts,df); %傅里叶变换
[ub,u,df1]=fftseq(u,ts,df);
[Y,y,df1]=fftseq(y,ts,df);
Y=Y/fs;
 
n_c_off=floor(150/df1);  %设计滤波器截止频率150   df1=采样频率/信道传输比特数
f=[0:df1:df1*(length(m)-1)]-fs/2;  %频率矢量
h=zeros(size(f));
h(1:n_c_off)=2*ones(1,n_c_off);
h(length(f)-n_c_off+1:length(f))=2*ones(1,n_c_off);
dem1=h.*Y;  %滤波器输出的频率
dem=real(ifft(dem1))*fs;  %滤波器的输出
subplot(221);
plot(t1,m(1:length(t1)));  %未解调信号
title('未调制信号');
subplot(222);
plot(t1,dem(1:length(t1))); %解调信号
title('解调信号');
subplot(223);
plot(f,abs(fftshift(n)));  %未解调信号信号频谱
title('未调制信号频谱');
subplot(224);
plot(f,abs(fftshift(dem1)));  %解调信号信号频谱
title('解调信号频谱');