电信DSP实验指导书_第1页
电信DSP实验指导书_第2页
电信DSP实验指导书_第3页
电信DSP实验指导书_第4页
电信DSP实验指导书_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电信《DSP技术及应用》实验指导书实验一正弦信号发生器【实验目的】1.熟悉CodeComposerStudio开发环境,了解相关的开发工具。2.掌握DSP软件开发流程。通过使用CCS软件,学会创建工程、编译、连接工程。3.掌握CCS软件的调试方法。学习使用CCS的探针(ProbePoint)和断点(Breakpoint)调试工程,能够用图形窗口观察数据。4.使用查表法和泰勒级数展开法实现正弦信号发生器。【实验原理】1.CCS软件开发环境介绍CCS(CodeComposerStudio)是TI公司为其TMS320系列DSP提供的一个高度集成的软件开发和调试环境,它将DSP工程项目管理、源代码的编辑、目标代码的生成、调试和分析都打包在一个环境中,使其可以基本涵盖软件开发的每一个环节。CCS主要包括以下工具:1.C编译器、汇编优化器和连接器(代码生成工具)2.指令集仿真器(Simulator)3.实时的基础软件(DSP/BIOS)4.主机和目标机之间的实时数据交换(RTDX)5.实时分析和数据可视化利用CCS,用户可以方便地建立一个DSP的工程项目,并对相应的源文件进行管理或编辑修改。所有源文件的编译、汇编和连接只需要一个按钮就可以一次完成,用户不必再通过输入冗长的命令行来完成这些操作。经过上面的过程产生的目标代码可以在CCS的环境下通过硬件仿真工具,如XDS510等,下载到用户目标系统中进行调试和运行。如果没有用户目标系统,还可以将目标代码装载到Simulator中运行。Simulator利用计算机的资源模拟DSP的运行情况,可以帮助用户熟悉DSP的内部结构和指令,在有的情况下还可以对部分的程序功能进行非实时的验证。在CCS中,用户可以利用其提供的数据可视化工具按照数据的格式来观察数据,如眼图、星座图、FFT瀑布图等,较好的分析数据。2.查表法该方法实用于信号精度要求不高的场合。需要占用大量存储空间,但是运算速度快。利用Matlab软件产生正弦表,参考代码如下:clearall;clc;N=256;fs=1200;dt=(1:N)/fs;f1=300;f2=100;x=(sin(2*pi*f1*dt)+sin(2*pi*f2*dt))*32768/2;x=round(x)fw1=fopen('sin.inc','wt');fprintf(fw1,'.data\n');fprintf(fw1,'sin_table:\n');fork=1:Nfprintf(fw1,'.word%d\n',x(k));endfigure(1);plot(x);该代码产生x为正弦信号,并且以sin.inc文件形式存放。3.泰勒级数展开法该方法需要存储空间小,精度高,运算速度相对较慢。对于、展开其中是弧度值。产生正弦信号的过程是:先计算0-45度的sin、cos值,接着利用求0-90度值;通过复制求0-359度值。【实验内容与步骤】1.创建一个新项目工程1)从菜单或者快捷方式中打开CCS。图1CCS界面2)选择Project→New。在myprojects文件夹中建立一个以自己姓名拼音命名的新的工程文件,如”zhangsan”,如下图所示:图2项目创建对话框3)在Target中选择器件类型"TMS320C54xx"。4)点击完成。这样CCS就新建了一个名为“zhangsan.pjt”的工程文件,注意工程所在文件夹,必须放在安装文件所在的ti文件夹中的myprjects里“..ti\myprojects\”。2.向工程中添加文件方法:将volume1文件夹的文件拷贝到自己所建工程文件夹内,然后按下面步骤操作。1)选择Project→AddFilestoProject,将volume.c添加至工程。2)选择Project→AddFilestoProject,选择汇编源文件(*.asm)类型的文件,将vector.asm和load.asm添加至工程。vector.asm文件定义了中断向量表,其中RESET中断将跳转至C语言程序的入口地址c_int00。3)选择Project→AddFilestoProject,添加volume.cmd文件。该文件将源程序中定义的程序段、数据段、和堆栈段等定位到相应的程序存储器和数据存储器中。4)选择Project→AddFilestoProject,进入c:\ti\c5400\cgtools\lib,文件类型选择日标文件和库文件(*.o*,*.lib),添加rts.lib文件。这是一个C语言运行环境库。5)在ProjectView中展开文件夹,如下图所示。提示:1)--4)步均可将鼠标移到zhangsan.pjt接着使用右键完成操作。注意,你不必自己向你的工程中添加Include文件,因为CCS在编译过程中会自动地寻找Include文件并将已们添加至工程中。在你编译完你的工程以后,你就可以在你的ProjectView中找到Include文件。在编译一个程序时,ccs将按照下列顺序在工程文件中查找文件:·包含源文件的文件夹·在Include搜索路径中列出的文件夹·在C54X_C_DIR(编译器)和C54X_A_DIR(汇编器)环境变量的定义中列出的文件夹。图3项目文件查看窗口此时,工程中文件有:·volume.c这是主程序的源代码。·volume.h这是volume.c包含的头文件,用来定义不同的变量和结构。·load.asm这个文件包含了模拟对DSP形成运算负载的程序。·vectors.asm这是定义中断向量的表文件。·volume.cmd这个CMD文件。·rts.libDSP运行环境库。如果你要从你的工程中删除一个文件,在ProjectView中右击文件,在弹出的菜单中选择“RemovefromProject"。3.查看源代码双击volume.c,源代码会出现在CCS窗口的右半窗口。在此C程序中应注意以下部分:·主函数main输出第一条信息后,进入一个无限循环。在该循环内,主函数调用了函数dataIO和processing。·函数processing将输入缓冲区中取出的每一个值乘以增益(gain),然后将结果送入输出缓冲区。它也调用了汇编加载程序,这在变量调入的处理过程中会消耗大量指令周期。·本程序中的函数dataIO完成返回(return)操作,使用探针从文件中将数据读入缓冲区,其效率大大超过了用C代码来完成I/O操作。4.编译和运行程序按以下步骤编译运行程序:1)选择Project→RebuildAll或者单击窗口菜单,CCS将编译、连接工程中的所有文件,这个工程的编译连接消息将在底部的一个窗口显示。默认方式编译过程中,在当前项目文件存在目录下将生成一个Debug子目录,生成可执行zhangsan.out文件放在该目录下。2)选择File→LoadProgram,选择在\zhangsan\debug目录刚刚生成的zhangsan.out文件。CCS将把程序载入到DSP内,并且打开一个反汇编(Disassembly)窗口。在反汇编窗口你可以看到一个绿色的箭头,它表示当前DSP的程序指针地址(PC值),注意此时PC指针将指向c_int00的位置。3)在反汇编窗口中点击一条汇编指令,按下F1,CCS寻找该条指令的帮助文件。这是一个熟悉的汇编指令的帮助信息的好办法。4)选择Debug→GoMain,使程序从主函数main处开始执行程序,这一进程将在main处暂停显示符号。5)选择Debug→Run或单击工具条中的。6)选择Debug→Halt或单击工具条中的,使程序退出运行状态。5.使用断点和观察窗当你开发并测试一个程序的时候,你经常需要查看在程序执行过程中一个变量的值的变化。本节中,你将使用断点和观察窗口来查看这些值,你也可以在到达断点以后使用单步调试命令。1)选择File→loadProgram,装载zhangsan.out。2)双击打开volume.c程序,把你的光标移到这一行:dataIO();3)单击ToggleBreakpoint工具栏按钮,或者按下F9,此时将在这一行设置一个断点,用红色的小点表示。4)选择View→WatchWindow或者,一个单独的窗口将出现在CCS窗口的右下方。在程序运行中,该区域将显示被观察的变量的值。在默认方式下,首先选中的是WatchLocals选项,在函数执行时,局部变量被显示出来。图6变量观察窗口5)程序如果未回到main处,选择Debug→GoMain.6)选择Debug→Run或者按下F5或者。7)选择Watch1选项,在Name栏单击表达式按钮,并将dataIO作为变量名输入。单击观察窗口的空白处保存设置,变量值会立即显示出来。图7变量观察窗口9)单出(StepOver)或按F10键单步调用执行指令dataIO()。10)结束本练习,使用,清除所有断点。7.为文件的I/O添加探针(ProbePoint)在本节中,你将添加一个探针,这个探针将从你的电脑上的文件中读取数据,探针是在算法开发中十分有用的工具。你可以通过以下几条途径使用它们:·通过一定的算法,把主机电脑文件中的输入数据向目标板上的缓冲区传输。·把目标板上缓冲区内的输出数据向主机传输,用于分析。·更新窗口,比如一个图表等。探针和断点有些相似,因为他们都可以中止目标板来完成已们的行为。但是,他们也有所不同,具体如下:·探针即刻停止目标板,完成一个单独的行为,然后继续目标板的执行过程。·断点停止CPU的工作,直到它的执行过程重新被手动继续。·探针允许输入输出文件自动的被执行,而断点不行。本节显示了如何使用探针向目标板传送数据。并且使用了一个断点在运行到探针的时候来更新所有打开的窗口。窗口中包括输入和输出的窗口。1)选择Project→RebuildAll或者单击。2)选择File→LoadProgram,将zhangsan.out加载到DSP中。3)在volume.c中dataIO();这一行使用设置一个断点。4)单击,在dataIO();这一行前面出现一个蓝色菱形标志,表示在这一行插入探针。5)选择File→FileI/O。出现了文件I/O对话框,这样你就可以选择输入输出的文件。选择AddFile,选择sine.dat文件,添加到FileI/O的对话框中。这时出现了一个sine.dat的窗口,当你运行程序时,你可以用这个窗口开始,停止,回放数据文件。在FileI/O对话框中,把Address改为“inp_buffer",把Length改为“100",在WrapAround选项前打钩。如下图所示:图8FileI/O对话框其中,Address栏指出了文件中的数据将置于何处。Length栏指每一次程序运行到探针时从数据文件中读取数据的长度。WrapAround选项使CCS循环从文件中读取数据。这就使数据文件被视为连续的数据流。一个关于sine.dat文件的控制窗口显示出来。图9sine.dat控制窗口6)单击AddProbePoint,出现Break/Probe/Frofile对话框。建立探针和sine.dat文件连接。具体过程,点击绿色一行,如下图所示。点击Connect列表中下拉菜单,选取sine.dat文件,如下图所示。点击add,可以得到:图10AddProbePoint设置7)单击确定完成AddProbePoint设置。8)单击确定,关闭FileI/O对话框。9显示图形CCS提供了许多种用图表显示数据的方法,在这个例子中,你将看到一个基于时间的信号图。1)选择View→Graph→Time/Frequency。对弹出的对话框依照下图对应修改。这样就为输入缓冲区inp_buffer建立了一个波形观察窗口。2)在GraphPropert对话框中,按下图所示设置GraphTitle,StarAddress,AcquisitionBufferSize,DisplayDataSize,DSPDataType,Autoscale,MaximumY-value的值;向下移动滚动条或改变窗口大小可以看出所有的属性值。图11图形显示设置对话框(1)2}同1}的方法为输出缓冲区outbuffer建立了一个波形观察窗口。改变GraphTitle为Output,StarAddress为out_buffer,其它设置一律不变。设置如下:图11图形显示设置对话框(2)9.启动程序并显示图形在本节中,将设置一个断点来更新所有的窗口,并且使用Animate功能在到达断点之后能够自动的继续程序的执行。1)重新加载程序volume.out2)在volume.c窗口中,在dataIO()的那一行设置断点3)单击Animating运行程序。Animate和Run命令有些类似,它使目标板一直运行直到遇到一个断点,这时目标板被停止,所有的窗口被更新。但和run命令不同的是,Animate继续运行程序直到下一个断点。这样的过程直到手动停止目标板的工作。4)注意到每个图表都有一个正弦信号,不同的是两者反相了。每次遇到一个探针,CCS从dine.dat文件中得到100个值,并把他们写入inp_buffer的地址中。信号反向是因为输入缓冲区包含的从sine.dat中读到的数据,而输出缓冲区包含的processing函数产生的数据。图12volume.c程序运行输入图形图13volume.c程序运行输出图形10.调整Gain的值从volume.c中,我们可以看出,processing函数利用gain和输入缓冲区的每一个值相乘,并且把结果置为输出缓冲区。在循环中,执行下列语句:*output++=*iuput++*gaingain初始被置为MINGAIN,这在volume.h中有定义。为了修改输出值,你需要修改gain的值,一种方法是使用一个观察变量(watchwindow)。选择View→WatchWindow。在watch窗口中添加gain变量,观察其值,如下:图14观察变量窗口2)如果你已经停止了目标板,单击重新运行程序3)在Watch窗口中把gain的值改成l0。观察波形的变化,如下:图15程序执行输出图形11.利用查表法产生正弦信号最后参考结果如下:12.利用泰勒级数展开法产生正弦信号。【实验思考题】1.建立一项工程文件,一般包括哪些文件,每个文件的作用是什么?2.探针的作用是什么?3.图形显示窗口可以实现哪些波形显示?

实验二FIR数字滤波器的设计【实验目的】练习TMS320C54X汇编程序的编写与调试方法,重点练习C54X程序流程控制方法。2.掌握用C54X进行算术运算的基本方法和使用的基本语句。3.掌握单步调试方法,使用Memory窗口观察结果。4.掌握FIR滤波器的设计方法。【实验原理】 数字滤波器的输入和输出之间的关系可以用如下常系数线性差分方程及其Z变换描述,即

系统传递函数为

转换成零极点表示为式中,表示零点;表示极点。具有N个零点和N个极点,如果任何一个极点在Z平面单位圆外,则系统不稳定。对于IIR滤波器,有系数量化敏感的缺点。由于系统对输入序列施加的算法是加法、延时和常系数乘三种基本运算的组合,所以可以用不同结构的数字滤波器来实现,且不影响系统总的传输函数。如果系数全部为零,滤波器成为非递归的FIR滤波器,这时系统没有极点,因此FIR滤波器总是稳定的。FIR滤波器的常系数线性差分方程及其Z变换描述,即 系统传递函数为【实验内容与步骤】首先完成算术运算的编程方法学习,学会单步调试,接着实现简单的乘加运算,最后完成FIR滤波器的编程设计。基本算术运算创建一个新项目工程将“x:…\base_operation文件夹”复制到“c:\ProgramFiles\ti\myprojects文件夹”下。打开工程调试程序阅读工程exer1.prj下exer1.asm程序,读懂加、减、乘、除汇编代码;单击,编译、连接工程,生成exer1.out;选择File→loadProgram,装载exer1.out;选择Debug→Restart,光标移动到这一行“_c_int00:”选择菜单View→Registers→CPUregisters,打开CPU寄存器。使用添加断点,使用单步调试,通过View→Memory观察存储空间(首地址为0x080)的内容,分析运算结果。4)整个的参考结果如图所示:编程y=5*4+6*5或者y=0.5*0.4+0.6*0.5。尽量采用调用子函数的方法实现。方法1:使用单操作数寻址指令(绝对、间接、直接均可)LD,TMPY,A方法2:使用双操作数间接寻址指令MPY*AR2,*AR3,A方法3:使用双操作数间接寻址指令MAC*AR2,*AR3,A参考结果如下:0x0032FIR数字滤波器设计本实验要求设计采样频率为1200Hz、截止频率为200Hz的16阶,FIR低通滤波器。测试输入信号为100Hz和300Hz的合成信号,目的是通过所设计的滤波器将300Hz的信号滤掉,余下100Hz的信号成份,达到滤波的效果。使用MATLAB软件获取滤波器系数(1)方法一FDAtool工具1)在MATLAB中使用滤波器设计工具箱(FDA)来设计滤波器,首先打开MATLAB,在命令窗口中输入FDAtool,将实现滤波器设计工具箱。图1是滤波器设计的主界面,通过输入滤波器的参数可以设计各种满足用户要求的滤波器,包括滤波器的类型(IIR或FIR)、滤波器的阶数(Specifyorder)、滤波器的截止频率(Fpass)、带宽、纹波系数(Apass)采样频率(Fs)等有关参数。图1IIR滤波器设计的主界面 2)图2、图3、图4和图5分别对应滤波器的频率特性、冲激响应特性图、阶跃响应特性图和零极点示意图。图2滤波器的频率特性图3冲激响应特性图图4阶跃响应特性图图5零极点示意图3)以FIR设计为例,确定参数:滤波器的类型为FIR、滤波器的阶数(Specifyorder)、滤波器的截止频率(Fc)、采样频率(Fs),指定滤波器采用的窗类型(Window)等有关参数。图6FIR滤波器参数选择界面图4)通过使用按钮,获得滤波器系数,如图7所示。图7滤波器的系数此外,可以通过菜单Targets→GenerateCHeader获得系数数组。(2)方法二MATLAB语言实现使用MATLAB语言设计得到滤波器的系数,也就得了滤波器的传递函数H(z)。用MATLAB语言可以将传递函数H(z)变成具体的数字系统,即滤波器的实现问题。下面举例说明FIR滤波器的实现。产生的测试数据和实现FIR滤波程序如下:具体功能是产生采样频率1200Hz,两个频率300和100频率信号的合成信号x,x为Q15整数,x经过FIR低通滤波后输出y。clearall;clc;N=256;fs=1200;dt=(1:N)/fs;f1=300;f2=100;x=(sin(2*pi*f1*dt)+sin(2*pi*f2*dt))*32768/2;x=round(x)figure(1);plot(x);xx=fft(x);figure(2);plot(abs(xx));lp=200;wn=2*lp/fs;B=fir1(16,wn,'low')yy1=zeros(N);yy1=filter(B,1,x);y=fft(yy1,N);figure(3);plot(abs(y));合成信号x的值如下,该值以常系数表形式存在于代码,用于DSP滤波程序的测试。B=fir1(16,wn,'low')获取16阶,低通FIR滤波器系数。参考图形说明图8合成信号的时域图图9合成信号的信号功率谱图由于是256点的fft,所以300hz对应的频率是256*300/1200、256-256*300/1200。图10滤波后的合成信号功率谱图图13总体参考结果图显然FDAtool提供的(或者maltab代码产生的)滤波器的系数或者不能直接用到DSP汇编语言中去,若设计参数有大于1的的数据,这样一个大于1的数据要直接用到DSP中,需要进行数据格式的浮点运算,这将增加编程的复杂度,而且会导致DSP运行程序速度的降低。一般情况下都不这样使用,而是将数据做一定比例的压缩后计算。2在CCS环境下对FIR滤波程序进行调试1)利用FDAtool工具产生滤波器系数,以常系数表形式在代码.data中存在,其格式如下: 2)利用matlab产生的合成信号x为测试数据,以常系数表形式在代码.data中存在,其格式如下:.word24576,1418,0,14189,4576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,4576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,14189.word24576,0,-24576,-14189,0,-14189,-24576,0.word24576,14189,0,14189,24576,0,-24576,-14189.word0,-14189,-24576,0,24576,14189,0,141893)在CCS中打开一个工程(在fir文件夹内),然后编译链接生成可执行.out文件,利用File→LoadProgram装入.out文件。4)运行程序。单击工具栏上的run符号,程序运行,在菜单view→graph中选择Time/Frequency,出现GraphPropertyDialog界面。在“StartAddress”栏中地址为inputdata,“DisplayType”栏,选择SingleTime。“AcquisitionBufferSize”栏读取缓存大小为256,“DisplayDataSize”栏改显示点数为256。“DSPDataType”下拉选框中选择“16-bitsingedinteger”,“SamplingRate(Hz)”中改抽样频率为1200。单击“OK”按钮,得到信号滤波前的波形图。5)在菜单view→graph中选择Time/Frequency,出现GraphPropertyDialog界面。把“DisplayType”栏改为FFTMagnitude,则可以观察到信号滤波前的频谱。6)在菜单view→graph中选择Time/Frequency,改“StartAddress”栏中地址为filterdata,则可以观察到信号滤波后的波形图。7)在菜单view→graph中选择Time/Frequency,改“DisplayType”栏改为FFTMagnitude,改“StartAddress”栏中地址为filterdata,则可以观察到信号滤波后的频谱图。如图是参考结果:图14inputdata空间信号频谱图15filterdata空间信号频谱图15总体参考结果3依据参考程序实现16阶,高通FIR滤波器。4依据参考程序实现32阶,高通FIR滤波器。5参考教材P201页例5-25、26、27、28,选择其中一种方法实现FIR滤波器。【实验思考题】编程并求Z=,尽量采用子程序调用的方式实现,并且注释程序。

