基于MATLAB的FIR数字高通滤波器的设计
【摘要】本文根据 fir高通滤波器的设计原理,提出了 matlab 环境下基于窗函数法的 fir高通滤波器设计方法。
【关键词】fir数字滤波器;高通滤波;窗函数;matlab
一、数字滤波器
1.1 数字滤波器概述
数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。
数字滤波器分类的方法很多,可从以下几个方面进行分类:
1.根据功能分类,可以分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
2.根据滤波器的单位脉冲响应分类,可以分为无限长脉冲响应数字滤波器和有限长脉冲响应数字滤波器,它们一般被称为iir数字滤波器和fir数字滤波器。
3.根据数字滤波器的实现方法分类,可以分为递归型数字滤波器rdf(recursive digital filter)和非递归型数字滤波器ndf (nonrecursive digital filter)。
1.2 数字滤波器的设计
1.2.1 数字滤波器的设计要求
数字滤波器的频响特性函数一般为复函数,所以通常表示为
(1-1)
其中,称为幅频特性函数;称为相频特性函数。幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。
1.2.2 数字滤波器的设计方法
iir滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行。其设计思路是:先设计模拟滤波器得到的传输函数,然后将按某种方法转换成数字滤波器的系统函数。这一类方法是基于模拟滤波器的设计方法,相对比较成熟,它不仅有完整的设计公式,也有完整的图表供查阅,更可以直接调用matlab 中的对应的函数进行设计。另一类是直接在频域或者时域中进行设计的,设计时必须用计算机作辅助设计,直接调用matlab中的一些程序或设函数可以很方便地设计出所需要的滤波器。
二、fir数字滤波器设计
2.1 fir数字滤波器的原理
fir滤波器的传递函数为:
(2-1)
可得fir滤波器的系统系数差分方程,当fir滤波器的系数满足下列中心对称条件时:
(2-2)
线性相位滤波器的相位滞后和延迟在整个频带上是相等且不变的。对于一个n阶的线性相位fir滤波器,群延迟为常数,即滤波后的信号简单地延迟常数个时间步长。这一特性使通带频率内信号通过
滤波器后仍保持原有波形形状而无相位失真。
2.2 设计工具
在matlab中有三种方法可以实现设计fir数字滤波器:程序设计法、fdatool设计法和sptool设计法,程序设计法具有设计简便、可移植性强等特点,故在本设计中采用的是程序设计法。而在程序设计方法中,又有很多方法可以实现fir 滤波器的设计,如窗函数设计法、频率采样设计法和最优化设计法等,这些方法都比较快捷方便,其中最常用的是窗函数设计法。
2.3 fir数字滤波器的窗函数设计
2.3.1 窗函数的基本原理
窗函数设计法是一种通过截短和计权的方法使无限长非因果序列成为有限长脉冲响应序列的设计方法。窗函数设计fir数字滤波器就是根据给定的滤波器的技术指标,选择滤波器长度n和窗函数,使其具有最窄宽度的主瓣和最小的旁瓣。
2.3.2 用窗函数法设计滤波器的步骤
用窗函数法设计 fir 滤波器的步骤如下:
(1)根据给定的技术指标得出理想频率响应。
(2)根据过渡带宽及阻带衰减要求, 选择窗函数的类型并估计窗口长度n。
(3)根据待求滤波器的理想频率响应求出理想单位脉冲响应 ,。如果给出待求滤波器的频率响应为,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:
FIR 数字滤波器设计函数 1. fir1 功能:基于窗函数的FIR 数字滤波器设计——标准频率响应。 格式:b=fir1(n,Wn) b=fir1(n,Wn,'ftype') b=fir1(n,Wn,Window) b=fir1(n,Wn,'ftype',Window) 说明:fir1函数以经典方法实现加窗线性相位FIR 滤波器设计,它可设计出标准的低通、带通、高通和带阻滤波器。 b=fir1(n,Wn)可得到n 阶低通FIR 滤波器,滤波器系数包含在b 中,这可表示成: n z n b z b b z b --++???++=)1()2()1()(1 这是一个截止频率为Wn 的Hamming(汉明)加窗线性相位滤波器,0≤Wn ≤1,Wn=1相应于0.5fs 。 当Wn=[W1 W2]时,fir1函数可得到带通滤波器,其通带为W1<ω< W2。 b=fir1(n,Wn,'ftype')可设计高通和带阻滤波器,由ftype 决定: ·当ftype=high 时,设计高通FIR 滤波器; ·当ftype=stop 时,设计带阻FIR 滤波器。 在设计高通和带阻滤波器时,fir1函数总是使用阶为偶数的结构,因此当输入的阶次为奇数时,fir1函数会自动加1。这是因为对奇数阶的滤波器,其在Nyquist 频率处的频率响应为零,因此不适合于构成高通和带阻滤波器。 b=fir1(n,Wn,Window)则利用列矢量Window 中指定的窗函数进行滤波器设计,Window 长度为n+1。如果不指定Window 参数,则fir1函数采用Hamming 窗。 Blackman 布莱克曼窗 Boxcar 矩形窗 Hamming 海明窗 Hann 汉宁窗 Kaiser 凯瑟窗 Triang 三角窗 b=fir1(n,Wn,'ftype',Window)可利用ftype 和Window 参数,设计各种加窗的滤波器。 由fir1函数设计的FIR 滤波器的群延迟为n/2。 例如: n=32;wn=1/4;window=boxcar(n+1) b=fir1(n,wn,window)
长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________
一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为
MATLAB下的数字信号处理实现示例 一信号、系统和系统响应 1、理想采样信号序列 (1)首先产生信号x(n),0<=n<=50 n=0:50; %定义序列的长度是50 A=444.128; %设置信号有关的参数 a=50*sqrt(2.0)*pi; T=0.001; %采样率 w0=50*sqrt(2.0)*pi; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); (2)绘制信号x(n)的幅度谱和相位谱 k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)(3)改变参数为:1,0734.2,4.0,10==Ω==TAα n=0:50; %定义序列的长度是50 A=1; %设置信号有关的参数 a=0.4; T=1; %采样率 w0=2.0734; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’) 2、单位脉冲序列 在MatLab中,这一函数可以用zeros函数实现: n=1:50; %定义序列的长度是50 x=zeros(1,50); %注意:MATLAB中数组下标从1开始
实验报告 课程名称:数字信号处理指导老师:刘英成绩:_________________实验名称: FIR数字滤波器设计与使用同组学生姓名:__________ 一、实验目的和要求 设计和应用FIR低通滤波器。掌握FIR数字滤波器的窗函数设计法,了解设计参数(窗型、窗长)的影响。 二、实验内容和步骤 编写MATLAB程序,完成以下工作。 2-1 设计两个FIR低通滤波器,截止频率 C =0.5。 (1)用矩形窗,窗长N=41。得出第一个滤波器的单位抽样响应序列h 1(n)。记下h 1 (n) 的各个抽样值,显示h 1 (n)的图形(用stem(.))。求出该滤波器的频率响应(的N 个抽样)H 1(k),显示|H 1 (k)|的图形(用plot(.))。 (2)用汉明窗,窗长N=41。得出第二个滤波器的单位抽样响应序列h 2(n)。记下h 2 (n) 的各个抽样值,显示h 2(n)的图形。求出滤波器的频率响应H 2 (k),显示|H 2 (k)|的 图形。 (3)由图形,比较h 1(n)与h 2 (n)的差异,|H 1 (k)|与|H 2 (k)|的差异。 2-2 产生长度为200点、均值为零的随机信号序列x(n)(用rand(1,200)0.5)。显示x(n)。 求出并显示其幅度谱|X(k)|,观察特征。 2-3 滤波 (1)将x(n)作为输入,经过第一个滤波器后的输出序列记为y 1(n),其幅度谱记为|Y 1 (k)|。 显示|X(k)|与|Y 1 (k)|,讨论滤波前后信号的频谱特征。 (2)将x(n)作为输入,经过第二个滤波器后的输出序列记为y 2(n),其幅度谱记为|Y 2 (k)|。 比较|Y 1(k)|与|Y 2 (k)|的图形,讨论不同的窗函数设计出的滤波器的滤波效果。 2-4 设计第三个FIR低通滤波器,截止频率 C =0.5。用矩形窗,窗长N=127。用它对x(n)进行滤波。显示输出信号y
淮北煤炭师范学院 2009届学士学位论文 基于MA TLAB的数字滤波器设计 学院、专业物理与电子信息学院 电子信息科学与技术 研究方向基于MATLAB的数字滤波器设计 学生姓名耿博 学号200513432024 指导教师姓名邹锋 指导教师职称讲师 2009 年4 月18
基于MATLAB的数字滤波器设计 耿博 (淮北煤炭师范学院物理与电子信息学院235000) 摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。 关键词数字滤波器;IIR ;FIR ;MATLAB
The Design of Digital Filter based on MATLAB Geng Bo School of Physics and Electronics Information, Huaibei Coal Industry Teachers? College, 235000 ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application. The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect. Keywords Digtial Filter;IIR;FIR;MATLAB
数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应
用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近
数字滤波器matlab的源代码 function lvbo(Ua,Ub,choise) %参考指令:lvbo(2*pi,10*pi,1/0/-1) U1=min(Ua,Ub); U2=max(Ua,Ub); Us=16*U2; T=2*pi/Us; T_sum=4*max(2*pi/Ua,2*pi/Ub); sum=T_sum/T; t=T:T:T_sum; x=sin(U1*t)+0.8*sin(U2*t); X=DFT(x); figure(1); subplot(221) U=Us/sum:Us/sum:Us; stem(U,abs(X));grid on axis([Us/sum,Us/2,0,1.2*max(abs(X))]) title('原模拟信号采样频谱图') Ucd=U1+(U2-U1)*1/5;Usd=U2-(U2-U1)*1/5; switch choise case 1 Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); case -1 Hz_ejw=IIR_DF_CF(Ucd,1,Usd,30,T,sum); case 0 Hz_ejw=FIR_DF_HM(U1,U2,T,sum); otherwise Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); end Y=X.*Hz_ejw; y=1/sum*conj(DFT(conj(Y))); figure(1); subplot(224) plot(t,real(y)); title('模拟信号滤波后');grid on axis([0,T_sum,-max(real(y))*1.5,max(real(y))*1.5]) subplot(222); plot(t,x); hold on
实验二:FIR 数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1掌握用窗函数法设计 FIR 数字滤波器的原理和方法。 (2掌握用等波纹最佳逼近法设计 FIR 数字滤波器的原理和方法。 (3掌握 FIR 滤波器的快速卷积实现原理。 (4学会调用 MA TLAB 函数设计与实现 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 的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (5 重复 (3 , 滤波器指标不变, 但改用等波纹最佳逼近法, 调用MA TLAB 函数 remezord 和 remez 设计 FIR 数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○ 1MA TLAB 函数 fir1的功能及其调用格式请查阅教材; ○ 2采样频率 Fs=1000Hz,采样周期 T=1/Fs;
○ 3根据图 1(b和实验要求,可选择滤波器指标参数:通带截止频率 fp=120Hz,阻带截 至频率 fs=150Hz, 换算成数字频率, 通带截止频率 p 20.24 p f ωπ =T=π, 通带最大衰为 0.1dB , 阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为 60dB 。 3、实验程序框图如图 2所示,供读者参考。 图 2 实验程序框图 4.信号产生函数 xtg 程序清单(见教材 二、滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率 fp=120Hz,阻带截至频率 fs=150Hz。代入采样频率 Fs=1000Hz,换算成 数字频率,通带截止频率 p 20.24 p f
实验11 用MATLAB 设计FIR 数字滤波器 一、实验目的: 1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解。 2、学习用MA TLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。 3、了解MATLAB 语言有关窗函数法设计FIR 数字滤波器的常用函数用法。 二、实验内容及步骤 2、选择合适的窗函数设计FIR 数字低通滤波器,要求: w p =0.2π,R p =0.05dB ; w s =0.3π,A s =40dB 。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。 分析:根据设计指标要求,并查表11-1,选择汉宁窗。程序清单如下: function hd=ideal_lp(wc,N) wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; tao=(N-1)/2; n=[0:(N-1)]; m=n-tao+eps; hd=sin(wc*m)./(pi*m); function[db,mag,pha,grd,w]=freqz_m(b,a); [H,w]=freqz(b,a,1000,'whole'); H=(H(1:501))';w=(w(1:501))'; mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w); wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; wc=(ws+wp)/2; 课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告 院系: 信息工程学院 班级: 电信二班 学号: 姓名: 日期:
数字信号处理课程设计 《数字信号处理》 课程设计报告 FIR数字滤波器设计及MATLAB实现 专业:通信工程 班级:通信1101班 组次:第9组 姓名及学号: 姓名及学号:
目录 一、设计目的 (3) 二、设计任务 (3) 三、设计原理 (3) 3.1窗函数法 (3) 3.2频率采样法 (4) 3.3最优化设计 (5) 3.3.1等波纹切比雪夫逼近准则 (5) 3.3.2仿真函数 (6) 四、设计过程 (7) 五、收获与体会 (13) 参考文献 (13)
FIR数字滤波器设计及MATLAB实现 一、设计目的 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基 本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性, 同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设 计是根据给定滤波器的频率特性,求得满足该特性的传输函数。 二、设计任务 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 三、设计原理 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 3.1窗函数法 设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw H e,设计 d
%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);
FIR 数字滤波器设计与实现 一.摘要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有着广泛的应 用。其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。 二.关键词:FIR 窗函数系统函数MATLAB 三.内容提要: 数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系 统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。 (一)FIR 滤波器的基本结构 在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为: n N n z n h z H ∑-==1 0)()(。从该系统函数可看出,FIR 滤波器有以下特点: 1)系统的单位冲激响应h(n)在有限个n 值处不为零; 2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统); 3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包 含有反馈的递归部分。 1.FIR 滤波器实现的基本结构有: 1) 横截型(卷积型、直接型) a.一般FIR 滤波器的横截型(直接型、卷积型)结构: 若给定差分方程为: 。则可以直接由差分方程得出FIR 滤波器结构如 下图所示: 这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。 b .线性相位FIR 滤波器的横截型结构
高级数字滤波器设计及Matlab 实现 利用Parks-McClellan 算法设计线性相位FIR 滤波器 一、 算法原理 长度为2n+1的线性相位数字滤波器的传输函数为:20 ()n k k k G z h Z -== ∑。当 Z=exp(j T ω)=exp(2j F π)时,可得到频率响应: ()exp(2)cos 2n k k G F j nF d k F ππ==-∑ exp(2)()j F H F π=- 其中2n k k d h -=,k=0,……,n-1,0n d h = max ()()()W F D F H F - 对于一个理想的低通滤波器上式中的H(F)可以表示为: 误差加权函数: 允许设计者自己给定通带和阻带内的误差范围。令p s B B A = ,设计长度为2n+1的线性相位低通滤波器只要找到k d 并使得m a x ()()()W F D F H F -最小。 设空间A 是[0,1/2]的封闭子空间,为了使0 ()cos 2n k k H F d kF π== ∑是D(F) 在A 上唯一的最佳逼近,加权误差方程()()[()()]E F W F D F H F =-在A 上至少要有n+2个交错点。因此1()()i i E F E F E -=-=±,011,n i F F F F A +<∈ ,
max ()E E F =。算法的流程如图1所示。 对于给定的n+2个频率点,需要计算n+2个方程: ()(()())(1)k k k k W F H F D F ρ-=-- 写成矩阵的形式就是: 图 1.
0000001 1 1 1 1011 1 1 1 11 1cos 2cos 4cos 2()()11cos 2cos 4cos 2()()()(1)1cos 2cos 4cos 2()n n n n n n n F F nF W F d D F d F F nF D F W F d D F F F nF W F ππππππρπππ++++++?? ???? ?? ?? ??-????????????=??????????????????-?? ????? ? 通过该方程组可得: 其中: 利用拉格朗日插值公式可得: 这里 利用求得的H(F)求出误差函数E(F)。如果对所有的频率都有()E F ρ≤,说明ρ是纹波极值,交错频率点121,n F F F + 是交错频率点。若存在某些频率使得()E F ρ>,说明初始交错点组中的某些点需要交换。 对于上次确定的121,n F F F + 中每一点,都检查其附近是否存在某一频率 ()E F ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的
实验二: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.24 p f ωπ =T=π,通带最大衰为0.1dB,阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为60dB。 ○4实验程序框图如图2所示,供读者参考。
数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪
一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能
吉林建筑大学 电气与电子信息工程学院 数字信号处理课程设计报告 设计题目:FIR数字滤波器的设计 专业班级: 学生姓名: 学号: 指导教师: 设计时间:
目录 一、设计目的 (3) 二、设计内容 (3) 三、设计原理 (3) 3.1 数字低通滤波器的设计原理 (3) 3.1.1 数字滤波器的定义和分类 (3) 3.1.2 数字滤波器的优点 (3) 3.1.3 FIR滤波器基本原理 (4) 3.2变换方法的原理 (7) 四、设计步骤 (8) 五、数字低通滤波器MATLAB编程及幅频特性曲线 (9) 5.1 MATLAB语言编程 (9) 5.2 幅频特性曲线 (10) 六、总结 (11) 七、参考文献 (13)
一、设计目的 课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。本次课程设计一方面通过MATLAB 仿真设计内容,使我们加深对理论知识的理解,同时增强其逻辑思维能力,另一方面对课堂所学理论知识作一个总结和补充 二、设计内容 (1)设计一线性相位FIR 数字低通滤波器,截止频率 ,过渡带宽度 , 阻带衰减dB A s 30>。 (2)设计一线性相位FIR 数字低通滤波器,截止频率 ,过渡带宽度 ,阻带衰减dB A s 50>。 三、设计原理 3.1数字低通滤波器的设计原理 3.1.1 数字滤波器的定义和分类 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。 从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF) [4]。 3.1.2 数字滤波器的优点 相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP 处理器(Digital Signal Processor)的出现和FPGA(FieldProgrammable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。 数字滤波器具有以下显著优点: 精度高:模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤0.2c ωπ=0.4ωπ?<0.2c ωπ=0.4ωπ?<
一、设计目的 1.掌握窗函数法设计FIR滤波器的原理和方法,观察用几种常用窗函数设计的 FIR数字滤波器技术指标; 2.掌握FIR滤波器的线性相位特性; 3.了解各种窗函数对滤波特性的影响。 二、设计原理 如果所希望的滤波器的理想频率响应函数为H d(e j J,则其对应的单位脉冲 1 响应为h d(n)=——f H (e恋)e j^dB,用窗函数W N(n)将h d(n)截断,并进行加权处 2兀7 理,得到实际滤波器的单位脉冲响应h(n)=h d(n)w N(n),其频率响应函数为 N _! H (e j ^ h(n)e」n。如果要求线性相位特性,贝U h(n)还必须满足 nM h(n)= h(N-1- n)。可根据具体情况选择h(n)的长度及对称性。 可以调用MATLAB工具箱函数firl实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft来计算滤波器的频率响应函数。 fir1是用窗函数法设计线性相位FIRDF hn=fir1(N, wc, ‘ ftype ' , window) fir1实现线性相位FIR滤波器的标准窗函数法设计。 hn=fir1(N,wc)可得到6 dB截止频率为wc的N阶(单位脉冲响应h(n)长度为 N+1)FIR低通滤波器,默认(缺省参数windows)选用hammiing窗。其单位脉冲响应 h(n)满足线性相位条件:h(n)=h(N-1-n) 其中wc为对n归一化的数字频率,OW wc< 1。 当wc= [wc1, wc2]时,得到的是带通滤波器。 hn=fir1(N,wc, ' ftype ') 当ftype=high时,设计高通FIR 当ftype=stop时,设计带阻FIR滤波器。 应当注意,在设计高通和带阻滤波器时,阶数N只能取偶数(h(n)长度N+1 为奇数)。不过,当用户将N设置为奇数时,fir1会自动对N加1。 hn=fir1(N,wc,window)可以指定窗函数向量window。如果缺省window参数,则 fir1默认为hamming窗。可用的其他窗函数有Boxcar, Hanning, Bartlett, Blackman, Kaiser和Chebwin 窗。例如:
基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB
The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB