一、实验目的
了解双边带调幅调制解调工作原理,掌握AM调制解调系统的构成,基带信号、载波和已调信号之间的关系;掌握利用matlab对双边带调幅进行建模与仿真的分析方法。
二、实验任务
某消息信号m(t) ,其中m(t) 为单音频信号,频率为6420Hz;用AM方式调制载波c(t)=cos(2πfct) ,用包络检波器或相干解调法解调该信号,分别给出:
(1)消息信号、已调信号和解调信号的波形,并绘制它们的频谱;
(2)已调信号的功率和调制效率;
(3)假设已调信号通过AWGN信道,信噪比为20dB,给出解调后的信号与原始信号。
简述AM调制解调系统的工作原理和程序设计思路,分别给出(1)无噪声时,消息信号、已调信号和解调信号的波形及其频谱,已调信号的功率和调制效率;(2)加入AWGN时,消息信号和解调信号的波形,并对仿真结果进行分析获得有效结论。
三、实验代码
Fs=1000000; %采样频率
fc=100000; %载波中心频率
A0=1.5; %直流分量
T=2; %信号时长
N=T*Fs; %采样点个数
t=[0:N-1]/Fs; %采样点的时间序列
w=2*pi*642*10; %信号频率
wc=2*pi*fc;
mt=cos(w*t); %信源
figure(1);
subplot(321);plot(t,mt);
title('基带调制信号');
axis([0 0.002 -1.5 1.5]);
line([0,0.004],[0,0],'color','k');
Mk=fft(mt); %信号频谱:1024点fft
fmk=(0:length(Mk)-1)*Fs/length(Mk);
subplot(322);plot(fmk,abs(Mk));
axis([0 10000 0 1.1*max(abs(Mk))]);
title('基带调制信号频谱');
%mt的最大值是2
Fc=cos(wc * t); %载波信号
subplot(323);plot(t,Fc);
title('载波信号');axis([0 0.001 -1.5 1.5]);
Fck=fft(Fc); %载波频谱
fck=(0:length(Fck)-1)*Fs/length(Fck);
subplot(324);plot(fck,abs(Fck));
axis([0 1.1*fc 0 1.1*max(abs(Fck))]);
title('载波频谱');
am=(mt+A0).* Fc; %AM信号
subplot(325);plot(t,am);
hold on; %画出AM信号波形
plot(t,mt+A0,'r--');title('调制信号及其包络');
axis([0 0.001 -4 4]);
Amk=fft(am); %AM频谱:
fam=(0:length(Amk)-1)*Fs/length(Amk);
subplot(326);plot(fam,abs(Amk));
axis([0 120000 0 1.1*max(abs(Amk))]);
title('AM信号频谱');
%无噪声时相干解调
figure(2);
st=am.* cos(wc*t);
subplot(411);
plot(t,am);title('无噪声时AM信号与载波信号相乘');
axis([0 0.002 -4 4]);
st_fft=fft(st); %傅里叶变换
%巴特沃斯低通滤波器
wp=0.2*pi;wst=0.3*pi;ap=1;as=15;
T0=1;fs=1/T0;
[N,Wc]=buttord(wp,wst,ap,as,'s');
[B,A]=butter(N,Wc,'s');
[Bz,Az]=bilinear(B,A,fs);
mt0=filter(Bz,Az,st);
subplot(412);plot(t,mt0);
title('无噪声时经过低通滤波的相干解调信号波形');
axis([0 0.002 0 1.5]);
Mk0=fft(mt0);
fmk0=(0:length(Mk0)-1)*Fs/length(Mk0);
subplot(413);plot(fmk0,abs(Mk0));
axis([0 10000 0 1.1*max(abs(Mk0))]);
title('无噪声时解调出调制信号频谱');
subplot(414);plot(t,mt);
title('基带调制信号');
axis([0 0.002 -1.5 1.5]);
% 通过AWGN信道
figure(3);
snr=20;
am_awgn=awgn(am,snr);
st=am_awgn.* cos(wc*t);
subplot(411);
plot(t,am_awgn);
title('过AWGN后AM信号与载波信号相乘');
axis([0 0.002 -4 4]);
mt1=filter(Bz,Az,st);
subplot(412);plot(t,mt1);
title('过AWGN后经过低通滤波的相干解调信号波形');
axis([0 0.002 0 1.5]);
Mk1=fft(mt1);
fmk1=(0:length(Mk1)-1)*Fs/length(Mk1);
subplot(413);plot(fmk1,abs(Mk1));
axis([0 10000 0 1.1*max(abs(Mk1))]);
title('有噪声时解调出调制信号频谱');
subplot(414);plot(t,mt);
title('基带调制信号');
axis([0 0.002 -1.5 1.5]);
四、实验结果
① 消息信号、已调信号和解调信号的波形,并绘制它们的频谱。
根据代码,可以得到如下的仿真结果:
图1 仿真结果
图2 对频谱图数据进行标注
从图中可以看出:调制信号和载波信号均是选用了正弦信号,并且通过乘法器得到了AM信号。其中调制信号为:
载波信号为:
则加入了直流分量 后,得到的调制信号为:
经相干解调后,其仿真波形为:
图3 仿真结果
图4 对数据进行标注
通过波形图分析可知:在相干解调下,AM信号解调出了调制信号,由图6知解调出的信号在无噪声信道下不含任何噪声,由图4可知,对映的频谱也为6420Hz,说明解调是成功的。
② 已调信号的功率和调制效率。
由图2和如下公式可知:
即:
由AM
则一周期内单位电阻上的AM波功率为:
双边带的功率为:
则调制效率为:
③假设已调信号通过AWGN信道,信噪比为20dB,给出解调后的信号与原始信号。
仿真结果如图所示:
图5 仿真结果
图6 对频谱图进行标注
由图5可知:加入了噪声后,相干解调出的正弦波形中存在少许未滤出的噪声,但是观察图6频谱图发现,其正弦波频率仍然为6420Hz,说明在一定的噪声干扰下,也能解调出正确的调制信号。
五、实验感悟
通过本实验,熟悉了对matlab的使用,学会了调用巴特沃斯低通滤波器相关函数,通过FFT相关函数表示出对应的频谱图等。
了解了AM调制和相干解调的原理,能够通过观察波形图和频谱图去得到自己想要的波形和数据。也观察了噪声存在时,解调出的波形和原调制信号之间的区别,得出在一定的噪声范围内,也能大致解调出原调制信号。