数字信号处理实验五FIR滤波器设计

合集下载

FIR滤波器设计实验报告

FIR滤波器设计实验报告

FIR滤波器设计实验报告实验报告:FIR滤波器设计一、实验目的:本实验旨在通过设计FIR滤波器,加深对数字信号处理中滤波器原理的理解,掌握FIR滤波器的设计方法和调试技巧。

二、实验原理:在窗函数法中,常用的窗函数有矩形窗、三角窗、汉明窗和黑曼窗等。

根据实际需求选择适当的窗口函数,并通过将窗口函数应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。

三、实验步骤:1.确定滤波器的阶数和截止频率。

2.选择适当的窗口函数,如汉明窗。

3.计算出理想低通滤波器的冲激响应。

4.将选定的窗口函数应用到理想低通滤波器的冲激响应中。

5.得到FIR滤波器的冲激响应。

四、实验结果:假设要设计一个阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz。

1.选择汉明窗作为窗口函数。

2.根据采样频率和截止频率计算出理想低通滤波器的冲激响应。

假设截止频率为f_c,则理想低通滤波器的冲激响应为:h(n) = 2f_c * sinc(2f_c * (n - (N-1)/2))其中,sinc(x)为正弦函数sin(x)/x。

3.将汉明窗应用到理想低通滤波器的冲激响应中,得到FIR滤波器的冲激响应。

具体计算过程如下:h(n) = w(n) * h_ideal(n)其中,w(n)为汉明窗:w(n) = 0.54 - 0.46 * cos(2πn/(N-1))h_ideal(n)为理想低通滤波器的冲激响应。

4.计算得到FIR滤波器的冲激响应序列。

五、实验总结:本次实验通过设计FIR滤波器,加深了对数字信号处理中滤波器原理的理解。

掌握了FIR滤波器的设计方法和调试技巧。

通过设计阶数为10的FIR滤波器,截止频率为800Hz,采样频率为1600Hz的实例,了解了窗函数法设计FIR滤波器的具体步骤,并得到了滤波器的冲激响应。

【备注】以上内容仅为参考,具体实验报告内容可能根据实际情况有所调整。

(完整版)fir低通滤波器设计(完整版)

(完整版)fir低通滤波器设计(完整版)

电子科技大学信息与软件工程学院学院标准实验报告(实验)课程名称数字信号处理电子科技大学教务处制表电 子 科 技 大 学实 验 报 告学生姓名: 学 号: 指导教师: 实验地点: 实验时间:14-18一、实验室名称:计算机学院机房 二、实验项目名称:fir 低通滤波器的设计 三、实验学时: 四、实验原理:1. FIR 滤波器FIR 滤波器是指在有限范围内系统的单位脉冲响应h[k]仅有非零值的滤波器。

M 阶FIR 滤波器的系统函数H(z)为()[]Mkk H z h k z-==∑其中H(z)是kz-的M 阶多项式,在有限的z 平面内H(z)有M 个零点,在z平面原点z=0有M 个极点.FIR 滤波器的频率响应()j H e Ω为 0()[]Mj jk k H e h k e Ω-Ω==∑它的另外一种表示方法为()()()j j j H e H e e φΩΩΩ=其中()j H e Ω和()φΩ分别为系统的幅度响应和相位响应。

若系统的相位响应()φΩ满足下面的条件()φαΩ=-Ω即系统的群延迟是一个与Ω没有关系的常数α,称为系统H(z)具有严格线性相位。

由于严格线性相位条件在数学层面上处理起来较为困难,因此在FIR 滤波器设计中一般使用广义线性相位。

如果一个离散系统的频率响应()j H e Ω可以表示为()()()j j H e A e αβΩ-Ω+=Ω其中α和β是与Ω无关联的常数,()A Ω是可正可负的实函数,则称系统是广义线性相位的。

如果M 阶FIR 滤波器的单位脉冲响应h[k]是实数,则可以证明系统是线性相位的充要条件为[][]h k h M k =±-当h[k]满足h[k]=h[M-k],称h[k]偶对称。

