弹拨音乐滤波去噪——使用GAUSSWIN设计的FIR滤波器

弹拨音乐滤波去噪——使用GAUSSWIN设计的FIR滤波器
弹拨音乐滤波去噪——使用GAUSSWIN设计的FIR滤波器

弹拨音乐滤波去噪

——使用GAUSSWIN设计的FIR滤波器学生姓名:季政府指导老师:胡双红

摘要本课程设计主要内容是设计利用窗口设计法选择GAUSSWIN设计一个FIR滤波器,对一段含噪弹拨音乐信号进行滤波去噪处理并根据滤波前后的波形和频谱分析滤波性能。本课程设计仿真平台为MATLAB7.0,开发工具是M语言编程。首先从网站上下载一段弹拨乐器演奏音乐,绘制波形并观察其频谱特点,然后加入一个带外单频噪声,用高斯窗设计一个满足指标的FIR滤波器,最后对该音乐信号进行滤波去噪处理,比较滤波前后波形和频谱并进行分析。由分析结果可知,滤波器后的弹拨音乐信号与原始信号基本一致,即设计的FIR滤波器能够去除信号中所加单频噪声,达到了设计目的。

关键词课程设计;滤波去噪;FIR滤波器;GAUSSWIN;MATLAB7.0

1 引言

本课程设计主要是将一段弹拨音乐信号加入噪声,然后用某种函数法设计出的FIR 滤波器对加入噪声后的弹拨音乐信号进行滤波去噪处理,处理时采用的是利用窗口设计法选择GAUSSWIN设计的FIR滤波器,通过课程设计了解FIR 滤波器设计的原理和步骤,掌握用Matlab 语言设计滤波器的方法,观察音乐信号滤波前后的时域波形的比较,加深对滤波器作用的理解[1]。

1.1课程设计的目的

数字信号处理(Digital Signal Proccessing,简称DSP)是一门涉及许多学科而广泛应用于许多领域的新型学科。20世纪60年代后,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得

到符合人们的需要的信号形式。

在本次课程设计中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类,第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频域采样法和等波纹最佳逼近法;第二类是最优设计法。

本次的课程设计主要采用的是第一类设计方法,是利用GAUSSWIN法设计FIR滤波器对一段弹拨音乐信号进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。此课程设计比较简单,主要是将书本中的知识应用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。对此,也可以加深我们对所学知识的理解,培养我们的动手能力。

1.2课程设计的要求

(1)滤波器指标必须符合工程实际。

(2)设计完后应检查其频率响应曲线是否满足指标。

(3)处理结果和分析结论应该一致,而且应符合理论。

(4)独立完成课程设计并按要求编写课程设计报告书。

1.3设计平台MATLAB

MATLAB是由美国Math Works公司20世纪80年代中期推出的数学软件。MATLAB 是“Matric Laboratory”的缩写,意及“矩阵实验室”,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。在欧美的高校和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。

MATLAB是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran和C语言等提高效率许多倍。许多人赞誉它为万能的数学“演算纸”。MATLAB采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数[2]。

MATLAB包含的内容非常丰富,功能强大,可以概括为以下几个方面:

(1)可以在多种操作系统下运行,如DOS、Windows 95/98/2000/2000/NT、Compaq Alpha、LinuxSun Solaris等。

(2)有超过500种的数学、统计、科学及工程方面的函数,使用简单快捷,并且有很强的用户自定义函数的能力。

(3)有强大的图形绘制和可视化功能,可以进行视觉数据处理和分析,进行图形、图像的显示及编辑,能够绘制二维、三维图形,使用户可以制作高质量的图形,从而写出图文并茂的文章。

(4)有从外部文件及外部硬件设备读入数据的能力。

(5)有丰富的工具箱〔toolbox〕。各个领域的专家学者将众多学科领域中常用的算法编写为一个个子程序,即m文件,这些m文件包含在一个个工具箱中。其工具箱可以分为两大类,即功能性工具箱和科学性工具箱。功能性工具箱主要用来扩充MATLAB 的符号计算、图形可视化、建模仿真、文字处理等功能以及与硬件实时交互的功能。学科性工具箱是按学科领域来分类的,如信号处理、控制、通信、神经网络图像处理、系统辨识、鲁棒控制、模糊逻辑、小波等工具箱。

MATLAB中的信号处理工具箱内容丰富,使用简便。在数字信号处理中常用的算法,如FFT,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语句即可以调用。数字信号处理所常用的函数有波形的产生、滤波器的分析和设计、傅里叶变换、Z变换等[3]。

2 设计原理

2.1 FIR滤波器

滤波器根据其冲激响应函数的时域特性,可分为2种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。FIR和IIR的滤波原理都是进行卷积,就是对数入信号进行某种计算。FIR用处就在于对数字信号进行必要的处理,得到所需的输出信号。

FIR系统有自己突出的优点:系统总是稳定的;易实现线性相位;允许设计多通带(或多阻带)滤波器,后两项都是IIR系统不易实现的。FIR数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和Chebyshev逼近法等。随着Matlab软件尤其是Matlab的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而

且还可以使设计达到最优化。

FIR 数字滤波器设计的基本步骤如下:

(1)确定技术指标

在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以2种方式给出。第一种是绝对指标。他提供对幅度响应函数的要求,一般应用于FIR 滤波器的设计。第二种指标是相对指标。他以分贝值的形式给出要求。本文中滤波器的设计就以线性相位FIR 滤波器的设计为例。

(2)逼近

确定了技术指标后,就可以建立一个目标的数字滤波器模型(通常采用理想的数字滤波器模型)。之后,利用数字滤波器的设计方法(窗函数法、频率采样法等),设计出一个实际滤波器模型来逼近给定的目标。

(3)性能分析和计算机仿真

上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断[4]。

2.2窗口设计法

窗口法设计的基本想法是要选取某一种合适的理想频率选择性滤波器(这种滤波器总是有一个非因果,无限长的脉冲响应),然后将它的脉冲响应截断(或加窗)以得到一个线性相位和因果的FIR 滤波器。因此,这种方法的重点在于选择某种恰当的窗函数和一个合适的理想滤波器。现用)(jw d e H 代表一理想频率选择性滤波器,它在整个通带内有单位幅度增益和线性相位特性,而阻带内有零响应[5]。

用窗口设计法基本步骤如下:

(1)构造希望逼近的频率响应函数()ωj d e H 。以低通线性相位FIRDF 设计为例,一般选择()

ωj d e H 为线性理想低通滤波器,即 ()???=-,

,0ωτωj j d e e H πωωωω≤<≤c c (2-1) 其中c w 也称为截止频率,α称为样本延迟。

(2)这个滤波器的脉冲响应应该具有无限长,求出()n h d 。对()ωj d e H 进行IFT 得到 )

