版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PAGE.数字信号处理实验指导书电气与信息工程系陈爱萍张可为陈军根XX工程学院20XX3月10日目录第1章关于实验用计算机语言MATLAB21.1MATLAB简介21.2MATLAB环境41.2.1MATLAB的工作空间41.2.2MATLAB的命令窗口51.2.3MATLAB的图形窗口121.3MATLAB的M文件13l.3.1M文件14l.3.2函数文件151.4实验用MATLAB函数箱简介161.5MATLAB的帮助系统19第2章上机实验27实验一、离散序列的产生、运算与分解27实验二、系统频率响应和单位脉冲响应28实验三、信号、系统及系统响应29实验四用FFT作谱分析32实验五用双线性变换法设计IIR数字滤波器37实验六:用窗函数法设计FIR数字滤波器40第1章关于实验用计算机语言MATLAB1.1MATLAB简介MATLAB〔MatrixLaboratory矩阵实验室是Mathworks公司于1982推出的一套高性能的数值计算和可视化软件。MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不要求明确的维数说明。与利用C语言或FORTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间,是适合于工程应用各领域的分析、设计和复杂计算的数学软件,易学易用,在工程技术界,MATLAB已广泛应用于自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真、图像处理等领域。MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。目前,Mathwork公司推出了18种工具箱。用户可以根据自己的工作任务,开发自己的工具箱。新的版本集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。MATLAB利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁,MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。①语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法〔例如追赶法编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语占编写至少需要好几十行。而用MATLAB解线性方程的程序极其简短。更为难能可贵的是,MATLAB甚至具一定的智能水平,比如解方程时,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。②运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。③MATLAB既具有结构化的控制语句〔如for循环、while循环、break语句和if语句,又有面向对象编程的特性。④语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。⑤程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。⑥MATLAB的图形功能强大。在FORTRAN和C语台里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。⑦MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行义件,程序为解释执行,所以速度较慢。⑧功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如controltoolbox、signalprocessingtoolbox、communicationtoolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。1.2MATLAB环境MATLAB既是一种语言,又是一个编程环境。作为一个编程环境,MATLAB提供了很多方便用户管理变量、输入输出数据以及生成和管理M文件的工具。下面将分别介绍MATLAB的工作空间、命令窗口、程序编辑/调试器。1.2.1MATLAB的工作空间在MATLAB中,工作空间〔Workplace是一个重要的概念。工作空间指运行MATLAB的程序或命令所生成的所有变量和MATLAB提供的常量构成的空间。工作空间是一个比较抽象的概念。每打开一次MATLAB,MATLAB会自动建立一个工作空间,工作空间在MATLAB运行期间一直存在,关闭MATLAB后工作空间自动消失。刚打开的MATLAB的工作空间中只有MATLAB提供的几个常量,如pi〔3.1415926…、虚数单位i等。运行MATLAB的程序时,程序中的变量被加入到工作空间。除非用特殊的命令删除变量,否则该变量在关闭MATLAB之前一直存在。由此可见,在一个程序中的运算结果以变量的形式保存在工作空间中,又可被别的程序继续利用。可以随时查看工作空间中的变量名及变量的值。某个时刻的工作空间中的所有变量可以保存到一个文件中,这样,当关闭MATLAB后,所有的变量的值仍然存在,当下次启动MATLAB后,又可用相关的命令把保存的工作空间的所有变量调入到当前工作空间。1.2.2MATLAB的命令窗口MATLAB的命令窗口是MATLAB的重要组成部分,是用户和MATLAB交互的工具。在Windows环境下,双击"开始"按钮的程序中的MATLAB选项〔如果用户已经在Windows的桌面上建立了快捷方式,则双击MATLAB图标,则会打开如图1—1所示的命令窗口。图1—1MATLAB的命令窗口在图1-1中,最上面显示"MATLABCommandWindow"字样的一栏为标题栏,标题栏下面的菜单栏中包含File菜单、Edit菜单、View菜单、Window和Help菜单五项。菜单栏下面的工具栏显示了九个工具按扭,熟练使用工具按扭可使工作更快捷、更方便。MATLAB窗口的菜单操作和其它Windows下文本窗口中此类菜单的操作基本相似。下面将分别介绍命令窗口的菜单栏、工具栏和命令输入区。命令窗口的菜单栏"File"选项单击菜单栏上的"File"选项,就会显示下拉式子菜单,如图1—2所示。下面分别介绍各项的作用。"New"选项:用鼠标单击"New"选项将会向下拉出三项:"M-file"、"Figure"和"Model"。单击"M-file"选项将打开指定的编辑器,并自动打开一个空白M文件;单击"Figure"选项将建立一个空白图形窗口;单击"Model"选项将自动打开仿真库,并打开一个用于建立新模型的窗口。"Open"选项:单击"Open"选项,MATLAB将用指定的编辑器打开一个已经建立的M文件。图1—2MATLAB的文件操作菜单"OpenSelection"选项:在命令窗口的命令编辑区用鼠标选中一个M文件的文件名,再单击"OpenSelection"选项,将用指定的编辑器打开该M文件。"RunScript"选项:单击"RunScript"选项将会弹出一个对话框,对话框提示用户输入命令文件〔命令文件为MATLAB程序的一种的存储目录和文件名,确认后,将执行该命令文件。"LoadWorkspace"选项:单击该选项将打开一个目录框,在目录框中列出所选目录下的后缀为.mat的文件。选中某个文件后,将把该文件中保存的变量载入到当前的工作空间。"SaveWorkspaceAs"选项:该项的作用是把当前工作空间的所有变量用后缀为.mat的文件保存起来。单击该选项将弹出一个目录框,用户通过该目录框选择文件的存储目录和名字。"ShowWorkspace"选项:单击该选项将打开变量浏览器。变量浏览器中显示当前工作空间中所有变量的类型、大小及占用的存储空间。"ShowGraphicsPropertyEditor"选项:单击此选项将打开图形属性编辑器。在图形属性编辑器里,可以选择MATLAB已经打开的图形窗口,对每个图形对象的属性值进行修改。"ShowGUILayoutTool"选项:单击该选项,MATLAB将会打开图形界面控制面板。在图形界面控制面板里,用户可以通过选中面板里的图形模板,然后在打开的图形窗口中绘制就可以生成精美的图形界面。"SetPath"选项:单击该选项,将打开MATLAB的路径浏览器。通过路径浏览器可以更改MATLAB执行命令时的搜索路径。"Preferences"选项:单击该选项,将打开命令窗口的显示格式选项卡。通过设置上面三张选项卡的选项,可以调整命令编辑区的显示格式。"PrintSetup"选项:该选项用于设置打印机的参数,如打印机的类型、纸张大小、送纸方向、图形的打印质量等等。"Print"选项:该选项用于打印命令窗口中的内容,也可以设置一些打印参数。"PrintSelection"选项:当选中命令编辑区的一部分后,单击该选项即可按照"PrintSetup"选项的设置进行打印。"ExitMATLAB"选项:用于关闭MATLAB。关闭MATLAB的快捷键为Ctrl+Q。最近使用的四个文件显示在"PrintSelection"选项和"ExitMATLAB"选项之间。单击文件名,即可打开选中的文件。当选择"File":下的"Preferences"选项时,会弹出包含"General"、"CommandWindowFont"和"CopyingOptions"三个选项卡的对话框。〔1"General"选项卡图1—图1—3General选项卡"General"选项卡上左边的"NumericFormat"框中,从"Short〔default"项到"Rational"项是互斥的,通过选择这些选项可以控制命令窗口中计算结果的显示格式,这里的数据输出的格式只影响数据的显示格式,并不影响数据的存储和计算精度。例如矩阵x=[4/31.2345e-6]在不同的输出格式下将得到表1-1所示的显示结果。表1-1数据显示格式格式名称4/3的输出格式1.2345e-6说明Formatshort1.33330.00005位有效数字Formatshorte1.3333e+0001.2345e-0065位有效数字加指数Formatshortg1.33331.2345e-0065位有效数字或加指数Formatlong1.333333333333330.0000012345000015位有效数字Formatlonge1.33333333333333e+0001.234500000000000e-00616位有效数字加指数Formatlongg1.333333333333331.2345e-00615位有效数字Formatbank1.330.00小数点后2位有效数字Formatrat4/31/810045有理数近似〔近似分数Formathex3ff55555555555553eb4b6231abfd271十六进制在图1—3中。"NumericFormat"框中的"Loose<default>"和"Compact"两项也是控制命令窗口中数据的输出风格的。当选中"Loose〔default"项时,将在命令窗口中的显示结果中加入一些空行;选中"Compact"项时,将压缩掉输出到命令窗口中的许多空行,此时可以在一屏上看到更多的信息。在"EditorPreference"框中,若选中"BuiltEditor"项,则编写和调试程序时使用MATLAB带的编辑/调试器;若选中"Browse"项,允许用户选择自己喜欢的文本编辑器作为MATLAB的程序编辑器。因为MATLAB的程序可用任何文本编辑器编写和修改,所以选用任何文本编辑器都是可以的。但不选用MATLAB的内置编辑/调试器时,不再具有调试功能。"HelpDirectory"框用于指定帮助信息所在的子目录。由于MATLAB完全安装所占空间较大〔单机完全安装后帮助子目录占112MB,允许用户在安装完毕之后,将帮助子目录放在别的硬盘分区上。只要使用该框指定帮助信息所在目录,就能使用MATLAB的联机帮助。"EchoOn"选项可以选择运行MATLAB的程序时是否在命令窗口中显示正在运行的命令。当选中时,显示运行的每条命令。值得注意的是,当选择显示运行的命令时,程序的运行速度有所降低。"ShowToolbar"选项将在命令窗口的上方显示九个工具按纽,这将方便文件的新建和打开、仿真模型的建立以及帮助信息的使用等等。"EnabelGraphicalDebugging"选项决定是否可对图形动态变换进行调试。<2>"CommandWindowFont"选项"CommandWindowFont"选项卡如图1—4所示。该选项卡中的选项控制着命令窗口中字体的类型、大小、风格〔Font、Size、Style以及命令窗口的背景色和字体颜色。在图1—4中的"Sample"框将显示出选择的样例,用户可以根据自己的喜好选择。〔3"CopyingOptions"选项"CopyingOptions"选项如图1—5所示。该选项的功能是选择拷贝MATLAB所绘制的图形时的形式。选择"ClipboardFormat"的"WindowsMetafile"选项.则图形拷贝时采用矢量图形格式;当选择"WindowsBitmap"选项,图形将以Windows的位图格式拷贝。图1—4"CommandWindowFont"选项卡图1-5图1-5"CopyingOptions"选项卡选择"MatchFigureScreenSize"选项,MATLAB会根据需要粘贴的纸张的大小,自动调整图形的大小;否则,将以图形的实际大小粘贴。选择"Whitebackground’选项,粘贴时将选用白色背景,而不是MATLAB5.0的灰色图形背景。"Edit"选项"Edit"项中"Undo"、"Cut"、"Copy"、"Paste"、和其它Windows下文本窗口中的操作基本相似;"Clear"用于删除选中的内容〔已经敲回车键的命令不可清涂;"SelectAl1"选项用于选定文本编辑区的所有内容;"Clearsession"项用于清除显示屏的全部内容,但并不删除工作空间变量。"help"选项"help"项,用于获得MATLAB提供的所有帮助功能,关于MATLAB帮助的详细介绍祥见1.5MATLAB的帮助系统。"Windows"项Windows菜单栏中的MATLABCommandWindow选项,可以查看目前MATLAB打开的所有窗口,并可选中某个窗口来实现在不同窗口之间的转换。2.命令窗口的工具栏命令窗口中菜单栏下面是工具栏,工具栏提供了一些方便的按钮,如图1—6所示。图1—6命令窗口的工具栏①—⑥按钮:相当于菜单栏"File"和"Edit"选项中的"New"、"Open"、"Cut"、"Copy""Paste"、和"Undo"命令;⑦按钮:相当于菜单栏中"Fi1e"选项中"ShowWorkspace"命令;⑧按钮:相当于菜单栏中"File"选项中的"SetPath"命令;⑨按钮:用于进入Simulink仿真环境;⑩按钮:相当于菜单栏中"Help"选项中"Helpwindow"命令。3.命令窗口的命令编区在图1—1所示的命令窗口中,除标题栏、菜单栏、工具栏以外的窗口,称为命令编辑区,用于编写程序、运行程序、跟踪调试程序和显示计算结果。每次打开的MATLAB的命令窗口都会在命令编辑区显示如下的帮助信息:Togetstarted,typeoneofthese:helpwin,helpdesk,ordemo.Forproductinformation,visit.该段文字表示,在命令窗口中键入helpwin,helpdesk可获得联机帮助;键入demo可看到MATLAB提供的演示例子:访问.网站可得到MathworkS公司的所有产品的介绍。在启动MATLAB,命令编辑区显示两行帮助信息后,将显示符号">>"。这时,用户就可以在">>"提示符后面键入命令,按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。符号">>"表示MATLAB已准备好,正等待用户输入命令。值得注意的是,在中文的Windows里,不会出现符号">>",但这并不影响MATLAB的使用。当启动中文之星后,会出现符号">>",但这时在命令行里使用Backspace键和回车键时,命令行的第一个字符会变得乱七八糟,所以最好在使用MATLAB时关掉中文之星。在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。如果能熟练使用这些健将大大提高学习和工作效率。在编写程序,如输入命令但还没按回车键时,可使用〔←键或〔→键来修改已发现的错误;按了回车键后,可使用〔↑键或〔↓键再显示已输入的命令行,来修改命令。例如当输入命令ho=<1+sqrt<5>>/2时,若漏敲字符"r",由于MATLAB里不存在sqt函数,将会给出错误信息:???Undefinedfunctionorvariable'sqt'.这时用户不用重新键人整行命令而只需按〔↑键,就会再显出刚才键入的命令行,用户在相应的位置键入"r"字母再按下回车键即可正常运行。反复使用〔↑键,可以回调以前键入的所有命令行,其作用类似MS-DOS下的DOSKEY。在MATLAB的命令窗口里,可用Ctrl+C来终止正在运行的程序。有时按下Ctrl+C后,可能需等待一会儿,因为当运行内部函数和MEX文件时,需等到运行完后才能终止。如果在输入命令后再以分号结束,则不会显示该命令的结果。这对有大量输出数据的程序特别有用,因为写屏将花费大量系统资源来进行十进制和二进制之间的转换,用分号关掉不必要的输出将会使程序运行速度成倍甚至成百倍的提高,这对其他编程语言具有普遍意义。1.2.3MATLAB的图形窗口在MATLAB环境中调用任何绘图函数绘图时,MATLAB将自动生成一个如图1—7所示的图形输出窗口〔FigureWindow,并在其中绘出图形。在缺省情况下,图形窗口的标题栏标题为"FigureNO:号码",其中"号码"为图形窗口的序号,也称为图形窗口的句柄值。在标题栏下面是图形窗口的主菜单栏,通常情况下,MATLAB图形窗口的主菜单有File、Edit、Windows和Help。图1—7图形输出窗口在同一个图形窗口中,可以绘制多个图形,也可以生成多个图形窗口,并选择其中的一个图形窗口,在其中绘制图形。生成图形窗口的方法比较多,在没有图形窗口存在时,每个绘图函数都能自动生成一个图形窗口;也可以用figure命令生成一个新的图形窗口;还可以用命令窗口File菜单的New子菜单的figure项来打开一个新的图形窗口。有关图形的绘制和管理,参见本书第三章。1.3MATLAB的M文件在MATLAB系统中,根据功能可将MATLAB系统所使用的外部文件分成M文件、MAT文件、MEX文件,并用不同的扩展名作为其标识。M文件是ASCⅡ码文本文件;MAT文件是MATLAB系统的二进制数据文件,用于保存MATLAB系统所使用的数据,MATLAB除了可以读写ASCⅡ码形式的数据文件外,也定义了它自己的数据存储格式,这就是MAT文件;MEX文件是经过MATLAB编译系统编译的函数二进制文件。MEX文件可以被直接调入MATLAB系统中运行。由于MATLAB是按边解释边运行的方式工作的,因此,M文件的执行速度要比MEX文件慢得多。所以,用户通常把已经调试好,且比较大的M文件编译成MEX文件,供以后使用。M文件是用户接触最多的文件,以字母.m为其扩展名。例如,tartul.m,在文件中只有由MATLAB语言所支持的语句,它类似于DOS下的批处理文件。在MATLAB系统中,有两类M文件。一类称为程序M文件,简称M文件;另一类称为函数M文件,或简称为函数,统称为M文件。一般来说,M文件用于把很多需要在命令窗口输入的命令放在一起,以便修改;而函数文件用于把重复的程序段封装起来。它们的区别在于:M文件由命令描述行写成之后存储,即可在MATLAB平台上单独调用执行;而函数文件需要相应的输入输出变量参数方可执行,如sin〔x,需要变量x作输入参数;[y,x,t]=step〔num,den需要变量num、den为输人参数,并返回变量y、x、t到内存或者在MATLAB界面显示,具有函数功能。因此需要函数的专用格式,在函数文件的第一行必须以关键字"function"开始的函数说明语句。图1—8程序编辑器界面两类M文件的共同特征是:在MATLAB命令窗口中的命令提示符下键入文件名,来执行M文件中的所有语句规定的计算任务或完成一定的功能;可以用任何文本编辑器进行编辑。MATLAB是一个开放的编辑系统,实际上MATLAB的绝大部分函数就是一个M文件。当完成一个功能需要许多MATLAB命令时,用户也可以通过选择菜单栏的"File"项中的"New"打开MATLAB的程序编辑器来编写自己的M文件形成新的工具箱;用户还可以通过选择菜单栏的"File"项中的"Open"打开并修改用户已编辑的或MATLAB系统中的M文件。如图1—8所示为用"File"项中的"New"或"Open"打开MATLAB的程序编辑器。l.3.1M文件图1—图1—9花瓣图案下面是一个M文件的例子,在新建立的程序编辑器中输入下列命令行,并以文件名flower.m保存。在MATLAB的命令窗口中键入flowerl,将会执行该文件画出图1—9所示图形。th=-pi:0.01:pi;rho=5*cos<3.5*th>.^3;polar<th,rho>调用该命令文件时,不须要输入参数,文件自身建立需要的变量。当文件执行完毕后,用命令whos可以查看工作空间中的变量。可见变量th和rho仍然保在工作空间中。l.3.2函数文件和M文件相比,函数文件的建立要稍微复杂一些,需要函数文件的专用格式,在函数文件的第一行必须以关键字"function"开始的函数说明语句。下面是一个计算DFT的函数文件的例子。%DFT函数function[Xk]=dft<xn,N>%realizedftforperiodicalsequence,[Xk]=dft<xn,N>n=[0:N-1];k=[0:N-1];wnk=exp<-j*2*pi/N>.^<n'*k>;%构造矩阵Xk=xn*wnk;%计算DFT一旦函数文件建立,在MATLAB的命令窗口或在别的文件里面,就可以用下列命令调用。Xk=dft<xn,N>;函数文件的结构分为几个部分:.函数定义行文件的第一行为函数定义行,该行定义函数名、输入参数和输出参数的个数。.帮助体文件中两空行之间的部分〔以%开始的行。当对该函数使用help命令查询帮助信息时,将显示帮助体这部分内容。这部分是函数的说明部分,通常包含了函数的功能、函数的使用方法、函数的输入参数和输出参数、函数的作者、函数的修改记录等内容。.函数体函数文件中除函数定义行、H1行和帮助体之外的文本,这些命令执行计算、赋值等实质性的工作。.注释部分在函数体中以符号"%"开始直到该行结束的部分表示对程序的注释。1.4实验用MATLAB函数箱简介为了便于实验时查阅,下面简要介绍几种实验中可能要用到的MATLAB函数。abs功能:求实数的绝对值、复数的模、字符串的ASCll码值。格式:y=abs<x>说明:y=abs<x>用于计算x的绝对值,当x为复数时,得到的是复数的模值,当x为字符串时,abs<x>得到字符串的各个字符的ASCll码值。angle功能:求复数的幅角〔相角。格式:=angle<h>说明:=angle<h>用于求复矢量或复矩阵的相角〔以弧度为单位,相角介于到之间。real功能:求复数的实部。格式:real<x>imag功能:求复数的虚部。格式:imag<x>conj功能:求复数的共轭。格式:conj<x>conv功能:求卷积。格式:c=conv<a,b>说明:conv<a,b>用于求矢量a和矢量b的线性卷积。如:当a=[123],b=[456]时,则c=conv<a,b>c=13282718filter功能:利用IIR滤波器或FIR滤器对数据进行滤波。格式:y=filter<b,a,x>[y,zf]=filter<b,a,x>b=filter<b,a,x,zi>说明:filter利用数字滤波器对数据进行滤波,其实现结构采用直接型结构,其中a为系统函数H<z>分母的系数矢量,b为系统函数分子的系数矢量。y=filter<b,a,x>利用给定系数矢a和b对x中的数据进行滤波,结果放入矢量y中,y的长度取max<N,M>。[y,zf]=filter<b,a,x>除得到矢量y处还得到x的最终状态矢量zf。b=filter<b,a,x,zi>可在中指定x的初始状态。freqz功能:求数字滤波器的频率响应。格式:[h,w]=freqz<b,a,n>[h,w]=freqz<b,a,n,Fs>[h,w]=freqz<b,a,w>[h,w]=freqz<b,a,f,Fs>freqz<b,a>说明:freqz用于计算数字滤波器的频率响应。impz功能:求H<z>的单位冲激响应h<n>。格式:[h,t]=impz<b,a,n>[h,w]=freqz<b,a,z>[h,t]=impz<b,a,n,Fs>impz<b,a>fft功能:求一维快速傅里叶变换<FFT>。格式:y=fft<x>y=fft<x,n>ifft功能:求一维快速傅里叶变换的逆变换<IFFT>。格式:y=ifft<x>y=ifft<x,n>plot功能:线型绘图函数。格式:plot<x>省缺自变量绘图格式。如果x为实数,等价于plot<x,x>如果x为复数,等价于plot<real<x>,imag<x>>。plot<x,y>基本格式,以y〔x函数关系绘出直角坐标图。如果为n×m矩阵,则以x为自变量,绘出m条曲线。plot<x1,y1,x2,y2>多条曲线绘图格式。plot<x,y,’s’>由字符串"s"设定曲线颜色和绘图曲线线型的绘图格式,其中"s"的选项表示如表1—1所示。subplot功能:多坐标设置与定位当前坐标系。格式:subplot<m,n,k>说明:subplot<m,n,k>将图表窗口分成m行n列的m×n块子区域,按行从上到下,从左至右的顺序,在第k块子区定义一个坐标系,使其成为当前坐标系,绘图函数在该坐标系输出图形。figure功能:创建新的图形窗口。stem功能:线型离散序列图。格式:stem<y>stem<x,y>stem<…,’s’>由字符串"s"设定曲线颜色和绘图曲线线型的绘图格式,见表1-2。表1—2MATLAB绘图命令选项选项颜色选项颜色y黄色-实线r大红*星号g绿色o圆圈b蓝色x叉k黑色+十字w白色:虚线m粉红.-点划线c亮蓝.--双点划线其他常用函数round最邻近整数截断〔四舍五入fix向零方向截断为整数floor不大于自变量的最大整数ceil不小于自变量的最小整数sign符号函数rem求余数或模运算gcd最大公因子lcm最小公倍数exp自然指数函数〔以e为底log自然对数函数〔以e为底log10以10为底的对数函数1.5MATLAB的帮助系统为了方便用户使用MATLAB,系统提供了强大的在线帮助功能。根据HTML技术编写的帮助文件使用起来十分方便。MATLAB有以下几种方法可获得帮助:帮助命令、帮助窗口、MATLAB帮助台、在线帮助页或直接链接到Mathworks公司〔对于已联网的用户。1.帮助命令帮助命令help是查询函数语法的最基本方法,查询信息直接显示在命令窗口。例如命令helpmax将显示如下信息:MAXLargestcomponent.Forvectors,MAX<X>isthelargestelementinX.Formatrices,MAX<X>isarowvectorcontainingthemaximumelementfromeachcolumn.ForN-Darrays,MAX<X>operatesalongthefirstnon-singletondimension.[Y,I]=MAX<X>returnstheindicesofthemaximumvaluesinvectorI.Ifthevaluesalongthefirstnon-singletondimensioncontainmorethanonemaximalelement,theindexofthefirstoneisreturned.MAX<X,Y>returnsanarraythesamesizeasXandYwiththelargestelementstakenfromXorY.Eitheronecanbeascalar.[Y,I]=MAX<X,[],DIM>operatesalongthedimensionDIM.Whencomplex,themagnitudeMAX<ABS<X>>isused.NaN'sareignoredwhencomputingthemaximum.Example:IfX=[284;739];thenmax<X,[],1>is[789],max<X,[],2>is[8,9],max<x,5>is[585;759]SeealsoMIN,MEDIAN,MEAN,SORT.从以上的帮助信息里,我们可以了解max是求Largest〔最大值函数,并给出了应用举例和同类函数min…等。值得一提的是,MATLAB命令窗口里显示的帮助信息用大写来突出函数名,但在使用函数时,应用小写。MATLAB按照函数的不同用途分别存在不同的子目录下,用相应的帮助命令可显示某一类的所有函数。2.帮助窗口帮助窗口给出的帮助信息和帮助命令给出的信息内容一样,但在帮助窗口更容易浏览与之相关的其他函数。在MATLAB命令窗口中有三种方法进人帮助窗口:①双击工具栏上的问号按钮;②键入helpwin命令:③选取帮助菜单里的"HelpWindow"项。帮助窗口如图1—10所示。3.帮助台帮助台比帮助命令及帮助窗口提供的帮助信息更多。绝大部分帮助台的帮助信息都是用超文本标记语言〔HTML写成,可以通过Netscape或Microsoft的InternetExplorer阅读。在MATLAB的命令窗口中选择帮助菜单的"HelpDesk"选项或键人helpdesk命令即进人如图1—11所示的帮助台界面。这两种方法都会自动启动浏览器,用户可利用浏览器的功能来浏览帮助。在MATLAB的帮助台上,只要单击相关的内容逐级查找就可以找到相应的帮助信息。帮助台上特别有用的是Search〔搜索功能。用户在"Search"按钮左边的输入框里键入需要获得帮助的关键字,即可得到及时的帮助。图1—10帮助窗口图1—11帮助台4.在线帮助页帮助台的所有文件均有相应的PDF格式文件,用AdobeAcrobatReader可以阅读,称为在钱帮助页。在线帮助页翻页和查找都相当方便。用户选中帮助台上关于PDF格式文件的选项,或是在命令窗口中键人命令doc,便会自动打开AdobeAcrobatRemer。命令doc后可加上关键字,MATLAB会自动定位到相关的页码。在钱帮助页包括所有的字体、图形和图像,打印在线帮助页可以得到精美的帮助硬拷贝。如图2-12示为"Max"函数的在线帮助页。对于联网用户,还可以通过帮助台很方便地访问Mathworks公司的主页,向Mathworks公司询问问题、建议及指出错误。1—12在线帮助页例1.已知离散系统的系统函数为,用residue函数将H<z>展开为部分分式的形式,绘出其零、极点分布图;求系统的频率响应和单位脉冲响应,试编程。解:MATLAB程序如下:b=[0.20.31];a=[10.80.15];[z,p,k]=residue<b,a>%将H<z>展开为部分分式figure;subplot<221>;zplane<b,a>;%绘其零、极点分布图n=0:19;hn=impz<b,a,n>;%求单位脉冲响应subplot<222>;stem<n,hn>;title<'ImpulseRespone'>;[H,w]=freqz<b,a>;%求系统的频率响应subplot<223>;plot<w,abs<H>>;xlabel<'\omega'>;title<'MagnitudeRespone|H<jw>|'>;subplot<224>;plot<w,angle<H>>;xlabel<'\omega'>;title<'phaseRespone|H<jw>|'>;运行结果如图1-13所示。图1-13例1运行结果例2.分析矩形序列的频率响应,并作幅频特性图,设矩形序列长度N=6和N=9.解:矩形序列其z变换为:其频率响应为〔1N为偶数N=6时w=[0:1:500]*pi/500;x1=1-exp<-6*j*w>;x2=1-exp<-j*w>;x22=x2+<x2==0>*eps;%逻辑数组参加运算,使'0'被机器代替x=x1./x22;magx=abs<x>;angx=angle<x>.*180./pi;;subplot<211>;plot<w/pi,magx>;xlabel<'\omega'>;title<'|H<jw>|'>;subplot<212>;plot<w/pi,angx>;xlabel<'\omega'>;title<'angleRespone'>运行结果如图1-14所示。图1-14例2中N=6运行结果〔2N为奇数N=9时w=[0:1:500]*pi/500;x1=1-exp<-9*j*w>;x2=1-exp<-j*w>;x22=x2+<x2==0>*eps;%逻辑数组参加运算,使'0'被机器代替x=x1./x22;magx=abs<x>;angx=angle<x>.*180./pi;figure;subplot<211>;plot<w/pi,magx>;xlabel<'\omega'>;title<'|H<jw>|'>;subplot<212>;plot<w/pi,angx>;xlabel<'\omega'>;title<'angle'>运行结果如图1-15所示。图1-15例2中N=9运行结果例3.已知矩形序列x<n>=R4<n>,对序列进行谱分析,绘出其幅频特性曲线。解:MATLAB程序如下:x=[1,1,1,1];n=0:15;subplot<2,2,1>;stem<x>;axis<[0701]>;xlabel<'n'>;ylabel<'x<n>'>;y=fft<x,8>;%x<n>的8点FFTsubplot<2,2,2>;stem<abs<y>>;axis<[0704]>;xlabel<'k'>;ylabel<'X<k>'>;y=fft<x,16>;%x<n>16点FFTsubplot<2,2,3>;stem<abs<y>>;axis<[01504]>;xlabel<'k'>;ylabel<'X<k>'>;y=fft<x,64>;%x<n>64点FFTsubplot<2,2,4>;stem<abs<y>>;axis<[06304]>;xlabel<'k'>;ylabel<'X<k>'>;程序运行结果图1-16所示:图1-16例3运行结果第2章上机实验实验一、离散序列的产生、运算与分解1.实验目的〔1熟悉MATLAB软件的使用方法。〔2掌握用MATLAB编程产生离散序列,并进行运算与分解。2.实验内容及步骤〔1熟悉MATLAB软件的使用。〔2试编程产生下列序列并绘图:A.B.C.rand<n>为随机信号。D.〔3求下列序列并绘图:〔4已知求的奇分量和偶分量并绘图。〔5已知试绘出的实部、虚部、幅度和相位图。3.实验报告要求〔1简述实验目的及实验原理。〔2按实验步骤附上实验程序和实验过程中各图形,并对所得结果进行分析和解释。〔3总结实验中的主要结论。附:常用函数清单:%单位冲激函数impseqfunction[x,n]=impseq<n0,n1,n2>n=[n1:n2];x=[<n-n0>==0];%单位矩形函数stepsqfunction[x,n]=stepseq<n0,n1,n2>n=[n1:n2];x=[<n-n0>>=0];%反褶运算sigfoldfunction[y,n]=sigfold<x,n>y=fliplr<x>;n=-fliplr<n>;%移位运算sigshiftfunction[y,n]=sigshift<x,m,n0>n=m+n0;y=x;%加运算sigaddfunction[y,n]=sigadd<x1,n1,x2,n2>n=min<min<n1>,min<n2>>:max<max<n1>,max<n2>>;y1=zeros<1,length<n>>;y2=y1;y1<find<<n>=min<n1>>&<n<=max<n1>>==1>>=x1;y2<find<<n>=min<n2>>&<n<=max<n2>>==1>>=x2;y=y1+y2;%乘运算sigmultfunction[y,n]=sigmult<x1,n1,x2,n2>n=min<min<n1>,min<n2>>:max<max<n1>,max<n2>>;y1=zeros<1,length<n>>;y2=y1;y1<find<<n>=min<n1>>&<n<=max<n1>>==1>>=x1;y2<find<<n>=min<n2>>&<n<=max<n2>>==1>>=x2;y=y1.*y2;%提取奇偶分量oddfunction[xe,xo,m]=evenodd<x,n>ifany<imag<x>~=0>error<'xisnotarealsequence'>endm=-fliplr<n>;m1=min<[m,n]>;m2=max<[m,n]>;m=m1:m2;nm=n<1>-m<1>;n1=1:length<n>;x1=zeros<1,length<m>>;x1<n1+nm>=x;x=x1;xe=0.5*<x+fliplr<x>>;xo=0.5*<x-fliplr<x>>;〔1A程序清单:n=[-5:5];x=3*impseq<-2,-5,5>+2*impseq<0,-5,5>-impseq<1,-5,5>+2*impseq<4,-5,5>;subplot<221>stem<n,x>;xlabel<'n'>;ylabel<'x1<n>'>;〔1B.程序清单:%exper1Bn=[0:20];x1=n.*<stepseq<0,0,20>-stepseq<10,0,20>>;x2=10*exp<-0.2*<n-10>>.*<stepseq<10,0,20>-stepseq<20,0,20>>;x=x1+x2;subplot<222>stem<n,x>;xlabel<'n'>;ylabel<'x2<n>'>;其余程序清单自己编写。实验二、系统频率响应和单位脉冲响应1.实验目的〔1熟悉MATLAB软件的使用方法。〔2熟悉系统函数的零极点分布、系统频率响应和单位脉冲响应等概念。〔3利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。2.实验内容及步骤〔1已知离散系统的系统函数为,绘出其零、极点分布图;求系统的频率响应和单位脉冲响应,试编程。〔2已知离散系统的系统函数为,绘出其零、极点分布图、系统的幅频特性和相频特性,试编程。〔3已知离散系统的系统函数为,分析其频率响应,绘出幅频特性和相频特性图,试编程<设N=5和6>。3.实验报告要求<1>简述实验目的及实验原理。<2>按实验步骤附上实验程序和实验过程中各图形,并对所得结果进行分析和解释。<3>总结实验中的主要结论。实验三、信号、系统及系统响应1.实验目的<1>熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。<2>熟悉时域离散系统的时域特性。<3>利用卷积方法观察分析系统的时域特性。<4>掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。2.实验原理与方法采样是连续信号数字处理的第一个关键环节。对一个连续信号xa<t>进行理想采样的过程可用<2.2.1>式表示。〔3.2.1采样后的序列x<n>的傅里叶变换为〔3.2.2比较〔2.2.2和〔2.2.1,得〔3.2.3一个时域离散信号线性非移变系统的输入和输出之间的关系为〔3.2.4上述卷积运算也可以在频域实现〔3.2.53.实验内容及步骤〔1认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。〔2编制实验用主程序及相应子程序。①信号产生子程序,用于产生实验中要用到的下列信号序列:进行采样,可得采样序列其中A为幅度因子,a为衰减因子,Ω0是模拟角频率,T为采样间隔。这些参数可在实验过程中由键盘输入,也可在程序中直接输入产生不同的xa<t>和xa<n>。b.单位脉冲序列:c.矩形序列:,N=10②系统单位脉冲响应序列产生子程序。本实验要用到两种FIR系统。a.;b.③有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。可以直接调用MATLAB语言中的卷积函数conv。conv用于两个有限长度序列的卷积,它假定两个序列都从n=0开始。调用格式如下:y=conv<x,h>〔3调通并运行实验程序,完成下述实验内容:①分析采样序列的特性。a.取采样频率fs=1kHz,即T=1ms。b.改变采样频率,fs=500Hz,观察|X<ejω>|的变化,并做记录<打印曲线>;进一步降低采样频率,fs=200Hz,观察频谱混叠是否明显存在,说明原因,并记录〔打印这时的|X<ejω>|曲线。②时域离散信号、系统和系统响应分析。a.观察信号xb<n>和系统hb<n>的时域和频域特性;利用线性卷积求信号xb<n>通过系统hb<n>的响应y<n>,比较所求响应y<n>和hb<n>的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。b.观察系统ha<n>对信号xc<n>的响应特性。③卷积定理的验证。4.思考题<1>在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?<2>在卷积定理验证的实验中,如果选用不同的频域采样点数M值,例如,选M=10和M=20,分别做序列的傅里叶变换,求得所得结果之间有无差异?为什么?5.实验报告要求〔1简述实验目的及实验原理。〔2按实验步骤附上实验过程中的信号序列、系统单位脉冲响应及系统响应序列的时域和幅频特性曲线,并对所得结果进行分析和解释。〔3总结实验中的主要结论。〔4简要回答思考题。附:部分子程序〔1产生的子程序functionc=FF<A,a,w,fs>n=0:50-1;c=A*exp<<-a>*n/fs>.*sin<w*n/fs>.*stepseq<0,0,49>;〔2产生单位脉冲序列的子程序function[x,n]=impseq<n0,n1,n2>n=[n1:n2];x=[<n-n0>==0];〔3产生矩形序列的子程序function[x,n]=stepseq<n0,n1,n2>n=[n1:n2];x=[<n-n0>>=0];实验四用FFT作谱分析1.实验目的〔1进一步加深DFT算法原理和基本性质的理解<因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质>。〔2熟悉FFT算法原理和FFT子程序的应用。〔3学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。2.实验步骤〔1复习DFT的定义、性质和用DFT作谱分析的有关内容。〔2复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图,读懂本实验提供的FFT子程序。〔3编制信号产生子程序,产生以下典型信号供谱分析用:〔4编写主程序。图3-1给出了主程序框图,以供参考。〔5按实验内容要求,上机实验,并写出实验报告。图3-1主程序框图3.上机实验内容〔1对2中所给出的信号逐个进行谱分析。下面给出针对各信号的FFT变换区间N以及对连续信号x6<t>的采样频率fs,供实验时参考。,,,,:N=8,N=16:fs=64<Hz>,N=16,32,64〔2令,用FFT计算8点和16点离散傅里叶变换:〔3令,重复<2>。4.思考题〔1在N=8时,x2<n>和x3<n>的幅频特性会相同吗?为什么?N=16呢?〔2如果周期信号的周期预先不知道,如何用FFT进行谱分析?5.实验报告要求〔1简述实验原理及目的。〔2结合实验中所得给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。〔3总结实验所得主要结论。〔4简要回答思考题。附录:程序清单%mainb=yesinput<'请选择信号:\n1:x1<n>,2:x2<n>,3:x3<n>,4:x4<n>,5:x5<n>,6:x6<n>,7:x7=x4+x5,8:x8=x4+jx5:\n','1','1|2|3|4|5|6|7|8|0'>;b=str2num<b>;i=0;closeall;while<b>ifb==6N=yesinput<'请选择FFT变换区长度N:16or32or64:\n','16','16|32|64'>;N=str2num<N>;fs=64;n=0:N-1;elseN=yesinput<'请选择FFT变换区长度N:8or16:\n','8','8|16'>;N=str2num<N>;ifb==1x=[11110000];elseifb==2x=[12344321];elseifb==3x=[43211234];elseifb==4n=0:N-1;x=cos<0.25*pi*n>;elseifb==5n=0:N-1;x=sin<<pi*n>/8>;elseifb==7n=0:N-1;x=cos<n*pi/4>+sin<n*pi/8>;elseifb==8n=0:N-1;x=cos<n*pi/4>+j*sin<n*pi/8>;endendendendendendendend%%TOCalculateFFTf=fft<x,N>;i=i+1;figure<i>printf<x,abs<f>,abs<N>,abs<b>>;ifN==16ifb==7k=conj<f>;x4=<f+k>/2;figure<i+2>subplot<2,2,1>;stem<abs<x4>,'.'>;xlabel<'k'>;ylabel<'|X4<k>|'>;title<'恢复后的X4<k>'>;x5=<f-k>/2;subplot<2,2,3>;Stem<abs<x5>,'.'>;xlabel<'k'>;ylabel<'|X5<k>|'>;title<'恢复后的X5<k>'>;endifb==8k<1>=conj<f<1>>;form=2:Nk<m>=conj<f<N-m+2>>;endfe=<x+k>/2;fo=<x-k>/2;xr=ifft<fe,N>;b=4;figure<i+1>printf<xr,abs<fe>,abs<N>,abs<b>>;xi=ifft<fo,N>/j;b=5;figure<i+2>printf<xi,abs<f>,abs<N>,abs<b>>;endendb=yesinput<'请选择信号:\n1:x1<n>,2:x2<n>,3:x3<n>,4:x4<n>,5:x5<n>,6:x6<n>,7:x7=x4+x5,8:x8=x4+jx5,0<退出>:\n','2','1|2|3|4|5|6|7|8|0'>;b=str2num<b>;end%printffunctionprintf<j,k,N,b>%输出函数subplot<2,2,1>;if<b~=8>ifb==1|b==2|b==3M=3.2;n=0:7;stem<n,j,'.'>;n=0:7;m=zeros<8>;elseM=N*0.4;n=0:N-1;stem<n,j,'.'>;n=0:N-1;m=zeros<N>;endholdon;plot<n,m>;t=max<j>;xlabel<'n'>;string=['x',num2str<b>,'<n>的波形'];ylabel<'x<n>'>;text<M,<t*0.8>,string>;endsubplot<2,2,3>;n=0:N-1;stem<n,k,'.'>;t=max<k>;xlabel<'K'>;string=['x',num2str<b>,'<n>的N=',num2str<N>,'点FFT'];text<<N*0.4>,<t*0.8>,string>;ylabel<'|X<k>|'>;实验五用双线性变换法设计IIR数字滤波器实验目的熟悉用双线性变换法设计IIR数字滤波器的原理与方法。掌握数字滤波器的计算机仿真方法。通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。实验原理脉冲响应不变法设计滤波器的主要缺点是会产生频率混叠现象,使数字滤波器的频响偏移模拟滤波器的频响。产生的原因是模拟低通的最高截止频率超过了折叠频率π/T,在数字化后产生了频谱混叠,。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到±π/T之间,在用z=esT转换到z平面上。这里用正切变换实现频率压缩。式中T仍是采样间隔,当Ω1从π/T经过0变化到π/T时,Ω则由∞经过0变化到+∞,实现了s平面上整个虚轴完全压缩到s1平面上虚轴的±π/T之间的转换。这样便有:再通过再通过转换到z平面上,得到<1><1>下面分析模拟频率Ω和数字频率ω之间的关系。双线性变换法的映射关系令s=jΩ,z=ejω,并代入<1>式中,有<2><2>双线性变换法的频率变换关系双线性变换法的频率变换关系下面我们总结利用模拟滤波器设计IIR数字低通滤波器的步骤。<1>确定数字低通滤波器的技术指标:通带截止频率ωp、通带衰减αp、阻带截止频率ωs、阻带衰减αs。如果采用双线性变换法,边界频率的转换关系为<2>将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。如果采用双线性变换法,边界频率的转换关系为<3>按照模拟低通滤波器的技术指标设计模拟低通滤波器。<4>将模拟滤波器Ha<s>,从s平面转换到z平面,得到数字低通滤波器系统函数H<z>。实验内容用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:〔2以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]上的幅频响应特性曲线。〔3用所设计的滤波器对实际心电图信号采样序列〔在本实验后面给出进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。实验步骤〔1复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,编写程序用双线性变换法设计上述要求的数字滤波器系统函数H<z>。〔2编写滤波器仿真程序,计算H<z>对心电图信号采样序列x<n>的响应序列y<n>。〔3在通用计算机上运行程序,完成实验内容〔1、〔2和〔3。程序清单:%BiLinearTransformation:%ButterworthLowpassFilterDesign%DigitalFilterSpecifications:wp=0.2*pi;%digitalPassbandfreqinHzws=0.3*pi;%digitalStopbandfreqinHzRp=1;%PassbandrippleindBAs=15;%StopbandattenuationindB%AnalogPrototypeSpecifications:InversemappingforfrequenciesT=1;Fs=1/T;%SetT=1OmegaP=<2/T>*tan<wp/2>;%PrewarpPrototypePassbandfreqOmegaS=<2/T>*tan<ws/2>;%PrewarpPrototypeStopbandfreqep=sqrt<10^<Rp/10>-1>;%PassbandRippleparameterRipple=sqrt<1/<1+ep*ep>>;%PassbandRippleAttn=1/<10^<As/20>>;%StopbandAttenuation%AnalogButterworthPrototypeFilterCalculation:[cs,ds]=afd_butt<OmegaP,OmegaS,Rp,As>;%%***ButterworthFilterOrder=6%Bilineartransformation:[b,a]=bilinear<cs,ds,T>;[C,B,A]=dir2cas<b,a>%%C=5.7969e-004%%B=1.00002.01831.0186%%1.00001.98140.9817%%1.00002.00041.0000%%A=1.0000-0.94590.2342%%1.0000-1.05410.3753%%1.0000-1.31430.7149%Plottingfigure<1>;subplot<1,1,1>[db,mag,pha,grd,w]=freqz_m<b,a>;subplot<2,2,1>;plot<w/pi,mag>;title<'MagnitudeResponse'>xlabel<'frequencyinpiunits'>;ylabel<'|H|'>;axis<[0,1,0,1.1]>set<gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]>;set<gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]>;gridsubplot<2,2,3>;plot<w/pi,db>;title<'MagnitudeindB'>;xlabel<'frequencyinpiunits'>;ylabel<'decibels'>;axis<[0,1,-40,5]>;set<gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]>;set<gca,'YTickmode','manual','YTick',[-50,-15,-1,0]>;gridset<gca,'YTickLabelMode','manual','YTickLabels',['50';'15';'1';'0']>subplot<2,2,2>;plot<w/pi,pha/pi>;title<'PhaseResponse'>xlabel<'frequencyinpiunits'>;ylabel<'piunits'>;axis<[0,1,-1,1]>;set<gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]>;set<gca,'YTickmode','manual','YTick',[-1,0,1]>;gridsubplot<2,2,4>;plot<w/pi,grd>;title<'GroupDelay'>xlabel<'frequencyinpiunits'>;ylabel<'Samples'>;axis<[0,1,0,10]>set<gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]>;set<gca,'YTickmode','manual','YTick',[0:2:10]>;grid%BiLinearTransformation:%Chebyshev-1LowpassFilterDesign%DigitalFilterSpecifications:wp=0.2*pi;%digitalPassbandfreqinHzws=0.3*pi;%digitalStopbandfreqinHzRp=1;%PassbandrippleindBAs=15;%Stopbandatt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《康复功能评定学》课程教学大纲
- 《市政学》课程教学大纲
- 湖南省常德市沅澧共同体2024-2025学年高三上学期第二次联考生物试题含答案
- 2024年低价底商转让合同范本
- 2024年出售大中小种猪合同范本
- 2024年承接水包砂装修合同范本
- 2024胃食管反流病指南
- 公路冬季施工安全培训
- 6s管理活动汇报
- 商场百货陈列培训
- 招募民宿合伙人方案
- 《高效的沟通技巧》课件
- 《排球运动》PPT课件(部级优课)
- 《高速公路收费员培训》专业知识点课件
- 工作汇报流程图
- 纸质文物保护修复的传统及现代技术研究
- 2024年煤焦油相关项目可行性实施报告
- 苗木出库入库管理制度
- 纪检监察业务培训课件
- 前置血管课件
- 银行系统的数字化转型
评论
0/150
提交评论