当h[k]满足h[k]=-h[M-k],称h[k]奇对称。

按阶数h[k]又可分为M 奇数和M 偶数,所以线性相位的FIR 滤波器可以有四种类型。

2. 窗函数法设计FIR 滤波器窗函数设计法又称为傅里叶级数法。

数字信号处理实验报告-FIR滤波器的设计与实现

数字信号处理实验报告-FIR滤波器的设计与实现

数字信号处理实验报告-FIR滤波器的设计与实现在数字信号处理中,滤波技术被广泛应用于时域处理和频率域处理中,其作用是将设计信号减弱或抑制被一些不需要的信号。

根据滤波器的非线性抑制特性,基于FIR(Finite Impulse Response)滤波器的优点是稳定,易设计,可以得到较强的抑制滤波效果。

本实验分别通过MATLAB编程设计、实现、仿真以及分析了一阶低通滤波器和平坦通带滤波器。

实验步骤:第一步:设计一阶低通滤波器,通过此滤波器对波型进行滤波处理,分析其对各种频率成分的抑制效果。

为此,采用零极点线性相关算法设计滤波器,根据低通滤波器的特性,设计的低通滤波器的阶次为n=10,截止频率为0.2π,可以使设计的滤波器被称为一阶低通滤波器。

第二步:设计平坦通带滤波器。

仿真证明,采用兩個FIR濾波器組合而成的阻礙-提升系統可以實現自定義的總三值響應的設計,得到了自定義的總三值響應函數。

实验结果:1、通过MATLAB编程,设计完成了一阶低通滤波器,并通过实验仿真得到了一阶低通滤波器的频率响应曲线,证明了设计的滤波器具有良好的低通性能,截止频率为0.2π。

在该频率以下,可以有效抑制波形上的噪声。

2、设计完成平坦通带滤波器,同样分析其频率响应曲线。

从实验结果可以看出,此滤波器在此频率段内的通带性能良好,通带范围内的信号透过滤波器后,损耗较小,滞后较小,可以满足各种实际要求。

结论:本实验经过实验操作,设计的一阶低通滤波器和平坦通带滤波器具有良好的滤波特性,均已达到预期的设计目标,证明了利用非线性抑制特性实现FIR滤波处理具有较强的抑制滤波效果。

本实验既有助于深入理解FIR滤波器的设计原理,也为其他应用系统的设计和开发提供了指导,进而提高信号的处理水平和质量。

数字信号处理课程设计--基于DSP 的 FIR 数字滤波器的设计

数字信号处理课程设计--基于DSP 的 FIR 数字滤波器的设计

数字信号处理课程设计报告设计题目:基于DSP 的 FIR 数字滤波器的设计专业班级学号学生姓名指导教师教师评分目录一、摘要 (1)二、概述 (2)三、系统设计 (3)3.1 DSP 系统原理框图 (3)3.2 DSP 系统各部分分析 (4)四、硬件设计 (5)4.1 硬件整体电路及框图 (5)4.2 硬件各部分组成简介 (6)五、软件设计 (10)5.1 FIR 数字滤波器的基本网络结构 (10)5.2 FIR 数字滤波器的设计 (10)5.2.1 FIR 滤波器的主要特点 (10)5.2.2 FIR 滤波器设计方法 (10)5.2.3 窗函数法设计的基本思想 (11)5.2.4 用窗函数设计FIR滤波器的步骤 (12)5.3 FIR数字滤波器的MATLAB的实现 (13)5.3.1 Matlab软件介绍 (13)5.3.2 用Matlab实现FIR数字滤波器的几种方法 (13)5.4 FFT参数的计算 (17)5.5 DSP程序流程图 (17)六、实验结果 (19)七、个人总结 (21)八、参考文献 (22)附件: (23)数字信号处理课程设计一、摘要数字滤波器是数字信号处理中最重要的组成部分之一,数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置,可作为应用系统对信号的前期处理。

DSP芯片实现的数字滤波器具有稳定性好、精确度高、灵活性强及不受外界影响等特性。

