有限冲激响应数字滤波器设计实验报告

合集下载

实验 2 : 有限冲激响应滤波器(FIR)算法实验

实验 2 : 有限冲激响应滤波器(FIR)算法实验

实验 2 :有限冲激响应滤波器(FIR)算法实验一、实验目的1. 熟悉线性相位 FIR 数字滤波器特性;2.了解各种窗函数对滤波器特性的影响;3.掌握FIR数字滤波器的窗函数法的设计过程;4.掌握 FIR 数字滤波器性能测试方法。

二、实验设备1.PC 兼容机2.WIN7 操作系统3.Code Composer Studio v5三、实验内容1.掌握FIR数字滤波器的基础理论;2.基于MATLAB的FIR数字滤波器参数确定方法;3.采用C语言编程实现低通FIR 滤波器;4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。

四.实验原理分析要求:用窗函数法,设计通带截止频率f p为10kHz,阻带截止频率f st为22kHz,采样频率f s为50kHz,阻带衰减为72dB的低通滤波器。

解:(一)、滤波器参数计算(1)求数字滤波器的参数:●数字通带截止频率w p为:2πf p/f s = 0.4π●数字阻带截止频率w st为:2πf st/f s = 0.88π●过渡带宽为:w st - w p = 0.48π●过渡带数字中心频率w c为:(w p +w st)/2 = 0.64π(2)求窗函数的类型:●根据阻带衰减为72dB的设计要求,选择布莱克曼窗●窗函数长度为:N >= 11π/( w st - w p),N = 23阻带边缘频率-通带边缘频率 = 12kHz;(二)、基于MATLAB的滤波器参数求解(1)blackman窗的计算利用blackman(N)计算blackman窗,其中N为滤波器的点数(2)验证理想低通滤波器单位冲激响应利用ideallp(wc,N)计算(-tao,tao)范围内的N点的理想低通滤波器的单位冲激响应function hd = ideallp( wc,N )%理想低通滤波器计算% [hd] = ideallp( wc,N )% h = 0 ~ N-1之间的理想脉冲响应% N = 理想低通滤波器的长度tao = (N-1)/2;n = [0:1:(N-1)];m = n-tao+eps;hd = sin(wc*m)./(m*pi);end(3)求解FIR低通数字滤波器的单位冲激响应hd.*wd’(三)、基于C语言编程的FIR 数字滤波器编程实现程序流程图五.实验步骤1.打开 CCS,进入 CCS 的操作环境。

有限冲激响应数字滤波器设计实验报告

有限冲激响应数字滤波器设计实验报告

实验6 有限冲激响应数字滤波器设计一、实验目的:1、加深对数字滤波器的常用指标理解。

2、学习数字滤波器的设计方法。

二、实验原理:低通滤波器的常用指标:(1)通带边缘频率;(2)阻带边缘频率;(3)通带起伏;(4)通带峰值起伏,(5)阻带起伏,最小阻带衰减。

三、实验内容:利用MATLAB编程,用窗函数法设计FIR数字滤波器,指标要求如下:通带边缘频率:,通带峰值起伏:。

阻带边缘频率:,最小阻带衰减:。

采用汉宁窗函数法的程序:wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;width1=wp1-ws1;width2=ws2-wp2;width=min(width1,width2)N1=ceil(8*pi/width)b1=fir1(N1,[0.45 0.65],hanning(N1+1));[h1,f]=freqz(b1,1,512);plot(f/pi,20*log10(abs(h1)),'-')grid;图形:采用切比雪夫窗函数法德程序:wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;width1=wp1-ws1;width2=ws2-wp2;width=min(width1,width2)N1=ceil(8*pi/width)b1=fir1(N1,[0.45 0.65],chebwin(N1+1,20));[h1,f]=freqz(b1,1,512);plot(f/pi,20*log10(abs(h1)),'-')grid;图形:四.小结FIR和IIR滤波器各自的特点:①结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定,IIR滤波器脱离不了模拟滤波器的格局,FIR滤波器更灵活,尤其能使适应某些特殊的应用。

设计选择:在对相位要求不敏感的场合,用IIR较为适合,而对图像处理等对线性要求较高,采用FIR滤波器较好。

实验六有限冲激响应(fir)数字滤波器的设计

实验六有限冲激响应(fir)数字滤波器的设计

