新建 Microsoft Word 文档0.doc
JDC01-004@MATLAB在工程控制基础课程教学中的应用研究
收藏
资源目录
压缩包内文档预览:(预览前20页/共50页)
编号:492382
类型:共享资源
大小:817.16KB
格式:ZIP
上传时间:2015-11-06
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
30
积分
- 关 键 词:
-
机械毕业设计全套
- 资源描述:
-
JDC01-004@MATLAB在工程控制基础课程教学中的应用研究,机械毕业设计全套
- 内容简介:
-
吉林工程技师范学院毕业设计第1章 绪论本课题是根据测试技术课程针对信号处理的内容而提出的,将信号处理等内容的学习有机的结合在一起开发的设计性实验。该课题符合测试技术实验要求,项目成果可以直接用于实际教学,可以无需其他硬件投入就能够完成实验项目,实验成本较低,效果良好。本课题的关键技术是通过MATLAB语言的编程来完成各信号处理的方法,通过仿真,实现信号特性分析和信号调理帮助学生巩固理论知识又有助于开拓学生的知识视野,使学生了解信号仿真的含义、组成及意义。1. 1 仿真技术简介随着科技的发展使得各种系统的建模与仿真变得复杂起来。如何快速有效地构建系统并进行系统仿真,已成为各领域学者急需解决的核心问题。MATLAB环境下的Simulink是当前众多仿真软件中功能最强大、最优秀、最容易使用的一个用于系统建模、仿真和分析动态仿真集成环境工具箱,且在各个领域都得到广泛的应用。仿真可分为物理仿真、数学仿镇和混合仿真。物理仿真就是应用几何原理,制作一个与实际系统相似但几何尺寸较小或较大的物理模型进行实验研究。数学仿真是应用数学相似原理;构成数学模型在计算机上进行研究。在仿真研究中,数字仿真只要有一台数字仿真设备,就可以对不同的控制系统进行仿真实验和研究,而且仿真实验准备工作比较简单。而物理仿真需要大量的设备,实验处理也不方便。数字仿真实验所需时间比物理仿真大大缩短,实验数据的处理比物理仿真简单的多。但由于物理仿真具有信号连续、运算速度快、直观形象、可信度高等特点,故至今仍然广泛应用。混合仿真把数学仿真、物理仿真和实体结合起来,组成一个复杂的仿真系统。仿真的一般过程如下:(1) 根据仿真目的确定仿真方案根据仿真目的确定相应的仿真结构和方法,规定仿真的边界条件与约束条件。(2) 建立系统的模型对于简单的系统,可以通过某些基本定律来建模。(3) 建立仿真模型就连接系统而言,就是通过一定算法对原系统的进行离散化处理,即建立相应的差分方程。(4) 编写仿真程序对于非实时仿真,可用一般高级语言或仿真语言。(5) 进行仿真实验设定实验环境、条件,进行实验,并记录仿真实验。(6) 仿真结果分析根据实验要求和仿真目的对仿真结果进行分析处理,以便修正数学模型、仿真模型及仿真程序、或者修正/改变原形系统,以进行新的实验。模型是否能够正确地表示实际系统,并不是一次完成的,而是需要比较模型和实际系统的差异,通过不断地修正和验证而完成的。1. 2 MATLAB的发展在计算机硬件飞速发展的同时,仿真软件也有很大的发展。近几十年来,软件仿真充分吸收了仿真方法学、计算机、网络、图形/图象、多媒体、软件工程、自动控制、人工智能等技术成果,从而得到了很大发展。仿真软件也从初期的机器代码,历经较高级的编程语言、面向问题描述的仿真语言,发展到面向对向编程、图形化模块编程等。1. 3 MATLAB的应用MATLAB是功能强大的科学及工程学及计算软件,它不但具有以矩阵计算为基础的强大数学计算机和分析工能 ,而且还具有丰富的可视化图形表现功能和方便的程序设计能力。MATLAB的应用领域极为广泛,除数学计算和分析外 ,还被广泛地应用于自动控制、系统仿真、数字信号处理、图形图象分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,因此,MATLAB是面向21世纪的计算机程序设计及科学计算语言。第2章 信号连续系统仿真分析2.1设计目的l 掌握MATLAB进行求解模型;l 掌握MATLAB进行数值积分;2.2设计内容利用Runge-Kutta法绘制仿真曲线;设计实验仿真程序框图2-1所示: 开始给定输入信号 给定系统参数并根据需要转化为状态空间表达式 输入仿真时间Tf和计算步长h 根据龙格-库塔法求K1,K2,K3,K4 求Xk+1和Yk+1的值 Nt=Tf Y 输出结果 图2-1 仿真程序框图 假设单变量系统框图2-2所示: r=20.4 y 1.87410s+1.56110s+54s+203.2s+213.7s+63.4 + -0.002 图2-2单变量系统框图2.3 设计原理在信号连续系统仿真分析中为了提高截断误差的阶次,便可提高其精度,如果直接采用泰勒级数是不适用的。为了提高精度,只有利用Runnge-Kutta方法间接使用泰勒级数公式的方法。Runnge-Kutta取的项数愈多,计算精度愈高,但计算量愈大,愈复杂,计算误差也将增加,因此要适当的选择。在目前仿真中,最长用的4Runnge-Kutta法,其截断误差为0(h),已能满足仿真精度的要求。2.4 设计说明根据四阶龙格库塔法,求输出量Y的动态响应MATLAB的仿真程序:%Example.mr=20.3;numo=1.874e6 1.561e6;deno=1 54 203.2 213.7 63.4; % 分别表示传递函数的分子、分母系数numh=0.002;denh=1;num,den=feedback(numo,deno,numh,denh); % 定义系统的反馈连接函数A,b,C,D=tf2ss(num,den); % 由传递函数形式转化为状态空间形式Tf=input(仿真时间Tf=);h=input(计算步长h=);x= zeros(length(A),1); y=0; t=0; % zeros表示零点矩阵length表示产生频率向量for i=1:Tf/h K1=A*x+b*r; K2=A*(x+h*K1/2)+b*r; K3=A*(x+h*K2/2)+b*r; K4=A*(x+h*K3)+b*r; x=x+h*(K1+2*K2+2*K3+K4)/6; y=y;C*x;t= t; t(i)+h;endsubplot(2,1,1) % 将图形窗口分成几个区域plot(t,y) % 表示线性坐标图形绘制subplot(2,1,2)stem(t,y) % 表示离散序列图形绘制Tf=5 % Tf表示取仿真时间h=0.02% % 表示计算步长运行得出的仿真曲线图2-3:图2-3 仿真曲线由仿真图可知:一般的控制系统的输出动态响应在开始段变化较快,到最后变化将会缓慢。这时采用变不长的方法,在开始阶段步长取小一些,再最后阶段取长一些,这样保证了计算精度,也加快计算的速度。取仿真时间:Tf =5计算步长 :h=0.02;第3章 信号时域分析3.1 设计目的:l 利用MATLAB进行稳态误差计算的方法;l 利用MATLAB进行稳定性分析的方法;l 利用MATLAB进行时间响应分析的方法;3.2 设计内容:l 掌握稳态误差计算;l 掌握稳定性分析;l 掌握时间响应分析;3.3 设计原理一个动态系统的特性常用典型输入下的时间来描述。所谓响应是指零出值条件下某种典型输入函数作用下控制对象的响应,控制系统中常用的输入函数为单位阶跃函数和脉冲激励函数。MATLAB的控制系统提供了典型的输入函数下系统响应函数:step ( )。Step ( )该函数用来求取系统的阶跃响应。其用法如下: y, x=step ( num, den, t) y, x=step (A, B, C, D, iu, t)y, x=step (num, den, t)函数适用于由传递函数表示的系统模型,其中,num和den分别为线性系统传递函数的分子和分母多项式系数,t为选定的仿真时间,返回值y为系统在仿真时刻各个输出所组成的矩阵,而x为自动选择的状态变量的时间响应数据。当该函数没有返回值时,MATLAB将直接在屏幕上绘出系统的阶跃响应曲线。y, x=step (A, B, C, D, iu, t)函数适用于状态方程表示的系统模型,其中,(A,B,C,D)是系统的状态模型,iu是输入变量的序号,返回值y为系统在仿真时刻各个输出所组成的矩阵,而x为自动选择的状态变量的时间响应数据。如果对具体的响应值不感兴趣,而只希望绘制出系统的阶跃响应曲线,则可使以下函数: step (num ,den, t) step (A, B, C, D, iu, t)step (num, den) step (A, B, C, D, iu)i=find (条件)该函数功能在于求取满足条件的向量的下 (求取实部大于零的零点或极点的下标号)。find ( )函数的条件式为real(z)0。其含义在于求出p矩阵中实部大于0的所有元素的下标,并将结果返回到i总数组中去。如果找到了实部大于0的极点,即认为找到了不稳定极点,因而给出系统不稳定的提示,若产生的i向量的元素个数为0,即认没有找到不稳定的极点,因而系统稳定。条件real (z)0则是在判断该系统是否为最小相位系统,其判断方法与稳定性判断相同。3.4设计说明3.4.1稳态误差计算 xi(s) + - 图 3-1系统框图 设系统的开环传递函数为:G0(S)=求单位负反馈下的阶跃响应曲线。MATLAB的阶跃响应程序:%Example.mclose all % 清除工作空间中所有变量% 开环传递函数d=input(d=); % 请求输入k0=input(k0=);k1=input(k1=);k2=input(k2=);k3=input(k3=);k4=input(k4=);num=d;den=k0 k1 k2 k3 k4;% 求闭环传递数numc,denc=cloop(num,den);%绘制闭环系统的阶跃响应曲线t=0: 0.1: 9;y=step (numc, denc, t); % 阶跃输出函数y1, x ,t1=step (numc,denc);% 对于传递函数调用,状态变量x返回为空距阵subplot (211) % 将图形窗口分成几个区域plot (t, y, r:, t1, y1) % 表示线性坐标绘制subplot (212)stem (t1,y1,c.) %表示离散序列图形绘制title (the step respondence) %给图形加标题(输出阶跃响应)xlabel(time-sec) %x轴标识%求稳态值disp(系统稳态值dc为:) %显示距阵或文本dc=dcgain(numc,denc) %控制系统的增益运行得到阶跃响应曲线图3-2如下: 图3-2阶跃响应曲线 由阶跃响应曲线可知:系统输出的系统稳态值大约1的范围左右,所以将仿真时间t的取值范围定在0至9s,时间间隔为0.1s。3.4.2稳定性分析 设系统的稳定性传递函数为:G(s)=判断系统的稳定性,以及系统是否为最小相位系统。%Example.mclearclcclose all %清除工作空间中所有变量%系统描述k0=input(k0=);k1=input(k1=);k2=input(k2=);k3=input(k3=);num=k0 k1 k2 k3;den=1 13 109 527 1493 2116 111;%系统的零极点z,p,k=tf2zp(num,den) % 由传递函数形式转化为状态空间形式 %检验零点的实部;求取零点实部大于零的个数i=find(real(z)0) % 查找非零元素的 (real求实部函数)n1=length(i); % 查询向量维数%检验极点的实部;求取极点实部大于零的个数j=find(real(p)0)n2=length(j);%判断系统是否稳定if(n20) disp(the system is umstable) %显示矩阵或文本 desp(the unstable pole are:) disp(p(j)else disp(the system is stable)end%判断系统是否为最小相位系统if(n10) disp(the systm is nonminmal phase one)else disp(the systm is a minimal phase one)end%绘制零极点图pzmap(p,z)z p运行得到的零极点图3-3所示:图3-3 系统的零极点图分布由零极点图可值:一般用叉号表示极点,圈号表示零点。从此图可以看出该系统是稳定的离散系统。且是最小相位系统。极点位置距原点越远,则对应项的幅值就越小,对系统过渡过程的影响就越小。另外,当极点和零点很靠近时,对应项的幅值也很小,即这对零、极点对系统过渡过程的影响将很小。3.4.3 时间响应分析设典型二阶系统为闭环传递函数:G(s)=典型的二阶系统。由二阶典型系统特征参数公式: =e,tp=(wn),wn= 所以由系统框图3-4所示:R(s) + G(s) - 1+es 图3-4系统框图框图所示:求d和e的值,系统阶跃应满足:(1) 超调量不大于40%(2)峰值时间0.40.8秒%Example.mclearclcclose all % 清除工作空间中所有变量%输入期望得超标调量及峰值时间pos=input(please input expect pos(%)=); % pos超调量tp=input(please input expect tp=); % tp峰值时间z=log(100/pos)/sqrt(pi+(log(100/pos); % sqrt平方根函数wn=pi/(tp*sqrt(1-z);num=wn;den=12*z*wn wn2;t=0: 0.02: 4;y=step(num,den,t); % 阶跃输入subplot(211) % 将图形框口分成几个区域plot(t,y) % 表示线性坐标绘制subplot(212)stem(t,y) % 表示离散序列图形绘制xlabel(tim-sec) % x轴标识ylabel(y(t) % y轴标识grid % 坐标网格线开关设置d=wn2e=(2*z*wn-1)/d运行得到的图3-5所示: 图3-5二阶系统的阶跃响应由图可知:1时,二阶系统的单位阶跃响应函数的过渡过程为衰减振荡,并且随着阻尼的减小,其振荡特性表现的愈加强烈,当时达到等幅振荡。在=1和1时,二阶系统的过渡过程具有单调上升的特性。从过渡过程的持续时间来看,在无振荡单调上升的曲线中,以时的过渡时间ts最短。在0.8时,不仅其过渡过程时间比=1时更短,而且振荡不太严重。因此一般希望二阶系统工作在=0.40.8的欠阻尼状态,因为这个工作状态有一个振荡特性适度而持续时间又较短的过渡过程。选择合适的过渡过程实际上是选择合适的瞬态响应,也就是选择合适的特征参数n与值。 第4章 控制系统的频域分析4.1设计目的l 利用MATLAB掌绘制波特图、极坐标图的方法;l 利用MATLAB掌幅值、角度值的计算方法;l 利用MATLAB掌握频域分析方法;4.2 设计内容l 对数频率特性(波特图)、极坐标(奈奎斯特图)绘制;l 频率特性的幅值和角度值的计算;l 频率特性的应用;4.3 设计原理4.3.1频率分析 频率分析法是利用系统的频率特性来分析系统的方法。频率特性函数是系统在静态时的正玄输出信号与正玄输入信号之比,它的可用图形表示通常将频率特性用曲线的形式表示,包括对数频率特性曲线和幅相频率特性曲线简称幅相曲线,MATLAB提供了绘制这两种曲线的函数。4.3.2 对数频率特性图(波特图)bode()连续系统的波特图可利用bode()函数来绘制,其mag,phase,w=bode(num,den) mag,phase,w=bode(num,den,w)mag,phase,w=bode(A,B,C,D)mag,phase,w=bode(A,B,C,D,i)mag,phase,w=bode(A,B,C,D,iu,w)式中,num,den和A,B,C,D分别为系统的开环传递函数和状态方程的参数,而w为由频率点构成的向量。bode(num,den) %可绘制出以传递函数 G(s)=num(s)/den(s)表示的系统的波特图;bode(A,B,C,D) % 可绘制出以状态空间表达式(A,B,C,D)所表示系统的每个输入的bode图;bode(A,B,C,D,iu) %可得从系统第iu个输入到所有输出的bode图,其中频率范围由函数自动选择,而且在响应快速变化的位置会自动采用更多取样点;bode(num,den,w)和bode(A,B,C,D,W)%可利用指定的频率点向量w绘制系统的bode图。当带输出变量mag,pha,w或mag,pha引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。相角以度为单位,幅值可转换为分贝单位:magdb=20*log10(mag)。有了这些数据就可以利用下面的MATLAB命令:subplot(2,1,1);semilogx(w,20*log10(mag)subplot(2,1,2);semilogx(w,phase)4.3.3求系统奈奎斯特图 Nyquist图是根据开环频率特性G(jw)H(jw)在复平面上绘幅相轨迹,利用开环系统的Nyquist曲线,可判断闭环系统不稳定性。对于频率特性函数G(jw),给出w从-到+的一系列数值,分别求出Im(G(jw)和Re(G(jw)。以Re(G(jw)。Re(G(jw)为横坐标,Im(G(jw)为纵坐标绘制出极坐标频率特性图。MATLAB提供了nyquist()函数的波特图。其格式为: re,im,w=nyquist(num,den,w) re,im,w=nyquist(A,B,C,D)简单命令为: nyquist(num,den,w) nyquist(A,B,C,D)它的使用方法与bode()函数的用法基本相同。 其中,num和den分别为系统传递函数的分子多项式和分母多项式的系数,w为角频率范围;(A,B,C,D)为控制系统的状态模型。返回值re和im分别为频率特性函数的实部和虚部。有了这些值就可利用命令plot(Re,Im)来直接绘制出系统的奈奎斯特图。4.4设计说明4.4.1对数频率特性图(bode)典型的二阶系统传递函数为: 绘制出取不同值时的波特图。取wn=6,取0.2:0.2:1.0时二阶系统的波特图可直接用bode( )的函数得到。MATLAB程序为:%Example.mwn=6; %无阻尼固有频率kosai=0.2:0.2:1.0;w=logspace(-1,1); %频率向量函数figure(1);num=wn.2; %传递函数的分子多项式for k=kosaiden=1 2*k*wn wn.2; %传递函数的分母多项式 mag,phase,w1=bode(num,den,w); % mag,phase分别表示频率的幅值和角度值subplot(2,1,1);hold onsemilogx(w1,mag);subplot(2,1,2);hold onsemilogx(w1,phase);endsubplot(2,1,1);grid on;grid;grid;title(bode plot)xlabel(Frquency(rad/sec);ylabel(Gain dB)subplot(2,1,2);grid on;xlabel(Frquency(rad/sec);ylabel(Phase deg);hold off运行得到频率特性图4-1所示: 图4-1频率特性图 执行后得到的波特图所示:当w0时,相角趋于0;当w时,相角趋于-180;相角等于-90,此时的幅值也最大。4.4.2奈奎斯特图(幅相频率特性图) 系统的传递函数: G(S)=求当k分别取1300和5200时,系统的极坐标频率特性图。MATLAB的程序为:%Example.mclose allk1=input(k1=);k2=input(k2=);w=8:1:80;num1=k1;num2=k2;den=1 52 100 0;figure(1)subplot(211)nyquist(num1,den,w);subplot(212)pzmap(num1,den);figure(2)subplot(211)nyquist(num2,den,w);subplot(212)rm,im=nyquist(num2,den);plot(rm,im)xlabel(real)ylabel(image)title(w from 负无穷to零)figure(3)numc,denc=cloop(num2,den);subplot(211)step(numc,denc)subplot(212)numc1,denc1=cloop(num1,den);step(numc1,denc1)% 2输入2输出系统状态空间描述close alla=-2.5 -1.22 0 0;1.22 0 0 0 ;1 -1.14 -3.2 -2.56;0 0 2.56 0; b=4 1;2 0;2 0;0 0; c=0 1 0 3;0 0 0 1; d=0 -2;-2 0; figure(1) nyquist(a,b,c,d) figure(2)nyquist(a,b,c,d,2)4.4.3频域特性的应用l Nyquist曲线是根据开环频率特性在复平面上绘出的相轨迹,根据开环的Nyquist曲线,可以判断闭环系统的稳定性。l 系统稳定的充要条件:Nyquist曲线按逆时针包围临界点(-1,j0)的围数R,等于开环传递函数位于s右半平面的极点数P,否则闭环系统不稳定,闭环正实部特征根个数Z=P-R。若刚好过临界点,则系统临界稳定。1. 设系统传递函数为:G(s)=(1)绘制系统的奈奎斯特曲线,判断闭环系统的稳定性,求出系统的单位响应。(2)给系统增加一个开环极点p=2,求此时闭环系统的稳定性,并绘制系统的单位阶跃响应曲线。MATLAB的程序为(1):%Exmaple.mcleark=26;z=; %闭环正实部特征根个数p=-6 1; %增加一个开环极点num,den=zp2tf(z,p,k); %由零极点形式转化为传递函数形式figure(1)subplot(211) %将图形窗口分成几个区域nyquist(num,den)subplot(212)pzmap(p,z) %零极点映射figure(2)numc,denc=cloop(num,den); %单位反馈连接函数step(numc,denc) %阶跃输入函数 运行输出单位阶跃曲线为: 图4-2 Nyquist曲线 图4-3闭环系统阶跃响应由以上图可知:Nyquist曲线按逆时针方向包围(-1,j0)点为1次,而开环系统包含右半s平面上的一个极点,因为,根据控制理论中的Nyquist稳定性判断,所以以此构成的闭环系统稳定。所以的出系统的单位阶跃响应,仿真时间t取值范围定在-6至1s之间。MATLAB的程序为(2):%Example2.mcleark=26;z=;p=-6 1 2;num,den=zp2tf(z,p,k);figure(1)subplot(211)nyquist(num,den) % 奈奎斯特函数title(nyquist diagrams) % 文件名输出subplot(212)pzmap(p,z) % 零极点映射figure(2)numc,denc=cloop(num,den); % 单位反馈连接调用step(numc,denc) % 阶跃输入title(step response) 输出的图形为: 图4-4 Nyquist曲线图4-5闭环系统阶跃响应由以上图可知:当增加一个开环极点p=2时,开环系统s平面右半平面无极点不包围(-1,j0)点,所以不论k取任何正值,系统总是稳定的。所以可以判断此时闭环系统稳定性是否稳定。2 .系统传递函数:H(s)=求有理传递函数的频率响应,再同一张图上绘制四阶pade近似表示的系统频率响应。pade函数近似表示延时环节,(num,den)=pade(t,n),产生最佳逼近时延t秒的n阶传递函数形式。MATLAB的程序为:%Example4.mclose all%有理传递函数模型num=1 1;den=conv(1 2,conv(1 2,1 2);w=logspace(-1,2); %产生频率向量t=0.5;%求有理传递函数模型的频率响应mag1,pha1=bode(num,den,w);%求系统的等效传递函数n2,d2=pade(t,4); % n阶SISO的状态空间模型 numt=conv(n2,num); %卷积与多项式乘积dent=conv(d2,den);% 求系统的频率响应mag2,pha2=bode(numt,dent,w);% 在同一张图上绘制频率响应曲线subplot(211)semilogx(w,20*log4010(mag1),w,20*log10(mag2),r-); % semilogx绘制x轴为对数标度的图形title(bode plot)xlabel(frequency-rad/s);ylabel(gain db);grid on % 增加网格subplot(212)semilogx(w,pha1,w,pha2,r-);xlabel(frequency-rad/s);ylabel(phase deg);grid on运行得出响应曲线图4-6所示:图4-6响应曲线图4-6所示的响应曲线,图中实线为系统采用精确法后的bode图,虚线为系统采用近似法的bode图。第5 波形的生成5.1设计目的l 利用MATLAB掌握波形的输出时间及周期;l 利用MATLAB掌握波形函数;5.2设计内容l 方波信号的生成;5.3设计原理gensig()生成任意信号函数,其调用格式为:u,t=gensig(type,Ta)或u,t=gensig(type,Ta,Tf,T)其中,第一式产生一个类型为type的信号序列u(t),周期为Ta。type为以下标识字符串之一:sin-正弦波;square-方波;pulse-脉冲序列。第二式同时定义信号序列u(t)的持续时间Tf和采样时间T。5.4设计说明例如: 生成一个周期为5s,持续时间为40s,采样时间0.1s的方波。MATLAB的生成程序为:%Example.mclose allTa=input(Ta=);Tf=input(Tf=);T=input(T=);u,t=gensig(square,Ta,Tf,T);subplot(211)plot(t,u)axis(0,40,-1,2)subplot(212)stem(t,u)axis(0,40,-1,2)运行得出的图形5-1所示:图5-1 方波信号 如图5-1所示:方波信号的变化与周期、持续时间、采样时间的值有关。 第6 章 信号的调制与解调6.1 设计目的l 利用MATLAB掌握调幅与解调原理;l 利用MATLAB掌握调制的方法;6.2设计内容l 利用MATLAB中函数对信号的调制;6.3设计原理:6.3.1 modulate函数modulate 函数用来对给定的信号进行调制的过程,调制过程需要指定的为调信号,载波以及调制方法等,modulate的函数是给定的。其格式为: y=modulate(x,Fc,Fs,method) y=modulate(x,Fc,Fs,method,opt) y , t=modulate(x,Fc,Fs)其中:x是要调制的信号序列,Fc为载波频率,Fs为采样频率,method为采用的调制方法,opt为method指定的调制方法所需的参数(并不是每种方法都需要附加参数)。(1) amdsb-sc或am 抑制载波双边带调幅调制,获得输出序列的公式是:y=x.*cos(2*pi*Fc*t)示例如下: y=modulate(x,fc,fs,am); plot(y)(2) amdsb-tc常规双边带调幅调制,获得输出序列的公式是:y=(x-opt).*cos(2*pi*Fc*t)即将原信号减去一个直流分量后在与载波相乘,opt参数的缺省值为min(x),即在此种情况下使得x-opt恒为非负值且最小值为零。示例如下:y=modulate(x,fc,fs,amdsb-tc);plot(y)(3) amssb单边带幅度调制,实现公式为:y=x.*cos(2*pi*Fc*t)+imag(Hilbert(x).*sin(2*pi*Fc*t)获得的是下边带幅度结果。(4) fm频率调制,产生频率随信号变化的载波,实现的公式为:y=cos(2*pi*Fc*t+opt*cumsum(x)其中函数cumsum是利用矩形法求得的x的近似积分值,参数哦普通opt用于确定频偏常数,缺省值是最大频偏为Fc的值,即opt=(Fc/Fs)*2*pi/(max(max(x)。示例如下:y=modulate(x,fc,fs,pm);plot(y)(5) pm相位调制,产生一个相位随信号变化的载波,实现公式为:y=cos(2*pi*Fc*t+opt*x)参数opt用于确定调相指数,其缺省值为使最大相偏为pi的值,即:opt=pi/(max(max(x)示例如下:y=modulate(x,fc,fs,pm);plot(y)(6) ptm脉冲时间调制。此种调制方式产生周期脉冲,并使每个脉冲的起始时间随信号而改变,每个脉冲的起始边沿对应的时间为x乘以周期的长度加上周期的起始时间,此种调制要求x的值位于0和1之间。返回的序列y的长度由下式确定:length(y)=length(x)*Fs/Fc示例如下:,这里为了使x的值在0和1之间,我们从新定义x,而Fs,Fc不变。 X=0.3*ones(1,10),0.1*ones(1,10),0.9*ones(1,10); Y=modulate(x,fc,fs,ptm); Plot(y)(7) pwm脉冲宽度调制,和ptm类似,pwm产生一个周期性的脉冲串。每个脉冲的宽度由信号决定,即x决定了每个脉冲的宽度与周期宽度的比值。缺省情况下,每个脉冲的对齐方式为左对齐,但可以通过给出opt参数来改变对齐方式,如:modulate(x,Fc,Fs,pwm,centered),指定对齐方式为中央对齐。Pwm方式返回的序列长度同ptm方式一样为:Length(y)=length(x)*Fs/Fc示例如下,x的值与ptm中相同 y=modulate(x,fc,fs,pwm); plot(y)(8) qam正交幅度调制。产生序列的计算公式:y=x.*com(2*pi*Fc*t)+opt.*sin(2*pi*Fc*t)其中opt参数为一与x有相同长度的序列,此方式相当于将两个信号调制在正交的分量上以后再相加。 说明:method参数缺省值为am方式,除了ptm和pwm方式外,返回的序列长度与输入序列x的一样。 第三种格式中的t用于获得输出序列的对应的采样点时间值。 若x不是一个向量而是一个矩阵,则modulate函数针对x的每一列进行操作,并返回相应的列向量。6.3.2 demod函数和vco函数 demod函数是modulate函数的反过程,MATLAB通信工具箱用它来进行解调。使用格式为:x=demod(y,Fc,Fs,method)x=demod(y,Fc,Fs,method,opt) 其中,y表示调制信号,Fc是载波频率,Fs是采样频率,method是采用的方法,其取值与modulate函数中的取值一样。其中,Fc为载波频率,Fs为采样频率,x取值在-1到1之间。6.4设计说明 MATLAB的程序为:%amodeulate.m % 脚文件echo on tz=0.001; % 定义抽样时间fz=1/tz;df=0.2; % 频率分辨力snr_lin=10(snr/10); % 信噪比的数值t0=0.5; % 定义t0信号的持续时间的值fa=50; % 定义载波频率snr=10; % 定义信噪比,用dB表示a=0.8; % 定义调制系数t=0:tz:t0; % 定义出抽样点数据% 定义信号mm=zeros(1,501);for i=1:1:125, m(i)=i;endfor i=126:1:375, m(i)=m(125)-i+125;endfor i=376:1:501, m(i)=m(375)-i-375;endm=m/1000;c=cos(2*pi*fa.*t); % 载波信号m_n=m/max(abs(m);M,m,df1=fftseq(m,tz,df); % 傅里叶变换,fftseq函数的 % 程序段见后M=M/fz; % 频率缩放,便于作图 f=0:df1:df1*(length(m)-1)-fz/2; %定义频率向量u=(1+a*m_n).*c; %将调制信号调制在载波上U,u,df1=fftseq(u,tz,df); %对已调信号作傅里叶变换U=U/fz; %频率缩放signal_power=ampower(u(1:length(t); %计算信号功率函数ampower %程序段见后pmn=ampower(m(1:length(t)/(max(abs(m)2;%计算调制信号的功率eat=(a2*pmn)/(1+a2*pmn); %计算调制效率noise_power=eta*signal_power/snr_lin; %计算噪声功率noise_std=sqrt(noise_power); %噪声标准差noise=noise_std*randn(1,length(u); %产生高斯分布噪声r=u+noise; %总接收信号R,r,df1=fftseq(r,tz,df); %对总信号进行傅里叶变换R=R/fz; % 频率缩放%以下为结果显示pause % pause使程序暂停,用户按任意signal_power % 显示信号功率 pauseeta %显示调制效率pausesubplot(2,2,1)plot(t,m(1:length(t) %作出调制信号的曲线axis(0 0.15 -2.1 2.1); xlabel(Time)title(The message signal); pausesubplot(2,2,2)plot(t, u(1:length(t) %作出已调制信号的曲线axis(0 0.15 -2.1 2.1); xlabel(Time)title(The modulated signal); pausesubplot(2,2,3)plot(t,c(1:length(t) %作出载波的曲线axis(0 0.15 -2.1 2.1); xlabeltitle(The carrier); pausesubplot(2,1,1)plot(f,abs(fftshift(M) %作出频率的调制信号xlabel(Frequency); title(Spectrum of zhe message signal)pause; subplot(2,1,1)plot(f,abs(fftshift(U) %作出频域的已调制信号title(Spectrum of the modulated signal); xlabel(Frequency)pause subplot(2,1,1)plot(t,noise(1:length(t) %作出噪声曲线title(noise sample); xlabel(Time)pause subplot(2,1,2)plot(t, r(1: length(t) %作出总信号的时域曲线title(Signal and noisse); xlabel(Time)pause subplot(2,1,2)plot(f,abs(fftshift(R) %作出频域的总信号曲线title(Signal and noise spectrum);xlabel(Frequency)以下是fftseq.m函数文件,此函数在后面的程序中使用。function M,m,df=fftseq(m,tz,df)fz=1/tz;if nargin=2 %判断输入参数的个数是否符合要求 n1=0; %根据参数个数决定是否使用频率缩放 elsen1=fz/df;endn2=length(m);n=2(max(nextpow2(n1),nextpow2(n2);M=fft(m,n); %进行离散傅里叶变换m=m,zeros(1,n-n2); df=fz/n;以下是ampower.m函数文件,此函数仅用于计算本题中的信号功率。function p=ampower(x)p=(norm(x)2)/length(x) %计算出信号能量t0=0.15; tz=0.001;m=zeros(1,501);for i=1:1:125 %计算第一段信号值的功率 m(i)=i;endfor i=126:1:375 %计算第三段信号值的功率 m(i)=m(125)-i+125;end for i=376:1:501 %计算第三段信号值的功率 m(i)=m(375)+i-375;endm=m/1000; %功率归一化m_hat=imag(hilbert(m);第7章 信号滤波与加窗处理7.1设计目的l 利用MATLAAB掌握滤波器的设计方法;l 利用MATLAAB掌握加窗处理的设计方法;7.2设计内容l 掌握MATLAB的滤波器的设计l 掌握MATLAB的加窗设计7.3设计原理在上两章里讨论了时域和频域分析信号的基本理论和方法,这一章把这些方法应用于信号处理,并在MATLAB中实现信号处理的方法。由DSP的一般理论可知,无限长冲激响应(IIP)滤波器的特征是具有无限持续时间的冲激响应,由于这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器;有限长冲激响应(FIR)滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可采用非递归的方式实现。实际应用的窗函数,可分为以下主要类型:1)冥窗-采用时间变量某种冥次的函数,如矩形、三角形、梯形或其他时间(t)的高次冥;2)三角函数窗-应用三角函数,即由正玄或余玄函数等组成的复合函数,例如汉宁窗、海明窗等;3)指数窗-采用指数时间函数。常用的函数: 窗函数定义式巴特利特(Bartlett)窗矩形窗汉宁(Hanning)窗哈明(Hamming)窗布莱克曼(Blackman)窗凯泽(Kaiser)窗其中,凯泽窗的I0.是修正后的零阶贝塞尔(Bessel)函数,为依赖于M的参数,选择M可以产生各种过渡带宽和接近最优的阻带衰减。对于相同的M此窗函数可以提供不同的过渡带宽,这是其他窗函数做不到的。7.4 设计说明a) 已知滤波器的系统函数为:h(n)=-5,2,-3,-1,7,-1,-3,2,-5求出振幅响应Hr(w)以及零点位置。执行下面的M文件:H_TYPE1.Mh=-5 2 -3 -1 7 -1 -3 2 -5;M=length(h); %查询向量维数n=0:M-1;H,w,a,L=Hr_type1(h);a,Lamax=max(a)+1;amin=min(a
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|