因此基于DSP实现的数字滤波器广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,具有广阔的发展空间。

本文首先介绍了数字滤波器的概念及分类,以及数字滤波器的实现方法。

在理解FIR 滤波器的工作原理及其设计方法的基础上,在MATLAB环境下利用矩形窗设计实现FIR滤波器。

然后通过DSP结合CCS2.0软件进行编程,最终实现了基于DSP的FIR数字低通滤波器的设计。

仿真结果表明,基于DSP实现的滤波器具有稳定性好、精确度高、灵活性强等优点,并能实现对信号的实时滤波。

实验五FIR数字滤波器的设计

实验五FIR数字滤波器的设计

实验五FIR数字滤波器的设计FIR数字滤波器(Finite Impulse Response)是一种数字滤波器,它的输出仅由有限数量的输入样本决定。

设计FIR数字滤波器的步骤如下:1.确定滤波器的要求:首先需要明确滤波器的频率响应、截止频率、通带和阻带的幅频响应等要求。

2.选择滤波器类型:根据实际需求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器或带阻滤波器等。

3.确定滤波器的阶数:根据滤波器类型和要求,确定滤波器的阶数。

通常情况下,滤波器的阶数越高,能够实现更陡峭的频率响应,但会引入更多的计算复杂度。

4.设计滤波器的理想频率响应:根据滤波器的要求和类型,设计滤波器的理想频率响应。

可以使用常用的频率响应设计方法,如窗函数法、最小最大法或线性相位法等。

这些方法可以实现平滑的频率响应或者良好的阻带衰减。

5.确定滤波器的系数:根据设计的理想频率响应,通过反变换或优化算法确定滤波器的系数。

常用的优化算法包括频域方法、时域方法、最小二乘法或最小相位法等。

6.实现滤波器:将所得的滤波器系数转化为滤波器的差分方程形式或直接计算滤波器的频域响应。

7.评估滤波器性能:使用合适的测试信号输入滤波器,并对滤波器的输出进行评估。

可以使用指标,如频率响应曲线、幅度响应误差、相位响应误差或阻带衰减等指标来评估滤波器性能。

8.优化滤波器性能:根据评估结果,进行必要的修改和优化设计,以满足滤波器的要求。

通过以上步骤,可以设计出满足需求的FIR数字滤波器。

需要注意的是,FIR数字滤波器设计的复杂度和性能需要权衡与平衡,以满足实际应用的要求。

数字信号处理实验五.FIR数字滤波器设计与软件实现

数字信号处理实验五.FIR数字滤波器设计与软件实现

实验五:FIR数字滤波器设计与软件实现一、实验指导1.实验目的(1)掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

(3)掌握FIR滤波器的快速卷积实现原理。

(4)学会调用MATLAB函数设计与实现FIR滤波器。

