DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc

上传人:聆听****声音 文档编号:811322 上传时间:2023-04-29 格式:DOC 页数:38 大小:1.36MB
下载 相关 举报
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第1页
第1页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第2页
第2页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第3页
第3页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第4页
第4页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第5页
第5页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第6页
第6页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第7页
第7页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第8页
第8页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第9页
第9页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第10页
第10页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第11页
第11页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第12页
第12页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第13页
第13页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第14页
第14页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第15页
第15页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第16页
第16页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第17页
第17页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第18页
第18页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第19页
第19页 / 共38页
DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc

《DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc》由会员分享,可在线阅读,更多相关《DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc(38页珍藏版)》请在冰点文库上搜索。

DSP综合课程设计-基于TMS320C5402的FIR数字滤波器的设计与开发文档格式.doc

4.8查看滤波器滤波效果 -31-

4.9观察结果 -33-

5总结 -34-

6附录程序清单 -35-

摘要:

滤波器的设计是数字信号处理中最基础的部分,也是比较重要的部分。

这次有限长单位脉冲响应(FIR)滤波器的设计考虑了如下三种方案:

分别采用通用单片机、DSP芯片、FPGA,考虑各种方案的优缺点以及这次设计的目的和用途,在本次设计中采纳第二中方案。

首先采用MATLAB对滤波器进行仿真,使用的是它自带的函数库,仿真成功后得到滤波器的滤波系数,然后再基于TMS320VC5402DSP芯片采用C语言实现FIR数字滤波器。

其中用到了CCS作为DSP开发环境。

FIR滤波器主要采用非递归结构,因此在有限精度运算中不存在稳定性问题,误差较小。

而且它能适应某些特殊的场合,如构成微分器或微分器,因而有更大的适应性。

关键字:

滤波器、FIR、MATLAB、TMS320C54X、DSP、CCS

1.数字滤波器设计原理

1.1数字滤波器的定义和分类

数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。

因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。

从数字滤波器的单位冲击响应来看,可以分为两大类:

有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。

滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。

按选择物理量分类,滤波器可分为频率选择、幅度选择、时间选择(例如PCM制中的话路信号)和信息选择(例如匹配滤波器)等四类滤波器

按处理信号类型分类,可分为模拟滤波器和离散滤波器两大类。

其中模拟滤波器又可分为有源、无源、异类三个分类;

离散滤波器又可分为数字、取样模拟、混合三个分类。

当然,每个分类又可继续分下去,总之,它们的分类可以形成一个树形结构,如图

数字

混合

取样模拟

无源

异类

有源

滤波器

离散

模拟

传输波

各类谐振波

表面波

复数

多维

自适应

FIR

IIR

窄带

机械

陶瓷

晶体

R

C

RC

LC

图1-1滤波器的分类

1.2数字滤波器的优点

相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。

同时DSP处理器(DigitalSignalProcessor)的出现和FPGA(FieldProgrammableGateArray)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。

数字滤波器具有以下显著优点:

精度高:

模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。

因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。

灵活性大:

数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。

可靠性高:

因为数字系统只有两个电平信号:

"

1”和“0"

,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。

并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。

易于大规模集成:

因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。

因此产品的成品率高,价格也日趋降低。

相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。

比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。

并行处理:

数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理。

TI公司的TMS320C5000系列的DSP芯片采用8条指令并行处理的结构,时钟频率为100MHZ的DSP芯片,可高达100MIPs(即每秒执行百万条指令)。

1.3FIR滤波器的基本原理

1.3.1FIR数字滤波器的特点和结构

在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。

FIR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此,FIR实际上是一种乘法累加运算。

在数字滤波器中,FIR滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题,同时,可以在幅度特性是随意设置的同时,保证精确的线性相位。

稳定和线性相位特性是FIR滤波器的突出优点。

另外,它还有以下特点:

设计方式是线性的;

硬件容易实现;

滤波器过渡过程具有有限区间;

相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多。

[3]

FIR数字滤波器系统的传递函数为:

通过反z变换,数字滤波器的差分方程为:

由此得到系统的差分方程:

