基于DSP的FIR数字滤波器
基于DSP窗函数法实现的有限单位冲激响应FIR数字滤波器

( = kn 七+ 一) " ∑a (一)∑b 七 ) y
数字滤波器的功能就是把输入序列通过一定 的运算变换成
输 出序列 。 以用 以下两种方法来实现数字滤波器 : 可 一种方 法是
( 一) N 1个零点 , 而位于 Z 平面原点 z 0处 , = 则有 ( 一 ) N 1 阶极点 。
技 经 济市 场
基于 D P窗 函数 法实现 的有 限单位冲激 响应 FR数 字滤 波器 S I
李 想 ’ ,姜 以涛 2
( 陕西国防工业职业技 术学院电子信 息学院, 1 陕西 西安 700 ; 江苏博世汽车柴油 系统股份有限公司, 130 2
江 苏 无锡 2 4 2 ) 1 0 8
3 全部极点都在 z ) =0处( 因果系统 ) ; 设 FR滤波器 的单位 冲激响应 h n 为一个 N点序列 , ≤ I () 0 n ≤N一 1则滤波器的系统 函数为 ,
_ 1 v_
设计 、 线性相位特性可严格精确保证等优点 , 因此在要求相位线
性信道的现代电子 系统 , 如图像处理 、 数据传输等波形传递系统 中,具有很大吸引力 。本课题为基于 D P窗函数法实现 的 FR S I 数 字滤波器 ,其中涉及到 D P和 HR这两个 专有名词 。其 中 S D P为 Dga Sga Poesr数字信 号微处理器 ) S i t i l rcso( il n 的简写 , 发 展 至今其 以功能强大 、 高速度 、 可编程 、 低功耗著称 , 其中最著名
4 窗 函数 法 的设 计 步骤 以及 系统 硬 件 电路 设计 和 软
件 电路设 计
1 首先是给定所要求 的频率响应 函数 H (j ; ) de ) 2其 次 , h( ) D } [ (j 】 ) 求 dn =IT ̄ Hde r ) 3 再次 , ) 由过渡带宽及阻带最小衰减的要求 , 选定窗 O( ) J n
基于DSP的FIR数字滤波器设计

能 。事 实上 ,一个 实 际的应 用 系统 总存在 各种 干 扰 。而使 用D P 行 数 字信 号 处理 可 以从 噪 声 中 S进 提 取信 号 ,即对 一个具 有 噪声 和信号 的混 合 源进 行 采样 ,然后 经过 数字 滤波 器来 滤 除噪声 ,从而 提取 有用 信 号 。用D P 片实 现数 字 滤波 除 了具 S芯 有稳 定 性 好 、精 确 度 高 、不 受 外 界 影 响 等 优 点 外 ,还 具有灵 活性 好 等特点 ,因而可 通过 可 编程 D P 片 来 实现 数字 滤 波 的参 数修 改 ,进 而 十分 S芯
Y()= n () ()+ () ( - )+ n y()= 0 n 1 n1
…
+ A ) [ ^ ) : X( k ( ( n L1 2 h( L1 一( 】 ) n ) 1 - )
=
0
其对 应 的FR滤波器 的传递 函数 为 : I
一
k
) hk : () z
K= o
() 2
方便 地 改变 滤波 器 的特 性 。 目前 .基 于D P S 的数
字滤 波 已被 广泛应 用 于语音 、图像 、软件 无 线 电 等 领域 。
基于DSP实现的FIR低通滤波器

基于DSP实现的FIR低通滤波器FIR(有限脉冲响应)低通滤波器是一种常见的数字信号处理(DSP)滤波器。
它的设计和实现非常灵活,可以用于去除数字信号中高频成分,使得信号能在一定的频率范围内进行平滑处理。
FIR低通滤波器有很多种设计方法,其中最简单的方法是基于窗函数设计,例如矩形窗、汉宁窗、布莱克曼窗等。
这些窗函数的选择取决于滤波器的性能要求和频率响应的形状。
在DSP中,FIR低通滤波器的实现可以采用直接形式、级联形式、并行形式和迭代形式等多种结构。
其中直接形式是最简单和直观的实现方式,也是最容易理解和实现的一种结构。
直接形式的FIR低通滤波器由一个延迟线、一组乘法器和加法器组成。
延迟线用于延迟输入信号,乘法器用于对延迟后的信号进行调制,而加法器则将调制后的信号相加得到输出信号。
```----------------------,,,x(n) -->, Delay ,-->, Multiply,-->--+ Sum ,--> y(n)Line ,,,----------------------```在实现过程中,需要注意的是延迟线的设置和乘法器的系数。
延迟线的长度决定了滤波器的阶数,即滤波器对输入信号的响应范围。
乘法器的系数则决定了滤波器的频率响应,可以通过窗函数的选取来确定。
通常,FIR滤波器的实现可以通过查表法或者卷积法来实现。
查表法通过预先计算所有可能的输入组合,并将其存储在一张查找表中,以减少计算量。
卷积法则通过将输入信号和滤波器的冲击响应进行卷积运算来得到输出信号。
当实现FIR低通滤波器时,还需要考虑滤波器的性能指标和算法的优化。
常见的性能指标包括滤波器的截止频率、抗混叠性能、通带和阻带的幅频特性等。
算法的优化可以从以下几个方面考虑:乘法器的系数选择、滤波器结构的选择、滤波器长度的选择和存储器的优化等。
总之,基于DSP实现的FIR低通滤波器是一种常用的数字信号处理滤波器,它可以用于去除数字信号中的高频成分,平滑信号的频谱。
基于DSP芯片的语音信号FIR滤波系统

摘要数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
随着微处理技术的快速发展,微处理器芯片的集成度从最早的几千个晶体管发展到现在的上亿个晶体管,字长从4位提高到了64位,正是这些技术的飞速发展引发了一轮又一轮的信息产业革命,而人们的生活、学习和工作方式也在以计算机技术、通信技术为核心的信息技术的影响下发生着前所未有的改变。
然而在这次设计中,比较核心的是数字滤波器,数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域。
滤波的目的。
根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。
与IIR滤波器相比,FIR滤波器只有零点,除原点外.在z平面上没有极点,因此总是稳定的和可实现的;更重要的是,FIR 滤波器在满足一定的对称条件下,可以获得严格的线性相位特性,这一点是IIR 滤波器难以实现的。
因此。
它在高保真的信号处理.如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。
对于本设计主要是利用一个DSP芯片来进行语音采集系统的设计,而数字信号处理技术的发展使得采用数字化的方法实时的处理语音信号成为可能。
早期的语音信号处理均是采用模拟处理,对声音信号最常用的滤波、相关、谱分析等运算,部分采用模拟电路来实现的。
这种传统的模拟方法处理语音信号,硬件设备昂贵,不能升级、产品生命周期短,而采用数字处理技术处理语音信号具有抗干扰性强、便于传输和处理等优点,代表着语音处理技术的发展方向。
基于MATLAB与DSP的FIR数字滤波器的设计

1 引言
个实际的应用 系统 中,由于设备或 者 是外界环境 的原 因,总存在各种 干扰 ,
h, j ;t ( d) 1 fd (= 7
 ̄
P
=
h nl \ 去 ” : f ( £ — T 2 , )
DPMTA I糯滤波器 s;A LBF
由于 h () 是无限长序列 , n 且是非因果
的 。要得到有限长 的 h n ,需要用一个有 ()
4 F 数字滤波器的 D P I R S 设计
应滤波器( R) I 滤波器是有限长单位 I 。FR I 冲激响应滤波器,在结构上是非递归型的, 有限冲激响应滤波器(I ,具有以下的优 FR) 点 :( )可以在幅度特性随意设计的同时 , 1 保证精确 、 严格的线性相位,() 2 由于 FR I
[ y,f ,n is s b t 】= wa r a (十. ved ‘ wa ’ v) %WA V文档的读取 wa wrt ( v ie Y,f ,nb t ‘ s is, 十. wa ’ v) %WAV文档的写入 wa p a ( v l Y Y,f )%W AV 文档的 s 播放 su d) o n s( o n (、su dc)也是 WAV文档
此 类 文 件 ,具 体 格 式 如 下 :
2 F 滤波器的设计方法分析 I R
数字滤波 器依据冲激响应的宽度划分 为有限冲激响应 (I 滤波器和无限冲激响 F R)
公司 ( )生产的第三代 D P 产品 ,本 TI S
基于dsp的语音采集及滤波器设计

基于DSP的语音采集与FIR滤波器的设计与实现摘要: 介绍了一种基于TMS320C5402的语音采集与FIR数字滤波器的设计与实现, 采用TLC320AD50作为语音CODEC模块的核心器件, 简述了FIR数字滤波器的特点,以及其在DSP上实现的原理。
利用TMS320C5402对采集到的语音信号进行FIR滤波, 该系统具有较强的数据处理能力和灵活的接口电路,能够满足语音信号滤波的要求, 可以扩展为语音信号处理的通用平台.关键词: 语音采集; FIR滤波器; TMS320C5402数字信号处理是把数字或符号表示的序列, 通过计算机或专用处理设备, 用数字的方式去处理, 以达到更符合人们要求的信号形式。
而语音处理是数字信号处理最活跃的研究方向之一, 在IP电话和多媒体通信中得到广泛应用. 一个完备的语音信号处理系统不但要具有语音信号的采集和回放功能, 还要能够进行复杂的语音信号分析和处理。
通常这些信号处理算法的运算量很大, 而且又要满足实时的快速高效处理要求, 随着DSP技术的发展, 以DSP为内核的设备越来越多, 为语音信号的处理提供了优质可靠的平台. 软件编程的灵活性给很多设备增加不同的功能提供了方便, 利用软件在已有的硬件平台上实现不同的功能已成为一种趋势。
本文设计了一个语音处理系统, 采用定点DSP芯片TMS320C5402作为CPU, 完成对语音信号的采集和滤波处理.1 语音采集系统的设计1. 1 系统总体设计语音采集与处理系统主要包括3个主要部分: 以TMS320C5402 为核心的数据处理模块; 以TLC320AD50为核心的语音采集与编解码( CODEC)模块; 用户根据需要扩展的存储器模块. 系统硬件结构如图1所示.1. 1. 1 CODEC模块本设计选用TLC320AD50( 以下简称AD50) 完成语音信号的A/ D转换和D/ A转换. AD50是TI公司生产的一款集成有A/ D和D/ A的音频芯片, DSP与音频AD50连接后, 可使用一个缓冲串行口来同时实现语音信号的采集和输出, 从而可以节省DSP的硬件开销. AD50使用过采样技术提供从数字信号到模拟信号和模拟信号到数字信号的高分辨率低速信号转换. 该器件包括2个串行的同步转换通道, 分别用于各自的数据传输. 语音信号直接从AD50的模拟信号输入端输入, AD50对其进行采样, 并将采样后的数据传送至DSP. DSP应用相应的算法对数据进行处理, 并将处理后的数据传送到AD50的D/ A输入端. AD50再对DSP处理后的数据进行数模转换, 变为语音信号后输出到音响设备.本系统中TLC320AD50与TMS320C5402之间采用串行通信, 通过DSP芯片的MCBSP串口实现.接口电路如图2所示.1. 1. 2 MCBSP的工作原理TMS320C5402有2个McBSP 多通道缓存串行口. McBSP提供了全双工的通信机制, 以及双缓存的发送寄存器和三缓存的接收寄存器, 允许连续的数据流传输, 数据长度可以为8、12、16、20、24、32; 同时还提供了A律和L律压扩. 数据信号经DR和DX引脚与外设通讯, 控制信号则由CLKX、CLKR、FSX、FSR等4个引脚来实现[ 4]. CPU和DMA控制器可以读取DRR[ 1, 2] 的数据实现接收, 并且可以对DXR[ 1, 2] 写入数据实现发送. 串行口控制寄存器SPCR[ 1, 2] 和引脚控制寄存器PCR用来配置串行口; 接收控制寄存器RCR[ 1, 2] 和发送控制寄存器XCR[ 1, 2]用来设置接收通道和发送通道的参数; 采样率发生器寄存器SRGR[ 1, 2] 用来设置采样率. TMS320C5402芯片串口控制寄存器功能强大, 用户通过编程不但可以设置时钟信号的极性及输入输出方向, 还可以设置同步信号的极性及输入输出方向.1. 1. 3 AD50与DSP的同步通信在应用中, 将TLC320AD50C接至DSP的同步串口, 并将TLC320AD50设置在主动工作模式下, 即由TLC320AD50 提供帧同步信号和移位时钟,TMS320C5402的管脚电压为3. 3V, 可以与AD50直接相连. 串口的移位时钟SCLK由AD发出, 串行数据在SCLK的驱动下经DIN、DOUT 移进、移出, 在SCLK的下降沿采样DIN 数据, 在SCLK下降沿送出数据到DOUT. XF控制首次或二次通信, XF为低时是AD50的首次通信, 是正常的AD、DA的数据; XF为高时是AD50的二次通信, 这时可以读写AD50的4个寄存器. 进入二次通信有软件的方法, 即把AD50设为15+1位数据模式, 最后一位标记下一个数据是否为二次通信数据, 1表示是, 0表示否.一次通信格式的16位都用来传输数据. DAC的数据长度由寄存器1的D0位决定. 启动和复位时, 默认值为15+ 1模式, 最后一位要求二次通信. 如果工作在16位传输模式下, 则必须由FC产生二次通信请求. 二次通信格式则用来初始化和修改TLC320AD50C内部寄存器的值. 在二次通信中可通过向DIN写数据来完成初始化.二次通信格式如图3所示, D13= 1表示读DIN的数据, D13= 0表示向DIN 写数据.系统复位后, 必须通过DSP 的DX接口向TLC320AD50C的DIN 写数据, 因为采用一片TLC320AD50C, 只需初始化寄存器1、寄存器2、寄存器4. 由于通信数据长度为16位, 初始化是应通过RCR1和XCR1设置McBSP的传输数据长度为16.2 语音采集语音信号的采集, 是通过话筒经模拟放大输入到AD50, AD50作相应的低频滤波并进行A/ D转化, 再通过MCBSP通道输入DSP芯片. 语音信号采集程序包括以下几个部分:( 1) DSP初始化. 对DSP的寄存器以及缓冲串口进行初始化.( 2) AD50初始化. 通过DSP的缓冲串口和XF引脚对AD50进行初始化, 再设置AD50的4个控制寄存器; 确定AD50的4个控制寄存器设置正确后,AD50才能开始采集数据. 此时, 可以用示波器检测AD50的DOUT引脚, 能发现引脚是否有连续的信号输出.( 3) 设置DSP的中断, 从缓冲串口读取数据. 如果此时在缓冲串口连续读取数据, 就可以在仿真软件CCS中查看读取的数据是否正确.( 4) DSP存放数据. 可以将缓冲串口读取的数据存放到DSP的RAM单元, 连续存放, 可通过CCS的图形显示功能判断AD50采样的数据是否正确.3 语音滤波语音去噪在语音信号上应用较多, 在实质上和普通的数字信号去噪没有什么区别, 使用滤波器和各种算法均可以实现语音信号的去噪, 使得含有噪声的信号更加清晰. 但语音信号的去噪和一般的数字信号去噪又存在着很大的差别, 因为语音信号的频谱覆盖在100Hz~3. 4kHz, 较为丰富的信号主要集中在1kHz 附近, 所以一般的滤波去噪时必须考虑语音信号的自身特征.本系统中应用的AD50内置了低通滤波器, 可以通过设置来有效滤除信号中混杂的高频干扰信号, 而对于低于100Hz的干扰信号, 则无能为力. 因此, 要用DSP进行编程设计一个软件可实现高通滤波器, 由处理器来完成信号的去噪, 采用FIR滤波.3.1 FIR滤波器的基本结构及特点有限冲激响应( FIR)滤波器的基本结构是一个分节的延时线, 把每一节的输出加权累加, 得到滤波器的输出. 数学上表示为y(n) =EN-1n=0h(n)x(n-m), (0[ n[ N- 1) (1) 对(1)式进行Z变换, 整理后可得出FIR滤波器的传递函数为H(z) = EN-1n=0h(n)z-n, (0[ n[ N- 1) (2)由( 2)式可知FIR滤波器的一般结构如图1所示.图1 FIR数字滤波器直接实现形式3.2 FIR滤波器的DSP实现原理由( 1)式可知, FIR滤波器的冲激响应为h(0), h(1), ,, h(N- 1). x(n)表示滤波器在n时刻的输入, 则n时刻的输出为y(n) = h(0)x(n) +h(1)x(n- 1) + ,+ h(N- 1)x[ n- (N- 1) ],这是一个乘、加的过程, 可以使用DSP中的MAC 指令实现该运算. 图2说明了使用循环寻址实现FIR滤波器的方法. 为了能正确使用循环寻址, 必须先初始化BK, 块长为N. 同时, 数据缓冲区和冲激响应( FIR滤波器的系数)的开始地址必须是大于N的2的最小幂的倍数. 例如, 当N= 11时, 大于N的最小2的幂为16, 则数据缓冲区的第一位地址应该是16的倍数, 因此数据缓冲区起始地址的最低4位必须是0.在图2中, 滤波系数指针初始化时指向h(N- 1), 经过一次FIR滤波计算后, 在循环寻址的作用下,仍然指向h(N- 1). 而数据缓冲区指针指向的是需要更新的数据, 如x(n). 在写入新数据并完成FIR运算后, 该指针指向x(n- (N- 1)) , 所以, 使用循环寻址可以方便地完成滤波窗口数据的自动更新.4 FIR滤波器设计实例给定FIR数字带通滤波器的技术指标为: 2个通带截止频率分别为4kHz和6kHz, 2个阻带截止频率分别为3kHz和7kHz, 采样频率均为25kHz. 输入为一个混合信号f = [ cos(2000Pt) + cos(10000Pt) + cos(20000Pt)] /6,利用Matlab设计FIR带通滤波器的系数, 将得到的滤波器系数乘以32768(即215)后舍尾取整可得DSP中滤波器系数列表. 用. word汇编命令将各滤波器系数直接输入到DSP程序中; 模拟输入数据由C语言程序实现, 然后用. copy命令将C语言程序生成的数据文件firinput拷贝到DSP程序中. DSP程序实现读入数据、滤波、显示波形等方面的任务. 完成FIR滤波器的程序框图如图3所示, 可知FIR滤波器的DSP实现主要由以下4方面的内容组成.4.1 模拟输入数据的生成用C语言程序生成输入数据, 通过. copy汇编命令将生成的数据文件拷贝到汇编程序中, 作为FIR滤波器的输入数据. C语言程序运行后所生成的数据文件名为firinpu,t 生成firinput数据文件的C语言程序如下所示:#include"stdio. h"#include"math. h"main( ){int ;idouble f[ 256];FILE*fp;if( ( fp= fopen( "e: \ \ firinput", "wt") ) = =NULL){printf( "canct openfile! \n");}for( i=0; i< =255; i++ ){f[ i] =( cos( 2* 3. 14159265* *i 1000/25000) + cos( 2* 3. 14159265* *i 5000/25000) +cos( 2* 3. 14159265* *i 10000/25000) ) /6;fprintf( fp, " . word %ld\n", ( long) ( f[ i]* 32768) );}fclose( fp);}4.2 DSP初始化程序 DSP初始化程序包括了对堆栈指针( SP)、软件等待状态寄存器( SWWSR)、中断寄存器( IFR)、中断屏蔽寄存器( IMR)以及处理器工作状态寄存器( PMST)的初始化; 另外还对各变量赋值, 具体的程序如下: . def _c_int00. mmregsswcr . set 2bht_ar2 . set 066ht_ar3 . set 067hout_wave_buf . set 0d00hdata_in . set 0f00hN . set 51fir_coef_buf . set 100hfir_data . set 200h. textrs b_c_int00_c_int00:stm#2020h, pmstssbx intmssbx sxmssbx frctstm #10h, 26hstm #10h, 36hstm #0ffh, spld #0, dpstm #0ffffh, ifrstm #20h, imrstm #02492h, swwsrstm #0, swcr可看出, FIR滤波器的系数列表将存在100h开始的单元中, 输入数据将存在200h开始的单元中, 而输出数据将存在0d00h开始的单元中.4.3 滤波系数以及输入数据的调入由于滤波器系数一开始是存在程序存储器中, 输入数据则是存在程序外的文件中, 程序对这2组数据进行处理时, 需要把两者都调到数据存储器中, 具体实现程序如下:stm #fir_data, ar6rpt #255mvpd #inpu,t*ar6+stm #fir_coef_bu,f ar6rpt #N-1mvpdfir_coe,f*ar6+stm #fir_coef_bu,f t_ar2stm #fir_data, t_ar3这段程序实现的是把输入数据调到以200h开始的单元, 而把滤波系数调到从100h开始的单元.4.4 滤波子程序一次滤波的过程实质上就是对2组数进行有规律的乘加计算, 具体程序如下:fir:mvdm #t_ar2, ar2 ; 将起始滤波系数地址100h 赋给ar2mvdm #t_ar3, ar5 ; 将起始输入数据地址200h 赋给ar5stm #data_in, ar3 ; ar3=0f00hstm #255, brc ; 定义块循环次数rptbdloop-1 ; 定义块循环结束地址stm #N, bk ; 定义循环缓冲器大小ld *ar5+, a ; 将新数据读到累加器a中 stl a,*ar3+% ; 将新数据读入栈顶rptz a, #(N-1) ; 定义循环次数, 之前先将a累加器清0mac *ar2+0%,*ar3+0%, a ; a=ar2*ar3+a, 每完成一次计算ar2、ar3 ; 指针所对应地址+1sth a, * ar6+ ; 将计算结果保存输出loop这个程序段将重复执行256次, 从而实现对于数据的读入、处理、输出等功能.5 结语本文介绍了一个实时数据采集处理系统的设计和实现, 系统以DSP芯片和TLC320AD50芯片为核心,有很强的数据处理能力和灵活的外围接口电路, 实验证明, 可较好地实现语音的滤波. 该系统可扩展为3G手机语音识别系统, 也可以作为语音信号处理算法研究和实时实现的通用平台参考文献: :[ 1] 邹彦. DSP原理及应用[ M]. 北京:电子工业出版社, 2005.[2] 乔瑞萍, 崔涛,张芳娟. TMS320C54x原理及应用[M].西安: 西安电子科技大学出版社, 2005.[3] 黄海波, 蒋伟荣. 通用语音处理系统的DSP实现[ J] . 微计算机信息, 2006,22( 5) :173- 175.[4] 张勇, 曾炽祥,周好斌. TMS320C5000系列DSP汇编语言程序设计[M]. 西安:西安电子科技大学出版社, 2004.[ 5] 卢山, 田野,郭黎利. 利用DSP技术实现FIR滤波器[ J]. 应用科技, 2002, 29( 11): 19-21.[ 6] 张伟利, 朱煜. FIR滤波器在TMS320C5402中的实现[ J].微处理机, 2005( 2): 4- 6.。
基于DSP Builder的FIR滤波器设计与实现

基于DSP Builder 的FIR 滤波器设计与实现Design and Implementation of FIR Based on DSP Builder(湖南科技大学)罗韩君 刘明伟 (湖南省电力试验研究院)王成LUO HAN jun LIU MING wei Wang cheng摘 要:针对FIR 数字滤波器的基本原理和结构特点,利用DSP Builder 软件设计了32阶低通FIR 滤波器,对该滤波器的性能进行了仿真,并将设计下载到FPGA 中进行了硬件测试,测试结果表明:采用该方法设计FIR 滤波器简单易行,可缩短设计进程,设计出的滤波器的性能稳定可靠,达到了预期目标。
关键词:DSP Builder;FIR;FPGA;仿真中图分类号:TN713 文献标识码:A 文章编号:Abstract: According to the principle and structure of FIR digital filter, a 32-order lowpass FIR is designed by using DSP Builder, and design is successfully simulated , Finally, the design is downloaded into FPGA device for testing, testing results indicate: this design method is effective for FIR. Key Words: DSP Builder;FIR;FPGA;Simulation 1 引 言在信号处理领域,数字滤波器占有重要地位,数字滤波器在语音和图像处理、模式识别、HDTV、雷达信号分析与谱分析等领域有广泛应用。
与模拟滤波器对比,数字滤波器可以满足滤波器幅度和相位特性的严格要求,可以克服模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。
基于DSP的FIR数字滤波器设计研究

的数 字 信号 用 D A 进 行转 化 ,形成 模 拟 的采 样值 , / 塌: 将 得 到 的 不 平 滑 的 滤 波通 过 滤 波器 等设 备进 后 行处 理 ,从 而得 到最 终 的模拟 连续 的信 号 。 因 为 DS P信 号 处理 系统 是 以数 字 信 号处 理 理 论为 基 础 ,故 兼 具 有数 字 信 号 的特 点 。其 特点 一 , 与之 相 兼 容 的接 口比较 多 ,都 是 以数 字 为基 础 的 , 便 与其 他 的 系 统 接 口进 行 连 接 ;其 特 点 二 , 因
摘
要:D P S 芯片 是一种微 处理器 ,能够进行将 信息进 行数字化 的处理 ,用 于对付各 种实时的数字信 号处理 ,卷积 、变 化等 ,处 理效率 高 ,因而被 广泛地应 用在许多 的方 面 ,尤其 在数字滤波器 上。针 对这个情况 ,本文采 用了某公 司的T 30 5 X MS 2C 4 芯片作 为本文研究 的D P S 芯片 ,根据 提出 的算法 实现 了FR I滤波 器 ,并 经过仿 真实验 ,得 到的 实验 结果满 足滤 波的条件 ,预计 的 实验结果 验证 了本 文提出的算 法。
、 l 似 I I 泣 3
基于D P I 娄 字滤波器设计研究 S 的FR
The R gi al i erdesi FI di t l ft gn bas ed he on t DSP
王
坤
w ANG n Ku
( 河南职业技术学 院 ,郑州 4 0 4 ) 5 0 6
关键词 : D P;T 3 0 4 芯 片;FR S MS 2 C5X 滤波器 J 中图分 类号 :T 1 N7 3 文献标识码 :A 文章编号 :1 0 - 14 2 i )8 上 ) l 7 3 9 0 ( o 0 ( 一O4 -0 0 3 2
基于DSP的FIR数字滤波器研究微型机与应用

科技 曩向导
21 年 l 期 01 第 5
基于 D P的 F R ( 尔 滨 工 程大 学理 学 院 黑 龙 江 哈 尔 滨 1 0 0 ) 哈 0 1 5 【 要】 摘 数字滤波器容易实现不同的幅度和相位频率特性指标 , 克服与模拟滤波 器器件性能相关的电压漂移、 漂移和噪声 问题。FR 温度 I 数字滤波具有不含反馈 环路 、 结构简单以及 可以实现严格 线性相位等优点 , 已成为最 常用的数 字滤波方法之一。随 着通 用可编程 D P芯片 现 S 出现 . DS 用 P实现 FR数 字滤波具有很 广的可研 究性。 I. 【 关键词】 字滤波器 ;I 字滤波; P 数 FR数 Ds
数字 滤波作为数字 信号处理 的重 要组成部分有 着十分广泛 的应 横截型结构 。 用前景 。 可作为应用 系统对信号 的前置处理 。在许 多信 号处理应用 中 2FR数 字 滤 波 器 设 计 .I 使用数字滤波器代替模拟滤波器是有利 的。FR数字滤波器通常应用 I 21 R数字滤波 M , B . I F AI 仿真设计 1 于修 正及改 变时 、 频域 中信号属性 . 它可滤除不需要 的频率 分量 , 得到 MA L B提供 了功能 强大 的滤 波器设 计 与分析 工具 F A O L TA D T O 所需频率分量 。 随着 D P S 芯片的出现 , D P 用 S 芯片实现数字滤波除 了 (i r ei n nl iTo 。通过此工具提供的面 向用户的交互 Fl s n d a s o1 t D g a A ys e ) 具有稳定性好 、 精确度高 、 不受外界影响等优点外 , 还具有 灵活性好的 式环境 , 用户能够非常方便 的进行滤波器 的设计 以及 分析。FR数字 I 特点 . 可对 D P 片编程 来实现数字滤波 的参数修 改 , S芯 进而十分 方便 滤波 器的设计 方法有窗 函数法 、 频率采样 法以及 C eyhv hb se 逼近法 。 地修 改滤波器的特性 。因此基 于 D P的 FR数字滤波具有广 阔的发 频率采样法是直接在频率域采样 . S I 在采样点上能够完全保证设计 的滤 展 空 间 波器与理想 的滤波器幅度一致 . 但在采样点之间是应用 内插 函数来建 1FR数 字 滤 波 .I 立 的. 不免使得频域不 连续点附 近误差 较大 . 这 并且边 界频率更不易 数字 滤波器 比较模 拟滤波器来说更 易于获得更 多的理想滤 波性 控制 。 h bse 逼近法其滤波器参数 比较难于设定 , 在具体操作 当 Cey v h 且 系统 FR数字滤波器选择窗 函 I 能 . 且不受 温漂 、 并 空间噪声 等的干扰 。 的系统 函数 可 以表示如下 中没有其他两种设计方法简单 所 以 . 它 数法设计 在窗函数 中滤波效果很好 的 H n i 窗能将 能量集 中在主 an g n 式: 村 瓣 内。 第一旁瓣 衰减是 3d , 主瓣宽度扩大一倍 。H m i 窗 的 1B 不过 a in n g ∑6 … 主瓣宽度与 H ni 窗相 同. an g n 能使 9 . 9 %的能量集中在主瓣 . 9 第一旁瓣 的衰减可增加到 4 d 系统 FR数字滤波器窗 函数采用 H m i 窗 1B I am n g 1 一 函数 . 用横截 型结构设计 3 2阶。 截止频率为 1 H 的低通滤波器。 K z 2 FR 字滤波 C S . I数 2 C 仿真设计 且系统函数的输入 、 输出满 足如下 差分方程 : C d o ps u i 简称 C S 是 T 公司推出的为开发 T S 2 oec m 0 r td es o C, J M 30 系列 D P S 软件 的集成开发环境 ( E 。C S I ) C 工作在 Wi o s D n w 操作 系统 d ) 一 +  ̄ 一 一) = ∑。 ∑b( 2 ) x n 下. 类似 于 v + 的集成 开发 环境 。 c+ 采用 图形接 口界面 . 提供有编辑工 FR数字滤波器 的特点如下Ⅲ I : 具和工程管理工具日 它将各种代码产 生工具 , 。 诸如汇编器 、 链接器 、/ c 1 线性相位 . 1 c+ +编译器 、 建库工具等集成在 了一个统一的开发平 台中。C 所集成 CS FR数字滤波器 的响应 是严格线性相位 的. I 在整个频 带范围 内的 的代码调试工具具有各 种调试 功能 .包括了原 T 公司提供 的 c源代 I 群时延是常数 , 所以滤波器本身不会 引入线性 相位 。 码调试器和模拟器所具有 的所有功能 。 能对 T S 2 系列 D P M 30 S 进行指 1 . 2绝对稳 定 令级的仿 真和进行 可视化 的实 时数据分析M 。 由于没有反馈 ,I FR数字滤波器始终都是稳定 的。 1 较小的有 限精度误差 - 3 DP S 软件的开发过程就是根据滤波 器的方程 y = h ) n ㈤ (( ) i — 实 x i= 0 FR数字滤波器 受有限字长效应 的影 响较小 。 I 现输 入序列与滤波器 系数序列之间的卷积 。具体设计 如下 : 1 . 4实现效率高 2 .首先建立 12 点输入信号序列 ) .1 2 04 和滤波器 抽头系数序列 利用 D P S 处理 器的 M C A 、循环寻址及 一些 专用 的指令 可使 FR I ( , 同时建立 12 点转换序列 n ) 04 (。 n 数字 滤波器 的实现 比较高效 。 2 . 对 输入序列 进行转 化 。 .2 2 输人 序列 的第 一个值放 人fnO , x ( 其 ) FR数字滤波器 域 内的传输 函数 日 =定 义形式如下 : I () N-1 他值赋予 0 对 f (和 ^ ) , 。 xO n ) (相乘 结果放入输 出序列 中 , n 作为第一 日() ( )  ̄ — ) = z( 3 -1 个数值 。 2 .进行系 统的第一 次循环 , 入新 的输 入信号放 人 fn )原 .3 2 读 x( , 0 令 ] 时刻 的输入信号 , 时刻 的 FR输 出信号 y 】 以表 表示 则 I 【可 n 有 的值 向后移动一位放入fn1 其他值赋予 0再将 fn ) ^ 中的 x( , ) 。 x( 与 ㈤ n 示为: 数值依次做乘 累加运算 , 将结果存人 “ ) n 中。 2 . 重 复上面 的过程 , 次进行循 环 , .4 2 依 每读 人新 的输入 信号 , 就 n 】 , 2 x ] n ( 4 ] [ [: [h 一]— ) =n k[ 1 将原有储存在 n 中的数值一次 向后移动一位 , ㈨ 当进行 到第 2 次循 5 FR数字滤波器横截型结构如 图 l I 所示 . 它是 FR数字滤波 器的 I 环之后 , n 中的数 值依次是最新读 入 的输入 信号以及它 以前 的 2 詹㈤ 4 基本结构 , 由式 (_ ) 接推演 而来 。 可 14直 H 个信号倒序排列
基于DSP的FIR数字滤波器的设计与仿真毕业设计论文

基于DSP的FIR数字滤波器的设计与仿真毕业设计论文研究背景数字信号处理在现代通信、音视频处理、图像处理等领域中起着至关重要的作用,数字滤波器是数字信号处理中的重要内容。
其中FIR数字滤波器是一种常用的滤波器,其具有线性相位和稳定性等特点,在数字信号处理中应用广泛。
因此,本毕业设计将以FIR 数字滤波器为研究对象,结合DSP平台,进行数字滤波器的设计与仿真研究。
研究目标本文旨在设计一种基于DSP的FIR数字滤波器,并且研究其性能和仿真效果。
主要目标包括:1. 掌握DSP平台的开发流程和设计方法,包括硬件平台和软件开发技术。
2. 研究FIR数字滤波器的原理和特点,掌握其设计方法和计算技巧。
3. 基于DSP平台设计实现FIR数字滤波器,包括硬件和软件两个方面,满足设计要求。
4. 仿真FIR数字滤波器的性能和效果,验证设计的正确性和可行性。
5. 撰写毕业设计论文,总结设计过程和结果,体现出自己的设计思路和方法。
研究方法本研究采用如下方法:1. 研究DSP平台的开发流程和设计方法,包括使用硬件平台和软件开发技术。
2. 研究FIR数字滤波器的原理和特点,掌握其设计方法和计算技巧。
3. 基于DSP平台设计实现FIR数字滤波器,采用Verilog语言描述硬件电路,C语言编写软件程序。
4. 利用模拟工具对FIR数字滤波器进行仿真,测试性能和效果。
5. 撰写毕业设计论文,总结设计过程和结果,体现出自己的设计思路和方法。
预期结果本研究预期可以达到如下结果:1. 掌握DSP平台的开发流程和设计方法,能够应用于数字信号处理和嵌入式系统开发等领域。
2. 研究FIR数字滤波器的原理和特点,掌握其设计方法和计算技巧,能够进行数字信号处理相关工作。
3. 基于DSP平台设计实现FIR数字滤波器,满足设计要求,具有较好的性能和稳定性。
4. 仿真FIR数字滤波器的性能和效果,能够验证设计的正确性和可行性。
5. 撰写毕业设计论文,总结设计过程和结果,体现出自己的设计思路和方法,具有较好的表达和撰写能力。
基于DSP实现的FIR低通滤波器

基于DSP实现的FIR低通滤波器FIR(Finite Impulse Response)低通滤波器是一种数字信号处理(DSP)算法,用于滤除输入信号中高于一些截止频率的频域成分,并使输出信号只包含低于该截止频率的成分。
FIR低通滤波器通常由一组脉冲响应函数(Impulse Response)的加权和组成,其中权重决定了滤波器的频率响应。
实现FIR低通滤波器的一种常见方法是使用离散时间线性卷积运算。
滤波器的输入信号通过一个延迟线数组,然后与一组权重向量进行内积。
该内积计算的结果即为滤波器的输出。
在DSP领域,用于实现FIR低通滤波器的算法有很多种,其中最常用的是基于迭代结构(Direct Form)的算法。
此算法按照滤波器的脉冲响应函数的长度进行迭代,每次迭代处理输入信号的一个样本。
该算法的优点是实现简单、稳定可靠。
下面是一个基于DSP实现的FIR低通滤波器的伪代码示例:```python#定义滤波器的截止频率和脉冲响应函数长度def cutoff_frequency = 1000 # 截止频率为1kHzdef length = 101 # 脉冲响应函数长度为101#初始化滤波器的权重向量def weights = [0.0] * length#计算滤波器的脉冲响应函数for i in range(length):#计算当前权重对应的频率frequency = i * sampling_rate / length#如果当前频率小于截止频率,则设置权重为1,否则为0weights[i] = 1 if frequency <= cutoff_frequency else 0#初始化输入和输出信号数组def input_signal = [0.0] * signal_lengthdef output_signal = [0.0] * signal_length#循环处理输入信号的每个样本for i in range(signal_length):#延迟线数组移位,并将当前输入样本放入延迟线的第一个位置delay_line[1:] = delay_line[:-1]delay_line[0] = input_signal[i]#计算滤波器的输出output_signal[i] = sum(delay_line * weights)```这段示例代码实现了一个FIR低通滤波器,截止频率为1kHz,脉冲响应函数长度为101、首先,根据截止频率计算出权重向量。
FIR滤波器在DSP上的实现

FIR滤波器在DSP上的实现
1引言
近年来,随着数字信号处理(DSP)技术的发展,自由响应滤波器(FIR)已成为DSP系统的核心部分,广泛用于各种应用,如声学信号处理、通信器件、生物医学信号处理等。
本文首先介绍FIR滤波器的基本原理,之后介绍如何在DSP上实现FIR滤波器,主要介绍两种实现方法:延迟求和和移位加法(Shift-Add)。
最后,将对比分析两种实现方法的优劣,并分析哪些条件下使用移位加法。
2FIR滤波器的原理
输入的时域信号x[n]经过一系列不同阶数的延迟单元滤波器系数h[n]的乘法和求和运算,从而得到输出的时域信号y[n],即
y[n]=\sum_{k=0}^{k=N}h_{k}x[n-k]
其中,x[n]表示输入时域信号,h[n]表示滤波器系数,y[n]表示输出时域信号,N表示滤波器的阶数。
3在DSP上实现FIR滤波器。
dsp实验报告 fir实验

dsp实验报告 fir实验
DSP实验报告 FIR实验
一、实验目的
本实验旨在通过设计一种FIR滤波器,加深对数字信号处理中FIR滤波器的理解,并掌握FIR滤波器的设计方法和实现过程。
二、实验原理
FIR滤波器是一种常见的数字滤波器,其特点是无需考虑系统的稳定性问题,且具有线性相位特性。
FIR滤波器的传递函数为:
H(z) = b0 + b1z^(-1) + b2z^(-2) + ... + bMz^(-M)
其中,b0、b1、b2...bM为滤波器的系数。
FIR滤波器的设计主要包括窗函数法、频率采样法和最优化法等。
三、实验步骤
1. 确定滤波器的通带截止频率和阻带截止频率;
2. 根据通带截止频率和阻带截止频率选择合适的窗函数;
3. 计算窗函数的系数;
4. 将窗函数的系数作为FIR滤波器的系数;
5. 利用MATLAB或其他数学软件进行FIR滤波器的模拟实现;
6. 对设计的FIR滤波器进行性能评估,包括幅频特性、相频特性、群延迟等。
四、实验结果
经过实验设计和模拟实现,得到了满足要求的FIR滤波器。
通过对滤波器的性
能评估,得到了其幅频特性、相频特性和群延迟等性能指标。
实验结果表明,
设计的FIR滤波器具有良好的滤波效果,能够满足通带截止频率和阻带截止频
率的要求。
五、实验总结
通过本次实验,加深了对FIR滤波器的理解,掌握了FIR滤波器的设计方法和实现过程。
同时,也了解了数字信号处理中滤波器的重要性,以及如何根据实际需求设计出满足要求的滤波器。
希望通过本次实验,能够对数字信号处理的相关知识有更深入的了解和掌握。
基于DSP的FIR数字滤波器设计及实现

() 2
可以看出 。 数字滤 波 器 的功能 就是 把输 入 序列 通过 一定 的 运算 变换成输 出序列 … 。 数字滤波器依据 冲激 响应 的宽 度划 分为有 限长单 位 冲 激响应 ( I 滤波 器 和无 限长单 位 冲激 响应 (I 滤波 器 。 FR) I R) 从结构类型来看 , 在系 统传 递 函数 表现 为 : 果 全部 = 如
第5 卷第 4期 21 0 0年 1 2月
江 西 蓝 天 学 院 学 报
J URNAL OF JANG L E S Y O I XIB U K UNI RST VE I Y
Vo 1 No 4 5. .
De e e . 0 0 c mb b 2 1
基 于 D P的 FR数 字 滤 波 器 设 计 及 实现 S I
盯
,
,
着信 息时代和数字 世界 的 到来 , 字信 号处 理 已成 为 当今 数
一
日( )=— z
乏
~
() 1
门极其 重要的学科和技术 领域 , 它在 通信 、 语音 、 图像 、 自
1一
口 z“ ^
动控 制、 雷达 、 军事 、 空航天 、 航 医疗 和家用 电器 等众 多领域 直接 由此 式可得出表示输入输 出关 系的常 系数线性 差分 方 得 到了广泛的应 用 。而在 数字 信号 处 理应用 中, 字滤 波 程为 : 数
中图分类号:P1 T31
文献标识码: A
文章鳊号: 3 21 )4 08 0 1 (00 0 — 2 — 4 2
在一个实 际的应 用 系统 中 , 由于 设备 本 身和 外界 环境 1 FR滤 波器 的 M T A I A L B设计 的原 因 , 总存在各种干扰 , 号 中掺杂 了噪声 。譬 如音 频 使信
dsp实验报告 fir实验报告

dsp实验报告 fir实验报告DSP实验报告:FIR实验报告引言:数字信号处理(Digital Signal Processing,DSP)是一门研究如何对数字信号进行处理和处理的学科。
其中,滤波器是数字信号处理中最常用的技术之一。
本实验报告旨在介绍FIR(Finite Impulse Response)滤波器的原理、设计和实现过程,并通过实验验证其性能。
一、FIR滤波器的原理FIR滤波器是一种线性时不变系统,其输出信号仅由输入信号的有限个历史样本决定。
其基本原理是将输入信号与滤波器的冲激响应进行卷积运算,以实现对输入信号的滤波处理。
二、FIR滤波器的设计方法1. 理想低通滤波器设计方法理想低通滤波器的频率响应在截止频率之前为1,在截止频率之后为0。
通过对理想低通滤波器的频率响应进行采样和离散化,可以得到FIR滤波器的系数序列。
2. 窗函数法设计FIR滤波器窗函数法是一种常用的FIR滤波器设计方法。
其基本思想是将理想低通滤波器的频率响应与一个窗函数进行乘积,从而得到实际可实现的FIR滤波器的系数序列。
常用的窗函数有矩形窗、汉宁窗、汉明窗等。
三、FIR滤波器的实现FIR滤波器可以通过直接形式和间接形式两种方式实现。
直接形式是按照滤波器的差分方程进行计算,而间接形式则是利用FFT(Fast Fourier Transform)算法将滤波器的系数序列转换为频域进行计算。
四、FIR滤波器的性能评估1. 幅频响应幅频响应是评估FIR滤波器性能的重要指标之一。
通过绘制滤波器的幅频响应曲线,可以直观地观察滤波器在不同频率下的衰减情况。
2. 相频响应相频响应是评估FIR滤波器性能的另一个重要指标。
相频响应描述了滤波器对输入信号的相位延迟情况,对于某些应用场景,相频响应的稳定性和线性性非常重要。
3. 稳态误差稳态误差是指FIR滤波器在达到稳态后输出信号与理想输出信号之间的差异。
通过对滤波器的输入信号进行模拟或实际测试,可以计算出滤波器的稳态误差,并评估其性能。
基于TMS320VC5509 DSP的FIR滤波器设计

基于TMS320VC5509 DSP的FIR滤波器设计基于tms320vc5509dsp的fir滤波器设计课程设计报告课程设计名称:dsp原理与应用领域系则:学生姓名:班级:学号:成绩:指导教师:开课时间:2021-2021学年2学期基于tms320vc5509dsp的fir滤波器设计一、课堂教学的目的和建议1、课堂教学的目的通过对本课程设计,进一步地理解和掌握高速数字信号处理器的特点和基本概念,如何运用pc机来实现dsp的应用,掌握用窗函数法设计fir数字滤波器的原理方法,熟悉线性相位fir数字滤波器特性,了解各种窗函数对滤波器特性的影响。
掌握tms320c55xdsp常用的开发工具,掌握集成开发环境ccs的使用及利用ccs进行程序开发的一般过程。
掌控汇编语言程序的撰写方法,汇编器和链接器的用法,能够利用编订指令同时实现高速数字信号处理器的一些典型算法,时能在dsp应用领域方面获得锻炼身体,通过该课程的自学dsp技术的应用领域更进一步的重新认识,为以后进步社会累积经验储备科学知识。
对fir算法实验更加熟识,以及对之前大二时候研习过的fir滤波器存有了更进一步的体会,必须搞好实验,之前课本上教给的科学知识就是非常关键的。
提高了自己的动手能力,用计算机去操作方式,撰写编程,然后展开编程,若出来细再展开苏蒂县,在读取至在dsp芯片中,去同时实现某种功能。
将更加娴熟的操作方式ccs界面。
2、实践的要求设计建议:未知信号的取样频率为8000hz,设计一个32阶的低通滤波器,滤波器的通带截止频率为2950hz,阻带截止频率为3150hz。
认真阅读实验中的源程序,深刻理解fir滤波的原理及具体实现方法,包括含噪信号的生成,滤波后信号的输出重点理解fir滤波器的实现。
(1)设计一定参数的滤波器用matlab设计滤波器,使用fir2函数设计滤波器,注意,在函数中,其截止频率均用归一化频率表示。
(2)编程并浏览程序(3)打开观察窗口(view―>graph->time/frequency)进行设置(4)得出结论为:输出波形为一个高频率的正弦波与一个高频的正弦波共振而变成。
基于TMS320F2812DSP处理器的FIR滤波器的设计与实现

基于TMS320F2812DSP处理器的FIR滤波器的设计与实现FIR(Finite Impulse Response)滤波器是一种常见的数字滤波器,其主要特点是线性相位特征和有限脉冲响应。
在本文中,将基于TMS320F2812 DSP处理器设计和实现一个FIR滤波器。
首先,我们需要确定FIR滤波器的参数,包括滤波器的长度和系数。
滤波器的长度决定了滤波器的频域分辨率,系数则决定了滤波器的频率响应。
在设计中,我们可以使用窗函数法或最小二乘法等方法来确定滤波器的系数。
接下来,我们需要编写代码将FIR滤波器的系数加载到DSP处理器的内存中。
TMS320F2812DSP处理器使用C语言进行编程,可以使用DSP编译器将代码编译成可执行文件。
在代码中,需要定义一个数组来存储FIR 滤波器的系数,并使用内置函数来实现滤波器运算。
在滤波器的输入和输出之间,需要使用定点数格式进行数据的表示和计算。
TMS320F2812DSP处理器支持定点数运算,可以使用固定小数点或整数表示数据。
在计算过程中,要注意溢出和截断的问题,以保证滤波器的性能和稳定性。
在实现过程中,还需要考虑到采样率和时钟频率的调整。
TMS320F2812DSP处理器具有多个时钟和定时器,可以根据实际需求进行配置和调整。
为了保证滤波器的实时性,应根据采样率和滤波器的长度来确定时钟频率和定时器的设置。
当FIR滤波器的代码编写完成后,可以通过仿真和测试来验证滤波器的性能。
TMS320F2812DSP处理器支持调试和仿真功能,可以使用仿真器或调试器来查看滤波器的输入和输出结果。
在测试过程中,可以输入不同频率和幅度的信号来验证滤波器的频率响应和滤波效果。
总结来说,基于TMS320F2812DSP处理器的FIR滤波器设计和实现分为确定参数、编写代码、调整时钟和测试验证四个步骤。
通过合理的参数选择和代码编写,可以实现一个高性能和稳定的FIR滤波器。
基于DSP的FIR数字滤波器的研究与实现

Ab ta t sr c Ths i pa per nr du es ito c FI di tl ier bo t ie ph e, a c dig o ier ec nial pe f a i wid R gi fl a u l ar a t n as c or n t fl t h c s cic t t i on. n ow f n t u ci on
数 字 滤 波 器 分 为 无 限 冲 激 响 应 滤 波 器 ( R) 有 限 冲激 响 t 和 l 应 滤 波 ( I ) FR滤 波 器 具 有 不 含 反 馈 环 路 、 构 简 单 以 及 可 FR , I 结 以 实 现 的严 格 线性 相 位 等 优 点 ,因 而在 对 相 位 要 求 比较严 格 的 条件 下 , 用 FR 数字 滤波 器 。在 许 多 场 合下 , 要 对 信 号进 行 采 I 需 实 时处 理 ,而 D P控 制 器 采 用 多 组 总线 结 构 实 现 并 行 处 理 , S 独 立 的 累加 器 和乘 法 器 以及 丰 富 的 寻址 方式 , 此 采 用 D P控 制 因 S
, 有
如 果 FR滤 波 器 的 单 位抽 样 响 应 h n 为 实 数 , 满 足 h n I () 且 () = h N一 一 )其 对 称 中 心 在 n ( 1/ ± ( 1n , - N一 )2处 , 滤 波 器 具 有 准 则 确 的线 性 相 位 。 h n 窗 函数 设 计 法 的设 计 思 路 : 般 是 先 给 定 所 要 求 的理 () 一
me h d s ad t o i optd. ef en f I di t ft r s e Co fi ci to FR gi al ie i l de i e tr ugh sgn d h o MATL AB. pu sgna i i t i l s oc s e by ea t e ab e n pr e s d r l i ov m te s sem f h yt o DSP 丁MS32 VC5 e pe i 0 41 x rmena r ut ndiats R gi l ierpr ii i i , od sabiy,i l lxi e, 6, t l es l i c e FI di t ft ecson s ghgo t l hghy f bl a l h i 字滤 波 器 的研 究 与 实 现 S I
基于DSP的FIR数字滤波器的设计

摘要 :利用 T M S 3 2 0 C 5 4 x系统开发环境 C C S下, 实现基 于 D S P的 F I R数 字滤波器并进行 实验仿真 , 并从输入信号和输 出信号的
时域和频域 曲线上 , 观 察在 D S P 上 实现的 F I R滤 波器的特性, 从仿真结果上可以看 出, 该滤波器具有很好 的滤波特性。
t h e i n p u t s i g n a l a n d t h e o u t p u t s i g n a 1 . T h e s i mu l a t i o n r e s u l t s s h o we d t h a t t h i s i f l t e r h a d g o o d i f l t e in r g p op r e r t i e s .
O 引 言
波器 , F I R滤波器 在保 证幅度特 性 满足技术 要求 的 同时 , 随着信息 处理技术 的飞速发展 , 熟 悉信号 处理 技术逐 很容易做 到严格 的线性相位特性。 为 了使滤波器满足线性
渐发展 成为一 门主流 技术 , 它在 电子信 息、 通信 、 软 件无线 相 位 条 件 , 要求其单位脉 冲响应 为实序列 , 且 满 足 偶 对 称 电、 自动控制 、 仪表技 术、 信 息家 电等高科 技领域得到 了越 或奇 对称条 件 即 h ( n ) = h ( N 一 1 一 n ) 或者 h ( n ) : 一 h ( N一 1 一 n ) 。这 来 越 广 泛 的 应 用 ,其 中 滤 波 器 技 术 的 实 现 也 越 来 越 重要 。 样, 当 N为偶数 时 , 偶 对称线性相位 F I R滤 波器 的差 分方 那 么相对于 模拟滤波器 , 数 字滤 波器没 有漂移 , 能够 处理 程 表 达 式 为 : 低频信号 ,频率响应特性可做成非常接近于理 想的特性 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于DSP的FIR数字滤波器学号******************** 成绩评语题目基于DSP 的FIR数字滤波器设计作者************* 班级********院别************** 专业电子信息完成时间2012年05月23号目录一概述 (2)1.1 数字滤波器的研究现状 (2)1.2 论文主要完成的工作 (2)二系统硬件设计 (3)2.1 系统设计方案 (3)2.2 主控模块 (6)2.3 显示模块 (7)三系统软件设计 (10)3.1 软件整体设计 (10)3.2 测量模块 (10)四系统测试结果与总结 (11)4.1 硬件调试中要注意到的问题 (11)4.2 软件调试中要注意到的问题 (11)4.3 结果 (11)4.4 总结 (12)五参考文献 (13)六附件 (14)基于DSP的 FIR数字滤波器设计一、概述1.1 数字滤波器的研究现状滤波器的主要分类有以下几种:(1)按处理信号类型分类,可分为模拟滤波器和离散滤波器两大类。
其中模拟滤波器又可分为有源、无源、异类三个分类;离散滤波器又可分为数字、取样模拟、混合三个分类。
(2)按选择物理量分类,滤波器可分为频率选择、幅度选择、时间选择(例如PCM制中的话路信号)和信息选择(例如匹配滤波器)等四类滤波器。
(3)按频率通带范围分类,滤波器可分为低通、高通、带通、带阻、全通五个类别,而梳形滤波器属于带通和带阻滤波器,因为它有周期性的通带和阻带。
为适应各种需要,出现了一批新型滤波器,这里介绍几种已得到广泛应用的新型滤波器:(1)电控编程CCD横向滤波器(FPCCDTF):电荷耦合器(CCD)固定加权的横向滤波器(TF)在信号处理中,其性能和造价均可与数字滤波器和各种信号处理部件媲美。
这种滤波器主要用于自适应滤波;P-N序列和Chirp波形的匹配滤波;通用化的频域滤波器及相关积运算;语音信号和相位均衡;相阵系统的波束合成和电视信号的重影消除等均有应用。
当然,更多的应用有待进一步开拓。
总之,FPCCDTF 是最有希望的发展方向。
(2)晶体滤波器:它是适应单边带技术而发展起来的。
在20世纪70年代,集成晶体滤波器的产生,使它的发展产生一个飞跃。
近十年来,晶体滤波器致力于下面一些研究:实现最佳设计,除具有优良的选择外,还具有良好的时域响应;寻求新型材料;扩展工作频率;改造工艺,使其向集成化发展。
它广泛应用于多路复用系统中作为载波滤波器,在收发信中,单边带通信机中作为选频滤波器,在频谱分析仪和声纳装置中作为中频滤波器。
(3)声表面滤波器:它是理想的超高频器件。
它的幅频特性和相位特性可以分别控制,以达到要求,而且它还有体积小,长时间稳定性好和工艺简单等特点。
通常应用于:电视广播发射机中作为残留边带滤波器;在彩色电视接收机中调谐系统的表面梳形滤波器。
此外,在国防卫星通信系统中已广泛采用。
声表面滤波器是电子学和声学相结合的产物,而且可以集成,所以,它在所有无源滤波器中最有发展前途的。
我国现有滤波器的种类和所覆盖的频率已基本上满足现有各种电信设备。
从整体而言,我国有源滤波器发展比无源滤波器缓慢,尚未大量生产和应用。
从下面的生产应用比例可以看出我国各类滤波器的应用情况:LC 滤波器占50%;晶体滤波器占20%;机械滤波器占15%;陶瓷和声表面滤波器各占1%;其余各类滤波器共占13%。
从这些应用比例来看,我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。
随着电子工业的发展,对滤波器的性能要求越来越高,功能也越来越多,并且要求它们向集成方向发展。
我国滤波器研制和生产与上述要求相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任。
1.2 论文主要完成的工作本课题主要应用MATLAB 软件设计FIR 数字滤波器,并对所设计的滤波器进行仿真:应用DSP 集成开发环境—CCS 调试汇编程序,用TMS320C5402来实现了FIR 数字滤波。
主要完成的工作有:(1)对FIR 数字滤波器的基本理论进行了分析和探讨;(2)采用MATLAB 软件来学习数字滤波器的基本知识,计算数字滤波器的系放,研究算法的可行性,对FIR 低通数字滤波器进行前期的设计和仿真;(3)系统介绍了TI 公司TMS320C54x 系列数字信号处理器的硬件结构、性能特点和DSP 的集成开发环境CCS ;应用DSP 集成开发环境-℃CS 调试汇编程序,用TMS320C5402来实现了FIR 数字滤波。
(4)用窗函数法实现FIR 滤波器,通过调用四种窗口函数,截取不同的带通与低通滤波原型,满足以下性能要求:带通滤波器:下阻带边缘:πω2.01=s ,dB A s 60=;下通带边缘:πω35.01=p ,dB R p 1=,上通带边缘:πω65.02=p ,dB R p 1=;上阻带边缘:πω8.02=s,dB A s 60=,低通滤波器:πω2.0=p ,dB R p 25.0=;πω3.0=s ,dB A s 50=;(5)研究DSP 的结构特点,了解TI 公司的TMS3205410 DSP 器件,掌握DSP 系统的构成及软硬件设计方法和CCS 软件的调试方法;并以TI 公司的TMS3205410 DSP 为核心处理器,在DSP 上实现FIR 滤波器系统。
二、 系统硬件设计2.1系统设计方案通常一个典型的 DSP 系统如图1所示。
图2.1 典型的DSP 系统上图是一个用DSP 做信号处理的典型框图。
由于DSP 是用来对数字信号进行处理的,所以首先必须将输入的模拟信号变换为数字信号。
于是先对输入模拟信号进行调整,输出的模拟信号经过A/D 变换后变成DSP 可以处理的数字信号,DSP 根据实际需要对其进行相应的处理,如FFT 、卷积等;处理得到的结果仍然是数字信号,可以直接通过相应通信接口将它传输出去,或者对它进行D/A 变换将其转换为模拟采样值,最后再经过内插和平滑滤波就得到了连续的模拟波形模拟信号。
一般来说DSP 的设计过程应遵循一定的设计流程,如图2示。
图2.2 DSP 基本设计流程 DSP定义系硬件调选择软件编硬件设系统集软件调系统测在数字信号处理系统中,常常要用到FIR 数字滤波器,这是因为用FIR 滤波器可以逼近任意幅频特性的滤波器,并获得很好的性能。
故我们将设计基于DSP 的FIR 数字滤波器。
本次数字滤波器的实现采用线性缓冲区法。
利用线性缓冲区法实现一个K 阶数字FIR 滤波器的计算时,除在存储空间中定义一个长度为K 的存储去用于存放滤波器的系数外,还需要专门定义一个长度为K 的存储区域用来存放K 个输入数据,该区域称为循环缓冲区。
在开始计算前,先给循环缓冲区中所有单元全部赋值为0,开始计算后,每来一个新的输入数据,将其按顺序写入循环缓冲区,并将循环缓冲区数据于滤波器系数按相应的规则进行K 次乘法累加计算,产生一个输出数据。
直到循环缓冲区被填满,下一个输入数据到来时,用其替换循环缓冲区中最早的那个数据点,并相应地进行K 次循环累加运算,产生相应的滤波输出。
如此循环直到输入数据序列计算结束。
这样在循环缓冲中读取数据时总是在这一段地址范围内循环读数,因此将这一算法称为循环缓冲区法。
循环缓冲区法的数据寻址示意图如下图4所示:初始状态 n 时刻的输入采样 更新一个数据后图 2.3 循环缓冲区法执行过程图循环缓冲区法的具体步骤如下:(1)定义两个长度为K 的数组,一个用来存放滤波系数h[n],另一个用来存放输入数据a[n];(2)将滤波系数存放到h[n]中,将a[n]的所有元素赋值为0;(3)将要处理的第一个数据存于a[0]中;(4)进行K 次乘法累加运算,得出一个滤波输出;(5)将新的输入数据值存入a[K]中,以替代最旧的一个数据重复第(4)步,计算新的滤波器输出,如此循环至所有的输入数据处理结束。
H(K-1)H(K-2) X(n-(K-1X(n+1) X(n-(k-2H(1) H(0) X(n-1) X(n-1) X(n) X(n)X(n-(K-2 ………… ……………………H(1)循环缓冲区法实现的数字滤波器结构比较紧凑,占用存储资源较少,结合DSP 的循环寻址方法可以方便、高效的实现FIR 数字滤波器。
图2.4 系统设计框图2.2 主控模块TMS3205402是16位的定点处理器,所以在进行汇编程序设计时,FIR 滤波器系数要采用Q15格式,即必须将上述系数转化为Q15格式,这只要将滤波器各系数乘以215即可。
用DSP 实现Z 1-算法是十分方便的,常用的方法有两种:线性缓冲区法和循环缓冲区法。
在本文中采用的是循环缓冲法,循环缓冲区法的特点是:(1) 对于N 阶的FIR 滤波器,在数据存储器中开辟一个也称为滑窗的N 个单元的缓冲区,滑窗中存放最新的N 个输入样本;(2) 每次移入新的样本时,以新样本改写滑窗中老的数据,而滑窗中的其他数据不需要移动;(3) 利用片内BK (循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。
FIR 滤波器的核心算法是计算输入信号与滤波器系数的卷积。
设x(n)为输入信号,h(n)为FIR 滤波器的冲击响应,n=0,…,N-1,则FIR 滤波器的输出y(n)就是x(n)与h(n)的卷积,即:()()()m h m n x n y N m *1∑-=-= 由于卷积是数字信号处理中最常用到的算法,因此几乎所有的DSP 芯片中都设有专门的指令支持卷积运算。
在TMS3205410中可以用macd 指令完成卷积。
macd 指令的形式如下:macd (Smem ,pmad ,src );在macd 指令中,Smem 是间接寻址参数,它是指令中指向数据存储器的单地址。
MATLA B 编程MATLA B 滤波器设 CC 观察输Pmad是表示程序存储器地址的16位常数。
Src表示累加器,可以是A累加器或是B累加器。
这条指令在执行时,先把指令中的pmad常数送到程序地址寄存器的PAR中,然后将Smem地址中的数据用PAR地址在程序存储器中读取的数据相乘,并将乘积结果累加到由Src指定的累加器中。
在指令执行时,Smem地址中的内容被同时复制到T 寄存器和Smem低中之后的下一个地址单元中。
若采用repeat指令重复执行macd指令,则在执行指令的最后,PAR寄存器自动加1,这样当macd再次执行时就直接用PAR 中的地址读取程序存储器中的数据。
通常情况下,macd指令执行时需要三个周期。
但是若用repeat指令执行macd,进入流水线后只要一个周期就可以执行一次macd指令。
由此可见,该指令同时完成了乘累加和数据延迟(移位)的功能,这正是卷积算法所要求的。
对于输入序列,它在两个循环缓冲器里的存储情况如下,要建立缓冲区首先将循环缓冲区大小寄存器的值设为N/2辅助寄存器AR4指到缓冲区1(Bufferl)的顶部AR5指到缓冲区2(Buffer2)的底部,新来一个样本存储到缓冲区1中时,应先将缓冲区1顶部的数据移到缓冲区2底部,处理器然后进行乘加运算,滤波程序每步运算后AR4 指向数据移到的下一个窗口,而AR5则指向下一个输入数据,对于下一步运算AR4指向地址1,AR5指向地址N/2。