()](sin[)(21

)(τπτπππ--==?-n n w dw e e H n h c jwn jw d d (2-2) 注意,)(n H d 是关于α对称的,这一点对于线性相位FIR 滤波器来说是有用的。

(3)为了从)(n H d 得到一个FIRl 滤波器必须在)(n H d 两边将它截断。为了得到一个长度为M 的因果且线性相位的FIR 滤波器)(n h ,就必须有

()?

??-≤≤=n 010)(,其他,M n n h n h d 和21-M =? (2-3) 这种运算叫做“加窗”,一般来说,()n h 可以当做是()n h d 和某一窗函数)(n w 相乘而得到的即

()()n w n h n h d =)( (2-4)

式中,()n w 称为窗口函数,其长度为N 。

窗口法设计的基本思想:对于给定的滤波器技术要求,选择滤波器长度M 和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数)(n w [6]。

常见的窗函数性能表如下表2-1所示。

表2-1 常见的窗函数性能表

2.3 GAUSSIAN 窗

高斯窗是一种指数窗。高斯窗谱无负的旁瓣,第一旁瓣衰减达-55dB 。高斯幅度谱的主瓣较宽,故而频率分辨力低。高斯窗函数常被用来截短一些非周期信号,如指数衰减信号等。

GAUSSWIN 的时域形式可以表示为:

??2)2/2/(211N N k e k w --=+α (2-5)

其中k 与α的取值范围必须满足0≤≤k N,≥α 2

以下是画高斯图和幅度响应图的主程序:

M=100;

n=0:M-1;

gauss=gausswin(M);

hd_bs=ideal_lp(0.5*pi,M);

h_bs=hd_bs.*gauss';

[db,mag,pha,grd,w]=freqz_m(h_bs,1);

高斯窗及其幅度响应图如图2-1所示。

00.10.20.30.40.5

0.60.70.80.91-100-50

w/pi d B 幅度响应0102030405060

708090100

n

w (n )高斯窗

图2-1高斯窗及其幅度响应图

3设计步骤

3.1设计流程图

滤波器设计流程图如图3-1所示。

图3-1 滤波器设计流程图

3.2 下载并截取弹拨音乐信号

从网上下载一段弹拨音乐,从中截取一段格式为.wav的语音信号,时间为4—5S,并加入噪声。在MALAB平台上,观察原始语音信号与加入噪声后的时域和频谱图。

原程序如下:

>>[x,fs,bits]=wavread('高山流水2.wav'); %读取音乐信号的数据

sound(x,fs,bits);

N=length(x); % 计算信号x的长度

fn=5000; % 单频噪声频率

t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率x=x(:,1);x=x';

y=x+ 0.1*sin(fn*2*pi*t); %加单频噪声

sound(y,fs,bits); % 应该可以明显听出有尖锐的单频啸叫声X=abs(fft(x));

Y=abs(fft(y)); % 对原始信号和加噪信号进行fft变换

X=X(1:length(X)/2);

Y=Y(1:length(Y)/2); %截取前半部分

deltaf=fs/2/length(X); %计算频谱的谱线间隔

f=0:deltaf:fs/2-deltaf; %计算频谱频率范围

figure (1);

原始信号与含噪信号的时域图和频域图如图3-2所示。

图3-2 原始信号和含噪的信号时域图和频谱图

3.3 滤波器设计

截取好原始信号,接下来的工作是设计一个GAUSSIAN 窗滤波器,

利用公式:

Rp=-(min(db(1:1:wp/delta_w+1))) (3-1)

As=-round(max(db(ws/delta_w+1:1:501))) (3-2)分别得到通带波纹及最小阻带衰减,并输入相应滤波器(高斯窗)的频率参数,接着用freqz求得滤波器的相应频率特性。

源程序如下:

fpd=4700;fsd=4850;fsu=5150;fpu=5300;Rp=1;As=60 %带阻滤波器设计指标

fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;

df=min((fsd-fpd),(fpu-fsu)); %计算上下带中心频率和频率间隔

wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; % 将Hz为单位的模拟频率换算为rad为单位的数字频率

wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi;

M=ceil(10.8*pi/dw)+1; %计算GAUSSWIN窗设计该滤波器时需要的阶数

n=0:M-1; %定义时间范围

gauss=gausswin(M);

hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M);% 调用自编函数计算理想带阻滤波器的脉冲响应

h_bs=gauss'.*hd_bs; % 用窗口法计算实际滤波器脉冲响应

[db,mag,pha,grd,w]=freqz_m(h_bs,1); %调用自编函数计算滤波器的频率特性figure (2);

滤波器幅度响应图、相位响应图、脉冲响应图如图3-3所示。

图3-3 滤波器幅度和相位响应图

3.4信号滤波处理

设计好滤波器后,我们要对语音信号进行滤波,对比滤波前和滤波后的语音信号。

原程序如下:

y_fil=fftfilt(h_bs,y); %用设计好的滤波器对y进行滤波

Y_fil=abs(fft(y_fil));

Y_fil=Y_fil(1:length(Y_fil)/2); %计算频谱取前一半

y_fil=fftfilt(h_bs,y); %用设计好的滤波器对y进行滤波

Y_fil=abs(fft(y_fil));Y_fil=Y_fil(1:length(Y_fil)/2); %计算频谱取前一半

figure (3);

弹拨音乐原始信号、加噪后信号与滤波后信号的时域、频域图如图3-4所示。

图3-4滤波前和滤波后的对比

3.5结果分析

通过观察上图,滤波后的语音信号发生了衰减,说明滤波器起到了滤波作用,同时通过频谱对比,可以看出滤波器滤掉了一部分频率范围内的信号。分别听原始语音和滤波后的语音信号,发现滤波后的语音信号噪声减小了,同时原始信号强度稍有减弱,基本达到了滤波的效果。

4出现的问题及解决方法

在本次课程设计中我们设计的滤波器对音乐信号的滤噪处理中,我遇到了许多细节疏忽和一些比较难处理的问题,当遇到问题时,我们不但运用自己学到的知识将其解决,还得到了同学老师的帮助,将其不断完善和修改。设计中出现的问题及解决方法如下:

1、在调用音乐时,用了语句[x,fs,bits]=wavread('高山流水2.wav');出现错误,后来得知我下载的高山流水高山流水音乐是MP3格式,不是wav格式,后来用千千静听软件将其改为wav格式之后就正确了。

2、在运用Matlab设计滤波器时,当编辑完前面两条程序时无法发出声音,后来发现我们应当把音乐信号wav文件放到Matlab的work文件夹中。

3、在对加入噪声后的音乐信号用FIR滤波器进行去噪处理时,所编写的函数出现错误,绘制不出图形,分析错误主要是因为调用FIR滤波器是所用的函数改为fftfilt函数。

4、在进行音乐信号的提取时没设采样频率,结果频率没达到要求,通过向老师询问,在windows自带录音机软件中改变音乐信号频率的属性,使时域图达到了要求。

5、绘制出滤波后的的波形,发现FIR滤波器没有滤掉单频噪声。通过自己仔细的检查,是单频噪声的频率改动后,FIR滤波器没有改动。所以单频噪声的频率也应该先定义,FIR滤波器的截止频率应该以单频信号的频率为中心,这样重新运行后,结果正确。

6、在采用gausswin 窗设计的FIR 滤波器时得不到理想的滤波器,把通带截止频率与阻带起始频率之间的差值设置的太小或者太大,后来通过适当的选择参数fp 和fs,绘制出来的图形效果比较明显,基本符合设计指标。这样通过MATLAB 运算出来的滤波器的阻带波纹达到了滤波器设计的要求,得到了比较理想的滤波器。

7、还要在滤波器性能曲线的wc处画一根竖线,这样更方便看出结果,其中wc处线的确定还需计算出wb/pi的值。

8、所有的时间波形横坐标都要化为时间,滤波前后频谱的横坐标应是频率,这样在观察同代截止频率和阻带截止频率时更加精确,误差较小。对利用gausswin函数设计FIR 滤波器的设计步骤很生疏,不知如何计算M 的值,自己上网查阅资料,或向图书馆借阅资料,掌握利用gausswin 窗函数设计FIR 滤波器的方法和步骤。通过同学的帮助,利用matlab 编写关于gausswin 的M 文件得到text5 函数,再通过 4 个不同参数代入text5 函数,计算出过渡带宽。

9、在对滤波器进行设计的过程中,由于程序较多,总会或多或少出现些错误,但是通过请教同学,在程序包中找到了freqz_m.m和ideal_lp.m这两个程序包,从而解决了对滤波器的设计问题。

10、最后当观察滤波前和滤波后的时域和频域波形对比图时,发现滤波后的信号频

谱仍有一小段噪声没有滤除,但是与未滤波前的噪声相比,这一小段噪声可以忽略,通过听取前后两段语音信号也没有出现任何问题。

5结束语

至此,本次课程设计就告一个段落了。这次课程设计中,是对上学期的专业课数字信号处理和MATLAB的一次复习,和通过实践加深了对所学知识的理解,所以这次课程设计对每位同学来说都是受益颇多的。

学习的过程是相互讨论共同进步的,多多讨论课题中遇到的问题,可以巩固我们的知识掌握能力,增加熟练运用度。

从本次课程设计的中心来看,课题是希望将数字信号处理技术应用于某一实际领域,这里就是指对音乐的处理。作为存储于计算机中的音乐信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。

在这里,用到了处理数字信号的强有力工具MATLAB,通过MATLAB里几个命令函数的调用,很轻易的在实际化音乐与数字信号的理论之间搭了一座桥。课题的特色在于它将音乐看作了一个向量,于是音乐数字化了,则可以完全利用数字信号处理的知识来解决。我们可以像给一般信号做频谱分析一样,来给音乐信号做频谱分析,也可以较容易的用数字滤波器来对音乐进行滤波处理。改变参数,理论结合实际,分析各参数对图形的影响,从而加深对各个参数的理解。在完成这次课程设计过程中学到了许多东西,进一步理解了滤波器设计方法和各参数意义,通过分析信号时域和频域的关系等,加深了对滤波性能的理解,而且学会了使用Matlab一些基本函数,增加了进一步学习Matlab软件的兴趣。同时,通过本次课程设计,锻炼了我的动手能力,和提高了我分析问题,解决问题的能力。

同学们在一起思考问题,通过亲自动手做一个FIR滤波器,发现了许多潜在的问题,而这些问题是在平常被我们所忽略的,甚至认为是不成问题的。让我再次感受到我们应当把所学知识和实践相结合,才能够超越水平,取得更大的发展。在这次课程设计中,胡双红老师给了我们很大的帮助和启发,随时随地为我们答疑,引导我们思考,而不是一味的接受。在这里向所有所有老师和同学给予的热心支持和帮助表示感谢,谢谢你们。

参考文献

[1] 程佩青.数字信号处理教程[M].北京:清华大学出版社,2002

[2] 薛年喜主编.MATLAB 在数字信号处理中的应用.北京:清华大学出版社

[3] 维纳·K·恩格尔,约翰·G·普罗克斯.《数字信号处理》.西安交通大学出版社,2002

[4] 陈其宗.数字信号处理频谱计算与滤波器设计[M].北京:电子工业出版社,2002

[5] 刘敏,魏玲.Matlab通信仿真与应用[M].北京:国防工业出版社,2001

[6] 百科ROBOT,zivenwong.窗函数.百度百科:

附录1:弹拨音乐信号滤波去噪设计源程序清单

% 程序名称:voicenoisefilter.m

% 程序功能:采用基于gausswin的窗口设计法,设计FIR滤波器对含噪语音进行滤波去噪处理。

% 程序作者:季政府

/% 最后修改日期:2012-3-2

[x,fs,bits]=wavread('高山流水2.wav');

sound(x,fs,bits);

N=length(x); % 计算信号x的长度

fn=5000; % 单频噪声频率

t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率

x=x(:,1);

x=x';

y=x+ 0.1*sin(fn*2*pi*t); %加单频噪声

sound(y,fs,bits); % 应该可以明显听出有尖锐的单频啸叫声

X=abs(fft(x)); Y=abs(fft(y)); % 对原始信号和加噪信号进行fft变换

X=X(1:length(X)/2); Y=Y(1:length(Y)/2); %截取前半部分

deltaf=fs/2/length(X); %计算频谱的谱线间隔

f=0:deltaf:fs/2-deltaf; %计算频谱频率范围

figure (1);

subplot(2,2,1);plot(t,x);grid on;

xlabel('时间(单位:s)');ylabel('幅值');title(' 原始语音信号');axis tight;

subplot(2,2,2);plot(f,X);grid on;

xlabel('频率(单位:Hz)');ylabel('幅度谱');title('语音信号幅度谱图');axis tight;

subplot(2,2,3);plot(t,y);grid on;

xlabel('时间(单位:s)');ylabel('幅值');title(' 加入单频干扰后语音信号');axis tight; subplot(2,2,4);plot(f,Y);grid on;

xlabel('频率(单位:Hz)');ylabel('幅度谱');title('加入干扰后的语音信号幅度谱图');axis([-inf inf 0 250]);

fpd=4700;fsd=4850;fsu=5150;fpu=5300;Rp=1;As=60; %带阻滤波器设计指标

fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;

df=min((fsd-fpd),(fpu-fsu)); %计算上下带中心频率和频率间隔

wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; % 将Hz为单位的模拟频率换算为rad为单位的数字频率

wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi;

M=ceil(10.8*pi/dw)+1; %计算GAUSSWIN窗设计该滤波器时需要的阶数

n=0:M-1; %定义时间范围

gauss=gausswin(M);

hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M);% 调用自编函数计算理想带阻滤波器的脉冲响应

h_bs=gauss'.*hd_bs; % 用窗口法计算实际滤波器脉冲响应

[db,mag,pha,grd,w]=freqz_m(h_bs,1); %调用自编函数计算滤波器的频率特性

figure (2);

subplot(2,2,1);plot(w/pi,db,'LineWidth',2);axis([-inf,inf,-80,10]);

a=[0 3.15];b=[-60 -60];line(a, b,'Color','r','LineStyle','--', 'LineWidth',2);

a=[0 3.15];b=[-1 -1];line(a, b,'Color','r','LineStyle','--', 'LineWidth',2);

a=[wsd/pi wsd/pi];b=[-150 10];line(a, b,'Color','r','LineStyle','--', 'LineWidth',2);

a=[wsu/pi wsu/pi];b=[-150 10];line(a, b,'Color','r','LineStyle','--', 'LineWidth',2);

xlabel('w/pi');ylabel('dB');title('滤波器幅度响应图');axis([0,1,-70,10]);grid on;

subplot(2,2,2);plot(w/pi,mag); grid on;

xlabel('w/pi');ylabel('幅度mag');title('滤波器幅度响应图');axis([0,1,0,1.2]);

subplot(2,2,3);plot(w/pi,pha); grid on;

xlabel('w/pi');ylabel('相位pha');title('滤波器相位响应图');axis tight;

subplot(2,2,4);stem(n,h_bs, 'LineWidth',2);grid on;

xlabel('n');ylabel('h(n)');title('滤波器脉冲响应图');axis([-inf,inf,-0.1,1.1]);

y_fil=fftfilt(h_bs,y); %用设计好的滤波器对y进行滤波

Y_fil=abs(fft(y_fil));Y_fil=Y_fil(1:length(Y_fil)/2); %计算频谱取前一半

y_fil=fftfilt(h_bs,y); %用设计好的滤波器对y进行滤波

Y_fil=abs(fft(y_fil));Y_fil=Y_fil(1:length(Y_fil)/2); %计算频谱取前一半

figure (3);

subplot(3,2,1);plot(t,x);grid on;

xlabel('时间t');ylabel('幅度');title('原始语音信号时间x');axis tight;

subplot(3,2,2);plot(f,X);grid on;

xlabel('频率f');ylabel('幅度');title('原始语音信号幅度谱X');axis tight;

subplot(3,2,3);plot(t,y);grid on;

xlabel('时间t');ylabel('幅度');title('加干扰语音信号时间x1');axis tight;

subplot(3,2,4);plot(f,Y);grid on;

xlabel('频率f');ylabel('幅度');title('加干扰语音信号幅度谱X1');axis([-inf inf 0 250]); subplot(3,2,5);plot(t,y_fil);grid on;

xlabel('时间t');ylabel('幅度');title('滤波后语音信号时间y');axis tight;

subplot(3,2,6);plot(f,Y_fil);grid on;

xlabel('频率f');ylabel('幅度');title('滤波后语音信号幅度谱Y');axis tight;

sound(x,fs,bits);

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

电子科技大学信息与软件工程学院学院标准实验报告 (实验)课程名称数字信号处理 电子科技大学教务处制表

电 子 科 技 大 学 实 验 报 告 学生姓名: 学 号: 指导教师: 实验地点: 实验时间:14-18 一、实验室名称:计算机学院机房 二、实验项目名称:fir 低通滤波器的设计 三、实验学时: 四、实验原理: 1. FIR 滤波器 FIR 滤波器是指在有限范围内系统的单位脉冲响应h[k]仅有非零值的滤波器。M 阶FIR 滤波器的系统函数H(z)为 ()[]M k k H z h k z -==∑ 其中H(z)是k z -的M 阶多项式,在有限的z 平面内H(z)有M 个零点,在z 平面原点z=0有M 个极点. FIR 滤波器的频率响应 ()j H e Ω 为 0 ()[]M j 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 滤波器 窗函数设计法又称为傅里叶级数法。这种方法首先给出()j d H e Ω, ()j d H e Ω 表示要逼近的理想滤波器的频率响应,则由IDTFT 可得出滤波器的单位脉冲响应为 1 []()2j jk d d h k H e e d π π π ΩΩ-= Ω ? 由于是理想滤波器,故 []d h k 是无限长序列。但是我们所要设计的FIR 滤波 器,其h[k]是有限长的。为了能用FIR 滤波器近似理想滤波器,需将理想滤波器的无线长单位脉冲响应 []d h k 分别从左右进行截断。 当截断后的单位脉冲响应 []d h k 不是因果系统的时候,可将其右移从而获得因果的FIR 滤波器。

fir低通滤波器设计报告

滤波器设计原理 本文将介绍数字滤波器的设计基础及用窗函数法设计FIR 滤波器的方法,运用MATLAB 语言实现了低通滤波器的设计以及用CCS软件进行滤波效果的观察。读取语音文件,并加入一定的随机噪声,最后使用窗函数滤波法进行语音滤波,将加噪后的语音文件转换为.dat文件使其能和ccs软件链接,输出个阶段的时域和频域波形。 根据数字滤波器冲激响应函数的时域特性。可将数字滤波器分为两种,即无限长冲激响应( IIR) 滤波器和有限长冲激响应(FIR) 滤波器。IIR 滤波器的特征是具有无限持续时间的冲激响应;FIR 滤波器冲激响应只能延续一定时间。其中FIR 滤波器很容易实现严格的线性相位,使信号经过处理后不产生相位失真,舍入误差小,稳定等优点。能够设计具有优良特性的多带通滤波器、微分器和希尔伯特变换器,所以在数字系统、多媒体系统中获得极其广泛的应用。FIR数字滤波器的设计方法有多种,如窗函数设计法、最优化设计和频率取样法等等。而随着MATLAB软件尤其是MATLAB 的信号处理工具箱和Simulink 仿真工具的不断完善,不仅数字滤波器的计算机辅助设计有了可能而且还可以使设计达到最优化。 FIR滤波器的窗函数法的设计 采用汉明窗设计低通FIR滤波器 使用b=fir1(n,Wn)可得到低通滤波器。其中,0Wn1,Wn=1相当于0.5。其语法格式为 b=fir1(n,Wn); 采用:b=fir1(25, 0.25); 得到归一化系数:

或者在命令行输入fdatool进入滤波器的图形设置界面,如下图所示 得到系数(并没有归一化) const int BL = 26; const int16_T B[26] = { -26, 33, 126, 207, 138, -212, -757, -1096, -652, 950, 3513, 6212, 7948, 7948, 6212, 3513, 950, -652, -1096, -757, -212, 138, 207, 126, 33, -26 }; FIR滤波器的设计(Matlab) 技术指标为:采用25阶低通滤波器,汉明窗(Hamming Window)函数,截止频率为1000Hz,采样频率为8000Hz,增益40db。 下面的程序功能是:读取语音文件,并加入一定的随机噪声,最后使用窗函数滤波法进行语音滤波,将加噪后的语音文件转换为.dat文件使其能和ccs软件链接,输出个阶段的时域和频域波形。

