模拟线性调制系统的matlab实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟线性调制系统的Matlab实现
1、实验目的
通过对AM、DSB、SSB、VSB几种模拟线性调制系统的Matlab 实现,学习如何使用Matlab描述一个模拟通信系统。
2、实验内容
选取VSB方法,给出模拟调制的波形及解调方法,其中输入信号频率、载波频率以及信号时长自定义。
输出结果包括:1)输入信号波形;2)载波波形;3)VSB信号波形;4)相干解调后的信号波形;5)VSB信号功率谱。
3、VSB原理描述
残留边带是介于双边带和单边带之间的一种调制方式,它保留了一个边带和另一边带的一部分。用滤波法调制的原理如图所示。
m(t)
H VSB(w)
c(t) = cos(w c t)
图中H VSB(w)为残留边带滤波器。为了相干解调时无失真得到调制信号,残留边带滤波器的传递函数在载频附近必须具有互补对称特性。
相干解调的原理如图所示。
S VSB(t)S p(t)S d(t)
LPF
cos(w c t)
4、matlab程序及注释
%自己写的残留边带调制与解调function [] = VSB()
f0 = 1; %调制信号频率
Ts = 0.02;
fs = 1/Ts; %50Hz采样率符合采样定理t = 0:Ts:4;
N = length(t);
y = cos(2*pi*f0*t);
figure;
plot(t,y); %调制信号波形
fc = 8.5; %载波频率
y = cos(2*pi*fc*t);
figure;
plot(t,y); %载波波形
%滤波法实现VSB
vsb = cos(2*pi*fc*t).*cos(2*pi*f0*t); fre = fft(vsb);
n = [1:N];
f = -25+fs*n/N; %修改坐标使符合习惯
%自己写的互补对称残带滤波器
fre_candai = zeros(size(fre));
for i=1:N
if(i>=35 && i<=51)
fre_candai(i) = (-i/16+3.1875)*fre(i); %这个地方有修正使更加对称互补
else if(i>=152 && i<=168)
fre_candai(i) = (i/16-9.5)*fre(i);
else if(i>51 && i<152)
fre_candai(i) = 0;
else
fre_candai(i) = fre(i);
end
end
end
end
vsb = real(ifft(fre_candai)); %计算误差会带来虚部弹出警告
figure;
plot(t,vsb);
fre = fft(vsb); %看不见负频率
fre = fftshift(fre); %看得见负频率
gonglv = abs(fre).^2/4; %计算平均功率figure;
plot(f,gonglv); %绘制功率谱
%相干解调
vsb_jietiao = vsb.*cos(2*pi*fc*t);
fre = fft(vsb_jietiao);
%自己写的低通滤波器,注意这里没有负频率部分fre_lowpass = zeros(size(f));
for i = 1:N
if(i<=8)
fre_lowpass(i) = fre(i);
else if(i>=192 && i<=200)
fre_lowpass(i) = fre(i);
else
fre_lowpass(i) = 0;
end
end
end
vsb_jietiao = real(ifft(fre_lowpass)); figure;
plot(t,vsb_jietiao); %解调波形5、实验结果
调制波形:y = cos(2*pi*1*t)
载波波形:y = cos(2*pi*8.5*t)
VSB波形:
VSB功率谱:通过残带滤波器后,在频率8.5+1=9.5Hz处的功率谱是在频率8.5-1=7.5Hz出功率谱的两倍。
解调波形:和调制信号相比,频率相同,幅度缩小了