基于DSP芯片的语音信号FIR滤波系统

合集下载

(完整版)利用DSP的FIR滤波器设计

(完整版)利用DSP的FIR滤波器设计

题目:利用DSP的FIR滤波器设计数字处理器(DSP)有很强的数据处理能力,它在高速数字信号处理领域有广泛的使用,例如数字滤波、音频处理、图像处理等。

相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。

使用可编程的DSP芯片实现数字滤波可以通过修改滤波器的参数十分方便地改变滤波器的特性,下面主要说明利用TMS320VC54x DSP芯片设计实现FIR数字滤波器。

设计目的意义一个实际的使用系统中,总存在各种干扰,所以在系统设计中,滤波器的好坏将直接影响系统的性能。

使用DSP进行数字处理,可以对一个具有噪声和信号的混合信号源进行采样,再经过数字滤波,滤除噪声,就可以提取有用信号了。

所以说,数字滤波器是DSP最基本的使用领域,熟悉基于DSP的数字滤波器能为DSP使用系统开发提供良好的基础。

技术指标1、数字滤波器的频率参数主要有:①通带截频:为通带和过渡带的边界点,在该点信号增益下降到规定的下限。

②阻带截频:为阻带和过渡带的边界点,在该点信号衰耗下降到规定的下限。

③转折频率:为信号功率衰减到1/2(约3dB)时的频率,在很多情况下,也常以fc作为通带或阻带截频。

④当电路没有损耗时,固有频率:就是其谐振频率,复杂电路往往有多个固有频率。

2、增益和衰耗滤波器在通带内的增益并非常数。

①对低通滤波器通带增益,一般指ω=0时的增益;高通指ω→∞时的增益;带通则指中心频率处的增益。

②对带阻滤波器,应给出阻带衰耗,衰耗定义为增益的倒数。

③通带增益变化量指通带内各点增益的最大变化量,如果通带增益变化量以dB为单位,则指增益dB值的变化量。

3、阻尼系数和品质因数阻尼系数α是表征滤波器对角频率为ω0信号的阻尼作用,是滤波器中表示能量衰耗的一项指标,它是和传递函数的极点实部大小相关的一项系数。

4、灵敏度滤波电路由许多元件构成,每个元件参数值的变化都会影响滤波器的性能。

基于DSP的FIR数字滤波器设计

基于DSP的FIR数字滤波器设计
数 字 滤 波 器 的 实现 方 法 主要 有 I I R滤 波器 和 FR I 滤波 器 两种 ,其 中I 滤 波器 需要 使用 通 用模 I R 拟 滤 波器设计 方 法来进 行设 计 .它 能得 到较 好 的 幅度特 性 ,但 是 相位 特性 是非线 性 的 。为 了得 到 线性 相位 ,它 必须外 加相 位校正 网络 ,而这 会使 滤波 器 的设 计 变得 比较 复杂 ,也会 增加 成 本 ;而 FR滤 波器 则 由有 限个 采样 值 组 成 ,它 可 在保 证 I 幅度 响应满 足指 标要求 的同时 .具有 严 格 的线性
能 。事 实上 ,一个 实 际的应 用 系统 总存在 各种 干 扰 。而使 用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 - )


其对 应 的FR滤波器 的传递 函数 为 : I


) hk : () z
K= o
() 2
方便 地 改变 滤波 器 的特 性 。 目前 .基 于D P S 的数
字滤 波 已被 广泛应 用 于语音 、图像 、软件 无 线 电 等 领域 。

基于DSP实现的FIR低通滤波器

基于DSP实现的FIR低通滤波器

基于DSP实现的FIR低通滤波器FIR(有限脉冲响应)低通滤波器是一种常见的数字信号处理(DSP)滤波器。

它的设计和实现非常灵活,可以用于去除数字信号中高频成分,使得信号能在一定的频率范围内进行平滑处理。

FIR低通滤波器有很多种设计方法,其中最简单的方法是基于窗函数设计,例如矩形窗、汉宁窗、布莱克曼窗等。

这些窗函数的选择取决于滤波器的性能要求和频率响应的形状。

在DSP中,FIR低通滤波器的实现可以采用直接形式、级联形式、并行形式和迭代形式等多种结构。

