利用MATLAB仿真模拟调制系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用MATLAB仿真模拟调制系统

MATLAB的名称源自Matrix Laboratory,专门以矩阵形式处理数据,是目前国际上流行的进行科学研究、工程计算的软件,广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作中。MATLAB的出现使得通信系统的仿真能够用计算机模拟实现,只需要输入不同的参数就能得到不同情况下的系统性能,而且在结构的观测和数据的存储方面也比传统的方式有优势,因而MATLAB在通信仿真领域得到越来越多的应用。

本文中,我们对模拟调制系统、数字带通传输系统等列举了一些MATLAB仿真的实例,作为大家学习MATLAB的参考资料,让读者学会处理具体问题的建模编程方法,逐渐掌握MATLAB的通信系统仿真。

由本章的学习我们知道,各种信源所产生的基带信号并不能在大多数信道内直接传输,而是需要经调制后再送到信道中去。在接受端就必须通过相反的过程,即解调。本章中,我们以常规双边带调幅AM系统为例仿真模拟通信系统的各个过程。

我们假定信号频率为10Hz,载波频率为50Hz,采样率为1000Hz,信噪比SNR等于3。要求利用MATLAB软件仿真AM调制每一点的波形,包括信息信号、AM信号、载波信号、已调信号、通过带通滤波器后的信号,解调后的信号;并仿真AM信号频谱、已调信号频谱与解调信号频谱。

MATLAB程序如下:

% 标准调幅AM调制

a0=2;f0=10;fc=50;snr=3; fs=1000; % 变量定义

t=[-50:0.001:50];

am1=cos(2*pi*f0*t); % 产生信号频率为f0的基带信号

am=a0+am1; % 产生AM信号

c_am=cos(2*pi*fc*t); % 产生频率为fc的载波

AM_mod=am.*c_am; % 产生调制信号

am_f=fft(am); % AM频域

AM_modf=fft(AM_mod);

y=awgn(AM_mod,snr); % 叠加噪声

figure(1); hold on;

subplot(2,2,1); plot(t,am1); axis([0 0.4 -2 2]); title('基带信号波形'); % 绘图subplot(2,2,2); plot(t,am); axis([0 0.4 -2 6]); title('AM信号波形');

subplot(2,2,3); plot(t,c_am); axis([0 0.4 -2 2]); title('载波信号波形'); subplot(2,2,4); plot(t,AM_mod); axis([0 0.4 -8 8]); title('已调信号波形'); hold off;

figure(2); hold on;

subplot(2,2,1); plot(t,AM_mod); axis([0 0.4 -8 8]); title('已调信号波形'); subplot(2,2,2); plot(t,y); axis([0 0.4 -8 8]); title('叠加噪声后的信号波形');; a=[35,65];b=[30,70];

Wp=a/(fs/2);Ws=b/(fs/2);Rp=3; Rs=15;

[N,Wn]= Buttord(Wp,Ws,Rp,Rs) ; % 计算巴特沃斯数字滤波器的阶数和

3db截止频率

[B,A]=Butter(N,Wn,'bandpass'); % 计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量

sig_bandpass=filtfilt(B,A,y); % 带通滤波后信号

subplot(2,2,3); plot(t,sig_bandpass); axis([0 0.4 -8 8]); title('经带通滤波后信号波形');

hold off;

AM_dem=sig_bandpass.*c_am;

Wp=15/(fs/2);Ws=40/(fs/2);Rp=3; Rs=20;

[N,Wn]= Buttord(Wp,Ws,Rp,Rs) ; % 同上

[B,A]=Butter(N,Wn,'low');

AM_demod=filtfilt(B,A,AM_dem) % 低通滤波后信号

AM_demodf=fft(AM_demod);

subplot(2,2,4); plot(t,AM_demod); axis([0 0.4 0 2]); title('解调信号波形'); hold off;

f=(0:100000)*fs/100001-fs/2;

figure(3); hold on;

subplot(3,1,1); plot(f,fftshift(abs(am_f))); title('AM 信号频谱'); % 绘图 subplot(3,1,2); plot(f,fftshift(abs(AM_modf))); title('已调信号频谱'); subplot(3,1,3); plot(f,fftshift(abs(AM_demodf))); title('解调信号频谱'); hold off;

其波形如5- 所示。

00.10.20.30.4-2

-101

2基带信号波形

00.10.20.30.4

AM 信号波形

0.1

0.2

0.3

0.4

-2-1012载波信号波形

0.10.2

0.30.4

已调信号波形

图1 发送端信号波形

0.1

0.2

0.3

0.4

已调信号波形

0.1

0.2

0.3

0.4

-505叠加噪声后的信号波形

0.1

0.2

0.3

0.4

经带通滤波后信号波形

0.10.20.30.4

00.511.52

解调信号波形

图2 接收端信号波形

相关文档
最新文档