数字信号处理实验 matlab版 线性相位FIR数字滤波器
数字信号处理MATLAB实验1
![数字信号处理MATLAB实验1](https://img.taocdn.com/s3/m/221cdbb3d1f34693dbef3e0e.png)
实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。
(2)学会简单的矩阵输入和数据读写。
(3)掌握简单的绘图命令。
(4)用MATLAB编程并学会创建函数。
(5)观察离散系统的频率响应。
二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。
在熟悉了MATLAB基本命令的基础上,完成以下实验。
上机实验内容:(1)数组的加、减、乘、除和乘方运算。
输入A=[1234],B=[3456],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。
(2)用MATLAB实现以下序列。
a)x(n)=0.8n0≤n≤15b)x(n)=e(0.2+3j)n0≤n≤15c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π)0≤n≤15(n)=x(n+16),绘出四个d)将c)中的x(n)扩展为以16为周期的函数x16周期。
(n)=x(n+10),绘出四个e)将c)中的x(n)扩展为以10为周期的函数x10周期。
(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。
a)x 1(n)=2x(n+2)-x(n-1)-2x(n)b)∑=-=51k 2)k n (nx (n) x (4)绘出下列时间函数的图形,对x轴、y轴以及图形上方均须加上适当的标注。
a)x(t)=sin(2πt)0≤t≤10sb)x(t)=cos(100πt)sin(πt)0≤t≤4s(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1<n0<n2,绘出该函数的图形,起点为n1,终点为n2。
(6)给定一因果系统)0.9z 0.67z -1)/(1z 2(1H(z)-2-1-1+++=求出并绘制H(z)的幅频响应与相频响应。
(7)计算序列{8-2-123}和序列{23-1-3}的离散卷积,并作图表示卷积结果。
Matlab设计FIR数字滤波器
![Matlab设计FIR数字滤波器](https://img.taocdn.com/s3/m/4826e7f7bcd126fff6050b7b.png)
FIR数字滤波器专业:学号:XX:一课题目的:1学会使用Matlab的各项功能。
2学会把自己在课堂上学习的知识运用到实践当中。
3了解利用Matlab设计FIR数字滤波器的基本方法。
4在课程设计的过程中掌握程序编译及软件设计的基本方法。
5提高自己对于新知识的学习能力及进行实际操作的能力。
二课题要求:在信号处理过程中所处理的信号往往混有噪音,从接受到的信号中消除或减弱噪音是信号处理过程中十分重要的问题。
根据有用信号和噪音的不同特性,提取有用信号的过程称为滤波,实现滤波功能的系统称为滤波器。
而数字滤波器又是滤波器中运用极为广泛的一种滤波器。
数值滤波技术是数字信号处理的一个重要组成部分,滤波器的设计是信号处理的核心问题之一。
FIR数字滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
要求通过网络及各种资料解决实际问题设计一个符合要求的FIR数字滤波器。
三课题内容:数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型。
与模拟滤波器相比,数字滤波器除了具有数字信号处理固有优点外,还有滤波精度高、稳定性好、灵活性强等优点。
在数字信号处理中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,FIR数字滤波器在数字信号处理中发挥着重要作用,采用Matlab软件对FIR数字滤波器进行仿真设计,简化了设计中繁琐的计算。
设计中采用窗函数法,频率采样法和优化设计方法,通过调用Matlab函数设计FIR数字滤波器。
绘制出滤波器的特性图。
利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。
最后录制一段语音信号,并对录制的信号进行采样和加噪,绘制出采样后语音信号的时域波形和频谱图,然后用所设计的滤波器对加噪后的信号进行滤波,绘制出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。
实验3 用MATLAB窗函数法设计FIR滤波器
![实验3 用MATLAB窗函数法设计FIR滤波器](https://img.taocdn.com/s3/m/687cc61aa21614791711284f.png)
实验10 用MATLAB 窗函数法设计FIR 滤波器一、实验目的㈠、学习用MA TLAB 语言窗函数法编写简单的FIR 数字滤波器设计程序。
㈡、实现设计的FIR 数字滤波器,对信号进行实时处理。
二、实验原理㈠、运用窗函数法设计FIR 数字滤波器与IIR 滤波器相比,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
设FIR 滤波器单位脉冲响应)(n h 长度为N ,其系统函数)(z H 为∑-=-=10)()(N n n zn h z H)(z H 是1-z 的)1(-N 次多项式,它在z 平面上有)1(-N 个零点,原点0=z 是)1(-N 阶重极点。
因此,)(z H 永远是稳定的。
稳定和线性相位特性是FIR 滤波器突出的优点。
FIR 滤波器的设计任务是选择有限长度的)(n h ,使传输函数)(ωj e H 满足技术要求。
主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。
本实验主要介绍用窗函数法设计FIR 数字滤波器。
图7-10-1 例1 带通FIR 滤波器特性㈡、 用MATLAB 语言设计FIR 数字滤波器例1:设计一个24阶FIR 带通滤波器,通带为0.35<ω<0.65。
其程序如下b=fir1(48,[0.35 0.65]);freqz(b,1,512)可得到如图7-10-1 所示的带通FIR滤波器特性。
由程序可知,该滤波器采用了缺省的Hamming窗。
例2:设计一个34阶的高通FIR滤波器,截止频率为0.48,并使用具有30dB波纹的Chebyshev窗。
其程序如下Window=chebwin(35,30);b=fir1(34,0.48,'high',Window);freqz(b,1,512)可得到如图7-10-2 所示的高通FIR滤波器特性。
图7-10-2 例2 高通FIR滤波器特性例3:设计一个30阶的低通FIR滤波器,使之与期望频率特性相近,其程序如下 f=[0 0.6 0.6 1];m=[1 1 0 0];b=fir2(30,f,m);[h,w]=freqz(b,1,128);plot(f,m,w/pi,abs(h))结果如图7-10-3所示。
FIR数字滤波器的设计与matlab实现
![FIR数字滤波器的设计与matlab实现](https://img.taocdn.com/s3/m/130890ca19e8b8f67c1cb9aa.png)
W
(e
j
)
{0.5WR
()
0.25[WR
(
2 )
N 1
WR
(
2
)]}e N 1
j(
N 1) 2
W ()e ja
W
()
0.5WR
()
0.25[WR
(
2 )
N 1
WR
(
2 )]
N 1
(6-2-12b)
W () 是三项矩形窗的幅度响应 WR() 的移位加权和,
n0
即
H (z) z(N1)H (z1)
则有
H (z) 1 [H (z) z(N1)H (z1)] 2
1
N 1
h(n)[ z n
z (N 1) z n ]
2 n0
z ( N 1) / 2
N 1
h(n)
1
(n N 1)
[z 2
(n N 1)
❖ 滤波器设计任务的中心就是求得系统函数。 数字滤波器的系统函数最主要的特征有三个: 幅度平方响应、相位响应和群延迟。
❖ IIR滤波器可以用较少的阶数获得较好的幅度响应, 但由于其结构存在反馈,可能造成系统的不稳定, 其优异幅度响应一般是以相位的非线性为代价的, 非线性相位会引起频率色散。
❖ FIR系统的最主要特性之一就是可以构成具有线性 相位特性的滤波器。所谓线性相位特性是指滤波 器对不同频率的正弦波所产生的相移和正弦波的 频率成直线关系。因此,在滤波器通带内的信号 通过滤波器后,除了由相频特性的斜率决定的延 迟外,可以不失真地保留通带以内的全部信号。
实验四 参考 基于MATLAB的FIR数字滤波器设计
![实验四 参考 基于MATLAB的FIR数字滤波器设计](https://img.taocdn.com/s3/m/a0b128da50e2524de5187eb5.png)
实验4 基于MATLAB 的FIR 数字滤波器设计一、 实验目的(1) 加深对数字滤波器的常用指标理解。
(2) 学习数字滤波器的设计方法。
二、 实验原理 低通滤波器1()1()P P P SS H H δδδπ⎧-≤Ω≤+Ω≤Ω⎪⎨Ω≤Ω≤Ω≤⎪⎩低通滤波器的常用指标:1、 通带边缘频率P Ω,2、 阻带边缘频率SΩ ,3、 通带起伏P δ,4、通带峰值起伏])[1(log2010dB p pδα--=,5、阻带起伏sδ,最小阻带衰减])[(log 2010dB s S δα-=。
三、 要求 (1)在MA TLAB 中,熟悉函数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 滤波器的设计方法及其在MA TLAB 中的实现;(3)给出FIR 数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。
四、 实验内容利用MA TLAB 编程,分别用窗函数法和等波纹滤波器法设计两种FIR 数字滤波器,指标要求如下:通带边缘频率:π45.01=ΩP ,π65.02=ΩP ,通带峰值起伏:][1dB p≤α。
阻带边缘频率:π3.01=ΩS ,π75.02=ΩS ,最小阻带衰减:][40dB S ≥α。
附录:例1 用凯塞窗设计一FIR 低通滤波器,通带边界频率π3.0=Ωp ,阻带边界频率π5.0=Ωs ,阻带衰减 不小于50dB 。
S Ω-PΩ-P SΩPassband StopbandTransitionbandFig 1 Typical magnitudespecification for a digital LPF解首先由过渡带宽和阻带衰减来决定凯塞窗的N和π2.0=Ω-Ω=∆Ωps,,上图给出了以上设计的频率特性,(a) 为N=30直接截取的频率特性(b)为凯塞窗设计的频率特性。
数字信号处理实验报告-FIR滤波器的设计与实现
![数字信号处理实验报告-FIR滤波器的设计与实现](https://img.taocdn.com/s3/m/e600f15c7ed5360cba1aa8114431b90d6c85899e.png)
数字信号处理实验报告-FIR滤波器的设计与实现在数字信号处理中,滤波技术被广泛应用于时域处理和频率域处理中,其作用是将设计信号减弱或抑制被一些不需要的信号。
根据滤波器的非线性抑制特性,基于FIR(Finite Impulse Response)滤波器的优点是稳定,易设计,可以得到较强的抑制滤波效果。
本实验分别通过MATLAB编程设计、实现、仿真以及分析了一阶低通滤波器和平坦通带滤波器。
实验步骤:第一步:设计一阶低通滤波器,通过此滤波器对波型进行滤波处理,分析其对各种频率成分的抑制效果。
为此,采用零极点线性相关算法设计滤波器,根据低通滤波器的特性,设计的低通滤波器的阶次为n=10,截止频率为0.2π,可以使设计的滤波器被称为一阶低通滤波器。
第二步:设计平坦通带滤波器。
仿真证明,采用兩個FIR濾波器組合而成的阻礙-提升系統可以實現自定義的總三值響應的設計,得到了自定義的總三值響應函數。
实验结果:1、通过MATLAB编程,设计完成了一阶低通滤波器,并通过实验仿真得到了一阶低通滤波器的频率响应曲线,证明了设计的滤波器具有良好的低通性能,截止频率为0.2π。
在该频率以下,可以有效抑制波形上的噪声。
2、设计完成平坦通带滤波器,同样分析其频率响应曲线。
从实验结果可以看出,此滤波器在此频率段内的通带性能良好,通带范围内的信号透过滤波器后,损耗较小,滞后较小,可以满足各种实际要求。
结论:本实验经过实验操作,设计的一阶低通滤波器和平坦通带滤波器具有良好的滤波特性,均已达到预期的设计目标,证明了利用非线性抑制特性实现FIR滤波处理具有较强的抑制滤波效果。
本实验既有助于深入理解FIR滤波器的设计原理,也为其他应用系统的设计和开发提供了指导,进而提高信号的处理水平和质量。
基于matlab的fir数字滤波器的设计
![基于matlab的fir数字滤波器的设计](https://img.taocdn.com/s3/m/2246ff8359f5f61fb7360b4c2e3f5727a5e924a1.png)
一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。
其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。
本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。
二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。
fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。
fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。
三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。
在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。
下面将分别介绍这两种设计方法的基本原理及实现步骤。
1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。
在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。
通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。
2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。
数字信号处理 实验八 FIR数字滤波器的MATLAB实现
![数字信号处理 实验八 FIR数字滤波器的MATLAB实现](https://img.taocdn.com/s3/m/c97f348571fe910ef12df81a.png)
实验八 FIR 数字滤波器的MATLAB 实现一、 实验目的:学习用窗函数法设计FIR 数字滤波器的原理及其设计步骤;学习编写数字滤波器的设计程序的方法,并能进行正确编程;根据给定的滤波器指标,给出设计步骤。
二、 实验仪器:电脑一台,MA TLAB6.5或更高级版本软件一套。
三、 实验内容:(一) 实验原理及实例分析 1. FIR 低通数字滤波器的设计原理如果系统的冲激响应)(n h d 为已知,则系统的输入/输出关系为:)()()(n h n x n y d ⋅=对于低通滤波器,只要设计出低通滤波器的冲激响应函数,就可以由上式得到系统的输出了。
假设所希望的数字滤波器的频率响应为)(jwd e H ,它是频域的周期函数,周期为2π,那么它与)(jwd eH 相对应的傅立叶系数为dw eeH n h jnwjwd d )(21)(⎰-=πππ以)(n h d 为冲激响应的数字滤波器将具有频域响)(jwd e H 。
但是将)(n h d 作为滤波器脉冲响应有两个问题:(1) 它是无限长的,与FIP 滤波器脉冲响应有限长这一前提不一致 (2) 它是非因果的,0,0)(<≠n n h d 对此,要采取以下的措施,(1) 将)(n h d 截短 (2)将其往右平移,由此得到)(2n h 的实际频域响应jnwN n jwd en heH ∑-==12)()(,与理想频域响应)(jwd eH 相近,但不完全一致。
理论证明上述现象是对)(n h d 进行简单截短处理的必然结果,一般称为吉布斯现象,为尽可能的减少吉布斯现象,应对)(n h d 进行加窗截取,即以)()()(n W n h n h N d ⋅=作为FIR 滤波器的系数。
常用的窗函数有矩形窗、海明窗和布莱克曼窗等。
2. 用窗函数法设计FIR 滤波器MA TLAB 设计FIR 滤波器有多种方法和对应的函数,见表8-1。
表8-1 MA TLAB 设计FIR 滤波器的方法和函数方法描述函数窗方法 使用窗函数和逆傅立叶变换实现 fir1,fir2,kaiserord 等 多带方法 包含子带频率域firls ,remez 等 最小二乘法 使用最小二乘法将整个频率域上的错误几率压缩到最小fircls ,fircls1等 任意响应法 使用任意响应,包括非线性相位以及复滤波器cremez 等 余弦法使用三角函数的低通响应firrcos 等窗函数方法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs 现象所带来的影响。
基于MATLAB设计FIR滤波器
![基于MATLAB设计FIR滤波器](https://img.taocdn.com/s3/m/3710641d302b3169a45177232f60ddccdb38e658.png)
基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。
基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。
fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。
要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。
阶数决定了滤波器的截止频率的陡峭程度。
一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。
步骤2:确定滤波器的截止频率。
截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。
根据应用的需求,可以选择适当的截止频率。
步骤3:选择窗函数。
窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。
常用的窗函数有Hamming、Hanning等。
窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。
步骤4:使用fir1函数设计滤波器。
根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。
具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。
设计好FIR滤波器后,可以使用filter函数对信号进行滤波。
具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。
以上,便是基于MATLAB设计FIR滤波器的简要步骤和代码示例。
根据具体需求和信号特性,可以进行相应的调整和优化。
用MAtlab实现FIR数字滤波器的设计
![用MAtlab实现FIR数字滤波器的设计](https://img.taocdn.com/s3/m/85f995f8910ef12d2af9e787.png)
设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
FIR 数 字 滤 波 器 的 文 件
一、fir1.m
• 本文件采用窗函数法设计FIR数字滤波器,其调用格式是
• 1)b=fir1(N ,W c)
• 2)b=fir1(N,W c ,’high’) • 3)b=fir1(N,W c ,’stop’)
实践课题
FIR 数 字 滤 波 器 的 设 计
实践目的
通过实践加深对Matlab软件的认识。 能熟练应用并基本掌握Matlab软件, 通过实践对课本以外的内容有初步的 了解。 通过设计FIR数字滤波器,对滤波器 的功能和原理有初步的认识和了解。
实践课题简介
在数字信号处理的许多领域中, 如图像处理、数字通信等领域,常 常要求滤波器具有线性相位。FIR数 字滤波器的最大优点就是容易设计 成线性相位特性,而且它的单位冲 激响应是有限长的,所以它永远是 稳定的。
•
Hale Waihona Puke 上式中N为滤波器的阶次,W c是通带截止频率,其值在0~1之间, 1对应采样频率的一半,b是设计好的滤波器系数(单位冲激响应序 列)其长度为N+1。
对于格式(1)若W c是一标量,则可用来设计低通滤波器;若W c 是 的向量,则用来设计带通滤波器。 格式(2)用来设计高通滤波器。 格式(3)用来设计带阻滤波器。
部分滤波器的例子(频率抽样法)
部分滤波器的例子(最小二乘逼近设计法)
Fircls1设计的低通滤波器,归一化截止频率 为0.3,通带波纹为0.02,阻带波纹为0.008。
实践总结
通过这次实践课题的设计与制作,使我 对Matlab这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。
fir数字滤波器设计实验报告
![fir数字滤波器设计实验报告](https://img.taocdn.com/s3/m/4319c78a970590c69ec3d5bbfd0a79563c1ed43a.png)
fir数字滤波器设计实验报告FIR数字滤波器设计实验报告概述数字滤波器是数字信号处理中的重要组成部分,广泛应用于音频、图像、视频等领域。
其中,FIR数字滤波器是一种常见的数字滤波器,具有线性相位、稳定性好、易于实现等优点。
本实验旨在设计一种基于FIR数字滤波器的信号处理系统,实现对信号的滤波和降噪。
实验步骤1. 信号采集需要采集待处理的信号。
本实验采用的是模拟信号,通过采集卡将其转换为数字信号,存储在计算机中。
2. 滤波器设计接下来,需要设计FIR数字滤波器。
为了实现对信号的降噪,我们选择了低通滤波器。
在设计滤波器时,需要确定滤波器的阶数、截止频率等参数。
本实验中,我们选择了8阶低通滤波器,截止频率为500Hz。
3. 滤波器实现设计好滤波器后,需要将其实现。
在本实验中,我们采用MATLAB 软件实现FIR数字滤波器。
具体实现过程如下:定义滤波器的系数。
根据滤波器设计的公式,计算出系数值。
利用MATLAB中的filter函数对信号进行滤波。
将采集到的信号作为输入,滤波器系数作为参数,调用filter函数进行滤波处理。
处理后的信号即为滤波后的信号。
4. 结果分析需要对处理后的信号进行分析。
我们可以通过MATLAB绘制出处理前后的信号波形图、频谱图,比较它们的差异,以评估滤波器的效果。
结果显示,经过FIR数字滤波器处理后,信号的噪声得到了有效的降低,滤波效果较好。
同时,频谱图也显示出了滤波器的低通特性,截止频率处信号衰减明显。
结论本实验成功设计并实现了基于FIR数字滤波器的信号处理系统。
通过采集、滤波、分析等步骤,我们实现了对模拟信号的降噪处理。
同时,本实验还验证了FIR数字滤波器的优点,包括线性相位、稳定性好等特点。
在实际应用中,FIR数字滤波器具有广泛的应用前景。
数字信号处理实验matlab实验fir滤波器实现
![数字信号处理实验matlab实验fir滤波器实现](https://img.taocdn.com/s3/m/d7ecbe3ef5335a8103d2201e.png)
实验四 用窗函数法设计FIR 滤波器一、实验目的1、熟悉FIR 滤波器设计的基本方法。
2、掌握用户窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的响应。
二、实验原理和方法(一)FIR 滤波器的设计FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。
目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取一个理想的)(n h d 得到h(n),以有限长序列h(n)近似理想的)(n h d :如果从频域出发,用理想的)(jw d e h 在单位圆上等角度取样得到H (k ),根据h(k)得到H(z)将逼近理想的)(z H d 这就是频率取样法。
(二)窗函数设计法同其它的的数字滤波器设计的方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应)(jw d e h ,使所设计的FIR 滤波器的频率响应)(jw e h 去逼近所要求的理想的滤波器的响应)(jw d e h 窗函数设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
∑-=-=10)()(N n jw jwn e n h e H 去逼近)(jw d e h 。
我们知道,一个理想的频率响应)(jw d e h 的傅里叶变换⎰=ππ20)(21)(dw e e H n h jwn jw d d 所得到的理想的单位脉冲响应)(n h d 往往是一个无限长序列,对)(n h d 经过适当的加权、截取处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
matlab 信号过fir数字滤波器设计
![matlab 信号过fir数字滤波器设计](https://img.taocdn.com/s3/m/8f79846e3069a45177232f60ddccda38376be13d.png)
一、概述Matlab 是一种用于算法开发、数据分析和可视化的高级技术计算语言和交互式环境。
在信号处理领域,Matlab 是一种非常强大的工具,可以用来设计和实现数字滤波器。
本文将重点介绍如何使用 Matlab 过FIR (Finite Impulse Response) 数字滤波器设计。
二、FIR 数字滤波器概述FIR 数字滤波器是一种常见的数字滤波器,它的特点是其单位脉冲响应有限,并且没有反馈。
FIR 滤波器的频率响应可以通过其线性相位特性来描述,因此在许多应用中非常有用。
三、Matlab 中的 FIR 数字滤波器设计工具Matlab 中提供了许多用于数字滤波器设计的工具,其中包括 fdatool 和 fir1 函数。
1. fdatoolfdatool 是 Matlab 中的一个交互式工具,可以帮助用户设计各种类型的数字滤波器。
用户可以通过图形界面选择滤波器类型、滤波器阶数、截止频率等参数,并实时查看滤波器的频率响应和单位脉冲响应。
使用 fdatool 可以快速方便地设计出所需的 FIR 数字滤波器。
2. fir1 函数fir1 函数是 Matlab 中用于设计标准的低通、高通、带通和带阻 FIR数字滤波器的函数。
用户可以通过指定滤波器类型、截止频率、滤波器阶数等参数来调用 fir1 函数,从而得到所需的数字滤波器的系数。
四、利用 Matlab 设计 FIR 数字滤波器的步骤1. 确定滤波器类型首先要确定所需的数字滤波器的类型,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
2. 确定滤波器的频率特性根据具体的应用需求,确定滤波器的截止频率、通带和阻带的大小,以及过渡带的宽度等参数。
3. 计算滤波器的系数根据所需的滤波器类型、频率特性和滤波器阶数等参数,使用 fdaool 工具或 fir1 函数计算出滤波器的系数。
4. 应用滤波器将得到的滤波器系数应用到需要滤波的信号上,即可得到滤波后的信号。
数字信号处理实验 matlab版 线性相位FIR数字滤波器.
![数字信号处理实验 matlab版 线性相位FIR数字滤波器.](https://img.taocdn.com/s3/m/f726826f5022aaea988f0f4c.png)
实验23 线性相位FIR数字滤波器(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)XXXX学号姓名处XXXX一、实验目的1 加深对线性相位FIR数字滤波器特性的理解。
2 掌握线性相位滤波器符幅特性和零极点分布的研究方法。
3 了解用MATLAB研究线性相位滤波器特性时程序编写的思路和方法。
二、实验内容1 线性相位FIR滤波器的特性2 第一类线性相位滤波器(类型Ⅰ)3 第二类线性相位滤波器(类型Ⅱ)4 第三类线性相位滤波器(类型Ⅲ)5 第四类线性相位滤波器(类型Ⅳ)6 线性相位FIR数字滤波器零点分布特点三、实验环境MATLAB7.0四、实验原理1.线性相位FIR滤波器的特性与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数为∑-=-=1Nnnzh(n)H(z)当滤波器的系数N满足一定的对称条件时,就可以获得线性相位。
线性相位FIR滤波器共分为四种类型,分别为:(1)类型Ⅰ,系数对称,即h(n)=h(N-1-n),N为奇数。
(2)类型Ⅱ,系数对称,即h(n)=h(N-1-n),N为偶数。
(3)类型Ⅲ,系数反对称,即h(n)=-h(N-1-n),N为奇数。
(4)类型Ⅳ,系数反对称,即h(n)=-h(N-1-n),N为偶数。
对于上述四类线性相位FIR滤波器,参考文献[1]中提供了一段通用程序,对考虑正负号的幅度频率特性(简称符幅特性)进行求解,程序名为amplres.m,程序如下: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);elseerror('错误:这不是线性相位滤波器!') end另外,FIR 滤波器的H(z)是z -1的(N -1)次多项式,它在z 平面上有(N -1)个零点,原点z =0是(N -1)阶重极点。
数字信号处理 实验三 FIR数字滤波器的设计
![数字信号处理 实验三 FIR数字滤波器的设计](https://img.taocdn.com/s3/m/c5bfce2ce2bd960590c67750.png)
实验三 FIR 数字滤波器的设计一、实验目的和要求1.学习线性相位FIR 数字滤波器,熟悉线性相位FIR 滤波器的幅频特性和相位特性;2.理解FIR 滤波器的基本设计方法,掌握设计的原理、方法及步骤;3.了解各种窗函数对滤波器性能的影响,学会使用几种常见的窗函数设计FIR 滤波器,并观察实验结果;4.熟悉相应的计算机高级语言编程。
二、实验设备和分组1.每人一台PC 机;2.Windows 2000/XP 以上版本的操作环境;3.MatLab 6.5及以上版本的开发软件。
三、实验内容(一)实验准备1.五种窗函数基本参数2.窗函数法的设计步骤窗函数设计FIR 数字滤波器是从时域出发的,把理想滤波器的单位取样响应 用合适的窗函数截短成为有限长度的()h n ,使得h (n )逼近理想的()d h n 。
以实现所设计的滤波器的频率响应()j H e ω 逼近于理想滤波器的频率响应()j d H e ω 。
一个有限长的序列,如果满足频率采样定理的条件,可以通过频谱的有限个采样点的值准确地恢复。
频率抽样法正是采用这种思想来设计FIR 数字滤波器。
a .给定希望逼近的频率响应函数H d (e jw )。
b .求单位脉冲响应c .由过渡带宽及阻带最小衰减的要求,可选定窗形状,并估计窗口长度N 。
原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的窗函数。
d. 计算所设计的FIR 滤波器的单位脉冲响应e .由h (n )求FIR 滤波器的系统函数 3.MATLAB 提供了fir1函数,以实现线性相位FIR 滤波器。
调用格式如下:hn=fir1(N, wc, ‘ftype’, window)参数:N :阶数wc :归一化的数字频率,0≤wc ≤1。
ftype :滤波器类型,如高通、带阻等。
当ftype=high 时,设计高通FIR 滤波器;当ftype=stop 时,设计带阻FIR 滤波器。
应当注意,在设计高通和带阻滤波器时,阶数N 只能取偶数(h(n)长度N+1为奇数)。
MATLAB仿真实现FIR滤波器设计(采用频率抽样法)
![MATLAB仿真实现FIR滤波器设计(采用频率抽样法)](https://img.taocdn.com/s3/m/619e1024915f804d2b16c16c.png)
数字信号处理 课程实验报告实验指导教师:黄启宏实验名称 MATLAB 仿真实现FIR 滤波器设计(采用频率抽样法)专业、班级电子与通信工程姓 名张帅实验地点 仿古楼301实验日期2013.11.10一、实验内容采用频率抽样法设计FIR 滤波器设计。
二、实验目的(1)掌握频率抽样法设计FIR DF 方法;(2)掌握一类线性相位和二类线性相位适用的原则; (3)在实验的过程中发现影响设计滤波器的性能的因素。
三、实验原理(1)若频率响应是()jwd He ,是连续频率ω的周期函数,对其抽样,使每一个周期内有N 个抽样值,即22()()|()k jk jwNd d d w kNH k H e H eππ===根据N为偶数还是奇数,采用一类线性相位还是二类线性相位,从而指定()d H k 。
(2)由指定的()d H k 构成所设计的滤波器的转移函数()H z ,从而设计出滤波器的频率响应()jw d H e 。
四、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)一台安装MATLAB 软件的电脑五、实验记录程序、相关的图形、相关数据记录及分析)((1)低通%设计低通滤波器,采用第一类线性相位;clearN=33;%输入频率采样后的Hk序列;Hk=[ones(1,9) zeros(1,16) ones(1,8)];k=0:N-1;hn=real(ifft(Hk.*exp(-j*pi*(N-1)*k/N)));%HK逆快速傅里叶变换求出hn;[H w]=freqz(hn,1);%求频率响应;subplot(121)%绘图;stem(k,Hk,'.');axis([0 32 0 1.2]);grid on;xlabel('k')ylabel('|Hk|')subplot(122)plot(w/pi,20*log10(abs(H)),'k-');axis([0 1 -60 10]);grid on;xlabel('归一化频率/\pi')ylabel('幅度/dB')(2)高通%设计高通滤波器;clearN=33;Hk=[zeros(1,8) ones(1,18) zeros(1,7)];%输入频率采样后的Hk序列;k=0:N-1;hn=real(ifft(Hk.*exp(-j*pi*(N-1)*k/N)));%HK逆快速傅里叶变换求出hn;[H w]=freqz(hn,1);%求频率响应;subplot(121)%绘图;stem(k,Hk,'.');axis([0 32 0 1.2]);grid on;xlabel('k')ylabel('|Hk|')subplot(122)plot(w/pi,20*log10(abs(H)));axis([0 1 -60 10]);grid on;xlabel('归一化频率/\pi')ylabel('幅度/dB')(3)带通%设计带通滤波器,采用第一类线性相位;clearN=33;Hk=[zeros(1,4) ones(1,6) zeros(1,13) ones(1,6) zeros(1,4)];%输入频率采样后的Hk序列;k=0:N-1;hn=real(ifft(Hk.*exp(-j*pi*(N-1)*k/N)));%HK逆快速傅里叶变换求出hn;[H w]=freqz(hn,1);%求频率响应;subplot(121)%绘图;stem(k,Hk,'.');axis([0 32 0 1.2]);grid on;xlabel('k')ylabel('|Hk|')subplot(122)plot(w/pi,20*log10(abs(H)),'k-');axis([0 1 -60 10]);grid on;xlabel('归一化频率/\pi')ylabel('幅度/dB')(4)带阻%书本7.2,P357;设计带阻滤波器;clearN=33;Hk=[ones(1,3) zeros(1,3) ones(1,20) zeros(1,2) ones(1,5)];%输入频率采样后的Hk序列;k=0:N-1;hn=real(ifft(Hk.*exp(-j*pi*(N-1)*k/N)));%HK逆快速傅里叶变换求出hn;[H w]=freqz(hn,1);%求频率响应;subplot(121)%绘图;stem(k,Hk,'.');axis([0 32 0 1.2]);grid on;xlabel('k')ylabel('|Hk|')subplot(122)plot(w/pi,20*log10(abs(H)));axis([0 1 -10 1]);grid on;xlabel('归一化频率/\pi')ylabel('幅度/dB')六、实验总结01020300.20.40.60.81k|H k |0.51-60-50-40-30-20-1010归一化频率/幅度/d B(低通)01020300.20.40.60.81k|H k |0.51-60-50-40-30-20-1010归一化频率/π幅度/d B(过渡带增宽低通)02040600.20.40.60.81k|H k |0.51-60-50-40-30-20-1010归一化频率/π幅度/d B(增加采样点数低通)01020300.20.40.60.81k|H k |0.51-60-50-40-30-20-1010归一化频率/幅度/d B(高通)01020300.20.40.60.81k|H k |0.51-60-50-40-30-20-1010归一化频率/π幅度/d B(带通)01020300.20.40.60.81k|H k |0.51-10-9-8-7-6-5-4-3-2-101归一化频率/π幅度/d B(带阻)由上面图例得到的结论:(1)在总的采样点不变的前提下,过渡带的采样值不同直接影响到滤波器的频率特性,在取得最优的采样点时,最小阻带衰减最大。
用MATLAB设计FIR数字滤波器
![用MATLAB设计FIR数字滤波器](https://img.taocdn.com/s3/m/1ab6a3b6760bf78a6529647d27284b73f24236b1.png)
实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。
2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。
3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。
二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。
由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。
FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。
重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。
本实验重要简介窗函数法。
用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。
(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。
可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。
程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。
如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。
【设计】FIR数字滤波器在MATLAB中的实现
![【设计】FIR数字滤波器在MATLAB中的实现](https://img.taocdn.com/s3/m/78fd4ef30740be1e640e9ae8.png)
【关键字】设计淮北师范大学信息学院2 012届学士学位论文FIR数字滤波器在MATLAB中的实现系别:专业:学号:姓名:指导教师:指导教师职称:10 日FIR数字滤波器在MATLAB中的实现姓名学校名邮编摘要数字滤波器是由数字乘法器、加法器和延时单元组成的一种装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
近年来数字滤波在通信、图像编码、语言编码、雷达等许多领域中有着十分广泛的应用。
本文首先介绍了数字滤波器的研究背景及其发展现状,然后介绍了FIR数字滤波器的设计原理。
在理解设计方法的基础上,最后基于MA TLAB软件利用窗函数法实现了FIR数字带通滤波器的设计。
仿真结果表明,所设计的滤波器具有良好的滤波器特性,所设计的指标符合设计任务要求。
关键词MATLAB;FIR数字滤波器;窗函数;带通滤波器Realization of FIR Digital Filter Based On matlabName###########################Abstract Digital Filter is a kind of instrument which is assembled with Digital multiplier, adder, and delay element , the function of the Digital Filter is operating and dealing with the digital code of discrete signal which is inputted to change the frequency spectrum . In recent years , Digital Filter is widely applied to all kinds of areas, such as Signal communication, image coding ,language coding ,radar and so on.This paper firstly introduces the studying background and current developing status of Digital FIR Filter, and then shows its design principle .Finally we realize the design of FIR Bandpass Digital Filter with Window Function based MATLAB software at the basement of understanding design methods. The outcome of simulation indicates that the Digital Filter does well in meeting the filter characters, at the same time ,indexes from the filter complies with the design requirements. Keywords MATLAB; FIR Filter; Window Function Design; Band Pass Filter目次1 引言在线性系统中,信号滤波过程一般定义为,当输入波形通过一个系统时,对它作一个线性运算,在时间域上这种变换如像内插,外插微分和积分,在频率域上这种变换则如低通滤波或平滑,带通滤波,谱设计和谱分析。
FIR数字滤波器设计实验_完整版
![FIR数字滤波器设计实验_完整版](https://img.taocdn.com/s3/m/7f0a2aeb370cba1aa8114431b90d6c85ec3a88eb.png)
FIR数字滤波器设计实验_完整版FIR数字滤波器设计实验是一种以FIR(Finite Impulse Response)数字滤波器为主题的实验。
在这个实验中,我们将学习如何设计和实现一个FIR数字滤波器,以滤除特定频率范围内的噪声、增强信号或实现其他特定的信号处理功能。
以下是一个可能的FIR数字滤波器设计实验的完整版实验步骤和要求:实验目的:1.学习FIR数字滤波器的基本原理和设计方法。
2. 熟悉Matlab等数字信号处理软件的使用。
3.实践设计和实现一个FIR数字滤波器,以实现特定的信号处理功能。
实验步骤:1.确定实验所需的信号处理功能。
例如,设计一个低通滤波器以滤除高频噪声,或设计一个带通滤波器以增强特定频率范围内的信号。
2.确定数字滤波器的规格。
包括截止频率、滤波器阶数、滤波器类型(低通、高通、带通、带阻)等。
3. 使用Matlab等数字信号处理软件进行设计和仿真。
根据信号处理功能和滤波器规格,选择合适的设计方法(如窗函数法、频率采样法等),并设计出数字滤波器的系数。
4.对设计的数字滤波器进行性能评估。
通过模拟信号输入和滤波输出、频率响应曲线等方式,评估滤波器在实现信号处理功能方面的性能。
5.利用硬件平台(如DSP处理器、FPGA等)实现设计的FIR数字滤波器。
根据设计的滤波器系数,编程实现滤波器算法,并进行实时信号处理和输出。
同时,可以利用外部信号源输入不同类型的信号,进行滤波效果验证和性能测试。
6.对滤波器设计和实现进行综合分析。
根据实际效果和性能测试结果,分析滤波器设计中的优缺点,并提出改进方案。
实验要求:1.理解FIR数字滤波器的基本原理和设计方法。
2. 掌握Matlab等数字信号处理软件的使用。
3.能够根据信号处理要求和滤波器规格,选择合适的设计方法并设计出满足要求的滤波器。
4.能够通过模拟和实验验证滤波器的性能。
5.具备对滤波器设计和实现进行综合分析和改进的能力。
通过完成上述实验,学生可以深入理解FIR数字滤波器的原理和设计方法,掌握数字信号处理软件的使用,提升数字信号处理的实践能力,并了解数字滤波器在实际应用中的重要性和价值。
数字信号处理实验 matlab版 线性相位FIR数字滤波器.
![数字信号处理实验 matlab版 线性相位FIR数字滤波器.](https://img.taocdn.com/s3/m/f726826f5022aaea988f0f4c.png)
实验23 线性相位FIR数字滤波器(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)XXXX学号姓名处XXXX一、实验目的1 加深对线性相位FIR数字滤波器特性的理解。
2 掌握线性相位滤波器符幅特性和零极点分布的研究方法。
3 了解用MATLAB研究线性相位滤波器特性时程序编写的思路和方法。
二、实验内容1 线性相位FIR滤波器的特性2 第一类线性相位滤波器(类型Ⅰ)3 第二类线性相位滤波器(类型Ⅱ)4 第三类线性相位滤波器(类型Ⅲ)5 第四类线性相位滤波器(类型Ⅳ)6 线性相位FIR数字滤波器零点分布特点三、实验环境MATLAB7.0四、实验原理1.线性相位FIR滤波器的特性与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数为∑-=-=1Nnnzh(n)H(z)当滤波器的系数N满足一定的对称条件时,就可以获得线性相位。
线性相位FIR滤波器共分为四种类型,分别为:(1)类型Ⅰ,系数对称,即h(n)=h(N-1-n),N为奇数。
(2)类型Ⅱ,系数对称,即h(n)=h(N-1-n),N为偶数。
(3)类型Ⅲ,系数反对称,即h(n)=-h(N-1-n),N为奇数。
(4)类型Ⅳ,系数反对称,即h(n)=-h(N-1-n),N为偶数。
对于上述四类线性相位FIR滤波器,参考文献[1]中提供了一段通用程序,对考虑正负号的幅度频率特性(简称符幅特性)进行求解,程序名为amplres.m,程序如下: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);elseerror('错误:这不是线性相位滤波器!') end另外,FIR 滤波器的H(z)是z -1的(N -1)次多项式,它在z 平面上有(N -1)个零点,原点z =0是(N -1)阶重极点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验23 线性相位FIR数字滤波器(完美格式版,本人自己完成,所有语句正确,不排除极个别错误,特别适用于山大,勿用冰点等工具下载,否则下载之后的word格式会让很多部分格式错误,谢谢)XXXX学号姓名处XXXX一、实验目的1 加深对线性相位FIR数字滤波器特性的理解。
2 掌握线性相位滤波器符幅特性和零极点分布的研究方法。
3 了解用MATLAB研究线性相位滤波器特性时程序编写的思路和方法。
二、实验内容1 线性相位FIR滤波器的特性2 第一类线性相位滤波器(类型Ⅰ)3 第二类线性相位滤波器(类型Ⅱ)4 第三类线性相位滤波器(类型Ⅲ)5 第四类线性相位滤波器(类型Ⅳ)6 线性相位FIR数字滤波器零点分布特点三、实验环境MATLAB7.0四、实验原理1.线性相位FIR滤波器的特性与IIR滤波器相比,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数为∑-=-=1Nnnzh(n)H(z)当滤波器的系数N满足一定的对称条件时,就可以获得线性相位。
线性相位FIR滤波器共分为四种类型,分别为:(1)类型Ⅰ,系数对称,即h(n)=h(N-1-n),N为奇数。
(2)类型Ⅱ,系数对称,即h(n)=h(N-1-n),N为偶数。
(3)类型Ⅲ,系数反对称,即h(n)=-h(N-1-n),N为奇数。
(4)类型Ⅳ,系数反对称,即h(n)=-h(N-1-n),N为偶数。
对于上述四类线性相位FIR滤波器,参考文献[1]中提供了一段通用程序,对考虑正负号的幅度频率特性(简称符幅特性)进行求解,程序名为amplres.m,程序如下: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);elseerror('错误:这不是线性相位滤波器!') end另外,FIR 滤波器的H(z)是z -1的(N -1)次多项式,它在z 平面上有(N -1)个零点,原点z =0是(N -1)阶重极点。
由于线性相位FIR 滤波器的极点都在原点处,因此不存在稳定性的问题。
但有必要研究零点对滤波器特性的影响。
下面分别研究和分析上述问题。
2.第一类线性相位滤波器(类型Ⅰ)例23-1 已知FIR 线性相位系统h =[3,-1,-5,4,6,4,-5,-1,3],要求描绘系统的冲激响应和符幅特性。
解 程序如下:h=[3,-1,-5,4,6,4,-5,-1,3]; M=length(h);n=0:M-1;[A,w,type,tao]=amplres(h);type subplot(2,1,1),stem(n,h); ylabel('h(n)');xlabel('n'); subplot(2,1,2),plot(w/pi,A); ylabel('A');xlabel('\pi');MATLAB 命令窗显示:type = 1 由图23-1可见,这是一个第一类线性相位滤波器。
滤波器的系数N 为奇数(该题N =9),且h(n)=h(N -1-n),幅度特性关于w =p 对称,在w =0和w =p 处可以取任何值;可以用于实现低通、高通、带通、带阻等各种滤波特性。
02468-10010h (n )n0.511.52-2002040A\pi图23-1 类型Ⅰ滤波器冲激响应和符幅特性3.第二类线性相位滤波器(类型Ⅱ)例23-2 已知FIR 线性相位系统h =[3, -1,-5,4,4,-5,-1,3],要求描绘系统的冲激响应和符幅特性。
解 程序如下:h=[3,-1,-5,4,4,-5,-1,3];M=length(h);n=0:M-1;[A,w,type,tao]=amplres(h);type subplot(2,1,1),stem(n,h); ylabel('h(n)');xlabel('n'); subplot(2,1,2),plot(w/pi,A); ylabel('A');xlabel('\pi');MATLAB 命令窗显示: type = 2 由图23-2可见,这是一个第二类线性相位滤波器。
滤波器的系数N 为偶数(该题N =8),且h(n)=h(N -1-n),幅度特性关于w =p 反对称,在w =0处可以取任何值,在w =p 处必定为0;不能用于实现高通和带阻滤波器。
01234567-55h (n )n00.51 1.52-5050A\pi图23-2 类型Ⅱ滤波器冲激响应和符幅特性4.第三类线性相位滤波器(类型Ⅲ)例23-3 已知FIR 线性相位系统h =[3,-1,-5,4,0,-4,5,1,-3],要求描绘系统的冲激响应和符幅特性。
解 程序如下:h=[3,-1,-5,4,0,-4,5,1,-3]; M=length(h);n=0:M-1;[A,w,type,tao]=amplres(h);type subplot(2,1,1),stem(n,h); ylabel('h(n)');xlabel('n'); subplot(2,1,2),plot(w/pi,A); ylabel('A');xlabel('\pi');12345678-505h (n)n00.51 1.52-50050A\pi图23-3 类型Ⅲ滤波器冲激响应和符幅特性MATLAB 命令窗显示: type = 3 由图23-3可见,这是一个第三类线性相位滤波器。
滤波器的系数N 为奇数(该题N =9),且h(n)=-h(N -1-n),幅度特性关于w =p 反对称,在w =0和w =p 处都必定为0;只能实现带通滤波器。
5.第四类线性相位滤波器(类型Ⅳ)例23-4 已知FIR 线性相位系统h =[3,-1,-5,4,-4,5,1,-3],要求描绘系统的冲激响应和符幅特性。
解 程序如下:h=[3,-1,-5,4,-4,5,1,-3]; M=length(h);n=0:M-1;[A,w,type,tao]=amplres(h);type subplot(2,1,1),stem(n,h); ylabel('h(n)');xlabel('n'); subplot(2,1,2),plot(w/pi,A); ylabel('A');xlabel('\pi');MATLAB 命令窗显示: type = 4 由图23-4可见,这是一个第四类线性相位滤波器。
滤波器的系数N 为偶数(该题N =8),且h(n)=-h(N -1-n),幅度特性关于w =p 对称,在w =0必定为0,w =p 处可以取任何值;不能用于实现低通、带阻滤波器。
02468-505h (n )n00.51 1.52-2020A\pi图23-4 类型Ⅳ滤波器冲激响应和符幅特性6.线性相位FIR 数字滤波器零点分布特点线性相位FIR 滤波器的零点分为三种情况: (1)在zi =1或zi =-1位的零点单独出现;(2)实数零点或在单位圆上的复数零点按z1与1z 1成对出现;(3)非单位圆上的复数零点,则按z1、z*1、1z 1、*1z 1⎪⎪⎭⎫⎝⎛ 四个点同时出现。
例23-5 求例23-1线性相位系统的零极点分布图,并证明实数零点和复数零点成组出现的特点。
解 程序如下:h=[3,-1,-5,4,6,4,-5,-1,3]; M=length(h);n=0:M-1; rz=roots(h) for i=1:8 r(i)=1/rz(i); end r'zplane(h,1)程序执行结果如下和图23-5所示。
可以看出,序号为1、2、6、7的四个复数为一组;在实轴上的3、8两个实数为一组;处于单位圆上的4、5为一组。
rz = 1.1674 + 0.7868i 1.1674 - 0.7868i -1.3732 -0.5391 + 0.8423i -0.5391 - 0.8423i -0.7283 0.5891 + 0.3970i 0.5891 - 0.3970i ans = 0.5891 + 0.3970i 0.5891 - 0.3970i -0.7283 -0.5391 + 0.8423i -0.5391 - 0.8423i -1.3732 1.1674 + 0.7868i 1.1674 - 0.7868i rz = 1.1674 + 0.7868i 1.1674 - 0.7868i -1.3732 -0.5391 + 0.8423i -0.5391 - 0.8423i -0.7283 0.5891 + 0.3970i 0.5891 - 0.3970i ans = 0.5891 + 0.3970i 0.5891 - 0.3970i -0.7283 -0.5391 + 0.8423i -0.5391 - 0.8423i -1.3732 1.1674 + 0.7868i 1.1674 - 0.7868i-1.5-1-0.50.51-1-0.50.518Real PartI m a g i n a r y P a r t图23-5 第一类线性相位滤波器零极点分布图例23-6 求例23-2、例23-3、例23-4的线性相位系统的零极点分布图。
解 程序如例23-5,只需输入不同的h 值,结果如图23-6(a)、(b)、(c)所示。
-1-0.500.51-1-0.500.517Real PartI m a g i n a r y P a r t-1-0.500.51-1-0.500.518Real PartI m a g i n a r y P a r t(a ) (b)-1.5-1-0.500.51-1-0.500.517Real PartI m a g i n a r y P a r t(c)图23-6 线性相位滤波器零极点分布图五、实验过程1 由序列h0=[3,-1,2,-3]为基础,构成四种类型的线性相位FIR 滤波器,即 ①h1=[3,-1,2,-3,5,-3,2,-1,3]; ②h2=[3,-1,2,-3,-3,2,-1,3]; ③h3=[3,-1,2,-3,0,3,-2,1,-3]; ④h4=[3,-1,2,-3,3,-2,1,-3]分别求它们的冲激响应和符幅特性,并在同一张图纸上描绘出来,进行比较。