由上式可以得出如下图所示的直接型结构,这种结构又可以称为卷积型结构。

将转置理论应用于图1.1可以得到转置直接型结构。

将式中的系统函数H(z)分解成若干一阶和二阶多项式的连乘积:

(1.4)

(1.4)

则可构成如图所示的级联型结构。

其中为一阶节

;

为二阶节。

每个一阶节、二阶节可用图1.2所示的直接型结构实现。

当M1=M2时,即得到图1.3所示的具体结构。

这种结构的每一节都便于控制零点,在需要控制传输零点时可以采用。

但是它所需要的系数a比直接型的h(n)多,所需要的乘法运算也比直接型多。

在对滤波器计算时间没有特殊要求的时候可以采用这种形式。

若需要严格考虑滤波器的计算时间则需要折衷它们的优点和缺点来设计。

这在算法设计时候要使用软件编辑环境来计算运行的时间问题。

通常FIR的计算时间都较长。

很多时候我们需要牺牲时间来获得想要得到的滤波器功能。

图1.1FIR滤波器直接型机构图

图1.2级联型结构图

图1.3级联型具体结构

FIR滤波器实质上就是一个分节的延迟线,把每一节的输出用滤波器系数进行加权累加,便得到滤波器的输出结果,它总是稳定并且可实现的。

在一些工程实际应用(如:

图像处理、数据调制解调)中,往往对相位要求较高。

FIR滤波器可以实现严格的线性相位,从而得到了广泛应用。

它的差分方程数学表达式为:

式中,N是FIR滤波器的抽头数,x(n)表示在n时刻输入的信号样值,h(n)表示滤波器的第n级抽头系数。

横截型FIR滤波器的结构如图2所示:

1.3.2FIR滤波器的优点

可以在幅度特性随意设计的同时,保证精确、严格的线性相位;

由于FIR滤波器的单位脉冲h(n)是有限长序列,因此FIR滤波器没有不稳定的问题;

由于FIR滤波器一般为非递归结构,因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小;

FIR滤波器可以采用FFT算法实现,从而提高了运算效率。

总结FIR数字滤波器的优点:

l很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;

l可得到多带幅频特性;

l极点全部在原点(永远稳定),无稳定性问题;

l任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果序列,所以因果性总是满足;

l无反馈运算,运算误差小。

FIR数字滤波器的缺点:

l因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;

l无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。

1.4FIR和IIR滤波器的比较

在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。

因此,指标的形式应为频域中的幅度和相位响应。

在通带中,通常希望具有线性相位响应。

在FIR滤波器中可以得到精确的线性相位。

在IIR滤波器中通带的相位是不可能得到的,因此主要考虑幅度指标。

IIR数字滤波器的设计和模拟滤波器的设计有着紧密的联系,通常要设计出适当地模拟滤波器,再通过一定的频带变换把它转换成为所需要的数字IIR滤波器。

此外,任何数字信号处理系统中也还不可避免地用到模拟滤波器,比如A/D变换器前的抗混叠滤波器及D/A转换后的平缓滤波器,因此模拟滤波器设计也是数字信号处理中应当掌握的技术。

从性能上来说,IIR数字滤波器传递函数包括零点和极点两组可调因素,对极点的唯一限制是在单位圆内。

因此可用较低的阶数获得高的选择性,所用的存储单元少、计算量小、效率高。

但是这个高效率是以相位的非线性为代价的。

选择性越好,则相位非线性越严重。

FIR滤波器传递函数的极点是固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能,所以要达到高的选择性,必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果成本高信号延时也较大,如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。

而FIR滤波器却可以得到严格的线性相位。

从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆内。

由于有限字长效应,运算过程中将对系数进行舍入处理,引起极点的偏移,这种情况有时会造成稳定性问题,甚至造成寄生振荡。

相反,FIR滤波器只要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。

此外FIR滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多。

2.TMS320C54的硬件结构与主要特性

TMS320VC5402是TI公司于1999年10月推出的性价比极高的定点数字信号处理器(DSP)。

运算速度高达100MIPS。

图1是它的内部硬件组成框图,包括:

