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

📄 lssb_dem.m

📁 这是关于模拟调制的MATLAB源代码
💻 M
字号:
% llsb_dem.m
% LSSB调制解调的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.25;   % 所需的频率分辨率
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);
udsb=m.*c; % DSB调制信号
[UDSB,udssb,df1]=fftseq(udsb,ts,df); % 傅立叶变换
UDSB=UDSB/fs;              % 缩放
n2=ceil(fc/df1);
% remove the upper sideband DSB
UDSB(n2:length(UDSB)-n2)=zeros(size(UDSB(n2:length(UDSB)-n2)));
ULSSB=UDSB; % 产生LSSB调制频谱
[M,m,df1]=fftseq(m,ts,df); % 被调信号的频谱
M=M/fs;              % 缩放
f=[0:df1:df1*(length(udssb)-1)]-fs/2; % 频率向量
u=real(ifft(ULSSB))*fs;
%% 混频
y=u.*cos(2*pi*fc*[0:ts:ts*(length(u)-1)]);
[Y,y,df1]=fftseq(y,ts,df); % 混频气输出的频谱
Y=Y/fs;
%% 滤波器的设计
f_cutoff=150; %滤波器的截止频率
n_cutoff=floor(150/df1);
H=zeros(size(f));
H(1:n_cutoff)=2*ones(1,n_cutoff);
H(length(f)-n_cutoff+1:length(f))=4*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 + -