滤波器fir的课程设计.docx

上传人:b****5 文档编号:3576802 上传时间:2022-11-24 格式:DOCX 页数:14 大小:206.72KB
下载 相关 举报
滤波器fir的课程设计.docx_第1页
第1页 / 共14页
滤波器fir的课程设计.docx_第2页
第2页 / 共14页
滤波器fir的课程设计.docx_第3页
第3页 / 共14页
滤波器fir的课程设计.docx_第4页
第4页 / 共14页
滤波器fir的课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

滤波器fir的课程设计.docx

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

滤波器fir的课程设计.docx

滤波器fir的课程设计

目录

1绪论1

1.1滤波器的发展历程1

1.2滤波器的分类1

1.3DSP芯片的发展及应用1

2方案选择2

2.1FIR滤波器2

2.2基于DSP实现FIR的优点2

3滤波器原理与MATLAB工具的设计3

3.1滤波器的原理3

3.2滤波器的设计步骤:

3

3.3滤波器的MATLAB设计3

4软件的设计6

4.1程序的流程设计6

4.2源程序编写7

4.3FIR滤波器的设计结果9

5结束语14

参考文献:

15

 

1绪论

1.1滤波器的发展历程

凡是有能力进行信号处理的装置都可以称为滤波器。

在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。

滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。

1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。

20世纪50年代无源滤波器日趋成熟。

自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。

导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。

80年代,致力于各类新型滤波器的研究,努力提高性能并逐渐扩大应用范围。

90年代至现在主要致力于把各类滤波器应用于各类产品的开发和研制。

当然,对滤波器本身的研究仍在不断进行。

1.2滤波器的分类

根据滤波器的选频作用,滤波器可以分成四类:

低通、高通、带通和带阻滤波器。

低通滤波器,只允许0~f2的频率成分通过,而大于f2的频率成分衰减为零;高通滤波器与低通滤波器相反,它只允许f1~∞的频率成分通过,而f

根据构成滤波器的电路性质,滤波器可分为有源滤波器和无源滤波器;根据滤波器所处理的信号性质,可分为模拟滤波器和数字滤波器等等。

1.3DSP芯片的发展及应用

从80年代至今的十多年中,DSP芯片在运算速度、运算精度、制造工艺、芯片成本、体积、工作电压、重量和功耗方面取得了划时代的发展,开发工具和手段不断完善。

DSP芯片有着非常快的运算速度,使许多基于DSP芯片的实时数字信号处理系统得以实现。

目前,DSP芯片已应用在通信、自动控制、航天航空及医疗领域,取得了相当的成果。

在载人航天领域,基于DSP芯片的技术具有广阔的应用前景。

2方案选择

2.1FIR滤波器

数字滤波器用于改变输入信号X(n)的频谱特性以满足某种特定的设计要求。

一个因果的数字滤波器可以用它的单位冲激响应h(n)、传输函数H(z)或者差分方程来表达。

其中单位冲激响应和传输函数描述了系统的时域和频域性质,差分方程则反映了实现该滤波器所需的运算。

  一个线性时不变因果滤波器可以用式

(1)的差分方程描述:

如果1≤k≤N时,ak=0,则:

  这就是一个M阶的FIR滤波器,是非递归运算。

2.2基于DSP实现FIR的优点

本设计所采用的TMS320C5000采用改进的哈佛结构,具有以下优点:

具有高度并行性和专用硬件逻辑的CPU设计,芯片性能大大提高;哈佛结构不同于传统的冯·诺依曼(VonNeuman)结构的并行体系结构,其程序存储器和数据存储器是相互独立的存储器,每个存储器独立编址,独立访问。

系统中设置了1组程序总线和3组数据总线及4组地址总线,从而使数据的吞吐率大大提高。

基于此,本设计设计了FIR数字滤波器,着重介绍FIR滤波器设计及DSP中FIR滤波器的实现原理及方法。

基于DSP芯片TMS320C5000的FIR滤波器设计方法,利用MATLAB仿真与DSP实现相结合的方式可以方便、快捷地设计具有严格线性相位的FIR系统,而且参数的修改十分方便。

用DSP实现FIR数字滤波,具有准确度高、可移植性好、灵活性强等优点。

该研究对其它类型滤波器的设计也有一定的参考价值。

 

3滤波器原理与MATLAB工具的设计

3.1滤波器的原理

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。

IIR滤波器的特征是,具有无限持续时间冲激响应。

种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。

FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。

数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。

随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。

3.2滤波器的设计步骤:

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

(1)确定指标;

(2)逼近;

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

3.3滤波器的MATLAB设计

3.3.1关于MATLAB

MATLAB是一套用于科学计算的可视化高性能语言与软件环境。

它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。

它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。

在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。

3.3.2FIR滤波器的MATLAB设计

下面以设计线性相位FIR滤波器为例介绍具体的设计方法。

线性相位FIR滤波器通常采用窗函数法设计。

窗函数法设计FIR滤波器的基本思想是:

根据给定的滤波器技术指标,选择滤波器长度N和窗函数ω(n),使其具有最窄宽度的主瓣和最小的旁瓣。

其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。

工程中常用的窗函数共有6种,即矩形窗、巴特利特(Bartlett)窗、汉宁(Hanning)窗、汉明(Hamming)窗、布莱克曼(Blackman)窗和凯塞(Kaiser)窗。

下面以Kaiser为例,设计一个低通滤波器:

fp=2500;

fc=6000;

as=100;

ap=1;

fs=60000;

wp=2*fp/fs;

wc=2*fc/fs;

N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1;

beta=0.1102*(as-8.7);

window=Kaiser(N+1,beta);

b=fir1(N,wc,window);

freqz(b,1,512,fs);

结果如下:

生产系数如下:

-0.00000.00000.00000.00000.00000.0000

-0.0000-0.0000-0.0001-0.0001-0.00000.0001

0.00020.00030.00030.0001-0.0001-0.0005

-0.0007-0.0007-0.00030.00040.00110.0016

0.00150.0007-0.0008-0.0023-0.0033-0.0031

-0.00130.00150.00450.00620.00570.0024

-0.0027-0.0081-0.0112-0.0101-0.00430.0049

0.01430.01990.01820.0079-0.0090-0.027

-0.0389-0.0371-0.01710.02120.07220.1261

0.17110.19660.19660.17110.12610.0722

0.0212-0.0171-0.0371-0.0389-0.0271-0.0090

0.00790.01820.01990.01430.0049-0.0043

-0.0101-0.0112-0.0081-0.00270.00240.0057

0.00620.00450.0015-0.0013-0.0031-0.0033

-0.0023-0.00080.00070.00150.00160.0011

0.0004-0.0003-0.0007-0.0007-0.0005-0.0001

0.00010.00030.00030.00020.0001-0.0000

-0.0001-0.0001-0.0000-0.00000.00000.0000

0.00000.00000.0000-0.0000

3.3.4数字滤波器的实现方法

数字滤波器的实现方法一般有以下几种。

①采用加法器、乘法器、延时器设计专用的滤波电路。

②在通用计算机系统中加上专用的加速处理机设计实现。

③用通用的可编程DSP芯片实现。

④用专用的DSP芯片实现。

在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现。

这种芯片将相应的滤波算法在芯片内部用硬件实现,无需进行编程。

⑤采用FPGA/CPLD设计实现。

 

4软件的设计

4.1程序的流程设计

4.1.1在CCS中编写处理程序

在CCSIDE中建立fir.pjt工程,用C语言编写处理主程序fir.c,利用汇编语言文件,来定义中断服务程序。

另外根据板上的存储器配置方式,编写存储器配置文件(.cmd文件),编译、链接,生成可执行文件(fir.out文件),加载到目标DSP程序存储器中,流程图如下:

4.1.2程序程序图

4.2源程序编写

#include"DSP28_Device.h"

#include"filter.h"

#include"ext_inf.h"

unsignedintDataLong=1024;//采样点数1024

unsignedinti,j;

unsignedintk=0;

unsignedshortAd_data[2048];

shortAd_data_signed[2048];

shortfilter_result[1024];

unsignedintconvcount=0;

volatileunsignedintadconvover=0;

interruptvoidISRTimer2(void);

interruptvoidad(void);

voidmain(void)