FIR数字滤波器设计与使用

实验报告 课程名称:数字信号处理指导老师:刘英成绩:_________________实验名称: 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

基于matlab的FIR低通高通带通带阻滤波器设计

基于matlab的FIR低通-高通-带通-带阻滤波器设计

————————————————————————————————作者:————————————————————————————————日期:

北京师范大学 课程设计报告 课程名称: DSP 设计名称:FIR 低通、高通带通和带阻数字滤波器的设计姓名: 学号: 班级: 指导教师: 起止日期: 课程设计任务书

学生班级: 学生姓名: 学号: 设计名称: FIR 低通、高通带通和带阻数字滤波器的设计 起止日期: 指导教师: 设计目标: 1、采用Kaiser 窗设计一个低通FIR 滤波器 要求: 采样频率为8kHz ; 通带:0Hz~1kHz ,带内波动小于5%; 阻带:1.5kHz ,带内最小衰减:Rs=40dB 。 2、采用hamming 窗设计一个高通FIR 滤波器 要求: 通带截至频率wp=rad π6.0, 阻带截止频率ws=rad π4.0, 通带最大衰减dB p 25.0=α,阻带最小衰减dB s 50=α 3、采用hamming 设计一个带通滤波器 低端阻带截止频率 wls = 0.2*pi ; 低端通带截止频率 wlp = 0.35*pi ; 高端通带截止频率 whp = 0.65*pi ; 高端阻带截止频率 whs = 0.8*pi ; 4、采用Hamming 窗设计一个带阻FIR 滤波器 要求: 通带:0.35pi~0.65pi ,带内最小衰减Rs=50dB ; 阻带:0~0.2pi 和0.8pi~pi ,带内最大衰减:Rp=1dB 。

FIR 低通、高通带通和带阻数字滤波器的设计 一、 设计目的和意义 1、熟练掌握使用窗函数的设计滤波器的方法,学会设计低通、带通、带阻滤波器。 2、通过对滤波器的设计,了解几种窗函数的性能,学会针对不同的指标选择不同的窗函数。 二、 设计原理 一般,设计线性相位FIR 数字滤波器采用窗函数法或频率抽样法,本设计采用窗函数法,分别采用海明窗和凯泽窗设计带通、带阻和低通。 如果所希望的滤波器的理想频率响应函数为)(jw d e H ,如理想的低通,由信号系统的知识知道,在时域系统的冲击响应h d (n)将是无限长的,如图2、图3所示。 H d (w) -w c w c 图2 图3 若时域响应是无限长的,则不可能实现,因此需要对其截断,即设计一个FIR 滤波器频率响应∑-=-=1 0)()(N n jwn jw e n h e H 来逼近)(jw d e H ,即用一个窗函数w(n)来 截断h d (n),如式3所示: )()()(n w n h n h d = (式1)。 最简单的截断方法是矩形窗,实际操作中,直接取h d (n)的主要数据即可。 )(n h 作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数为: ∑-=-=1 0)()(N n jwn jw e n h e H (式2) 令jw e z =,则 ∑-=-=1 0)()(N n n z n h z H (式3), 式中,N 为所选窗函数)(n w 的长度。

FIR低通数字滤波器的设计要点

《DSP技术与应用》课程设计报告 课题名称:基于DSP Builder的FIR数字滤波器的设计与实现 学院:电子信息工程学院 班级:11级电信本01班 学号: 姓名:

题目基于DSP Builder的FIR数字滤波器的设计与实现 摘要 FIR数字滤波器是数字信号处理的一个重要组成部分,由于FIR数字滤波器具有严格的线性相位,因此在信息的采集和处理过程中得到了广泛的应用。本文介绍了FIR数字滤波器的概念和线性相位的条件,分析了窗函数法、频率采样法和等波纹逼近法设计FIR滤波器的思路和流程。在分析三种设计方法原理的基础上,借助Matlab仿真软件工具箱中的fir1、fir2和remez子函数分别实现窗函数法、频率采样法和等波纹逼近法设计FIR滤波器。然后检验滤波器的滤波效果,采用一段音频进行加噪声然后用滤波器滤,对比三段音频效果进而对滤波器的滤波效果进行检验。仿真结果表明,在相频特性上,三种方法设计的FIR滤波器在通带内都具有线性相位;在幅频特性上,相比窗函数法和频率采样法,等波纹逼近法设计FIR滤波器的边界频率精确,通带和阻带衰减控制。

Abstract FIR digital filter is an important part of digital signal processing, the FIR digital filter with linear phase, so it has been widely applied in the collection and processing of information in the course of. This paper introduces the concept of FIR digital filter with linear phase conditions, analysis of the window function method and frequency sampling method and the ripple approximation method of FIR filter design ideas and processes. Based on analyzing the principle of three kinds of design methods, by means of fir1, fir2 and Remez function of Matlab simulation software in the Toolbox window function method and frequency sampling method and respectively realize equiripple approximation method to design FIR filter. Then test the filtering effect of the filter, using an audio add noise and then filter, test three audio effects and comparison of filter filtering effect. Simulation results show that the phase frequency characteristic, three design methods of FIR filter with linear phase are in the pass band; the amplitude frequency characteristics, compared with the window function method and frequency sampling method, equiripple approximation method Design of FIR filter with accurate boundary frequency, the passband and stopband attenuation control.

用窗函数法设计FIR数字低通滤波器要点

河北科技大学课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期 指导教师: 20 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间 设计题目 指 导 教 师 评 指导教师: 语 年月日

目录 1. 窗函数设计低通滤波器 1.1设计目的 (1) 1.2设计原理推导与计算 (1) 1.3设计内容与要求 (2) 1.4设计源程序与运行结果 (3) 1.5思考题 (10) 1.6心得体会 (14) 参考文献 (15)

1.窗函数设计低通滤波器 1.1设计目的 1. 熟悉设计线性相位数字滤波器的一般步骤。 2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。 3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。 4. 学会根据指标要求选择合适的窗函数。 1.2设计原理推导与计算 如果所希望的滤波器的理想的频率响应函数为() ωj d e H ,则其对应的单位脉冲响应为 ()() ωπ ωωπ π d e e H n h j j d d ?- = 21 (4.1) 窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数() ωj e H ,即 () ?????≤<≤=-π ωωωωωαω c c j j d ,, e e H 0,其中21-=N α ()() ()[]() a n a n d e e d e e H n h c j j j j d d c c --= = = ??- -- πωωπ ωπ ωαωω ωαω π π ω sin 21 21 用有限长单位脉冲响应序列()n h 逼近()n h d 。由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到: ()()()n n h n h d ω= (4.2) ()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函 数() ωj e H 为 ()()n j N n j e n h e H ωω ∑-==1 (4.3) 式中,N 为所选窗函数()n ω的长度。 用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取

FIR数字滤波器设计及软件实现

实验五:FIR数字滤波器设计及软件实现 一、实验目的: (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 二、实验内容及步骤: (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和fftfilt的功能及其调用格式请查阅本课本;

○ 2采样频率Fs=1000Hz ,采样周期T=1/Fs ; ○ 3根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz ,阻带截至频率fs=150Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。] ○ 4实验程序框图如图2所示。 图2 实验程序框图 三、实验程序: 1、信号产生函数xtg 程序清单: %xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz %载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz. function xt=xtg N=1000;Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T; fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;

窗函数设计FIR低通滤波器汇总

西南科技大学 课程设计报告 课程名称:数字信号处理与通信原理课程设计 设计名称: FIR数字滤波器分析与应用 姓名: 学号: 班级: 指导教师: 起止日期: 6.26 – 7.6

课程设计任务书 学生班级:通信学生姓名:学号: 设计名称:窗函数设计FIR低通滤波器 起止日期: 6.26~7.6 指导教师: 课程设计学生日志

课程设计考勤表 课程设计评语表

窗函数设计FIR 低通滤波器 一、设计目的和意义: 1、目的 (1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。 (2) 熟悉线性相位FIR 数字滤波器特性。 (3) 了解各个窗函数对滤波器特性的影响。 2、意义:有限长单位冲激响应数字滤波器可以做成具有严格的线性相位,同时又可以具 有任意的幅度特性。滤波器的性能只由窗函数的形状决定。 二、设计原理: 假如题目所要求设计的滤波器的频率响应为H d (e ωj ),则要设计一个FIR 滤波器频应为 H(e ω j )= ∑=-1 -N 0 n j )(n e n h ω ()1 来逼近。但是设计却是在时域进行的,所以用傅氏反变换导出h d (n): h d (n) = ωπ π π ωωd e e H n j j d ? -)(21 ()2 但是要求设计的FIR 滤波器,它的h(n)是有限长的,但是h d (n)却是无限长的,所以要用一个有限长度的窗函数)(n ω来截取h d (n),即 h(n)= )(n ωh d (n) ()3 h(n)就是实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数即为()1式,其中N 就是所选择的窗函数)(n ω的长度。 本课程设计的要求是利用矩形窗,海宁窗,汉明窗各设计一个FIR 低通滤波器。因此 首先对这三个窗函数进行简要说明。 1.矩形窗:

FIR低通数字滤波器的设计要点

FIR低通数字滤波器的设计要点 《DSP技术与应用》 课程设计报告 课题名称:基于DSP Builder的FIR数字滤波器的设计与实现 学院:电子信息工程学院 班级: 11级电信本01班 学号: 姓名: 题目基于DSP Builder的FIR数字滤波器的设计与实现 摘要 FIR数字滤波器是数字信号处理的一个重要组成部分,于FIR数字滤波器具有严格的线性相位,因此在信息的采集和处理过程中得到了广泛的应用。介绍了FIR数字滤波器的概念和线性相位的条件,分析了窗函数法、频率采样法和等波纹逼近法设计FIR滤波器的思路和流程。在分析三种设计方法原理的基础上,借助Matlab仿真软件工具箱中的fir1、fir2和remez子函数分别实现窗函数法、频率采样法和等波纹逼近法设计FIR滤波器。然后检验滤波器的滤波效果,采用一段音频进行加噪声然后用滤波器滤,对比三段音频效果

进而对滤波器的滤波效果进行检验。仿真结果表明,在相频特性上,三种方法设计的FIR滤波器在通带内都具有线性相位;在幅频特性上,相比窗函数法和频率采样法,等波纹逼近法设计FIR滤波器的边界频率精确,通带和阻带衰减控制。 Abstract FIR digital filter is an important part of digital signal processing, the FIR digital filter with linear phase, so it has been widely applied in the collection and processing of information in the course of. This paper introduces the concept of FIR digital filter with linear phase conditions, analysis of the window function method and frequency sampling method and the ripple approximation method of FIR filter design ideas and processes. Based on analyzing the principle of three kinds of design methods, by means of fir1, fir2 and Remez function of Matlab simulation software in the Toolbox window function method and frequency sampling method and respectively realize equiripple approximation method to design FIR filter. Then test the filtering effect of the filter, using an audio add noise and then filter, test three audio effects and

(完整版)基于DSP的FIR数字低通滤波器设计

电气控制技术应用设计 题目基于DSP的FIR数 字低通滤波器设计 二级学院电子信息与自动化学院 专业电气工程及其自动化 班级 113070404 学生姓名黄鸿资学号 11307991032 学生姓名姜天宇学号 11307991015 指导教师蒋东荣 时间:2016年8月29日至2016年9月9日 考核项目平时成绩20分设计35分报告15分答辩30分得分 总分考核等级教师签名

一绪论 (3) (一)课题设计的目的 (3) (二)课题内容 (3) (三)设计方法 (3) (四)课程设计的意义 (4) 二FIR滤波器基本理论 (4) (一)FIR滤波器的特点 (4) (二)FIR滤波器的基本结构 (4) (三)Chebyshev逼近法 (5) 三用MATLAB辅助DSP设计FIR滤波器 (5) (一)利用fir函数设计FIR滤波器并在在MATLAB环境仿真 (6) (二) Matlab中自带工具箱FDATool快速的实现滤波器的设计 (10) 1.确定一个低通滤波器指标 (10) 2.打开MATLAB的FDATool (10) 3.选择Design Filter (11) 4.滤波器分析 (11) 5.导出滤波器系数 (13) (三)滤波器设计总结 (13) (四)DSP所需文件配置 (14) 四基于DSP的FIR滤波器实现 (14) (一)DSP中滤波器的算法实现 (15) 1.线性缓冲区法 (15) 2.循环缓冲区法 (15) (二)C语言实现FIR (15) (三)CSS仿真调试 (17) (四)滤波器的仿真测试 (18) 五 DSP数字滤波器与硬件低通滤波器对比 (21) (一)二阶有源低通滤波电路的构建 (21) (二)二阶低通滤波器参数计算 (22) (三)在protues环境下的仿真测试 (22) (四)实物硬件连接以及测试结果 (22) (五)利用FilterPro的低通滤波器设计 (23) 1 选择filter类型 (24) 2 滤波器参数设定 (24) 3 滤波器的算法选择 (25) 4 滤波器的拓扑结构选择 (25) (六) DSP数字滤波器与硬件电路滤波器对比总结 (26) 六课程设计总结 (26) 参考文献 (28)

FIR低通滤波器设计

信息处理课程设计 姓名 班级 学院 学号

目录 一、前言 二、FIR滤波器简介 三、FIR低通滤波器的设计 四、FIR数字滤波器程序设计与仿真 五、小结 六、参考文献

一、前言 数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。 数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。 数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。 数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及FIR滤波器。 二、FIR滤波器简介 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。 有限长单位冲激响应(FIR)滤波器有以下特点: (1) 系统的单位冲激响应h (n)在有限个n值处不为零; (2) 系统函数H(z)在|z|>0处收敛,极点全部在z = 0处(因果系统); (3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。

基于matlab的FIR低通,高通,带通,带阻滤波器设计

北京师范大学 课程设计报告 课程名称:DSP 设计名称: FIR 低通、高通带通和带阻数字滤波器的设计姓名: 学号: 班级: 指导教师: 起止日期: 课程设计任务书

学生班级:设计名称:起止日期:学生姓名:学号: FIR 低通、高通带通和带阻数字滤波器的设计指导教师: 设计目标: 1、采用 Kaiser 窗设计一个低通 FIR 滤波器 要求: 采样频率为 8kHz ; 通带: 0Hz~1kHz,带内波动小于5%; 阻带: 1.5kHz,带内最小衰减: Rs=40dB。 2、采用 hamming 窗设计一个高通FIR 滤波器 要求: 通带截至频率wp= 0.6 rad , 阻带截止频率ws= 0.4 rad, 通带最大衰减p0.25dB ,阻带最小衰减s50dB 3、采用 hamming设计一个带通滤波器 低端阻带截止频率wls = 0.2*pi; 低端通带截止频率wlp = 0.35*pi; 高端通带截止频率whp = 0.65*pi; 高端阻带截止频率whs = 0.8*pi; 4、采用 Hamming 窗设计一个带阻 FIR 滤波器 要求: 通带: 0.35pi~0.65pi,带内最小衰减Rs=50dB; 阻带: 0~0.2pi 和 0.8pi~pi,带内最大衰减: Rp=1dB。

FIR 低通、高通带通和带阻数字滤波器的设计 一、设计目的和意义 1、熟练掌握使用窗函数的设计滤波器的方法,学会设计低通、带通、带阻滤 波器。 2、通过对滤波器的设计,了解几种窗函数的性能,学会针对不同的指标选择 不同的窗函数。 二、设计原理 一般,设计线性相位 FIR 数字滤波器采用窗函数法或频率抽样法,本设计采用窗 函数法,分别采用海明窗和凯泽窗设计带通、带阻和低通。 如果所希望的滤波器的理想频率响应函数为H d (e jw ) ,如理想的低通,由信号系统的知识知道,在时域系统的冲击响应h d(n) 将是无限长的,如图2、图 3 所示。 H d(w) -w c w c 图 2图 3 若时域响应是无限长的,则不可能实现,因此需要对其截断,即设计一个FIR 滤波 N 1 器频率响应 H (e jw )h(n)e jwn来逼近H d(e jw),即用一个窗函数w(n)来截断 n 0 h d(n) ,如式 3 所示: h(n) h d (n) w(n)(式1)。 最简单的截断方法是矩形窗,实际操作中,直接取h d(n) 的主要数据即可。 h( n) 作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数为: N 1 H (e jw )h(n)e jwn(式 2) n 0 令 z e jw,则 N 1 H ( z)h(n)z n(式 3), n 0 式中, N 为所选窗函数w(n)的长度。

实验5FIR数字滤波器设计与软件实现汇总

信息院14电信(师范) 实验五:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验内容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 程序代码:(信号产生函数xtg程序清单) function xt=xtg(N) %êμ?é??D?o?x(t)2úéú,2¢??ê?D?o?μ?·ù?μì?D??ú?? %xt=xtg(N) 2úéúò???3¤?è?aN,óD?óD????μ??éùμ?μ¥?μμ÷·ùD?o?xt,2é?ù?μ?êFs=10 00Hz

%??2¨?μ?êfc=Fs/10=100Hz,μ÷???y?ò2¨?μ?êf0=fc/10=10Hz. N=1000;Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T; fc=Fs/10;f0=fc/10; %??2¨?μ?êfc=Fs/10£?μ¥?μμ÷??D?o??μ?ê?af0=F c/10; mt=cos(2*pi*f0*t); %2úéúμ¥?μ?y?ò2¨μ÷??D?o?mt£??μ?ê?af0 ct=cos(2*pi*fc*t); %2úéú??2¨?y?ò2¨D?o?ct£??μ?ê?afc xt=mt.*ct; %?à3?2úéúμ¥?μμ÷??D?o?xt nt=2*rand(1,N)-1; %2úéú???ú??éùnt %=======éè????í¨??2¨?÷hn,ó?óú??3y??éùnt?Dμ?μí?μ3é·?,éú3é??í¨ ??éù======= fp=150; fs=200;Rp=0.1;As=70; % ??2¨?÷??±ê fb=[fp,fs];m=[0,1]; % ????remezordoˉêy?ùDè2?êyf,m,dev dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)]; [n,fo,mo,W]=remezord(fb,m,dev,Fs); % è·?¨remezoˉêy?ùDè2?êy hn=remez(n,fo,mo,W); % μ÷ó?remezoˉêy??DDéè??,ó?óú??3y??éùnt?Dμ?μí?μ3é·? yt=filter(hn,1,10*nt); %??3y???ú??éù?Dμí?μ3é·?£?éú3é??í¨ ??éùyt %=========================================================== ===== xt=xt+yt; %??éù?óD?o? fst=fft(xt,N);k=0:N-1;f=k/Tp; subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)'); axis([0,Tp/5,min(xt),max(xt)]);title('(a) D?o??ó??éù2¨D?') subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) D?o??ó??éùμ??μ?×') axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('·ù?è')输出波形: (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅

FIR数字低通滤波器设计

第1章 绪论 1.1设计的作用、目的 课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。本次课程设计一方面通过MATLAB 仿真设计内容,使我们加深对理论知识的理解,同时增强其逻辑思维能力,另一方面对课堂所学理论知识作一个总结和补充。 1.2设计任务及要求 通过课程设计各环节的实践,应使学生达到如下要求: 1.掌握双线性变换法及脉冲响应不变法设计IIR 数字滤波器以及窗函数法 设计FIR 数字滤波器的原理、具体方法及计算机编程。 2.观察双线性变换法、脉冲响应不变法及窗函数法设计的滤波器的频域特性,了解各种方法的特点。 3.用MATLAB 画出三种方法设计数字滤波器的幅频特性曲线,记带宽和衰减量,检查结果是否满足要求。 1.3设计内容 设计题目:FIR 数字滤波器的设计 设计内容: (1)设计一线性相位FIR 数字低通滤波器,截止频率π2.0=Ωf ,过渡带宽度 π4.0≤?Ω,阻带衰减dB A s 30>。 (2)设计一线性相位FIR 数字低通滤波器,截止频率π2.0=Ωf ,过渡带宽度π4.0≤?Ω,阻带衰减dB A s 50>。

第2章FIR 数字低通滤波器的原理 2.1 数字低通滤波器的设计原理 FIR 数字滤波器传统的设计方法有窗函数法、频率抽样法和等波纹逼近法。用窗函数设计FIR 数字滤波器就是用有限长的脉冲相应逼近序列,其基本设计思想为:首先选定一个理想的选频滤波器,然后截取它的脉冲响应得到线性相位。 滤波器(filter ),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。 1.滤波器的概念 滤波器是对输入信号起滤波的作用的装置。当输入、输出是离散信号,滤波器的冲激响应是单位抽样响应()n h 时,这样的滤波器称作数字滤波器(DF )。DF 是由差分方程描述的一类特殊的离散时间系统。 2.数字滤波器的系统函数与差分方程: 系统函数 (2-1) 差分方程 对上式进行 Z 反变换,即得: (2-2) 3.数字滤波器结构的表示 数字滤波器分FIR 数字滤波器和IIR 数字低通滤波器。其中FIR 低通滤波器分直接型和级联型,IIR 分直接型、级联型和并联型。 方框图法、信号流图法 ∑∑==-+-= N k M k k k k n x b k n y a n y 1 )()()(∑∑=-=--= = N k k M k k z a z b z X z Y z H k k 1 1) ()()(

FIR低通滤波器

目录 1.课程设计目的 (1) 2.课题设计要求 (1) 3.设计原理 (1) 3.1数字滤波器的优点 (2) 3.2 FIR数字滤波器的窗函数设计方法 (2) 4.实验程序及结果 (7) 4.1 实验程序 (7) 4.2 实验结果 (9) 5.心得体会 (11) 6.参考资料 (12)

FIR低通滤波器的设计 1.课程设计目的 1、加深对数字信号处理理论方面的理解,提高学生用程序实现相关信号处理的 能力。 2、使学生掌握C或MATLAB实现数字信号处理中频谱分析的方法和步骤。 3、使学生掌握用MATLAB实现IIR和FIR滤波器的设计方法、过程,为以后的设 计打下良好基础。 4、掌握窗函数法FIR低通滤波器的设计。 2.课题设计要求 1、既要有设计的理论内容,也要有每一步的MATLAB处理结果。 2、应用MATLAB平台,采用函数法设计一FIR低通数字滤波器: Ωp=2π*103(rad/sec),Ωst=2π*3*103(rad/sec),Ωs=2π*104(rad/sec),阻带衰减不小于-50db。 3、应用MATLAB平台。 3.设计原理 随着通信与信息技术的发展,数字信号在该领域显得越来越重要。同时数字信号处理在语音、自动控制、航空航天和家用电器领域也得到了广泛应用,它已成为当今一门极其重要的学科和技术。在数字信号处理中起重要作用并获得广泛应用的是数字滤波器,数字滤波器是数字信号处理的基础。Matlab(Matrix laboratory)是美国Math Works公司推出的具有强大数值分析、矩阵运算、图形绘制和数据处理等功能的软件,现在广泛应用到教学、科研、功能工程设计领域。随着Mallab软件信号处理软件箱的推出,Mallab已成为信息处理,特别是数字

基于语音信号去噪处理的FIR低通滤波器设计

摘要 本次课程设计分析了FIR数字滤波器的基本原理,在MATLAB环境下利用窗函数设计FIR低通滤波器,实现了FIR低通滤波器的设计仿真。本文根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始语音信号频谱图的比较,最后回放滤波后语音信号,滤波后的语音信号与原始语音信号一样清晰,仿真结果表明,设计的FIR滤波器的各项性能指标均达到了指定要求,设计过程简便易行。该方法为快速、高效地设计FIR滤波器提供了一个可靠而有效的途径。 关键词:DSP ;FIR;低通滤波器;语音信号;MATLAB

目录 第一章引言 (1) 1.1 设计目的及意义 (1) 1.2 设计任务及要求 (2) 1.3 课程设计平台 (2) 第二章基本原理 (3) 2.1 FIR滤波器的基本概念 (3) 2.2 FIR滤波器的特点 (3) 2.3 FIR滤波器的种类 (4) 第三章FIR数字低通滤波器的设计 (5) 3.1 FIR低通滤波器设计原理 (5) 3.2 FIR低通滤波器的设计方法 (5) 3.2.1 频率采样法 (5) 3.2.2 最优化设计 (6) 3.2.3 窗函数法 (6) 3.3 窗函数法设计步骤 (8) 第四章详细设计 (9) 4.1 语音信号的采集 (9) 4.2 语音信号的读入与打开 (10) 4.3 语音信号的FFT变换 (11) 4.4 含噪信号的合成 (12) 4.5 利用FIR滤波器滤波 (13) 4.6 结果分析 (14) 总结 (15) 参考文献 (16) 附录 (17) 致谢 (21)

第一章引言 随着信息科学和计算机技术的不断发展,数字信号处理(DSP,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。在我们面临的信息革命中,数字信号处理几乎涉及了所有的工程技术领域。 数字信号处理是一种将信号以数字形式进行处理的一种理论和技术,它的目的是将真实世界中的一些信号进行分析并滤波,最后得出其中的有用的信号。数字滤波器是数字信号处理的一种,一般根据单位脉冲响应h(n)分为无限脉冲响应(IIR)和有限脉冲响应(FIR)系统。IIR数字滤波器的设计方法简单,特别是采用双线性变换法来设计的数字滤波器不存在频域混叠的现象,但是IIR滤波器存在一个较为明显的缺憾,就是它的相位响应一般都是非线性的,而在传输频带内的相位响应如果不是线性的,就会造成有用信号的传输失真,而FIR数字滤波器不仅可以设计成任意的幅度响应,而且可以设计成在通频带内具有良好的线性相位响应。FIR数字滤波器的单位脉冲响应h(n)有限长,所以FIR数字滤波器是稳定的,不存在稳定性的问题,且可以通过快速傅里叶变换(FFT)的算法来实现信号滤波,大大的提高的运算效率。[1]因此,FIR数字滤波器日益引起了人们的关注。 本课程设计是采用kaiser窗设计的FIR滤波器对语音信号进行滤波去噪。通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。通过观察语音信号滤波前后的时域波形的比较,加深对滤波器作用的理解。通过对比滤波前后波形图的比较和放滤波前后语音信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。 1.1 设计目的及意义 《信号处理》课程设计是现代信号处理技术课程的有效补充部分,通过课程设计,使得学生在设计过程中了解完整的现代信号处理技术的工程实现方法和流程,从而对现代信号处理技术的理论有更深入的认识。本课程设计的目的是通过学生使用MATLAB等工具,采用窗函数法设计符合一定参数要求的FIR滤波器,并用所设计的滤波器对加噪语音信号进行滤波去噪处理。

相关文档
最新文档