【《IIR数字滤波器的仿真验证分析案例》2000字】_第1页
【《IIR数字滤波器的仿真验证分析案例》2000字】_第2页
【《IIR数字滤波器的仿真验证分析案例》2000字】_第3页
【《IIR数字滤波器的仿真验证分析案例》2000字】_第4页
【《IIR数字滤波器的仿真验证分析案例》2000字】_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

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

文档简介

IIR数字滤波器的仿真验证分析案例目录TOC\o"1-3"\h\u24267IIR数字滤波器的仿真验证分析案例 148261.1MATLABIIR滤波器的设计方法 157891.1.1MATLABfdatool工具设计IIR数字滤波器 1241791.1.2MATLAB自带函数设计IIR数字滤波器 2135051.2MATLAB程序设计与结果分析 3294001.3IIR数字滤波器的Modelsim仿真验证 5220801.3.1OSC模块Modelsim波形仿真 6289091.3.2Digital_Add混频模块的Modelsim波形仿真 6144411.3.3IIR模块的Modelsim波形仿真 710455如图4-10所示,混频信号进入后,经过1khz截止频率的IIR低通数字滤波器后变成了1khz的正弦波,FPGA仿真设计成功。 768071.4FPGA实现IIR数字滤波器的结果分析 71.1MATLABIIR滤波器的设计方法(1)自带的滤波器设计分析工具:FDATOOL(2)自带IIR函数库中的函数。1.1.1MATLABfdatool工具设计IIR数字滤波器MATLABFDATOOL(FilterDesign&AnalysisTool)是MATLAB数字信号处理工具箱专门为设计数字滤波器的设计分析工具。FDATOOL可以设计包括FIR和IIR在内的,现已有的很多常规数字滤波器;操作简明,并且容易上手。如图3-1所示,FDATOOL数字滤波器的设计主界面主要分为两大部分:DesignFilter—在界面的下半部,设置滤波器的设计参数滤波器设计区主要包括ResponseType(滤波器响应类型)—Lowpass(低通滤波器)、Bandstop(带阻滤波器)、Bandpass(带通滤波器)、Highpass(高通滤波器)和特殊的滤波器等。DesignMethod主要是fir滤波器和IIR滤波器,其中IIR滤波器类型包括Butterworth(巴特沃斯)、ChebyshevtypeI(切比雪夫I型)、ChebyshevtypeII(切比雪夫II型)等滤波器。FilterOrder(滤波器阶数)主要包括Specifyorder(指定阶数)和Minimumorder(最小阶数)。FrenquencySpecifications定义频带的各种详细参数,包括采样频率Fs和频带的截止频率Fstop。MagnitudeSpecifications定义幅度的衰减情况。特性区—在界面的上半部,用来显示滤波器的各种特性曲线特性区主要包括滤波器的MagnitudeResponse(幅频响应)、PhaseResponse(相位响应)、群组延时(GroupDelay)等滤波器特性曲线,这些特性曲线更加直观的反映了滤波器的特性。图4-1FDATOOL主界面1.1.2MATLAB自带函数设计IIR数字滤波器MATLAB软件提供了四种IIR滤波器设计函数:butter(巴特沃斯函数)cheby1(切比雪夫I型函数)cheby2(切比雪夫II型函数)ellip(椭圆滤波器函数)本文中主要使用butter滤波器进行IIR数字滤波器的设计。[b,a]=butter(n,Wn)由Butter函数可知,返回值b是系统函数的分母系数,a是系统函数的分子系数;n为阶数,Wn为滤波器的归一化截止频率。1.2MATLAB程序设计与结果分析MATLAB程序设计的目的是为了辅助验证FPGA设计的正确与否。IIR滤波器的设计参数为采样率44100HZ,截止频率为1000HZ的低通滤波器。MATLAB程序在41.1KHZ的采样率下首先生成1khz的sine波和3khz的sine波,然后1khz再和3khz相加形成混频信号。MATLAB使用巴特沃斯函数可以生成IIR滤波器系统函数的b,a系数,如图4-2所示,b系数经过16bit量化后为3,8,8,3;a系数经过16bit量化后为8192,-22243,20231,-6159。MATLAB通过使用filter函数,对混频后的信号进行滤波生成滤波后的有信号,然后再对y信号进行时域、频域等分析。图4-2量化后b、a系数值结果分析:如图4-3所示,左上图1为1000HZ时域正弦波信号,右上图2为3000HZ时域正弦波信号,左下图3为1000HZ和3000HZ相加的混合时域信号波形,右下图4为经过IIR低通数字滤波器后的时域信号y。经过左上图1和右下图4的对比,混频信号经过IIR低通滤波器后滤掉了3000HZ信号输出1000HZ信号幅度比原始信号幅度低了一些。如图4-4所示,左上图1为1000HZ频域正弦波信号,右上图2为3000HZ频域正弦波信号,左下图3为1000HZ和3000HZ相加的混合频域信号,右下图4为经过IIR低通数字滤波器后的频域y信号。经过图3和图4的对比,3khz频域信号明显被压制。MATLAB的低通滤波器设计成功。如图4-5所示,上图为IIR数字滤波器的单位冲击响应,下图为IIR低通滤波器的幅频响应。图4-3时域信号分析图4-4频域信号分析图4-5滤波器单位冲击响应和幅频响应1.3IIR数字滤波器的Modelsim仿真验证MATLABDigital_AddOsc2Osc1IIRMATLABDigital_AddOsc2Osc1IIR图4-6IIR数字滤波器仿真总框架如图4-6所示,Osc1和Osc2模块分别产生1000HZ正弦波和3000HZ正弦波,经过digital_add模块相加后输出混频波,最后再经过IIR数字低通滤波器滤除3000HZ高频。整个仿真模块使用Verilog的$fwrite、$fopen等函数写出滤波器混频前,混频后以及滤波器后的数字信号的值,最后在使用MATLAB对写出的数据进行详细分析与对比。如图4-7所示,sin_1k和sin_3k信号为osc1和osc2模块分别产生的1000HZ和3000HZ的正弦波,经过重新采样后信号变为slow_sin1k和slow_sin3k信号,经过digital_add模块混频后输出信号为pcm_out1,最后经过IIR数字低通滤波器后输出的信号为pcm_out3,从Modelsim的时域仿真波形看,基本和MATLAB的数字滤波器时域波形效果一致,仿真成功。图4-7IIR数字滤波器总体仿真1.3.1OSC模块Modelsim波形仿真如图4-8所示,OSC模块通过kfreq和amp参数输入,最终产生sine波和cosine波。图4-8OSC模块产生正弦波1.3.2Digital_Add混频模块的Modelsim波形仿真如图4-9所示,pcm_in1为1000hz信号输入,pcm_in2为3000HZ信号输入,pcm_out为1000HZ和3000HZ信号混合信号输出。图4-9数字混频模块1.3.3IIR模块的Modelsim波形仿真如图4-10所示,混频信号进入后,经过1khz截止频率的IIR低通数字滤波器后变成了1khz的正弦波,FPGA仿真设计成功。图4-10IIR模块仿真1.4FPGA实现IIR数字滤波器的结果分析在Modelsim软件仿真完成后,需要使用MATLAB软件对FPGA的仿真数据进行进一步的分析和验证。如图4-11所示,左上图1为osc2模块产生的3khz信号,左下3为频率域;右上2为osc1模块产生的1khz信号,右下4为1khz的频率域信号。如图4-12所示,左上1为digi

温馨提示

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

评论

0/150

提交评论