{/*初始化系统*/

InitSysCtrl();

/*关中断*/

DINT;

IER=0x0000;

IFR=0x0000;

/*初始化PIE中断*/

InitPieCtrl();

/*初始化PIE中断矢量表*/

InitPieVectTable();

//初始化cputimer

InitCpuTimers();

/*设置中断服务程序入口地址*/

EALLOW;//ThisisneededtowritetoEALLOWprotectedregisters

PieVectTable.TINT2=&ISRTimer2;

PieVectTable.ADCINT=&ad;

EDIS;//ThisisneededtodisablewritetoEALLOWprotectedregisters

/*开中断*/

IER|=M_INT1;//ADC中断

EINT;//EnableGlobalinterruptINTM

ERTM;//EnableGlobalrealtimeinterruptDBGM

/*设置CPU*/

DINT;

ConfigCpuTimer(&CpuTimer2,150,22);

StartCpuTimer2();

/*开中断*/

IER|=M_INT14;EINT;

InitAdc();

for(;;){

if(adconvover==1){

/*fir滤波处理*/

for(i=0;i

Ad_data_signed[i]=(short)(Ad_data[i]-0x5300);

fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,ROUND_FIR);

adconvover=0;}}}

interruptvoidad(void)

{IFR=0x0000;

PieCtrl.PIEACK.all=0xffff;

if(adconvover==0){

Ad_data[convcount]=AdcRegs.RESULT0;

convcount++;}

if(convcount==DataLong){

convcount=0;adconvover=1;//接满标志}}

interruptvoidISRTimer2(void)

{AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;

AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;

}

4.3FIR滤波器的设计结果

4.3.1设置参数

(1)fir_filter(Ad_data_signed,hfir,filter_result,ORDER_FIR,DataLong,ROUND_FIR)和adconvover=0处设置断点;

(2)在GraphPropertyDialog中设置StartAddress和DisplayType如图A、图B、图C、图D。

其中A,B图分别为滤波前的波形和频谱,C,D图分别为滤波后的波形和频谱图:

图A

图B

图C

图D

 

4.3.2输入信号源的波形(频率为1000Hz,振幅为800mV):

标准三角波的波形

标准三角波的频谱

标准方波的波形

标准方波的频谱

噪声三角波

噪声三角波的频谱

4.3.3输出信号的波形

标准三角波滤波后波形

标准三角波滤波后的频谱

滤波后的方波波形

滤波后的标准方波频谱

滤波后噪声三角波的波形

滤波后噪声三角波的频谱

5结束语

数字滤波器是语音、图象处理、模式识别以及谱分析中的基本运算的处理运算。

DSP由于其本身具有并行的硬件乘法器、流水结构以及快速的片内存储器等资源,其技术已广泛地应用于噪声及振动的各个领域。

采用MATLAB语言可方便、快捷地设计具有严格线性相位的FIR系统,且参数的修改也十分方便。

用DSP芯片实现低通FIR数字滤波,除具有准确度高、不受环境影响等优点外,由于DSP芯片具有可编程特性,程序的可移植性好,灵活性强。

实际应用时只需按要求修改滤波器参数,并对程序作较少的改动,即可实现不同截止频率的低通FIR滤波器,实用性较强.在设计FIR数字滤波器时,采用MATLAB来进行辅助设计和仿真,达到了预期的效果。

通过本次的课程设计,我对DSP和数字信号处理有了更深刻的认识,对MATLAB也有了更深的理解。

虽然在本次的设计中遇到了一些挫折,但是在老师和同学的帮助下还是顺利的完成了。

这次设计让我将学到的理论知识与实践相结合,也认识到了学知识光学理论知识是不够的,只有能将理论与实践相结合才是真的知识。

我自己也认识到了,当遇到问题时不能烦躁,不能抱怨,要静下心来解决问题,翻阅书籍,课内的和课外的,必要时可以借助internet,那里有许多有价值的东西,可以借鉴。

本次课程设计能够顺利的完成,我要特别感谢何海浪老师的精心指导,让我能够把理论与实践结合在一起,还要感谢同学们对我的帮助。

谢谢!

 

参考文献:

[1]乔瑞萍.TMS320C54XDSP原理及应用.西安电子科技大学出版社.2004.

[2]程佩青.数字信号处理教程[M].北京:

清华大学出版社,2001.

[3]陈怀琛.MATLAB及其在理工课程中的应用指南.西安电子科技大学出版社,2007.

[4]赵力.语音信号处理.机械工业出版社,2004.

[5]张雄伟.DSP芯片的原理与开发应用(第三版)[M].北京:

电子工业出版社,2003年

 

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

当前位置:首页 > 表格模板 > 合同协议

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

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