基于Matlab的AM调制系统仿真精品资料.doc

上传人:封****n 文档编号:96698434 上传时间:2024-03-10 格式:DOC 页数:33 大小:295.61KB
返回 下载 相关 举报
基于Matlab的AM调制系统仿真精品资料.doc_第1页
第1页 / 共33页
基于Matlab的AM调制系统仿真精品资料.doc_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《基于Matlab的AM调制系统仿真精品资料.doc》由会员分享,可在线阅读,更多相关《基于Matlab的AM调制系统仿真精品资料.doc(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、基于matlab的AMDSB调制系统仿真目 录摘 要I第一章 概 述1一 课题内容1二 设计目的1三 设计要求1四 开发工具1第二章 系统理论设计2一 振幅调制产生原理2二 调幅电路方案分析2三 信号解调思路3第三章 matlab仿真4一 载波信号与调制信号分析4二 设计FIR数字低通滤波器6三 AM解调9四 结果分析15结束语15参考文献17第一章 概 述一 课题内容1.设计AM信号实现的Matlab程序,输出调制信号、载波信号以及已调信号波形以及频谱图,并改变参数观察信号变化情况,进行实验分析。2.设计AM信号解调实现的Matlab程序,输出并观察解调信号波形,分析实验现象。二 设计目的1

2、.掌握振幅调制和解调原理。2.学会Matlab仿真软件在振幅调制和解调中的应用。3.掌握参数设置方法和性能分析方法。4.通过实验中波形的变换,学会分析实验现象。三 设计要求利用Matlab软件进行振幅调制和解调程序设计,输出显示调制信号、载波信号以及已调信号波形,并输出显示三种信号频谱图。对产生波形进行分析,并通过参数的改变,观察波形变化,分析实验现象。四 开发工具 计算机、Matlab软件、相关资料第二章 系统理论设计一 振幅调制产生原理所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。这里高频振荡波就是携带信号的运载工具,也叫载波。振幅调制,就是由调制信号去

3、控制高频载波的振幅,直至随调制信号做线性变化。在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM)。在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。设正弦载波为式中,A为载波幅度;为载波角频率;为载波初始相位(通常假设=0).调制信号(基带信号)为。根据调制的定义,振幅调制信号(已调信号)一般可以表示为 设调制信号的频谱为,则已调信号的频谱: 二 调幅电路方案分析标准调幅波(AM)产生原理 调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。为首调制的高频振荡信号可称为载波,它可以是正弦波,

4、亦可以是非正弦波(如周期性脉冲序列)。载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。 设载波信号的表达式为,调制信号的表达式为 ,则调幅信号的表达式为 图5.1 标准调幅波示意图 三 信号解调思路从高频已调信号中恢复出调制信号的过程称为解调(demodulation ),又称为检波(detection )。对于振幅调制信号,解调(demodulation )就是从它的幅度变化上提取调制信号的过程。解调(demodulation )是调制的逆过程。可利用乘积型同步检波器实现振幅的解调,让已调信

