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

📄 dsb_dem.m

📁 这是关于模拟调制的MATLAB源代码
💻 M
字号:
% dsb_dem.m
% DSB调制解调的Matlab源程序。被调信号
% 当0<t<t0/3时为+1,当t0/3<t<2*t0/3为-2,其它情况下为零.
t0=0.15;  % 信号的持续时间
ts=1/1500; % 抽样时间
fc=250;   % 载波频率
fs=1/ts;  % 抽样频率
df=0.3;   % 所需的频率分辨率
t=[0:ts:t0]; % 时间向量
%% 信息信号
m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)];% 被调信号
c=cos(2*pi*fc.*t);% 载波信号
u=m.*c; % 调制信号
y=u.*c; % 混频信号
%% 傅立叶变换
[M,m,df1]=fftseq(m,ts,df); 
M=M/fs;             
[U,u,df1]=fftseq(u,ts,df);
U=U/fs;
[Y,y,df1]=fftseq(y,ts,df); % 混频信号的频谱有两个高频分量,要用滤波器把它滤掉
                           % 才能恢复原始信号
Y=Y/fs;
%% 滤波器的设计
f_cutoff=150; %滤波器的截止频率
n_cutoff=floor(150/df1);
f=[0:df1:df1*(length(y)-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; % 输出的频谱
dem=real(ifft(DEM))*fs; 
%% 画图
subplot(3,1,1);
plot(t,m(1:length(t)))
title('被调信号m(t)')
subplot(3,1,2);
plot(t,y(1:length(t)))
title('混频气输出信号y(t)')
subplot(3,1,3);
plot(t,dem(1:length(t)))
title('解调器输出信号dem(t)')
pause
clf
subplot(3,1,1);
plot(f,fftshift(abs(M)))
title('被调信号频谱M(f)')
subplot(3,1,2);
plot(f,fftshift(abs(Y)))
title('混频气输出信号频谱Y(f)')
subplot(3,1,3);
plot(f,fftshift(abs(DEM)))
title('解调器输出信号频谱DEM(f)')



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -