数字滤波器课设.docx

上传人:b****8 文档编号:29369041 上传时间:2023-07-22 格式:DOCX 页数:19 大小:732.39KB
下载 相关 举报
数字滤波器课设.docx_第1页
第1页 / 共19页
数字滤波器课设.docx_第2页
第2页 / 共19页
数字滤波器课设.docx_第3页
第3页 / 共19页
数字滤波器课设.docx_第4页
第4页 / 共19页
数字滤波器课设.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数字滤波器课设.docx

《数字滤波器课设.docx》由会员分享,可在线阅读,更多相关《数字滤波器课设.docx(19页珍藏版)》请在冰豆网上搜索。

数字滤波器课设.docx

数字滤波器课设

摘要

本文阐述了数字滤波器的特点和设计方法,对FIR和IIR滤波器进行了比较,对数字滤波器的应用范围、应用前景和发展历程作了详细的说明。

介绍了利用MATLAB设计FIR滤波器的各种方法(包含窗函数设计法、频率样本设计法、等波动法和最小二乘法)以及如何用MATLAB中的滤波器设计工具fdatool设计各种类型的滤波器。

设计中通过MATLAB/SIMULINK环境中图形化的方式建立数字信号处理的模型进行DSP的设计和仿真验证,将设计的图形文件.mdl直接转换成C语言程序在CCS中运行。

利用MATLAB软件开发产品加速了开发周期,比直接在CCs中编程方便快捷了很多,对于任何复杂功能的DSP系统,只需要进行少量的添加和修改就能完成功能正确的C语言程序设计。

以一个FIR数字带阻滤波器的实现为例设计的电路通过软件进行了验证并进行了环境实验,多次实验证明了电路工作稳定,满足设计要求。

同时验证了FIR数字滤波器的线性相位,从该滤波器的相频响应曲线可以看出,滤波器输入和输出波形只有时间上的延迟,没有波形畸变。

该FIR滤波器的相位响应可为严格的线性,因此它不存在延迟失真,只有固定的时间延迟,适用于图像信号处理、数据传输等以波形携带信息的系统。

关键字数字滤波器MALABCCSFIR数字带阻滤波器

 

abstract

本文阐述了数字滤波器的特点和设计方法,对FIR和IIR滤波器进行了比较,对数字滤波器的应用范围、应用前景和发展历程作了详细的说明。

介绍了利用MATLAB设计FIR滤波器的各种方法(包含窗函数设计法、频率样本设计法、等波动法和最小二乘法)以及如何用MATLAB中的滤波器设计工具fdatool设计各种类型的滤波器。

Thispaperdescribesthecharacteristicsanddesignmethodsofdigitalfilter,theFIRandIIRfilterarecompared,theapplicationofdigitalfilter,theapplicationprospectsanddevelopmentprocessaredescribedindetail.IntroducestheusematlabtodesignFIRfiltersofvariousmethods(includingwindowfunctiondesignmethod,frequencysamplingdesignmethod,suchaswavemethodandtheleastsquaremethod)andhowtousingMATLABfilterdesigntoolsFDATooldesignofvarioustypesoffilter软件设计中通过MATLAB/SIMULINK环境中图形化的方式建立数字信号处理的模型进行DSP的设计和仿真验证,将设计的图形文件.mdl直接转换成C语言程序在CCS中运行。

利用MATLAB软件开发产品加速了开发周期,比直接在CCs中编程方便快捷了很多,对于任何复杂功能的DSP系统,只需要进行少量的添加和修改就能完成功能正确的C语言程序设计。

SoftwaredesignbyMatlab/SimulinkgraphicalwaytoestablishmodelofdigitalsignalprocessingofDSPdesignandsimulationverification,thedesignofgraphicsfile.MDLdirectlyconvertedintoClanguageprogramrunninginCCS.UsingMATLABsoftwareproductdevelopmentacceleratethedevelopmentcycle,thandirectlyintheCCSprogrammingismuchmoreconvenience,foranycomplexfunctionofDSPsystem,onlyneedasmallamountofadditionsandmodificationswillbeabletocompletetheproperfunctionofClanguageprogramdesign.

以一个FIR数字带阻滤波器的实现为例设计的电路通过软件进行了验证并进行了环境实验,多次实验证明了电路工作稳定,满足设计要求。

同时验证了FIR数字滤波器的线性相位,从该滤波器的相频响应曲线可以看出,滤波器输入和输出波形只有时间上的延迟,没有波形畸变。

该FIR滤波器的相位响应可为严格的线性,因此它不存在延迟失真,只有固定的时间延迟,适用于图像信号处理、数据传输等以波形携带信息的系统。

TakingaFIRdigitalbandstopfilterasanexample,thedesignofthecircuitisverifiedbythesoftwareandtheenvironmentexperimentiscarriedout,whichprovesthatthecircuitworksstablyandmeetsthedesignrequirements.Atthesametime,thelinearphaseofFIRdigitalfilterisverified,andthephasefrequencyresponsecurveofthefiltercanbeseenthattheinputandoutputwaveformofthefilterisonlyatimedelay,andthereisnowaveformdistortion.ThephaseresponseoftheFIRfiltercanbestrictlylinear,soitdoesnothavedelaydistortion,onlyafixedtimedelay,itissuitableforimagesignalprocessing,datatransmissionandsoon.

关键字数字滤波器MALABCCSFIR数字带阻滤波器

Keywords:

digitalfilterCCSFIRMALAB

digitalbandstopfilter

一.绪论

1.1设计背景

在信号处理中,滤波占有十分重要的地位。

数字滤波是数字信号处理的基本方法。

数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。

低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,因为FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。

DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。

对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。

由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。

但是FIR系统有自己突出的优点:

①系统总是稳定的;②易实现线性相位;③允许设计多通带(阻带)滤波器。

其中后两项是IIR系统不易实现的。

1.2设计目的与要求

1、进一步了解滤波器的原理,了解FIR滤波器的设计过程。

2、掌握MATlAB设计滤波器的方法。

3、掌握CCS设计FIR滤波器。

利用C语言在CCS环境中编写一个FIR滤波器程序,并能利用已设计好的滤波器对常用信号进行滤波处理。

1.3设计思路简介

在TMS320C54x系统开发环境CCS(CodeComposerStudio)下对FIR滤波器的DSP实现原理进行讨论。

利用C语言设计相应的滤波器,通过实验仿真,从输入信号和输出信号的时域和频域曲线可看出在DSP上实现的FIR滤波器能完成预定的滤波任务。

1.4设计流程的搭建:

二.FIR滤波器设计过程

2.1.1FIR滤波器基本理论

数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。

它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应滤波器FIR两种。

在计算量相等的情况下,IIR数字滤波器比FIR滤波器的幅频特性优越,频率选择性也好。

但是,它有着致命的缺点,其相位特性不好控制。

它的相位特性

是使频率产生严重的非线性的原因。

但是在图像处理、数据传输等波形传递系统中都越来越多的要求信道具有线性的相位特性。

在这方面FIR滤波器具有它独特的优点,设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为

H(z)是的(N-1)次多项式,它在z平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。

因此,H(z)永远稳定,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。

2.1.2FIR滤波器的基本结构

数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR滤波器的差分方程为:

对上式进行Z变换得到FIR滤波器的传递函数为:

由上式可以看出,H(z)是

的N-1次多项式,它在z平面内有N-1个零点,同时在原点处有N-1个重极点。

N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器,取图中(a)、(b)两种结构。

图2FIR滤波器的一般结构

因为FIR滤波器的单位抽样响应是有限长的,所以它永远是稳定的。

另外,若对h(n)提出一些约束条件,那么可以很容易地使H(z)具有线性相位,这在信号处理的很多领域是非常重要的。

FIR滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。

这里所说的要求,除了通带频率

、阻带频率及两个带上的最大和最小衰减

外,很重要的一条是保证H(z)具有线性相位。

2.1.3Chebyshev逼近法

窗函数法和频率采样法设计出的滤波器的频率特性都是在不同意义上对所给理想频率特性

的逼近。

由数值逼近理论可知,对某个函数f(x)的逼近一般有以下三种方法:

插值法(InterpolatingWay)

最小平方逼近法(LeastSquareApproachingWay)

一致逼近法(ConsistentApproachingWay)

切比雪夫最佳一致逼近的基本思想是,对于给定区间[a,b]上的连续函数

,在所有n次多项式的集合

中,寻找一个多项式p(x),使它在[a,b]上对

的偏差和其它一切属于

的多项式p(x)对f(x)的偏差相比是最小的,即

切比雪夫逼近理论,这样的多项式是存在的,且是唯一的,并指出了构造这种最佳一致逼近多项式的方法,就是有名的“交错点组定理”。

切比雪夫逼近理论解决了p(x)的存在性、唯一性和如何构造等问题。

J.H.McClellan、T.W.Parks、L.R.Rabiner等人应用切比雪夫逼近理论提出了一种设计FIR滤波器的计算机辅助算法。

这种算法由于是在一致意义上对

作最佳逼近,因而获得了较好的通带和阻带性能,并能准确地指定通带和阻带的边缘。

但它的效率依赖于初始极值频率点的估计,且通带和阻带内波纹数较多,这是Chebyshev方法的两个主要缺点。

2.2FIR滤波器的MATLAB实现

MATLAB辅助DSP实现FIR,其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工具(FDATOOL),根据指定的滤波器性能快速设计一个FIR,再把滤波器系数以头文件形式导入CCS中,头文件中MATLAB辅助DSP实现FIR数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP程序并显示、分析处理后的数据。

使用该方法,便于采用汇编语言来实现程序。

头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便程序调试、仿真。

 

2.2.1输入信号的产生 

首先利用Matlab产生导入CCS的dat文件,具体实现如下代码所示

 sl=500;   %有效信号

 ns1=3000;  %高频噪声

ns2=8000;  %高频噪声

 fs=20000;     %采样频率

 N=1000;

 T=1/fs;

 n=0:

N; 

signal=sin(2*pi*sl*n*T); 

noise1=0.7*sin(2*pi*ns1*n*T);

noise2=0.4*sin(2*pi*ns2*n*T); 

x=(signal+noise1+noise2);%待滤波信号

 figure

(1)

 plot(x)

 figure

(2) 

y=abs(fft(x));%待滤波频谱 

df=n*(fs/N);

 plot(df,y)

 figure(3)

 plot(signal)

 figure(4) 

ysignal=abs(fft(signal));%滤波后频谱

df=n*(fs/N);

 plot(df,ysignal)    %滤波数据导出 

xout=x/max(x);            %归一化

 xto_css=round(32767*xout);%数据取整 

xoutcss=xto_css; 

fid=fopen('input.dat','w');   %打开文件 

fprintf(fid,'1651 1 0 0 0\n');%输出文件头 

fprintf(fid,'%d\n',xoutcss);  %输出

 fclose(fid);

产生的时域波形如图:

图3输入信号波形

图4输入频谱

图5输出时域波形

图6输出频谱

2.2.2滤波器的设计

MATLAB集成了一套功能强大的滤波器设计工具FDATool(FilterDesign&AnalysisTool),可以完成多种滤波器的设计、分析和性能评估。

a.打开FilterDesign&AnalysisTool

单击MATLAB主窗口下方的“Start”按钮,选择菜单“ToolBox”→“FilterDesign”→“FilterDesign&AnalysisTool(FDATool)”命令,打开FDATool,如图7所示。

图7

b.产生滤波器

阶数为81阶,这里应填80,比阶数少1。

窗函数选择切比雪夫型(chebyshev),滤波器类型为Bandstop,采样频率为48000Hz,通带截止频率分别为8400和13200HZ。

得倒图8

图8

c.产生滤波器系数

图9滤波器的系数

图10头文件的产生

d选择所需的型号:

图11

e生成头文件

图12

最后将产生的头文件中的滤波器系数数组放入编写好的滤波器函数中,并在进行CCS中进行调试与测试。

三.CCS操作步骤及仿真结

3.1工程文件的建立

在CCSV3.3中建立新工程如图13,把c源代码和.cmd文件导入后,外加rts.lib文件,它是TI提供的运行时支持库,如果是C代码写的源程序,必须要包含该库,该库由TI公司做好放在CCS\cgtools\lib中,源代码TI网站可以下载如图14。

添加完成后,编译通过后,下载.out文件,导入.dat文件。

然后运行程序,待程序准确无误后,点击FileLoadprogyammert打开.out文件出现如图15所示。

图13

图14

3.2.1仿真结果及分析

采用CCS的图形显示功能,分别观察输入信号x(n)、输出信号y(n)的时域波形和频域波形,输入信号波形如下图所示:

图16滤波后时域波形

 

图17滤波后时域波形图

 

图18滤波前频谱图

图19滤波后频谱图

3.2.2仿真分析:

带阻滤波器虑掉了83.3到125赫兹的频谱,达到了预定的目标。

时域所得的图效果并不十分理想,但大体上满足要求。

四设计心得:

通过本次课程设计的学习,进一步掌握了MATLAB对滤波器设计的方法,同时也学会了利用ccs实现数字的滤波。

MATLAB是一个强大的软件,在专业课的学习中应用十分广泛,今后将会更加深入了解它的功能。

Ccs的为信号搭建了一个平台,是我们运行后能更加直观的感受波形的变化。

当然本次设计中也遇到了许多问题,一是参数的设置,刚开始并没有灵活运用fdatool,当真正了解它的功能后,只需在程序中稍加该动,把采样频率以及截止频率设到合理的范围内就可以实现,例如通过改变程序里的阶数改变信号的密度;二是使用ccs时任何细节的步骤略掉都可能导致信号出不来或无法是别,比如在实验中做带通滤波器后没有关掉,而直接导致带阻滤波器的输出结果无法正确显示。

三是对输入信号程序的理解不够深入,导致开始时对模拟的结果没有正确理解。

从本次实验中明白:

(1)对设计首先要做到整体的理解,对程序要仔细研究并在实际模拟中不断改变以更好的理解,

(2)对软件的功能及操作应用初步的了解,才能在试验中遇到困难时找到正确的解决方法,

(3)应该耐心做好每一步,减少不必要的失误。

目录

一.绪论4

1.1设计背景4

1.2设计目的与要求4

1.3设计思路简介4

1.4设计流程的搭建:

5

二.FIR滤波器设计过程5

2.1.1FIR滤波器基本理论5

2.1.2FIR滤波器的基本结构6

2.1.3Chebyshev逼近法6

2.2FIR滤波器的MATLAB实现7

2.2.2滤波器的设计10

三.CCS操作步骤及仿真结13

3.1工程文件的建立13

3.2.1仿真结果图:

14

3.2.2仿真分析:

16

四设计心得:

16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1