CPU,总线,存储器,在片外设电路等。

主要特点如下:

n  CPU:

l先进的多总线结构(1条程序总线,3条数据总线和4条地址总线)

l40位算术逻辑运算单元(ALU),包括1个40位桶型移位寄存器和2个独立的40位累加器

l17位×

17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算

l比较,选择,存储单元(CSSU),用于加法/比较选择

l指数编码器,可以在单周期内计算40位累加器中数值得到指数

l双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU)存储器

l192K字可寻址存储空间(64K字程序存储器,64K字数据存储器以及64K字I/O空间)

l片内ROM,可配置位程序/数据存储器

l片内双寻址RAM(DARAM)

C5402中的DARAM分为若干块。

由于在每个机器周期内,允许对同一DARAM块寻址2次,因此CPU可以在一个机器周期内对同一DARAM读出1次。

一般情况下,DARAM总是映象到数据存储空间,主要用于存放数据。

但是,它也可以映象到程序存储空间,用来存放程序代码。

n指令系统:

l单指令重复和块指令重复操作

l块存储器传送操作

l32位长操作数指令

l同时读入2或3个操作数的指令

l能并行存储和并行加载的算术指令

l条件存储指令

l从中断快速返回

n在片外围电路:

l软件可编程等待状态发生器

l可编程分区转换逻辑电路

l带有内部震荡器或者用外部时钟源的片内锁相环(PLL)时钟发生器

l时分多路

l缓冲串行口(BSP)

l16位可编程定时器

l8位并行主机接口(HPI)

l外部总线关断控制,以断开外部的数据总线、地址总线和控制信号

l数据总线具有总线保持器特性

n电源:

l可用IDLE1,IDLE2,IDLE3指令控制功耗,使其工作在省电方式下

lCLKOUT输出信号可以关断

n在片仿真接口:

l具有符合IEEE1149.1标准的在片仿真接口。

3.数字滤波器的MATLAB辅助设计

3.1MATLAB简介