其中直接形式是最简单和直观的实现方式,也是最容易理解和实现的一种结构。

直接形式的FIR低通滤波器由一个延迟线、一组乘法器和加法器组成。

延迟线用于延迟输入信号,乘法器用于对延迟后的信号进行调制,而加法器则将调制后的信号相加得到输出信号。

```----------------------,,,x(n) -->, Delay ,-->, Multiply,-->--+ Sum ,--> y(n)Line ,,,----------------------```在实现过程中,需要注意的是延迟线的设置和乘法器的系数。

延迟线的长度决定了滤波器的阶数,即滤波器对输入信号的响应范围。

乘法器的系数则决定了滤波器的频率响应,可以通过窗函数的选取来确定。

通常,FIR滤波器的实现可以通过查表法或者卷积法来实现。

查表法通过预先计算所有可能的输入组合,并将其存储在一张查找表中,以减少计算量。

卷积法则通过将输入信号和滤波器的冲击响应进行卷积运算来得到输出信号。

当实现FIR低通滤波器时,还需要考虑滤波器的性能指标和算法的优化。

常见的性能指标包括滤波器的截止频率、抗混叠性能、通带和阻带的幅频特性等。

算法的优化可以从以下几个方面考虑:乘法器的系数选择、滤波器结构的选择、滤波器长度的选择和存储器的优化等。

总之,基于DSP实现的FIR低通滤波器是一种常用的数字信号处理滤波器,它可以用于去除数字信号中的高频成分,平滑信号的频谱。

基于DSP的FIR滤波器设计

基于DSP的FIR滤波器设计

一、课题研究的目的和意义:在信号与信息处理中,提取有用信息需要对信号进行滤波。

借助DSP数字信号处理器的高速运算能力,可以实时地对信号进行数字滤波。

本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行数字滤波。

掌握利用DSP实现信号实时FIR滤波设计可使学生更加透彻的理解信号的采集方法和滤波方法。

学会利用Matlab对信号进行FIR滤波,掌握Matlab的信号仿真。

同时通过对DSP信号处理器及A/D、D/A 转换器以及DMA的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。

二、课题研究主要内容:1•基本部分:(1)掌握利用滤波器设计FIR滤波器的方法,并提取滤波器参数。

(2)掌握利用Matlab的信号处理工具箱的使用,以及利用Matlab对信号进行滤波。

⑶设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的滤波。

(4)利用C语言对A/D、D/A进行初始化。

(5)利用C语言对DMA进行初始化。

⑹编写DMA中断服务程序,实现信号的实时滤波。

(7)利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数2•发挥部分:(1)比较加不同窗和阶数时滤波器的滤波效果。

(2)测试所设计滤波器的幅频特性和相频特性,并与MATLIB下的设计结果进行比较。

(3)在实验板的Line in输入端接入正弦信号,分左右声道分别采集,并分别滤波。

三、要求完成的任务:(1)利用Matlab设计FIR滤波器,并对信号进行滤波。

(2)掌握CCS的安装、设置,工程的建立、工程设置、编译运行和调试方法。

(3)编写C语言程序实现设计要求,并在CCS集成开发环境下调试通过,实现设计所要求。

的各项功能。

(4)利用信号发生器产生输入信号,经DSP运算后正确地在示波器上显示。

(5)按要求撰写课程设计报告。

四、研究方法及技术途径:外部模拟信号先进行A/D转换,利用MCBSP勺接收寄存器接收数据。

基于dsp的语音采集及滤波器设计

基于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的FIR数字滤波器的设计与仿真毕业设计论文

基于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低通滤波器

基于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、首先,根据截止频率计算出权重向量。

基于DSP的语音信号FIR滤波系统的实现