5、号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。 第三章 matlab仿真一 载波信号与调制信号分析% =载波信号=t=-1:0.00001:1; A0=10; %载波信号振幅f=6000; %载波信号频率w0=f*pi;Uc=A0*cos(w0*t); %载波信号figure(1);subplot(2,1,1);plot(t,Uc);title(载频信号波形);axis(0,0.01,-15,15);subplot(2,1,2);Y1=fft(Uc); %对载波信号进行傅里叶变换 plot(abs(Y1);title(载波信号频谱);axis(5800,6200,0,1000000);

6、 图6.1载波信号% =调制信号=t=-1:0.00001:1; A1=5; %调制信号振幅f=6000; %载波信号频率w0=f*pi;mes=A1*cos(0.001*w0*t); %调制信号subplot(2,1,1);plot(t,mes);xlabel(t),title(调制信号); subplot(2,1,2);Y2=fft(mes); % 对调制信号进行傅里叶变换 plot(abs(Y2);title(调制信号频谱);axis(198000,202000,0,1000000);如图6.2调制信号% =AM已调信号=t=-1:0.00001:1; A0=10; %载波信号振幅A1=

7、5; %调制信号振幅A2=3; %已调信号振幅f=3000; %载波信号频率w0=2*f*pi;m=0.15; %调制度mes=A1*cos(0.001*w0*t); %消调制信号Uam=A2*(1+m*mes).*cos(w0).*t); %AM 已调信号 subplot(2,1,1);plot(t,Uam);grid on;title(AM调制信号波形);subplot(2,1,2);Y3=fft(Uam); % 对AM已调信号进行傅里叶变换 plot(abs(Y3),grid;title(AM调制信号频谱);axis(5950,6050,0,500000); 如图6.3AM已调信号二 设

8、计FIR数字低通滤波器FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。 对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。具体设计步骤如下:(1)确定所需类型数字滤波器的技术指标。(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为=2/T tan(0.5)(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。(4)设计模拟低通滤波器。(5)通过频率变换将模拟

9、低通转换成相应类型的过渡模拟滤波器。(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。下面我们介绍用窗函数法设计FIR滤波器的步骤。如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h(n).。(4)加窗得到设计结果。接下来,

10、我们根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:通带边界频率fp=300Hz,阻带截止频率fc=320Hz,阻带最小衰减As=100db , 通带最大衰减Ap=1dB在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman窗,其相应

11、的都有实现函数。MATLAB信号处理工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是N,wc=butter(N,wc,Rp,As,s),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:B,A=cheby1(N,Rp,wpo,ftypr)B,A=cheby1(N,Rp,wpo,ftypr,s) 函数butter,cheby1和ellip设计IIR滤波器时都是默认的双

12、线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面我们将给出FIR数字滤波器的主要程序。 %=FIR低通滤波器=Ft=2000; %采样频率fpts=100 120; %通带边界频率fp=100Hz,阻带截止频率fs=120Hzmag=1 0; dev=0.01 0.05; %通带波动1%,阻带波动5%n21,wn21,beta,ftype=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计的FIR滤 波器的参数b21=fir1(n21,wn21,Kaiser(n21+1,beta); %由fir1设计滤波器h,w=freqz(b21,1

13、); %得到频率响应plot(w/pi,abs(h);grid ontitle(FIR低通滤波器); 如图6.6 FIR低通滤波器三 AM解调%=AM信号解调=t=-1:0.00001:1; A0=10; %载波信号振幅A1=5; %调制信号振幅A2=3; %已调信号振幅f=3000; %载波信号频率w0=2*f*pi;m=0.15; %调制度k=0.5 ; %DSB 前面的系数mes=A1*cos(0.001*w0*t); %调制信号Uam=A2*(1+m*mes).*cos(w0).*t); %AM 已调信号Dam=Uam.*cos(w0*t); %对AM调制信号进行解调subplot(2

14、,1,1);plot(t,Dam);grid on;title(滤波前AM解调信号波形);subplot(2,1,2);Y5=fft(Dam); % 对AM解调信号进行傅里叶变换 plot(abs(Y5),grid;title(滤波前AM解调信号频谱);axis(187960,188040,0,200000);如图6.7 AM解调信号%=AM解调信号FIR滤波=t=-1:0.00001:1; A0=10; %载波信号振幅A1=5; %调制信号振幅A2=3; %已调信号振幅 *f=6000; %载波信号频率w0=f*pi;m=0.15; %调制度 *Uc=A0.*cos(w0*t); %载波信号

15、subplot(5,2,1);plot(t,Uc);title(载波信号);axis(0,0.01,-15,15);T1=fft(Uc); %傅里叶变换subplot(5,2,2);plot(abs(T1);title(载波信号频谱);axis(5800,6200,0,1000000);mes=A1*cos(0.001*w0*t); %调制信号subplot(5,2,3);plot(t,mes);title(调制信号);T2=fft(mes); subplot(5,2,4);plot(abs(T2); title(调制信号频谱);axis(198000,202000,0,2000000);Ua

16、m=A2*(1+m*mes).*cos(w0).*t); %AM 已调信号 *subplot(5,2,5);plot(t,Uam);title(已调信号);T3=fft(Uam); subplot(5,2,6);plot(abs(T3);title(已调信号频谱);axis(5950,6050,0,500000);Dam=Uam.*cos(w0*t); %对AM已调信号进行解调subplot(5,2,7);plot(t,Dam); title(滤波前的AM解调信号波形);T4=fft(Dam); %求AM信号的频谱subplot(5,2,8);plot(abs(T4); title(滤波前的A

17、M解调信号频谱);axis(187960,188040,0,200000);z21=fftfilt(b21,Dam); %FIR低通滤波 subplot(5,2,9);plot(t,z21,r); title(滤波后的AM解调信号波形);T5=fft(z21); %求AM信号的频谱subplot(5,2,10);plot(abs(T5),r); title(滤波后的AM解调信号频谱);axis(198000,202000,0,200000);如图6.9 AM解调信号FIR低通滤波%=AM解调信号FIR滤波=加噪=t=-1:0.00001:1; A0=10; %载波信号振幅A1=5; %调制信号

18、振幅A2=3; %已调信号振幅 *f=6000; %载波信号频率w0=f*pi;m=0.15; %调制度 *Uc=A0.*cos(w0*t); %载波信号subplot(5,2,1);plot(t,Uc);title(载波信号);axis(0,0.01,-15,15);T1=fft(Uc); %傅里叶变换subplot(5,2,2);plot(abs(T1);title(载波信号频谱);axis(5800,6200,0,1000000);mes=A1*cos(0.001*w0*t); %调制信号subplot(5,2,3);plot(t,mes);title(调制信号);T2=fft(mes)

19、; subplot(5,2,4);plot(abs(T2); title(调制信号频谱);axis(198000,202000,0,2000000);Uam1=A2*(1+m*mes).*cos(w0).*t); %AM 已调信号 *subplot(5,2,5);plot(t,Uam1);title(已调信号);T3=fft(Uam1); subplot(5,2,6);plot(abs(T3);title(已调信号频谱);axis(5950,6050,0,500000);sn1=20; %信噪比 db1=A12/(2*(10(sn1/10); %计算对应噪声方差 n1=sqrt(db1)*ra

20、ndn(size(t); %生成高斯白噪声 Uam=n1+Uam1; Dam=Uam.*cos(w0*t); %对AM已调信号进行解调subplot(5,2,7);plot(t,Dam); title(滤波前的AM解调信号波形);T4=fft(Dam); %求AM信号的频谱subplot(5,2,8);plot(abs(T4); title(滤波前的AM解调信号频谱);axis(187960,188040,0,200000);z21=fftfilt(b21,Dam); %FIR低通滤波 subplot(5,2,9);plot(t,z21,r); title(滤波后的AM解调信号波形);T5=f

21、ft(z21); %求AM信号的频谱subplot(5,2,10);plot(abs(T5),r); title(滤波后的AM解调信号频谱);axis(198000,202000,0,200000);四 结果分析本设计圆满的完成了对AM信号实现调制与解调,与课题的要求十分相符;也较好的完成了对AM信号的时域分析,通过fft变换,得出了调制信号和解调信号的频谱图;在滤波这一部分,课题主要是从巴特沃斯滤波器入手来设计低通滤波器等入手,实现了预期的滤波效果。在设计FIR低通滤波器的时候,通带边界频率设定为载波信号频率Fp=f,阻带截止频率Fs=f+20,采样频率Ft=8f;在设计IIR低通滤波器的时

22、候,通带边界频率设定为Fp=f-50,阻带截止频率Fs=f,采样频率Ft=10f。这样设定后,在改变载波信号频率的时候就有可能使滤波器无法进行正常的滤波,从而得不到正确的结果。载波频率f可以选的高一些,在设计的时候时间采样t的间隔就要大一些。结束语调制与解调技术是通信电子线路课程中一个重要的环节,也是实现通信必不可少的一门技术,也是通信专业学生必须掌握的一门技术。课题在这里是把要处理的信号当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。从课题的中心来看,课题“基于Matlab的AM-DSB调制系统仿真”是希望将AM-DSB调制与解调技术应用于某一实

23、际领域,这里就是指对信号进行调制。作为存储于计算机中的调制信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。这一过程的实现,用到了处理数字信号的强有力工具MATLAB。通过MATLAB里几个命令函数的调用,很轻易的在调制信号与载波信号的理论之间搭了一座桥。课题的特色在于它将调制信号看作一个向量,于是就把调制信号数字化了。那么,就可以完全利用数字信号处理和通信电子线路的知识来解决AMDSB调制问题。我们可以像给一般信号做频谱分析一样,来对调制信号做频谱分析,也可以较容易的用数字滤波器来对解调信号进行滤波处理。通过比较AMDSB调制与解调前后,调制信号的频谱和时

24、域,能明显的感觉到AMDSB调制后AMDSB解调与原始的调制信号有明显的不同,设计部同的滤波器得到的结果页是不同的,通过仿真可以看到FIR低通滤波器要比IIR低通滤波器要滤的好。由此可见,调制信号主要分布在低频段,而载波信号主要分布在高频段。参考文献1樊昌信等. 通信原理(第6版)M. 国防工业出版社,2008.32John G. proakis等著, 刘树棠译. 现代通信系统(Matlab版)(第1版)M, 西安交通大学出版社,3唐向宏等著.MATLAB及在电子信息类课程中的应用,电子工业出版社,2008年6月附录资料:MATLAB的30个方法1 内部常数pi 圆周率 exp(1)自然对数的

25、底数ei 或j 虚数单位Inf或 inf 无穷大 2 数学运算符a+b 加法a-b减法a*b矩阵乘法a.*b数组乘法a/b矩阵右除ab矩阵左除a./b数组右除a.b数组左除ab 矩阵乘方a.b数组乘方-a负号 共轭转置.一般转置3 关系运算符=等于大于=大于或等于=不等于4 常用内部数学函数 指数函数exp(x)以e为底数对数函数log(x)自然对数,即以e为底数的对数log10(x)常用对数,即以10为底数的对数log2(x)以2为底数的x的对数开方函数sqrt(x)表示x的算术平方根绝对值函数abs(x)表示实数的绝对值以及复数的模三角函数(自变量的单位为弧度)sin(x)正弦函数cos(

26、x)余弦函数tan(x)正切函数cot(x)余切函数sec(x)正割函数csc(x)余割函数反三角函数 asin(x)反正弦函数acos(x)反余弦函数atan(x)反正切函数acot(x)反余切函数asec(x)反正割函数acsc(x)反余割函数双曲函数 sinh(x)双曲正弦函数cosh(x)双曲余弦函数tanh(x)双曲正切函数coth(x)双曲余切函数sech(x)双曲正割函数csch(x)双曲余割函数反双曲函数 asinh(x)反双曲正弦函数acosh(x)反双曲余弦函数atanh(x)反双曲正切函数acoth(x)反双曲余切函数asech(x)反双曲正割函数acsch(x)反双曲余

27、割函数求角度函数atan2(y,x)以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度,范围为( , 数论函数gcd(a,b)两个整数的最大公约数lcm(a,b)两个整数的最小公倍数排列组合函数factorial(n)阶乘函数,表示n的阶乘 复数函数 real(z)实部函数imag(z)虚部函数abs(z)求复数z的模angle(z)求复数z的辐角,其范围是( , conj(z)求复数z的共轭复数求整函数与截尾函数ceil(x)表示大于或等于实数x的最小整数floor(x)表示小于或等于实数x的最大整数round(x)最接近x的整数最大、最小函数max(a,

28、b,c,)求最大数min(a,b,c,)求最小数符号函数 sign(x)5 自定义函数-调用时:“返回值列=M文件名(参数列)”function 返回变量=函数名(输入变量) 注释说明语句段(此部分可有可无)函数体语句 6进行函数的复合运算compose(f,g) 返回值为f(g(y)compose(f,g,z) 返回值为f(g(z)compose(f,g,x,.z) 返回值为f(g(z)compose(f,g,x,y,z) 返回值为f(g(z)7 因式分解syms 表达式中包含的变量 factor(表达式) 8 代数式展开syms 表达式中包含的变量 expand(表达式)9 合并同类项sy

29、ms 表达式中包含的变量 collect(表达式,指定的变量)10 进行数学式化简syms 表达式中包含的变量 simplify(表达式)11 进行变量替换syms 表达式和代换式中包含的所有变量 subs(表达式,要替换的变量或式子,代换式)12 进行数学式的转换调用Maple中数学式的转换命令,调用格式如下:maple(Maple的数学式转换命令) 即:maple(convert(表达式,form)将表达式转换成form的表示方式 maple(convert(表达式,form, x) 指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换

30、式有用) 13 解方程solve(方程,变元) 注:方程的等号用普通的等号: = 14 解不等式调用maple中解不等式的命令即可,调用形式如下: maple(maple中解不等式的命令)具体说,包括以下五种:maple( solve(不等式)) maple( solve(不等式,变元) ) maple( solve(不等式,变元) ) maple( solve(不等式,变元) ) maple( solve(不等式,变元) )15 解不等式组调用maple中解不等式组的命令即可,调用形式如下: maple(maple中解不等式组的命令) 即:maple( solve(不等式组,变元组) )16

31、 画图方法:先产生横坐标的取值和相应的纵坐标的取值,然后执行命令: plot(x,y) 方法2:fplot(f(x),xmin,xmax) fplot(f(x),xmin,xmax,ymin,ymax) 方法3:ezplot(f(x) ezplot(f(x) ,xmin,xmax) ezplot(f(x) ,xmin,xmax,ymin,ymax) 17 求极限(1)极限:syms x limit(f(x), x, a) (2)单侧极限:左极限:syms x limit(f(x), x, a,left)右极限:syms x limit(f(x), x, a,right) 18 求导数diff(

32、f(x) diff(f(x),x) 或者:syms x diff(f(x) syms x diff(f(x), x) 19 求高阶导数 diff(f(x),n) diff(f(x),x,n)或者:syms x diff(f(x),n)syms x diff(f(x), x,n) 20 在MATLAB中没有直接求隐函数导数的命令,但是我们可以根据数学中求隐函数导数的方法,在中一步一步地进行推导;也可以自己编一个求隐函数导数的小程序;不过,最简便的方法是调用Maple中求隐函数导数的命令,调用格式如下: maple(implicitdiff(f(x,y)=0,y,x) 在MATLAB中,没有直接求

33、参数方程确定的函数的导数的命令,只能根据参数方程确定的函数的求导公式 一步一步地进行推导;或者,干脆自己编一个小程序,应用起来会更加方便。21 求不定积分 int(f(x) int (f(x),x)或者:syms x int(f(x) syms x int(f(x), x) 22 求定积分、广义积分 int(f(x),a,b) int (f(x),x,a,b)或者:syms x int(f(x),a,b) syms x int(f(x), x,a,b) 23 进行换元积分的计算自身没有提供这一功能,但是可以调用Maple函数库中的changevar命令,调用方法如下:maple( with(s

34、tudent) ) 加载student函数库后,才能使用changevar命令maple( changevar( m(x)=p(u), Int(f(x),x) ) ) 把积分表达式中的m(x)代换成p(u)24 进行分部积分的计算自身没有提供这一功能,但是可以调用Maple函数库中的intparts命令,调用方法如下: maple( with(student) ) 加载student函数库后,才能使用intparts命令maple(intparts(Int(f(x),x),u) ) 指定u,用分部积分公式 进行计算25 对数列和级数进行求和 syms n symsum(f(n), n a ,b

35、 )26 进行连乘 maple(product(f(n),n=a.b)27 展开级数syms x taylor(f(x), x, n, a )28 进行积分变换syms s t laplace( f(t), t, s ) 拉普拉斯变换 ilaplace( F(s), s, t ) 拉普拉斯变换的逆变换 syms t fourier( f(t), t, ) 傅立叶变换 ifourier( F(), , t ) 傅立叶变换的逆变换 syms n z ztrans( f(n), n, z) Z变换 iztrans( F(z), z, n ) Z变换的逆变换 在matlab中,矩形法、梯形法和辛普森法求近似积分可以用自身的命令,也可调用Maple的相应命令。调用方法如下: maple(with(student) ) maple(Maple中求定积分近似值的命令)29 解微分方程dsolve(微分方程,自变量) dsolve(微分方程,初始条件或边界条件,自变量)30 解微分方程组dsolve(微分方程组,自变量) dsolve(微分方程组,初始条件或边界条件,自变量)32

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 互联网

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com