实验三IIR数字滤波器的设计【实验目的】掌握使用MATLAB语言获取IIR滤波器系数的方法。2.掌握IIR滤波器的编程方法。【实验原理】 数字滤波器的输入和输出之间的关系可以用如下常系数线性差分方程及其Z变换描述,即 系统传递函数为转换成零极点表示为式中,表示零点;表示极点。具有N个零点和N个极点,如果任何一个极点在Z平面单位圆外,则系统不稳定。对于IIR滤波器,有系数量化敏感的缺点。由于系统对输入序列施加的算法是加法、延时和常系数乘三种基本运算的组合,所以可以用不同结构的数字滤波器来实现,且不影响系统总的传输函数。IIR数字滤波器有四种结构:直接I型、直接II型、级联型、并联型。二阶IIR滤波器称为二阶基本节,可以构成高级的级联型和并联型滤波器。现在以二阶IIR滤波器说明基本的机构。对于一个二阶IIR滤波器,其差分输出:y(n)=b0x(n)+b1x(n-1)+b2x(n-2)-a1y(n-1)-a2y(n-2)直接I型直接II型(标准型)前向通道:反馈通道:输出方程:级联型并联型IIR的设计方法:利用模拟滤波器原型来实现。根据模拟设计理论设计出满足要求的传递函数H(s);将H(s)变换成数字滤波器的传递函数H(z)。模拟滤波器的原型主要有:巴特沃思滤波器,其幅度响应在通带内具有最平特性;切比雪夫滤波器,在通带内具有等波纹特性,且阶数小于巴特沃思滤波器;椭圆滤波器,在通带和阻带内具有等波纹特性,且阶数最小。模拟滤波器的原型的MATLAB设计函数:巴特沃思滤波器[n,Wn]=buttord(Wp,Ws,Rp,Rs);[b,a]=butter(n,Wn):通带平坦的滤波器。切比雪夫滤波器[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs);[b,a]=cheby1(n,Rp,Wn):通带内为等波纹,阻带内为单调;[n,Wn]=cheb2ord(Wp,Ws,Rp,Rs);[b,a]=cheby2(n,Rs,Wn):通带内为单调的,阻带内为等波纹,由Rs指定阻带内的波纹。椭圆滤波器[n,Wn]=ellipord(Wp,Ws,Rp,Rs);[b,a]=ellip(n,Rp,Rs,Wn):通带和阻带内具有等波纹特性。【实验内容与步骤】利用切比雪夫滤波器设计3阶、高通、通带纹波1dB的滤波器。1使用MATLAB语言实现使用MATLAB语言设计得到滤波器的系数,也就得了滤波器的传递函数H(z)。产生的测试数据和实现IIR滤波程序如下:具体功能是产生采样频率1200Hz,两个频率300和1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论