实验六、有限冲激响应(FIR)数字滤波器的设计一、实验目的掌握用窗函数法设计FIR 数字滤波器的原理与方法;熟悉线性相位FIR 数字滤波器特性;了解各种窗函数对滤波特性的影响。

二、实验设备微型计算机、Matlab7.0教学版 三、实验原理低通滤波器的常用指标:P P P for H Ω≤Ω+≤Ω≤-,1)(1δδπδ≤Ω≤Ω≤ΩS S for H ,)(通带边缘频率P Ω,阻带边缘频率S Ω,通带起伏P δ,通带峰值起伏])[1(log 2010dB p p δα--=,阻带起伏s δ,最小阻带衰减])[(log 2010dB s S δα-=。

数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。

在MATLAB 中,可以用b=fir1(N,Wn,’ftype’,taper)等函数辅助设计FIR 数字滤波器。

N 代表滤波器阶数;Wn 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn 为双元素相量;ftype 代表滤波器类型,如’high’高通,’stop’带阻等;taper 为窗函数类型,默认为海明窗,窗系数需要实现用窗函数blackman,hamming,hanningchebwin,kaiser 产生。

四、实验内容(1)用冲激响应不变法设计IIR 数字滤波器。

(2)绘出数字滤波器在频率区间的幅频响应特性曲线; (3)对结果进行分析;五、实验结果用窗函数设计一个线性相位FIR 低通滤波器,并满足性能指标:通带边界的归一化频率wp=0.5,阻带边界的归一化频率ws=0.66,阻带衰减不小于30dB ,通带波纹不大于3dB 。

假设一个信号,其中f1=5Hz,f2=20Hz 。

信号的采样频率为50Hz 。

试将原信号与通过滤波器的信号进行比较。

S PP SPassband StopbandTransition bandFig 1 Typical magnitude specification for a digital LPF1、采用海明窗实验程序:运行结果图形2、三角窗函数 实验程序运行结果图五、实验总结通过这次实验,掌握用窗函数法设计FIR数字滤波器的原理与方法,熟悉了线性相位FIR数字滤波器特性,了解了各种窗函数对滤波特性的影响。

fir滤波器设计实验报告

fir滤波器设计实验报告

fir滤波器设计实验报告一、实验目的本次实验的目的是设计FIR滤波器,从而实现信号的滤波处理。

二、实验原理FIR滤波器是一种数字滤波器,它采用有限长的冲激响应滤波器来实现频率选择性的滤波处理。

在FIR滤波器中,系统的输出只与输入和滤波器的系数有关,不存在反馈环路,因此具有稳定性和线性相位的特性。

FIR滤波器的设计最常采用Window法和最小二乘法。

Window法是指先对理想滤波器的频率特性进行窗函数的处理,再通过离散傅里叶变换来得到滤波器的时域响应。

最小二乘法则是指采用最小二乘法来拟合理想滤波器的频率特性。

本次实验采用的是Window法。

三、实验步骤1.设计滤波器的频率响应特性:根据实际需要设计出需要的滤波器的频率响应特性,通常采用理想滤波器的底通、高通、带通、带阻等特性。

2.选择窗函数:根据设计的滤波器的频率响应特性选择相应的窗函数,常用的窗函数有矩形窗、汉宁窗、汉明窗等。

3.计算滤波器的时域响应:采用离散傅里叶变换将设计的滤波器的频率响应特性转化为时域响应,得到滤波器的冲激响应h(n)。

4.归一化:将得到的滤波器的冲激响应h(n)进行归一化处理,得到单位加权的滤波器系数h(n)。

5.实现滤波器的应用:将得到的滤波器系数h(n)应用于需要滤波的信号中,通过卷积的方式得到滤波后的信号。

四、实验结果以矩形窗为例,设计一阶低通滤波器,截止频率为300Hz,采样频率为8000Hz,得到的滤波器系数为:h(0)=0.0025h(1)=0.0025滤波效果良好,经过滤波后的信号频率响应相对于滤波前有较明显的截止效应。

五、实验总结通过本次实验,我们掌握了FIR滤波器的设计方法,窗函数的选择和离散傅里叶变换的应用,使我们能够更好地处理信号,实现更有效的信号滤波。

在日常工作和学习中,能够更好地应用到FIR滤波器的设计和应用,提高信号处理的精度和效率。

dsp有限冲击响应滤波器(FIR)算法实验四

dsp有限冲击响应滤波器(FIR)算法实验四

DSP原理及应用实验报告有限冲击响应滤波器(FIR)算法实验姓名学号一、实验目的1.掌握数字滤波器的设计过程;2.了解FIR的原理和特性;3.熟悉设计FIR数字滤波器的原理和方法。

二、实验设备及地点设备:SEED-DTK系列DSP实验箱地点:三、实验原理1. 实验的原理性说明有限冲击响应数字滤波器(FIR)的基础理论FIR数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式为:为FIR滤波器的阶数。

在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。

为了使滤波器满足线性相位条件,要求其单位脉冲响应 h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)。

这样,当N 为偶数时,偶对称线性相位 FIR 滤波器的差分方程表达式为由上可见,FIR滤波器不断地对输入样本 x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。

因此,FIR实际上是一种乘法累加运算。

而对于线性相位FIR而言,利用线性相位FIR滤波器系数的对称特性,可以采用结构精简的FIR结构将乘法器数目减少一半。

四、实验步骤及结果1.打开CCS,进入CCS的操作环境;2.装入DEC5502_FIR.pjt工程文件,添加 SEED_DEC5502.gel 文件,进行调试;3.打开DEC5502_Filter.c文件,到第35 行修改SAMPLELONG 宏定义。

SAMPLELONG 是采样长度选择,有 3 个选择 1、2、3。

1表示256,2表示512,3表示10244.修改完宏定义后,编译、连接生成DEC5502_Filter.out 文件,装载程序DEC5502_Filter.out;5.本实验和FFT实验,数字滤波实验都需要设置实验箱信号源。

通过液晶屏和键盘,设置信号源:当液晶屏上出现“通讯自检不成功,请复位系统”时,按下“Enter”键,进入“信号发生器设置”。

有限冲激响应数字滤波器设计(doc X页)

有限冲激响应数字滤波器设计(doc X页)

有限冲激响应数字滤波器设计(doc X页)实验5 有限冲激响应数字滤波器设计一、实验目的:1、加深对数字滤波器的常用指标理解。

2、学习数字滤波器的设计方法。

二、实验原理:低通滤波器的常用指标:(1)通带边缘频率;(2)阻带边缘频率;(3)通带起伏;(4)通带峰值起伏,(5)阻带起伏,最小阻带衰减。

三、预习要求1. 在MATLAB中,熟悉函数fir1、kaiserord 、remezord、remez的使用; B = fir1(n,Wn,'high','noscale')设计滤波器;[n,Wn,beta,ftype] = kaiserord(f,a,dev)估计滤波器数;[n,fo,ao,w] = remezord (f,a,dev,fs)计算等波纹滤波器阶数n和加权函数w(ω); B=remez(n,f,a)进行等波纹滤波器的设计。

2. 阅读扩展练习中的实例,学习FIR滤波器的设计方法及其在MATLAB中的实现;3. 给出FIR数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。

数字滤波器有IIR和FIR两种类型,它们的特点和设计方法不同。

四、实验内容:利用MATLAB编程,分别用窗函数法和等波纹滤波器法设计两种FIR数字滤波器,指标要求如下:通带边缘频率:,通带峰值起伏:。

阻带边缘频率:,最小阻带衰减:。

(1) 用窗函数法实现:调用函数[n,wn,bta,ftype]=kaiserord(f,a,dev,fs) 参数:f=[0.3 0.45 0.65 0.8]为对应数字频率,,,。

a=[0 1 0]为由 f 指定的各个频带上的幅值向量,一般只有 0 和 1表示;和 f 长度关系为(2*a 的长度)—2=(f 的长度)devs=[0.01 0.1087 0.01]用于指定各个频带输出滤波器的频率响应与其期望幅值之间的最大输出误差或偏差,长度与 a 相等,计算公式:阻带衰减误差= ,通带波动衰减误差=fs 缺省值为 2HZN0=ceil(4.46*pi/Bt(2));B=fir1(N0-1,wc,'bandpass',kaiser(N0,3.384));figure(5)freqz(B,1)title('kaiser window') figure(6)stem(B)title('kaiser window') (2)用等波纹法设计:调用函数[n,fpts,mag,wt]=remezord(f,a,dev) f=[0.3 0.45 0.65 0.8]a=[0 1 0]dev=[0.01 0.1087 0.01] 其含义同函数[n,wn,bta,ftype]=kaiserord(f,a,dev,fs)中的参数相同。

FIR(有限冲激响应)滤波器9页

FIR(有限冲激响应)滤波器9页

实验 3: 设计 FIR(有限冲激响应)滤波器针对 Spartan-3E 开发套件介绍在这个实验里, 将向你展示通过系统发生器的FIR 和 FDATool模块来指定、模拟和实现FIR滤波器的方法. FDATool 模块被用来定义滤波器的阶数和系数, FIR模块被用作 Simulink 模拟以及在 FPGA中用 Xilinx ISE来实现设计.你也可以通过实际硬件来运行它以验证这个设计的功能.注意:在 c:\xup\dsp_flow\labs\labsolutions\lab3\ 目录下有完整的例子.目标在完成这个试验后, 你将能够:•用 FDATool 模块输入你的滤波器指数,在设计中使用产生的系统或把它储存在工作区•使用具有 FDATool 模块产生的系数的FIR模块, 并在Simulink中运行 bit-true 仿真•产生设计并用 Resource Estimator 模块和post-map 报告估计资源利用量设计描述你是Cyberdyne系统的一个dsp设计者. 你的公司正在调查用数字滤波器代替安防检测器中的模拟滤波器,以尝试提高性能和降低整个系统的成本. 这将使贵公司可以进一步渗入日益增长的安防市场. 一个单频取样滤波器设计如下:•Sampling Frequency (Fs)(采样频率) = 1.5 MHz•Fstop 1 = 270 kHz•Fpass 1 = 300 kHz•Fpass 2 = 450 khz•Fstop 2 = 480 kHz•Attenuation on both sides of the passband(双边通频带衰减) = 54 dB•Pass band ripple(通频带脉动) = 1因为灵活性和上市时间的原因,Cyberdyne已经选择FPGA来实现它.你的HDL设计经验是有限的. 因为你对MathWorks的产品比较熟悉,所以System Generator for DSP会是一个在FPGA中实现滤波器的优秀解决方案.你的经理 Miles Booth 已经要求你创建一个在即将完成的 Spartan-3E™ 原型板上实现的滤波器的原型. 这个原型必须尽可能快地完成,这是因为Aggressive Security 会议即将来临, 这个会议是业界今年最大的会议,我们不能错过它.你的经理已经提供了具有输入源和输出接收端的最初模型. 你的设计必须用随机输入源和来自DSP Blockset 的chirp 信号来仿真. 为分析滤波器的输出, 输入和输出信号在频谱示波器中显示. 频谱示波器用来比较在FPGA 中实现的定点 FIR 滤波器的录放频谱响应.两个不同的输入源用来仿真这个滤波器:• chirp 信号模块, 其扫描频率为 6 KHz 到 10 KHz ,不管其瞬时输出频率• 随机信号源发生器, 它输出范围在-1.9到1.9的均匀分布的随机信号. 因为均匀信号是有界的,它是驱动定点滤波器的较好的选择.设计流程这个试验由六个主要步骤组成. 在步骤1,你将用系统发生器的FDATool 模块来产生指定FIR 滤波器的系数. 在步骤2, 你将把这个系数与 FIR filter 模块联系起来. 步骤3要求你用两个已提供的输入源仿真这个设计并分析系数和输入信号宽度变化的影响. 在步骤4, 你将要添加一个转换模块以调整输出宽度,添加一个延时模块以提高效率,添加一个资源估计模块以估计资源占用量,从而完成整个设计. 在下一步将实现这个设计. 在每一步总的指示下面, 你会发现手把手的说明和图表,指出了实现总的指示的更多细节. 如果你对个别指导有信心, 可以略过手把手的说明,跳到下一步的总指示. 注意: 如果你当时不能完成这个实验, 你可以从Xilinx 大学计划网站 http://university.xilinx 下载实验文件产生FIR 滤波器所需的系数 步骤 1实验总流程: 从 Xilinx Blockset DSP blockset 中添加FDATool 模块到包含一个 DA FIR 滤波器的设计中. 按照下列要求用FDATool 模块产生FIR 滤波器的系数 • Sampling Frequency (Fs) (采样频率)= 1.5 MHz • Fstop 1 = 270 KHz• Fpass 1 = 300 KHz• Fpass 2 = 450 Khz• Fstop 2 = 480 KHz• Attenuation on both sides of the passband (双边通频带衰减) = 54 dB步骤 1: 产生 滤波器 系数步骤 2: 把系数与滤波器相关联步骤 3:仿真 滤波器 步骤 4: 完成整个 设计 Step 6: 估计资源 占用量 Step 5: 实现设计 Step 7: 执行 HW-in-the-•Pass band ripple(通频带脉动) = 1❶在 Matlab中, 改变目录为c:/xup/dsp_flow/labs/lab3/: 在命令行窗口键入cd c:/xup/dsp_flow/labs/lab3/ .❷从MATLAB控制台窗口打开bandpass_filter.mdl模块❸从Xilinx Blockset DSP添加FDATool模块到这个设计❹在FDATool Design Filter窗口 (图 3-1)输入下列滤波器参数•Response Type: Bandpass•Units: KHz•Sampling Frequency (Fs) = 1.5 MHz•Fstop 1 = 270 KHz•Fpass 1 = 300 KHz•Fpass 2 = 450 Khz•Fstop 2 = 480 KHz•Attenuation on both sides of the passband = 54 dB (Astop1 and Astop2 parameters)•Pass band ripple = 1 (Apass)图 3-1. 在 FDATool中设计一个滤波器.❺点击Design Filter按钮以确定滤波器指令频谱窗口将被更新并显示如图 3-2图 3-2. 所设计滤波器的幅频响应.1. 基于所定义的技术要求, 最小的滤波器阶数是多少?❻用File Save Session来储存fda格式文件coefficients.fda 中的系数注意: 这是可选的步骤. 这些系数对这个设计仍然可以利用. 如果你把参数储存在 fda-file中,你可以通过 FDATool 模块参数对话框来加载它们.❼用File Export导出工作区中的系数,其Numerator variable name为Num(图3-3)注意: 这将在你的 MATLAB 工作区添加Num变量. 对于一个 FIR 滤波器, Num 代表用在滤波器中的系数. 因为通过 FDATool 模块仍能利用这些系数,这也是一可选的步骤图 3-3. 在工作区中导出系数.❽在 MATLAB 控制台窗口键入Num来查看系数列表❾在 MATLAB 控制台窗口键入max(Num)以确定指出系数宽度和二进制小数点的最大系数值2. 填入与系数相关的下列信息最大值: ____________________最小值: 把系数与 FIR 滤波器相关联步骤 2 实验总流程: 从 Xilinx Blockset DSP library 添加FIR 滤波器模块并与产生的系数关联 ❶ 从 Xilinx Blockset DSP library 添加FIR (DA FIR v9_0)滤波器到设计中❷ 双击 Xilinx FIR Filter 模块 并在模块参数窗口 (图 3-4)中输入以下参数• Coefficients : xlfda_numerator(‘FDATool’)• Coefficient Structure : Inferred from Coefficients• Number of bits per Coefficients : 12• Binary Point for Coefficients : 11• Provide Valid Ports : unchecked图 3-4. FIR 滤波器模块参数.❸ 点击 OK 以接受设置❹ 如图 3-5所示连接设计的各个模块图 3-5. 设计用来仿真的FIR 滤波器模块.在Simulink 中仿真 FIR 滤波器 步骤 3实验总流程:设置样值输入为 FIX_8_6 ,输入采样周期为 1/1500000. 利用频谱示波器, 研究 chirp 和 noise 信号的输出. ❶ 双击 Gateway In 模块并设置格式为 FIX_8_6 ,采样周期为1/1500000❷ 选择 Chirp 信号为输入源并开始仿真如果你收到下列错误, 根据消息更新FIR 的等待时间, 并再次仿真. ❸ 调出示波器并验证一直衰减的FIR 滤波器的输出信号,这些信号应如图 3-7 和 图 3-8所示.图 3-7. 无衰减通频带 (频谱示波器).图 3-8. 禁带衰减 (频谱示波器).❹ 停止仿真❺ 选择 Random Source 并运行仿真图 3-10. 随机信号输入源 (频谱示波器).Step 1: Generate Filter Coeffici Step 2: Associat e Coeffici Step 3:Simulate the Filter Step 4: Complete the Step 6: Estimate Resource Step 5: Implemen t Design Step 7: Perform HW-in-Step 1: Generate Filter Coeffici Step 2: Associat e Coeffici Step 3:Simulate the Filter Step 4: Complete the Step 6: Estimate Resource Step 5: Implemen t Design Step 7: Perform HW-in-❻ 停止仿真完成 FIR 滤波器设计步骤 4实验总流程: 加入 convert 模块以得到 FIX_8_6 格式的输出,从而降低显示所需的动态量程. 加入 delay 部件以提高性能. 利用 Resource Estimator 估计设计所需的资源.❶ 从 Xilinx Blockset Basic Elements 库中添加一个Convert模块到 FIR 滤波器的输出 以使输出符合 FIX_8_6 格式并改变quantization 为Truncate , Overflow 为 Wrap❷ 从 Xilinx Blockset Basic Elements 库中添加一个延时部件到输出以实现流水线技术 并提高性能,流水线技术会在输出衰减器中得到实现❸ 确信 FIR size 被设置为 FIX_12_11 , Gateway In size 被设置为 FIX_8_6❺ 从 Xilinx Blockset Index 库中添加Resource Estimator 模块到设计中注意: 注意你的设计应如图 3-11所示.图 3-11. 完成的FIR 滤波器设计.实现 FIR 滤波器 步骤 5实验总流程:设置 FIR 硬件过采样率为 9, FIR 核等待时间为14, 然后运行仿真. 这将更新采样率为 7.407e-008. 按照以下技术要求用系统发生器产生代码. 在工程向导里打开 bandpass_filter.ise 工程, 综合并执行它.• Input : Width = FIX_8_6, Quantization = Truncate,Overflow = Wrap• Output Width: FIX_8_6• FIR Core Latency: 14• FIR Hardware Over-Sampling Rate: 9• FIR Coefficients: FIX_12_12• Compilation: HDL Netlist• Part: Spartan3e xc3s500e-4fg320• Synthesis Tool: XSTStep 1: Generate Filter Coeffici Step 2: Associat e Coeffici Step 3:Simulate the Filter Step 4: Complete the Step 6: Estimate Resource Step 5: Implemen t Design Step 7: Perform HW-in-Step 1: Generate Filter Coeffici Step 2: Associat e Coeffici Step 3:Simulate the Filter Step 4: Complete the Step 6: Estimate Resource Step 5: Implemen t Design Step 7: Perform HW-in-• Target Directory: c:/xup/dsp_flow/labs/lab3/ise• Create Testbench: Unchecked• Simulink System Period (sec): 7.407e-008•FPGA System Clock Period (ns): 20❶ 双击 FIR 模块并设置 Hardware Over-Sampling Rate 为 9 , latency 为 143. Hardware Over-Sampling Rate 设置为 9 后,滤波器的实现结果有何变化? 为何要把它设为 9 而不是 8?❷ 运行仿真. 如果采样率更新窗口出现, 接受采样率为 7.407e-008 并再次运行仿真❸ 双击系统发生器符号并设置以下参数• Compilation: HDL Netlist• Part: Spartan3e xc3s500e-4fg320• Synthesis Tool: XST• Target Directory: c:/xup/dsp_flow/labs/lab3/ise(or ./ise)• Create Testbench: Unchecked• Simulink System Period (sec): 7.407e-008• FPGA System Clock Period (ns): 20❹ 双击 Generate 按钮以产生设计❺ 在资源管理器中双击 bandpass_filter_cw.ise 以打开Project Navigator❹ 高亮突出顶层文件并双击执行4. 利用各种报告, 回答以下问题Slices 的数目:有无定时约束?实际时钟周期:5. 在选择连续执行的情况下, 滤波器的实际时钟是多少?用 Resource Estimator 估计资源利用率 步骤 6实验总流程: 用 Resource Estimator 模块和 post-map 报告, 估计此设计所用的资源. ❶ 双击 resource estimator 模块❷ 从下拉框中选择 Post-Map 并点击 Estimate 按钮.ISE 将自动通过综合和映射来运行并产生映射报告.? Step 1: Generate Filter Coeffici Step 2: Associat e Coeffici Step 3:Simulate the Filter Step 4: Complete the Step 6: Estimate Resource Step 5: Implemen t Design Step 7: Perform HW-in-6. 资源估计器的报告有什么内容?Slices 的数目:FFs 的数目:LUTs 数目:实现 Hardware-in-the-Loop 验证 步骤 7实验总流程: 利用系统发生器产生硬件电路并通过硬件电路板来验证设计. 通过Simulink 仿真这个设计. ❶ 储存模型为 bandpass_filter_hwcosim.mdl ❷• Compilation : Hardware Co-simulation xupsp3e_starter_kit• Synthesis Tool : XST• Target Directory : c:/xup/dsp_flow/labs/lab3/sp3e(or ./sp3e)• Create Testbench: Unchecked• Simulink System Period (sec): 7.407e-008❸ 点击 Generate 按钮,会出现一个对话框,显示编译处理的过程,如图 3-12图 3–12. 在命令窗口的编译过程.❹ 当发生器成功完成后, 一个新的 Simulink 库窗口将打开,并出现一个具有适当输入输出数的模块.图 3–13. 在新的 Simulink 窗口中打开的被编译模块.❹ 复制被编译模块到设计中并连结它如图 3-14所示图 3–14. 在循环仿真中完成硬件的设计准备工作.连接硬件板并通过Simulink 对设计仿真.❶ 把电源线与硬件板相连. 板子的LEDs 将闪亮.❷ 在板子与PC 间连接下载电缆❸ 在硬件协同仿真模块上双击并设置下载电缆为USB.❸在Simulink 窗口中点击 run 按钮 ( ) 以运行仿真. 配置文件将被下载,仿真将开始运行 ❹ 仿真结果将在输出示波器中显示,其中 Simulink 仿真器的输出显示在顶部,硬件输出显示在底部(Figure 3-15)Step 1: Generate Filter Coeffici Step 2: Associat e Coeffici Step 3:Simulate the Filter Step 4: Complete the Step 6: Estimate Resource Step 5: Implemen t Design Step 7: Perform HW-in-图 3–15. 仿真结果,Simulink 仿真器的输出显示在顶部.硬件输出显示在底部❺完成后关闭电源❻储存模块并关闭 MATLAB结论在这个试验里, 你学会了如何用 FDATool 创建滤波器系数并从FIR滤波器模块使用它们.学会使用Resource Estimator模块估计资源占用量.答案A1. 基于定义的技术要求, 最小的滤波器阶数是多少?922. 完成下列与系数相连的信息最大值: 0.1610最小值: -0.15413. Hardware Over-Sampling Rate 设置为 9 后,滤波器的实现结果有何变化? 为何要把它设为 9 而不是8?它指出滤波器可以连续实现. 每次输出会占用9个时钟周期. 设为9而不设为8是因为要实现系数的对称. 在对称的条件下, 可以在通过串行乘法器之前实现采样. 这实现了8位数相加,结果为9位数的执行结果 (位增长).4. 利用各种报告, 回答下列问题Slices的数目: 278有无时间约束? Yes实际的时钟周期: ~146 MHz5. 在你选择连续执行的情况下, 滤波器实际的时钟周期是多少?1.5MHz x 9 = 135 MHz6. 资源估计器的报告内容?Slices的数目: 282FFs的数目: 481LUTs的数目: 410希望以上资料对你有所帮助,附励志名言3条:1、宁可辛苦一阵子,不要苦一辈子。

有限脉冲响应数字滤波器设计实验报告

有限脉冲响应数字滤波器设计实验报告

成绩:《数字信号处理》作业与上机实验(第二章)班级:学号:姓名:任课老师:完成时间:信息与通信工程学院2014—2015学年第1 学期第7章有限脉冲响应数字滤波器设计1、教材p238:19.设信号x(t) = s(t) + v(t),其中v(t)是干扰,s(t)与v(t)的频谱不混叠,其幅度谱如题19图所示。

要求设计数字滤波器,将干扰滤除,指标是允许|s(f)|在0≤f≤15 kHz频率范围中幅度失真为±2%(δ1 = 0.02);f > 20 kHz,衰减大于40 dB(δ2=0.01);希望分别设计性价比最高的FIR和IIR两种滤波器进行滤除干扰。

请选择合适的滤波器类型和设计方法进行设计,最后比较两种滤波器的幅频特性、相频特性和阶数。

题19图(1)matlab代码:%基于双线性变换法直接设计IIR数字滤波器Fs=80000;fp=15000;fs=20000;rs=40;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Rp=-20*log10(1-0.02);As=40;[N1,wp1]=ellipord(wp/pi,ws/pi,Rp,As);[B,A]=ellip(N1,Rp,As,wp1);[Hk,wk1]=freqz(B,A,1000);mag=abs(Hk);pah=angle(Hk);%窗函数法设计FIR 数字滤波器 Bt=ws-wp;alph=0.5842*(rs-21)^0.4+0.07886*(rs-21); N=ceil((rs-8)/2.285/Bt); wc=(wp+ws)/2/pi;hn=fir1(N,wc,kaiser(N+1,alph)); M=1024;Hk=fft(hn,M); k=0:M/2-1;wk=(2*pi/M)*k;%画出各种比较结果图 figure(2);plot(wk/pi,20*log10(abs(Hk(k+1))),':','linewidth',2.5); hold onplot(wk1/pi,20*log10(mag),'linewidth',2); hold offlegend('FIR 滤波器','IIR 滤波器');axis([0,1,-80,5]);xlabel('w/\pi');ylabel('幅度/dB'); title('损耗函数'); figure(3)plot(wk/pi,angle(Hk(k+1))/pi,':','linewidth',2.5); hold onplot(wk1/pi,pah/pi,'linewidth',2); hold offlegend('FIR 滤波器','IIR 滤波器');xlabel('w/\pi');ylabel('相位/\pi'); title('相频特性曲线');(2)两种数字滤波器的损耗函数和相频特性的比较分别如图1、2所示:图1 损耗函数比较图 图2 相频特性比较图0.10.20.30.40.50.60.70.80.91-80-70-60-50-40-30-20-100w/π幅度/d B损耗函数FIR 滤波器IIR 滤波器0.10.20.30.40.50.60.70.80.91-1-0.8-0.6-0.4-0.200.20.40.60.81w/π相位/π相频特性曲线FIR 滤波器IIR 滤波器(3)IIR数字滤波器阶数:N=5FIR数字滤波器阶数:N=36(4)运行结果分析:由图2及阶数可见,IIR阶数低得多,但相位特性存在非线性失真,FIR具有线性相位特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/
实验6 有限冲激响应数字滤波器设计
一、实验目的:
1、加深对数字滤波器的常用指标理解。

2、学习数字滤波器的设计方法。

二、实验原理:
低通滤波器的常用指标:
}
(1)通带边缘频率;
(2)阻带边缘频率;
(3)通带起伏;
(4)通带峰值起伏,
(5)阻带起伏,最小阻带衰减。