2.实验内容及步骤(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示;图1 具有加性噪声的信号x(t)及其频谱如图(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。

先观察xt的频谱,确定滤波器指标参数。

(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。

并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。

绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。

(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。

并比较两种设计方法设计的滤波器阶数。

提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材;○2采样频率Fs=1000Hz,采样周期T=1/Fs;○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率p 20.24pfωπ=T=π,通带最大衰为0.1dB,阻带截至频率s 20.3sfωπ=T=π,阻带最小衰为60dB。

○4实验程序框图如图2所示,供读者参考。

图2 实验程序框图4.思考题(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤.(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。

数字信号处理-fir滤波器设计实验报告

数字信号处理课程实验报告实验名称FIR数字滤波器的设计系别通信工程通信学生姓名实验地点实验日期一、实验内容1. 产生三频率(100Hz,500Hz,1000Hz)叠加的信号。

2. 显示其频谱分布。

3. 设计一低通IIR滤波器,滤除最高频率1000Hz信号。

4. 设计一带通滤波器,滤除100Hz及1000Hz信号。

所有设计滤波器均为FIR滤波器二、实验目的本实验重在使学生结合具体应用,通过MATLAB的编程仿真及绘图,对信号的频谱进行分析,并设计相应的FIR滤波器实现滤波处理。

具体可利用对应的函数设计FIR低通,高通,带通,带阻滤波器,并要求有相应的图形表示和结果,观察完成滤波之后的时域波形。

使学生能够利用计算机完成对信号的上述处理与滤波功能,并分析现象。

三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)计算机一台(安装MATLAB6.5版本或以上版本)四、实验试做记录(含程序、数据记录及分析)function st=mstg%产生信号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 %N为信号st的长度。

Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz,fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz,fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱%====以下为绘图部分,绘制st的时域波形和幅频特性曲线==================== subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱')axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')再运行自定义的程序,产生如下三幅图:由上至下依次为高通、带通、低通巴特沃斯滤波器wp=2*pi*5000;ws=2*pi*12000;Rp=2;As=30;[N,wc]=buttord(wp,ws,Rp,As,'s');[B,A]=butter(N,wc,'s');k=0:511;fk=0:140000/512:14000;wk=2*pi*fk;Hk=freqs(B,A,wk);subplot(2,2,1);plot(fk/1000,20*log10(abs(Hk)));grid on;xlabel('ƵÂÊ(KHz)');ylabel('·ù¶È(dB)');axis([0,14,-40,5])五、实验总结通过本次上机实验,熟悉了matlab的使用并且使我我更进一步地了解了FIR数字滤波器的设计方法及其步骤,加深了我对FIR数字滤波器的认识。

实验五FIR数字滤波器的设计

实验五FIR数字滤波器的设计
FIR数字滤波器的设计可以分为以下几个步骤:
1.确定滤波器的类型和规格:根据实际需求确定滤波器的类型(如低通、高通、带通等)以及滤波器的截止频率、通带衰减以及阻带衰减等规格。

2.选择滤波器的窗函数:根据滤波器的规格,选择合适的窗函数(如矩形窗、汉宁窗、布莱克曼窗等)。

窗函数的选择会影响滤波器的频率响应以及滤波器的过渡带宽度等特性。

3.确定滤波器的阶数:根据滤波器的规格和窗函数的选择,确定滤波器的阶数。

通常来说,滤波器的阶数越高,滤波器的性能越好,但相应的计算和处理也会更加复杂。

4.设计滤波器的频率响应:通过在频率域中设计滤波器的频率响应来满足滤波器的规格要求。

可以使用频率采样法、窗函数法或优化算法等方法。

5. 将频率响应转换为差分方程:通过逆Fourier变换或其他变换方法,将频率响应转换为滤波器的差分方程表示。

6.量化滤波器的系数:将差分方程中的连续系数离散化为滤波器的实际系数。

7.实现滤波器:使用计算机编程、数字信号处理芯片或FPGA等方式实现滤波器的功能。

8.测试滤波器性能:通过输入一组测试信号并观察输出信号,来验证滤波器的性能是否符合设计要求。

需要注意的是,FIR数字滤波器的设计涉及到频率域和时域的转换,以及滤波器系数的选择和调整等过程,需要一定的信号处理和数学背景知识。

重邮课程实验报告

一、实验名称数字信号处理实验二、实验目的1. 理解数字信号处理的基本概念和原理。

2. 掌握数字滤波器的设计方法及其应用。

3. 熟悉数字信号处理软件的使用,提高实验技能。

三、实验原理数字信号处理(Digital Signal Processing,DSP)是研究数字信号的产生、处理、分析和应用的科学。

本实验主要涉及以下几个方面:1. 数字滤波器的基本概念:数字滤波器是一种对数字信号进行频率选择的装置,可以用于信号的滤波、增强、抑制等。

2. 滤波器的设计方法:主要包括有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器的设计方法。

3. 数字信号处理软件的使用:利用MATLAB等软件进行数字信号处理实验,提高实验效率。

四、实验器材1. 实验计算机2. MATLAB软件3. 实验指导书五、实验步骤1. 实验一:FIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入FIR滤波器的参数,如滤波器的阶数、截止频率等。

(3)运行脚本文件,观察滤波器的频率响应曲线。

(4)根据实验结果,分析滤波器的性能。

2. 实验二:IIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入IIR滤波器的参数,如滤波器的阶数、截止频率等。

(3)运行脚本文件,观察滤波器的频率响应曲线。

(4)根据实验结果,分析滤波器的性能。

3. 实验三:数字信号处理软件的使用(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入信号处理的参数,如采样频率、滤波器类型等。

(3)运行脚本文件,观察信号处理的结果。

(4)根据实验结果,分析数字信号处理软件的应用。

六、实验结果与分析1. 实验一:FIR滤波器设计实验结果表明,所设计的FIR滤波器具有较好的频率选择性,滤波效果符合预期。

2. 实验二:IIR滤波器设计实验结果表明,所设计的IIR滤波器具有较好的频率选择性,滤波效果符合预期。

数字信号管理方案计划实验报告实验五

物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称:FIR数字滤波器设计与软件实现班级:1012341姓名:严娅学号:101234153成绩:_______实验时间:2012年12月20 日一、实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。

(2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。

(3)掌握FIR 滤波器的快速卷积实现原理。

(4)学会调用MATLAB 函数设计与实现FIR 滤波器。

二、实验原理1、用窗函数法设计FIR 数字滤波器的原理和方法。

如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰- (2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。

由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2))(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为:)(ωj d e H =∑-=-1)(N n j e n h ω (2-3) 式中,N 为所选窗函数)(n ω的长度。

由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。

设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。

各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。

这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。

)(ωj e H 是否满足要求,要进行验算。

一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。

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

实验五FIR滤波器设计一.实验内容(1)认真复习FIR 数字滤波器的基本概念,线性相位FIR 滤波器的条件和特点、幅度函数特点、零点位置的基本特点与性质;窗函数设计法的基本概念与方法,各种窗函数的性能和设计步骤,线性相位FIR 低通、高通、带通和带阻滤波器的设计方法,频率采样设计法的基本概念和线性相位的实现方法。

(2)掌握几种线性相位的特点,熟悉和掌握矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗、凯塞窗设计IIR 数字滤波器的方法,熟悉和掌握频率抽样设计法的线性相位的设计方法,并对各种线性相位的频率抽样法的设计给出调整和改进。

(3)熟悉利用MATLAB 进行各类FIR 数字滤波器的设计方法。

二.实验内容a. 设线性相位FIR 滤波器单位抽样响应分别为h(n )={ -4,1, -1,- 2,5,6,5, -2, -1,1, -4}h(n)={ -4,1, -1,- 2,5,6,6,5,- 2, -1,1,- 4}h(n)={ -4,1,- 1, -2,5,0,- 5,2,1,- 1,4}h(n)={ -4,1, -1, -2,5,6,- 6, -5,2,1, -1,4}分别求出滤波器的幅度频率响应H(ω),系统函数H(z)以及零极点分布,并绘制相应的波形和分布图。

在matlab中新建函数amplres,代码如下:function[A,w,type,tao]=amplres(h)N=length(h);tao=(N-1)/2;L=floor((N-1)/2);n=1:L+1;w=[0:500]*2*pi/500;if all(abs(h(n)-h(N-n+1))<1e-10)A=2*h(n)*cos(((N+1)/2-n)'*w)-mod(N,2)*h(L+1);type=2-mod(N,2);elseif all(abs(h(n)+h(N-n+1))<1e-10)&(h(L+1)*mod(N,2)==0)A=2*h(n)*sin(((N+1)/2-n)'*w);type=4-mod(N,2);else error('错误,这不是线性相位滤波器!')end对第一个单位抽样响应,在matlab中新建函数a1,代码如下:h1=[-4,1,-1,-2,5,6,5,-2,-1,1,-4];M=length(h1);n=0:M-1;[A,w,type,tao]=amplres(h1);typesubplot(2,1,1),stem(n,h1);title('冲激响应h1');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('·幅频响应');figurerz=roots(h1)for i=1:8r(i)=1/rz(i);endr'zplane(h1,1);title('h1零极点图');生成结果如下:>>a1type =1rz =-0.9807 + 0.1956i-0.9807 - 0.1956i-0.5578 + 0.8300i-0.5578 - 0.8300i 0.4052 + 1.2374i0.4052 - 1.2374i1.2169 + 0.0000i 0.8218 + 0.0000i 0.2390 + 0.7299i 0.2390 - 0.7299ians =-0.9807 + 0.1956i -0.9807 - 0.1956i -0.5578 + 0.8300i -0.5578 - 0.8300i 0.2390 + 0.7299i 0.2390 - 0.7299i0.8218 + 0.0000i1.2169 + 0.0000i对第二个单位抽样响应,在matlab中新建函数a2,代码如下:h2=[-4,1,-1,-2,5,6,6,5,-2,-1,1,-4];M=length(h2);n=0:M-1;[A,w,type,tao]=amplres(h2);typesubplot(2,1,1),stem(n,h2);title('冲激响应h2');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('幅频响应');figurerz=roots(h2)for i=1:8r(i)=1/rz(i);endr'zplane(h2,1);title('·h2零极点图');生成结果如下:>>a2type =2rz =1.3120 + 0.0000i -1.0000 + 0.0000i -0.8868 + 0.4622i -0.8868 - 0.4622i 0.4778 + 1.1851i 0.4778 - 1.1851i -0.2957 + 0.9553i -0.2957 - 0.9553i 0.7622 + 0.0000i 0.2926 + 0.7258i 0.2926 - 0.7258ians =0.7622 + 0.0000i -1.0000 + 0.0000i -0.8868 + 0.4622i -0.8868 - 0.4622i 0.2926 + 0.7258i 0.2926 - 0.7258i -0.2957 + 0.9553i -0.2957 - 0.9553i对第三个单位抽样响应,在matlab中新建函数a3,代码如下:h3=[-4,1,-1,-2,5,0,-5,2,1,-1,4];M=length(h3);n=0:M-1;[A,w,type,tao]=amplres(h3);typesubplot(2,1,1),stem(n,h3);title('冲激响应h3');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('幅频响应¦');figurerz=roots(h3)for i=1:8r(i)=1/rz(i);endr'zplane(h3,1);title('h3零极点图');生成结果如下:>> a3type =3rz =-1.0000 + 0.0000i-0.8732 + 0.4874i-0.8732 - 0.4874i0.1010 + 1.2041i0.1010 - 1.2041i1.0000 + 0.0000i0.8280 + 0.5607i0.8280 - 0.5607i0.0692 + 0.8247i0.0692 - 0.8247ians =-1.0000 + 0.0000i -0.8732 + 0.4874i -0.8732 - 0.4874i 0.0692 + 0.8247i0.0692 - 0.8247i1.0000 + 0.0000i 0.8280 + 0.5607i 0.8280 - 0.5607i对第四个单位抽样响应,在matlab中新建函数a4,代码如下:h4=[-4,1,-1,-2,5,6,-6,-5,2,1,-1,4];M=length(h4);n=0:M-1;[A,w,type,tao]=amplres(h4);typesubplot(2,1,1),stem(n,h4);title('冲激响应h4');ylabel('h(n)');xlabel('n');subplot(2,1,2),plot(w/pi,A);ylabel('A');xlabel('\pi');title('·幅频响应¦');figurerz=roots(h4)for i=1:8r(i)=1/rz(i);endr'zplane(h4,1);title('h4零极点图');生成结果如下:>> a4type =4rz =0.2631 + 1.3394i 0.2631 - 1.3394i -0.9505 + 0.3108i -0.9505 - 0.3108i -0.7309 + 0.6825i -0.7309 - 0.6825i 0.9021 + 0.4315i0.9021 - 0.4315i1.0000 + 0.0000i 0.1412 + 0.7189i 0.1412 - 0.7189ians =0.1412 + 0.7189i 0.1412 - 0.7189i -0.9505 + 0.3108i -0.9505 - 0.3108i -0.7309 + 0.6825i -0.7309 - 0.6825i 0.9021 + 0.4315i 0.9021 - 0.4315ib. 设计FIR 数字低通滤波器,技术指标为:ωp=0.2π,ωst=0.3π,δ1=0.25dB,δ2=50dB。

(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。

(3) 选择凯塞窗函数设计该滤波器,并绘制相应的波形图。

在matlab中新建函数ideal_lp,代码如下:function hd=ideal_lp(wc,M);% Ideal LowPass filter computation% --------------------------------% [hd] = ideal_lp(wc,M);% hd = ideal impulse response between 0 to M-1% wc = cutoff frequency in radians% M = length of the ideal filter%alpha = (M-1)/2;n = [0:1:(M-1)];m = n - alpha +eps; % add smallest number to avoi divided by zero hd = sin(wc*m)./(pi*m);end在matlab中新建函数freqz_m,代码如下:function [db,mag,pha,grd,w] = freqz_m(b,a);[H,w] = freqz(b,a,1000,'whole');H = (H(1:1:501))'; w = (w(1:1:501))';mag = abs(H);db = 20*log10((mag+eps)/max(mag));pha = angle(H);grd = grpdelay(b,a,w);在matlab中新建函数b1,代码如下:%用Hamming窗函数设计FIR数字滤波器wp=0.2*pi;ws=0.3*piN=61n=[0:1:N-1]wc=(ws+wp)/2;%理想低通滤波器hd=ideal_lp(wc,N);%理想低通的冲激响应w_ham=(hamming(N))';h=hd.*w_ham;%FIR滤波器冲激响应[db,mag,pha,grd,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1)))%实际的通带衰减As=-round(max(db(ws/delta_w+1:1:501)))%实际的最小阻带衰减subplot(221);stem(n,hd);title('理想冲激响应')axis([0 N-1 -0.1 0.3]);xlabel('n');ylabel('hd(n)')subplot(222);stem(n,w_ham);title('hamming窗')axis([0 N-1 0 1.1]);xlabel('n');ylabel('w(n)');subplot(223);stem(n,h);title('实际冲激响应')axis([0 N-1 -0.1 0.3]);xlabel('n');ylabel('h(n)')subplot(224);plot(w/pi,db);axis([0 0.8 -100 0]);xlabel('以PI为单位的频率');ylabel('对数幅度/db'); 实验结果如下:在matlab中新建函数b2,代码如下:%用Kaiser窗函数设计FIR数字滤波器wp=0.2*pi;ws=0.3*pi;As=50tr_width=ws-wpN=ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+1n=[0:1:N-1]beta=0.1102*(As-8.7)wc=(wp+ws)/2%理想低通的截止频率hd=ideal_lp(wc,N)w_kai=(kaiser(N,beta))'h=hd.*w_kai[db,mag,pha,grd,w]=freqz_m(h,[1])delta_w=2*pi/1000Rp=-(min(db(1:1:wp/delta_w+1)))%Ê实际的通带衰减As=-round(max(db(ws/delta_w+1:1:501)))%实际的最小阻带衰减subplot(211);plot(w/pi,db);title('凯森窗幅度响应(dB)');grid axis([0 0.5 -100 0])ylabel('对数幅度/db');xlabel('以/pi为单位的频率')subplot(212);plot(w/pi,pha);title('相位响应');gridaxis([0 0.5 -4 4])ylabel('相位');xlabel('以/pi为单位的频率')实验结果如下:c. 设计FIR 数字带通滤波器,技术指标为:下阻带边缘:ωst1=0.2π,δs1=60dB,下通带边缘:ωp1=0.35π,δp1=1dB;上通带边缘:ωp2=0.65π,δp1=1dB,上阻带边缘:ωst2=0.8π,δs2=60dB;(1) 通过技术指标,选择一种窗函数进行设计;(2) 求滤波器的单位抽样响应、频率响应,并绘制波形。

相关文档
最新文档