基于DSP的语音信号FIR滤波系统的实现
产 生很 大 的误差 。 为了避 免 产生 很 大 的误差 ,本
的新 一代 数 字 信 号 处 理 产 品 。 对 C 4 5 X有很 好 的 继承 性 ,并 与C 4 源 代码 兼 容 ,从 而能 有 效地 保 5x
护 用 户 在 软 件 上 的投 资 。此 外 ,它 还 具 有 低 功
收稿 日期 : 0 7 1 - 5 2 0 — 1 1
维普资讯
第2卷年5 10 第 5 0 08 月期
蘧错
Vl o o1 N. _ 0 5
M a .20 v l 08
基 于D P S 的语音信号 F 滤波系统 的实现 I R
徐 向 美 . 黄 乡生 木
( 东华理 工 大学 电子与机 械 工程 学院 ,江 西 抚 州 3 4 0 ) 4 0 0
波 .从 而改善 了声音 质量 。
关 键 词 :D P 术 ;语 音 信 号 采 集 ;nR滤 波 S技
0 引 言
在 现代 通信 系统 中 ,各 种 数 字 滤波 器 已经得 到 了广 泛 的应 用 。然 而 ,设计 实 际 滤波 器 时 ,既 要 考 虑 滤波 器 的 幅度 特 性 ,又 要 考 虑 相位 特性 , 所 以 .本 文提 出 了用 D P 片T 3 0 C 5 9 对 S芯 MS 2 V 5 0 A 语 音信 号 进 行 FR滤 波 的 系统 实 现方 法 。该 方 法 I
望 设计 的滤 波 器 传输 函数 为Hd( ,h 1 e a()是 与 7 ,
其 对应 的单 位脉 冲 响应 ,那 么有 :
是 l 位 、2 位 、2 位 和3 位 ,采 样 频率 范 围可从 6 0 4 2
8 H 到9 H ,并 可通 过 控制 接 口来 编辑 该 器件 z 6k z k 的 控 制 寄 存 器 。T V 2 A C 3 持S I 2 两 种 L 3 0 I2 支 P ,I C 控 制模 式 ,其控 制 模 式 由MOD M管 脚 决 定 。本 E

基于DSP芯片的语音信号FIR滤波系统

基于DSP芯片的语音信号FIR滤波系统

绪论1.1设计背景DSP( Digital Signal Processing) 也就是我们常说的数字信号处理, 它是利用计算机或专用处理设备, 以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理, 以得到符合人们需要的信号形式。

DSP 芯片在信号处理、通信、雷达等许多领域得到广泛的应用。

Matlab是一款强大的软件,它将数值分析、矩阵计算、科学数据可视化等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

CSS集成开发环境使用CCS内置的软件仿真simulator对程序进行编译,调试和运行,主要用于检测目标程序运行的正确性和连贯性,并能通过仿真器与目标板连接,在目标板上实时观察效果。

1.2设计目的在本次设计中,我们选择的课题是基于DSP的语言信号的FIR滤波处理。

首先利用MATLAB进行了仿真,得到滤波前后的时域波形和频谱。

然后通过调用MATLAB的分析工具FDATOOL,根据仿真结果导出了滤波器的相关参数,将原始信号数据和滤波器参数输入CCS进行DSP编程。

最后在DSP中实现了FIR低通滤波,并通过CCS的频谱分析功能查看了最终DSP的滤波效果。

2 设计原理2.1 数字信号处理器DSP(Digital Signal Processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。

其工作原理是接收模拟信号,转换为0或1的数字信号。

再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。

它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。

它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

由Ti公司提供专业的开发工具CCS,自带DSP/BIOS操作系统,能够直接编写适合DSP开发工程及文件,满足DSP程序设计要求。

基于DSP的高性能语音信号FIR滤波

基于DSP的高性能语音信号FIR滤波

基金项 目 :江西省科技 厅科技计 划指导性 资助项 目。项 目编
图 1 硬 件 结 构 图
号 :2 0 Z G 3 0 ;江 西 省 教 育厅 青 年 科 学 基 金 项 目 。项 目 09 D 090
由 图 1可 知 ,5 0 S 5 9D P与 A C 3之 间有 两 种 接 口 :控 制 I2
T ¥ 2 VC5 0 M 30 59
CLK x

TL 2 AI 3 V3 0 C2 B
特性可分为有 限冲激 响应 (I )滤波器 和无 限冲激响应 ( FR I —
I) 滤 波 器 两类 。其 中 ,FR滤 波 器 可 以 在满 足 幅度 特 性 随 意 R I 设 计 的 同时 ,保 证 严 格 精 确 的 线 性 相 位 。 因此 ,FR滤 波 器 在 I
设 为 2 0 H , 以将 20 H 40 Z 4 0 Z以上 的 高 频 噪 声 滤 掉 。采 样 频 率 设 为 4 0 0 Z 主 要 程序 代 码 如 下 : 80 H 。 根 据 设 定 的滤 波参 数 ,通 过 调 用 fwn ( 函数 可 获 得 滤 i i ) r
音 被 消 除 ,声 音 质 量 得 到 了 明 显 的改 善 , 同 时 还 能 满 足对 于
初始化系统 、 T作变量和语音缓冲区
滤波算法高性能的要求 。
{ 来 獬 h t n 离 确 定 H aa mi g
i频 率 / I
VOi fi1 n( N. d ’ w{ i nt doub
FS R
LRCOUT
称为 A C 3 ,利用 AI2 I2 ) C 3采集到语音信 号后 ,再经高效率 的
FR滤波 ,最 终输 出高 质 量 的 语 音信 号 。 I

基于DSP的语音信号FIR低通滤波器设计

基于DSP的语音信号FIR低通滤波器设计

科信学院DSP应用系统(三级项目)(2014/2015学年第二学期)课程名称:DSP原理与应用题目:基于DSP的语音信号FIR低通滤波器设计专业班级:信息1221学号:学生姓名:Liu指导教师:设计成绩:2015年7 月10 日1、项目设计目的通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法、数字滤波器的设计过程,了解FIR 的原理和特性,熟悉设计FIR数字滤波器的原理,学习FIR滤波器的DSP的实现原理,学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。

2DSP汇图2-1 Emulator选项图⑶接着在下面的窗口中按标号顺序进行如下选择:图2-2 Emulator配置图⑷在出现的窗口中按标号顺序进行如下设置:图2-3 Emulator配置完成图⑸在出现的窗口中按标号顺序进行如下设置:图2-4 配置完成图以上设置完成后,CCS已经被设置成Emulator的方式(用仿真器连接硬件板卡的方式),并且指定通过ICETEK-5100USB 仿真器连接ICETEK-VC5509-A2.1.3 语音编解码芯片TLV320AIC23原理ICETEK-VC5509-A 评估板上有一个语音编解码芯片 TLV320AIC23。

TLV320AIC23内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。

AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。

图 2-5 TMS320VC5509与TLV320AIC23的连接示意图系统中AIC23的主时钟12MHz 直接由外部的晶振提供。

基于DSP的FIR数字滤波器的研究与实现

基于DSP的FIR数字滤波器的研究与实现
关 键 词 :I FR数 字滤 波 器 . 窗函数 , 字 信 号处 理 , 时数 据 处理 数 实
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 滤波器

基于DSP的FIR 滤波器

第1章绪论1.1课程设计(论文)目的通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。

通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。

学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。

1.2任务和要求任务:设计一个基于DSP的FIR 滤波器要求:1. 总体方案设计;2. 设计出软件编程方法,并写出源代码;3. 仿真与结果分析;4. 论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体。

第2章系统方案设计2.1系统功能介绍任何一个实际的应用系统中,都存在着各种各样的干扰。

数字滤波器是使用最为广泛的信号处理算法之一。

数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用。

在本设计中,先使用MATLAB模拟产生合成信号,然后再利用CCS进行滤波处理。

将模拟信号的采样频率设定为32000Hz,设计一个FIR低通滤波器,其参数为:滤波器名称:FIR低通滤波器采样频率:Fs=40000Hz通带:4000Hz~4500Hz过渡带:2500Hz~3000Hz,3500Hz~4000Hz带内波动:0.5dB阻带衰减:50dB滤波器级数:N=154滤波器系数:由MATLAB根据前述参数求得。

2.2系统方案设计流程图(如图2.1)图2.1 系统方案设计流程图2.3设计主要内容及步骤2.3.1滤波器的原理对于任何一个FIR滤波器系统,它的冲击响应总是有限长的,其系统函数可记为:其中N-1是FIR 滤波器的阶数,为延时结,为端口信号函数。

下式为最基本的FIR滤波器表示:其中表示输入采样序列,表示滤波器系数,N表示滤波器的阶数,Y(n)表示滤波器的输出序列,也可以用下式利用卷积来表示输出序列y(n)与x(n)、h(n)的关系:y(n)=x(n)*h(n) 2.3.2DSP 实现FIR滤波的关键技术用线性缓冲区来实现FIR滤波器其程序清单如下:.title “FIR1.ASM”.mmregs.def startx .usect “x”,8PA0 .set 0PA1 .set 1.dataCOEF:.word 1*32768/10.word 2*32768/10.word -4*32768/10.word 3*32768/10.word -4*32768/10.word 2*32768/10.word 1*32768/10.textstart: SSBX FRCTSTM #x+7,AR2STM #6,AR0LD #x+1,DPPORTR PA1,@x+1FIR1: RPTZ A,#6MACD *AR2-,COEF,ASTH A,*AR2PORTW *AR2+,PA0BD FIR1PORTR PA1,*AR2+0.end用循环缓冲区来实现FIR滤波器其程序清单如下:.title “FIR2.ASM”.mmregs.def start.bss y,1xn .usect “xn”,7b0 .usect “b0”,7PA0 .set 0PA1 .set 1.datatable: .word 1*32768/10.word 2*32768/10.word 3*32768/10.word 4*32768/10.word 5*32768/10.word 6*32768/10.word 7*32768/10.textstart: SSBX FRCTSTM #b0,AR1RPT #6MVPD table,*AR1+STM #xn+6,AR2STM #b0+6,AR3STM #7,BKSTM #-1,AR0LD #xn,DPPORTR PA1,@xnFIR2: RPTZ A,#6MAC *AR2+0%,*AR3+0%,ASTH A,@yPORTW @y,PA0BD FIR2PORTR PA1,*AR2+0%.end2.3.3具体的操作步骤(1)打开FDATOOL,根据滤波要求设置滤波器的类型、通带截止频率、指定阶数、采样频率等。

基于DSP的高性能语音信号FIR滤波

基于DSP的高性能语音信号FIR滤波

[5] 罗红梅. 集成 Hibernate、Spring 和 Struts 的架构应用研究 [D] . 电子科技大学. 硕士学位论文,2006.
[6] 牛军涛,张军,闫洪亮. 基于.Net 的网上评教系统设计的 新思路及实现 [J] . 电脑知识与技术,2007,73-74.
[7] 闫洪亮,王斌斌,张妍琰. 基于.Net 的网上无记名评教的 实现 [J] . 福建电脑,2006,(1):145-146.
4 结语
本方案通过测试证明,在语音信号未进行滤波处理之前,
参考文献
[1] 陈佩清. 数字信号处理教程 [M] . 北京:清华大学出版社, 2001.
[2] 贾晶,华晶. 一种新型的嵌入式语音识别机器人系统 [J] . 电脑编程技巧与维护,2008, (17) .
[3] 华晶,殷华,贾晶. 基于 DSP 的通用语音信号处理系统的 设计 [J] . 电脑知识与技术,2010,6 (30) :8613-8614.
Abstract:A method of FIR fitering which is used to process speech signal based on TMS320 VC5509 DSP is introduced in this paper. The program use TLV320AIC23 codec chip to collect speech signal, then it is processed with FIR filter to get the speech signal of high quality. Key words: DSP ; Speech signal ; FIR filtering
201019. 12 87

基于DSP的FIR滤波器的设计与实现

基于DSP的FIR滤波器的设计与实现

基于DSP的FIR滤波器的设计与实现调研报告摘要DSP技术一般指将DSP 处理器用于完成数字信号处理的方法与技术。

目前的DSP芯片以其强大的数据处理功能在通信和其他信号处理领域得到广泛注意并已成为开发应用的热点技术。

许多领域对于数字信号处理器的应用都是围绕美国德州仪器所开发的DSP处理器来进行的。

DSP芯片是一种特别适合于进行数字信号处理运算的微处理器。

主要应用是实时快速的实现各种数字信号处理算法,如卷积及各种变换等。

其中利用DSP来实现数字滤波器就是很重要的一种应用,本文深入研究基于美国德州仪器公司(TI)TMS320C5410 DSP芯片的滤波器系统软件实现方法,用窗口设计法实现FIR滤波器,给出了MATLAB仿真结果,并在以TI TMS320C5410为微处理器的DSK上实现,实验结果表明滤波结果效果良好,达到了预期的性能指标,用时间抽取法实现的FFT/ IFFT算法,介绍了自适应滤波器的基本原理及应用,并对LMS算法进行了深入的研究。

关键词:DSP;TMS320C5410;FIR滤波器;FFT/IFFT;自适应滤波器1 引言1.1简介随着信息时代和数字世界的到来,数字信号处理已成为如今一门极其重要的学科和技术领域。

数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

数字信号处理(DSP)包括两重含义:数字信号处理技术(Digital Signal Processing)和数字信号处理器(Digital Signal Processor)。

数字信号处理(DSP)是利用计算机或专用处理设备,以数值计算的方法、对信号进行采集、滤波、增强、压缩、估值和识别等加工处理,借以达到提取信息和便于应用的目的,其应用范围涉及几乎所有的工程技术领域。

在数字信号处理的应用中,数字滤波器很重要而且得到了广泛的应用。

按照数字滤波器的特性,它可以被分为线性与非线性、因果与非因果、无限长冲击响应(IIR)与有限长冲击响应(FIR)等等。

实验利用DSP实现信号滤波FIR仿真PPT课件

实验利用DSP实现信号滤波FIR仿真PPT课件
在程序中需要包含头文件dsplib.h #include <dsplib.h> 同时,在工程中添加库文件55xdspx.lib
19 北京交通大学 国家工科电工电子教学基地
DSP应用课程设19计
(1)滤波器函数fir()说明:
函数调用格式: ushort oflag = fir(DATA *x, DATA *h, DATA *r,
16 北京交通大学 国家工科电工电子教学基地
DSP应用课程设16计
利用CCS图形观察窗分析信号频谱成分(续)
含干扰的信号频域波形 从信号频域波形,明显能识别信号的频率成分。
17 北京交通大学 国家工科电工电子教学基地
DSP应用课程设17计
3.TMS320C55x DSPLIB库函数的调用
DSPLIB库简介 DSPLIB库是一个为C语言程序员开发TMS320C55x而 建立的经过优化的DSP函数库。 包含50多采用汇编语言编写的常用信号处理程序, 可以由C语言调用。 调 用 DSPLIB 库 时 , 在 工 程 中 要 添 加 库 文 件 55xdspx.lib(存储器为大模式),在C源程序中要包含 dsplib.h头文件。
DATA *dbuffer, ushort nx,ushort nh) 入口参数说明: x[nx] 表示含有nx个实数的实输入信号向量; h[nh] 表示含有nh个实数的系数向量,按自然顺序
排列,即滤波器的单位脉冲响应。 r[nx] 表示含有nx个实数的输出向量;
允许原位运算,即r=x。
20 北京交通大学 国家工科电工电子教学基地
DSP应用课程设29计
三、实验内容(续)
4. 利用IIR数字滤波器实现重做2,并比较FIR滤波与 IIR滤波的效果。

基于DSP的FIR滤波器的设计与实现

基于DSP的FIR滤波器的设计与实现
t e d sg e u r m e t h e i n r q ie n . Ke wo d : f ie i u s e p n e fle ;d g t lsg a r c s o ;wi d w u c i n y r s i t mp l e r s o s i r i ia i n lp o e s r n t n o f n to
Cu a g Z a a g i Ch n h o Qin
( c o fI or a i n a ntolEn ne rng, Lionng Shi a U nie st Fus S ho lo nf m to nd Co r gi e i a i hu v r iy, hun 11 001,Chia 3 n)
To l n M ATL o i AB o d sg R o p s i e ,a d i i i l t d t c u r h n ti u s e p n e p r me e so t e i n a FI l w~ a s f t r n t ss mu a e o a q i e t e u i mp l e r s o s a a t r f l
Ab t a t sr c :A e i n me h d o I fle a e n DS s i t o u e n d t i.Fis l d sg t o f F R i r b s d o P i n r d c d i e a l t r ty,u i g t e ad d d sg o lFDA— s n h i e e i n t o
己 口 7月 口I年 第己 卷 第 7期 g

于 D P的 F R 滤 波 器 的 设 计 与 实 现 S I
崔 畅 赵 强 ( 宁石 油 化 工 大 学 信 息 与 控 制 工 程 学 院 抚 顺 1 3 0 ) 辽 1 0 1

基于DSP的高性能语音信号FIR滤波

基于DSP的高性能语音信号FIR滤波

基于DSP的高性能语音信号FIR滤波
华晶;易文龙;王映龙
【期刊名称】《电脑编程技巧与维护》
【年(卷),期】2011(000)012
【摘要】介绍一种用TMS320VC5509 DSP对语音信号进行FIR滤波处理的方法.该方案使用TLV320AIC23 codec 芯片来采集语音信号,然后再经过FIR滤波器的处理,得到高质量的语音信号.
【总页数】2页(P86-87)
【作者】华晶;易文龙;王映龙
【作者单位】江西农业大学软件学院,南昌330045;江西农业大学软件学院,南昌330045;江西农业大学软件学院,南昌330045
【正文语种】中文
【相关文献】
1.基于语音信号的FIR滤波器的设计 [J], 陈莉;陈洪斌;鲍捷
2.基于DSP的语音信号FIR滤波系统的实现 [J], 徐向美;黄乡生
3.基于模型的FIR滤波器设计及DSP实现 [J], 宋小锋
4.基于Matlab与DSP的语音信号FIR滤波 [J], 周金治
5.基于DSP的n阶FIR滤波器的设计 [J], 王维斌
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。

数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。

在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。

随着微处理技术的快速发展,微处理器芯片的集成度从最早的几千个晶体管发展到现在的上亿个晶体管,字长从4位提高到了64位,正是这些技术的飞速发展引发了一轮又一轮的信息产业革命,而人们的生活、学习和工作方式也在以计算机技术、通信技术为核心的信息技术的影响下发生着前所未有的改变。

然而在这次设计中,比较核心的是数字滤波器,数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域。

滤波的目的。

根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

与IIR滤波器相比,FIR滤波器只有零点,除原点外.在z平面上没有极点,因此总是稳定的和可实现的;更重要的是,FIR 滤波器在满足一定的对称条件下,可以获得严格的线性相位特性,这一点是IIR 滤波器难以实现的。

因此。

它在高保真的信号处理.如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。

对于本设计主要是利用一个DSP芯片来进行语音采集系统的设计,而数字信号处理技术的发展使得采用数字化的方法实时的处理语音信号成为可能。

早期的语音信号处理均是采用模拟处理,对声音信号最常用的滤波、相关、谱分析等运算,部分采用模拟电路来实现的。

这种传统的模拟方法处理语音信号,硬件设备昂贵,不能升级、产品生命周期短,而采用数字处理技术处理语音信号具有抗干扰性强、便于传输和处理等优点,代表着语音处理技术的发展方向。

DSP芯片高速、可编程的特点使其非常适合于语音信号处理领域。

一、设计所用软件介绍1.1 FIR滤波器及它的工作原理FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足奈奎斯特定理,一般取信号频率上限的4-5倍做为采样频率;一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。

FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。

1.2 CCS软件CCS(Code Composer Studio数据设计工作室)代码调试器是一种合成开发环境。

它是一种针对标准TMS320调试器接口的交互式方法。

CCS目前有CCS1.1,CCS1.2 和CCS2.0等三个不同时期的版本,又有CC2000 ( 针对C2XX ),CCS5000 ( 针对C54XX )和CCS6000 (针对C6X )三个不同的型号。

我们所使用的是CCS50002.0的版本。

CCS5000具有以下特性:TI编译器的完全集成的环境:CCS5000目标管理系统,内建编辑器,所有的调试和分析能力集成在一个Windows 环境中。

对C和DSP汇编文件的目标管理:目标编辑器保持对所有文件及相关内容的跟踪。

它只对最近一次编译中改变过的文件重新编译,以节省编译时间。

高集成的编辑器调整C和DSP汇编代码:CCS5000的内建编辑器支持C和汇编文件的动态语法加亮显示。

使用户能很容易地阅读代码和当场发现语法错误。

编辑和调试时的后台编辑:用户在使用编译器和汇编器时没有必要退出系统到DOS环境中,因为CCS5000会自动将这些工具装载在它的环境中。

在其窗口中,错误会加亮显示只要双击错误就可以直接到达出错处。

在含有浮点并行调试管理器(PDM)的原有的MS窗口下支持多处理器CCS5000在Windows95和Windows-me中支持多处理。

PDM(调试管理器)允许将命令传播给所有的或所选择的处理器。

在任何算法点观察信号的图形窗口探针:图形显示窗口使用户能够观察时域或频域内的信号。

对于频域图,FFT(快速傅立叶变换)在主机内执行,这样就可以观察所感兴趣的部分而无须改变它的DSP代码。

图显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速地观察到信号。

文件探针在算法处通过文件提取或加入信号或数据:CCS5000允许用户从PC机读或写信号流。

而不是实时的读信号,这就可以用已知的例子来仿真算法。

图形分析:CCS5000的图形分析能力在其环境中是集成的。

在后台(系统命令)执行用户的DOS程序:用户可以执行CCS5000中的DOS程序,并将其输出以流水方式送到CCS5000的输出窗口。

且允许用户将应用程序集成到CCS5000。

技术状态观察窗口:CCS5000的可视窗口允许用户进入C表达式及相关变量。

结构、数组、指针都能很简单地递归扩展和减少,以便进入复杂结构。

代数分解窗口:允许用户选择查看写成代数表达式的C格式,提高可读性。

目标DSP上的帮助:DSP结构和寄存器上的在线帮助可以使用户不必查看技术手册。

用户扩展:扩展语言(GEL)使得用户可以将自己的菜单项加到CCS5000的菜单栏中。

操作流程图1.3MATLAB软件介绍MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

二、设计原理及步骤2.1滤波器原理数字滤波器有两类:IIR数字滤波器和FIR数字滤波器。

FIR滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的。

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

线性相位特性在实际应用中非常重要,如在数据通信、图像处理、语音信号处理等领域,往往都要求具有线性相位特性。

并且由于FIR 滤波器的单位脉冲响应有限长,系统不存在非稳定现象,我们总能用因果稳定系统来实现FIR 滤波器。

FIR 主要的不足在于其较好的性能是以较高的阶数为代价换来的,对于相同的设计指标,FIR 滤波器所要求的阶数比IIR 滤波器高2~5 倍,信号的延迟偏大。

因此,在保证相同性能的前提下,尽量降低其阶数是FIR 数字滤波器设计的目标之一。

FIR滤波器是有限长单位冲激响应滤波器,它具有以下独特的优点:(1)可以在幅度特性随意设计的同时,保证精确、严格的线性相位;避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要; (2)由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此FIR滤波器没有不稳定的问题; (3)由于FIR滤波器一般为非递归的结构,因此在有限精度运算下,不会出现递归结构中极性震荡等不稳定现象,误差较小。

FIR滤波器的数学表达式为:(2-1)式中:N为FIR滤波器的抽头数;x(n)为第n时刻的输入样本;h(i)为FIR滤波器第i级抽头系数。

其相应的z变换为:(2-2)式中:z-i为N-1阶多项式。

图2.1 FIR滤波器的直接型结构2.2MATLAB设计数字滤波器的设计可以使用MATLAB(线性代数计算)软件,它是一种功能强、效率高、便于进行科学和工程计算的交互式软件包。

MATLAB中的工具箱(Toolbox)包含许多实用的程序。

滤波器设计就包含在Toolbox下的signal中。

下面简单介绍一下用MATLAB设计FIR滤波器的方法。

(1)设计低通FIR滤波器(采用Hamming窗):B=FIR1(N,Wn)其中,N为滤波器的阶数,Wn为归一化截至频率,0.0<Wn<1.0,1.0对应于半抽样速率。

返回值B为一个N+1维矢量,即滤波器系数。

(2)设计高通FIR滤波器(采用Hamming窗):B=FIR1(N,Wn,’high’)其中,N和Wn的含义与低通滤波器相同。

(3)设计带通FIR滤波器(采用Hamming窗):B=FIR1(N,Wn)其中,Wn是一个二维矢量,Wn=[W1,W2],W1和W2分别对应于阻带的低端频率和高端频率。

还可以设计其他类型的滤波器,具体查阅MATLAB参考书籍。

还有另一个比较直观的设计滤波器的方法,利用MATLAB里的Filter Design & Analysis Tools设计滤波器比较直观。

Fliter Type选择低通,高通,带通或者带阻滤波器。

Design Method选择IIR还是FIR滤波器,后面下拉菜单选择类型,程序里采用的是加窗类型。

Fliter Order选择滤波器的阶数,程序中采用63阶,即系数为64点。

相关文档
最新文档