三、实验内容:
利用MATLAB编程,用窗函数法设计FIR数字滤波器,指标要求如下:
通带边缘频率:,通带峰值起伏:。

]
阻带边缘频率:,最小阻带衰减:。

采用汉宁窗函数法的程序:
wp1=*pi;wp2=*pi;
ws1=*pi;ws2=*pi;
width1=wp1-ws1;
width2=ws2-wp2;
width=min(width1,width2)
N1=ceil(8*pi/width)

b1=fir1(N1,[ ],hanning(N1+1));
[h1,f]=freqz(b1,1,512);
plot(f/pi,20*log10(abs(h1)),'-')
grid;
图形:
采用切比雪夫窗函数法德程序:

wp1=*pi;wp2=*pi;
ws1=*pi;ws2=*pi;
width1=wp1-ws1;
width2=ws2-wp2;
width=min(width1,width2)
N1=ceil(8*pi/width)
b1=fir1(N1,[ ],chebwin(N1+1,20)); [h1,f]=freqz(b1,1,512);

plot(f/pi,20*log10(abs(h1)),'-') grid;
图形:
四.小结
FIR和IIR滤波器各自的特点:
①结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定,IIR滤波器脱离不了模拟滤波器的格局,FIR滤波器更灵活,尤其能使适应某些特殊的应用。

设计选择:在对相位要求不敏感的场合,用IIR较为适合,而对图像处理等对线性要求较高,采用FIR滤波器较好。

②性能上说,IIR滤波器传输函数的几点可位于单位圆内的任何地方,可以用较低的结束获得较高的选择性,但是是相位的非线性为代价,FIR滤波器却可以得到严格的线性相位,然而FIR滤波器传输函数的极点固定在原点,只能用较高的阶数达到的选择性。

相关文档
最新文档