MATLAB是矩阵实验室(MatrixLaboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,当前流行的MATLAB5.3/Simulink3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。

工具包又可以分为功能性工具包和学科工具包。

功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。

学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

MATLAB具有许多的优点比如:

语言简洁紧凑,使用方便灵活,库函数极其丰富;

MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;

程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。

因此在各个学科和领域得到了广泛的应用。

3.2FIR数字滤波器的MATLAB设计原理方法

3.2.1FIR滤波器的设计原理

滤波器就是在时间域或频域内,对已知激励,产生规定响应的网络,使其能够从信号中提取并放大有用的信号,抑制并衰减不需要的信号。

数字滤波器的设计,实质上就是对提出的设计要求给出相应的性能指标,再通过计算,使物理可实现的实际滤波器频率响应特性,逼近给出的频率响应特性。

设计完成后,可根据计算结果在FPGA或DSP上实现。

FIR数字滤波器系统的传递函数为:

(3-9)

y(n)=b(0)x(n)+b

(1)x(n-1)+…+b(N-1)x[n-(N-1)](3-10)

若FIR数字滤波器的单位脉冲响应序列为h(n),它就是滤波器系数向量b(n)。

应用Matlab设计FIR滤波器的主要任务就是根据给定的性能指标,设计一个H(z),使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。

3.2.2窗函数法

窗函数设计的基本思想是要选取某一种合适的理想频率选择性滤波器,然后将它的脉冲响应截断以得到一个线性相位和因果的FIR滤波器。

因此这种方法的重点在于选择某种合适的窗函数和一种理想滤波器。

对于给定的滤波器技术指标,选择滤波器长度和具有最窄主瓣宽度和尽可能小的旁瓣衰减的某个窗函数。

任何数字滤波器的频率响应都是w的周期函数,它的傅立叶级数展开式为:

(3.1)

(3.2)

其中的Wc为滤波器的归一化的截止频率。

傅立叶系数hd(n)实际上就是理想数字滤波器的冲激响应。

获得有限冲激响应数字滤波器的一种可能方法就是把无穷级数截取为有限项级数来近似,而吉布斯(Gibbs)现象使得直接截取法不甚令人满意。

窗函数法就是用被称为窗函数的有限加权系列{W(n)}来修正式((3.2)的傅立叶级数,以求得要求的有限冲激响应序列h(n),即有:

h(n)=hd(n)W(n) (3.3)

w(n)是有限长序列,当n>

N-1及n<

0时,W(n)=0。

几种常用的窗函数

工程中比较常用的窗函数有矩形窗函数、三角形((Bartlett)窗函数、汉宁(Harming)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数和凯塞Kaiser)窗函数。

窗函数的选择原则是:

l具有较低的旁瓣幅度,尤其是第一旁瓣幅度;

l旁瓣幅度下降速度要大,以利增加阻带衰减;

l主瓣的宽度要窄,以获得较陡的过渡带。

通常上述三点很难同时满足。

当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加:

当选用最小的旁瓣幅度时,虽能得到匀滑的幅度响应和较小的阻带波动,但过渡带加宽。

因此,实际选用的窗函数往往是它们的折衷。

在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。

总之窗函数不仅有截短的作用,而且能够起到平滑的作用在很多领域得到应用。

表3.1给出了几种常用窗函数的性能对比表。

表3.1常用窗函数的性能对比表

MATLAB信号处理工具箱提供了基于窗函数法的FIR滤波器的设计函数fir1和fir2,它们能使滤波器的设计更加简单。

fir1:

功能:

基于窗函数的FIR滤波器设计——标准频率响应形状。

格式:

b=fir1(N,wc,’ftype’,window).

说明:

标准频率响应应指所设计的滤波器的预期特性为理想频率响应,包括低通、带通、高通或带阻特性。

ftype和window可以默认。

B=fie1(N,wc)可得到截止频率为wc且满足线性相位条件的N阶FIR低通滤波器,window默认选用hamming窗。

其单位脉冲响应h(n)为

h(n)=b(n+1)n=0,1,2,…,N

当wc=[wc1,wc2]时,得到的是通带为wc1wwc2的带通滤波器.

b=fir1(N,wc,’ftype’).可设计高通和带阻滤波器。

当ftype=high时,设计高通FIR滤波器;

当ftype=stop时,设计带阻FIR滤波器。

fir2:

基于窗函数的FIR滤波器设计——任意频率响应形状。

b=fir2(N,f,m,window)

fir2函数用于设计具有任意频率响应形状的加窗线性相位FIR数字滤波器,其幅频特性由频率点向量f和幅度值向量m给出,0f1,要求f为单增向量,而且从0开始,以1结束,1表示数字频率w=.m与f等长度,m(k)表示频点f(k)的幅频响应曲线。

n用各种窗函数设计FIR数字滤波器

分别用矩形窗和Hamming窗设计线性相位FIR低通滤波器。

通带截止频率,单位脉冲响应h(n)的长度N=21。

用窗函数法设计FIR数字滤波器时,先求出相应的理想滤波器单位脉冲响应,再根据阻带最小衰减选择合适的窗函数w(n),最后得到FIR滤波器单位脉冲响应。

,N=21,所以线性相位理想低通滤波器的单位脉冲响应为:

(3-13)

MATLAB的实现:

%cjf2_1.m

N=21;

wc=pi/4;

%理想低通滤波器参数

n=0:

N-1;

r=(N-1)/2;

hdn=sin(wc*(n-r))/pi./(n-r);

%计算理想低通单位脉冲响应

ifrem(N,2)~=0hdn(r+1)=wc/pi;

end %N为奇数时,处理n=r点的0/0型

wn1=boxcar(N);

%矩形窗

hn1=hdn.*wn1'

%加窗

wn2=hamming(N);

%hamming窗

hn2=hdn.*wn2'

%加窗

w=2*[0:

511]/512;

hw1=fft(hn1,512);

hw2=fft(hn2,512);

subplot(2,2,1);

%作图

stem(n,hn1,'

.'

);

grid;

xlabel('

n'

ylabel('

h(n)'

title('

矩形窗设计的h(n)'

%图形划分及标注语句

subplot(2,2,2

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2