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

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

科信学院

DSP应用系统(三级项目)(2014/2015学年第二学期)

课程名称:DSP原理与应用

题目:基于DSP的语音信号FIR低通滤波器设计专业班级:信息1221

学号:

学生姓名:Liu

指导教师:

设计成绩:

2015年7 月10 日

1、项目设计目的

通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法、数字滤波器的设计过程,了解FIR 的原理和特性,熟悉设计FIR数字滤波器的原理,学习FIR滤波器的DSP的实现原理,学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。

2、项目设计正文

2.1硬件设计

2.1.1方案设计

本次设计基于ccs3.3运行环境下,使用ICETEK-VC5509-EDU实验箱(包括仿真器)、麦克风输入设备、耳机输出相关设备等完成此次设计。主要是通过实验箱上AIC23芯片实时采集语音信号,进行FIR低通滤波,使用MATLAB环境下的FDAtool工具来产生低通滤波器系数,用DSP汇编语言或C语言进行编程实现FIR运算对语音信号进行滤波处理,并且与CCS 算法库中的dsplib中的算法相比较,对所设计的FIR滤波器各项指标进评价。

2.1.2 CCS开发环境配置

CCS可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境,

可以调试、运行程序。但一般软件无法构造DSP中的外设,所以软件仿真通常用于调试纯软

件的算法和进行效率分析等,本次设计将使用硬件仿真(Emulator)。

在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。

⑴双击桌面上图标:进入CCS设置窗口。

⑵在出现的窗口中按标号顺序进行如下设置:

图2-1 Emulator选项图⑶接着在下面的窗口中按标号顺序进行如下选择:

图2-2 Emulator配置图⑷在出现的窗口中按标号顺序进行如下设置:

图2-3 Emulator配置完成图

⑸在出现的窗口中按标号顺序进行如下设置:

图2-4 配置完成图

以上设置完成后,CCS已经被设置成Emulator的方式(用仿真器连接硬件板卡的方式),

并且指定通过ICETEK-5100USB 仿真器连接ICETEK-VC5509-A

2.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 直接由外部的晶振提供。MODE 接数字地,表示利用I2C 控制

接口对AIC23传输控制数据。CS 接数字地,定义了I2C 总线上AIC23的外设地址,通过将CS 接到高电平或低电平,可以选择AIC23作为从设备在I2C 总线上的地址。SCLK 和SDIN 是AIC23控制端口的移位时钟和配置数据输入端,分别与VC5509的I2C 模块端口SCL 和SDA 相连。收发时钟信号CLKX1和CLKR1由AIC23的串行数据输入时钟BCLK 提供,并由AIC23的帧同步信号LRCIN 、LRCOUT 启动串口数据传输。DX0和DR0分别与AIC23的DIN 和DOUT 相连,从而完成VC5509与AIC23间的数字信号通信。 2.1.4 FIR 滤波器原理

对于一个FIR 滤波器系统,它的冲击响应总是又限长的,其系统函数可记为:

()()1

N n

n H z h n z --==∑ (2-a)

其中N-1是FIR 的滤波器的阶数,n

z

-为延时结,h(n)为端口信号函数。

最基本的FIR 滤波器可用下式表示:

()()()

1

N k y n h k x n k -==-∑ (2-b)

其中x(n-k)输入采样序列,h(k)是滤波器系数,N 是滤波器的阶数Y(N)表示滤波器的输出序列,也可以用卷积来表示输出序列y(n)与x(n)、h(n)的关系,如下: ()()()

y n x n h n =* (2-c)

2.1.5 滤波器系数的生成

在Matlab 的Start 菜单中选择Toolboxes -> Filter Design -> Filter Design & Analysis Tools(fdatool),或者在命令行中输入fdatool 来启动滤波器设计分析器。 启动成功后界面如图所示。

图 2-6 fdatool界面图

在选项中选择或输入滤波器参数,然后点击“Design Filter”按钮,完成滤

波器的设计。具体参数及设计成功后的结果如图

图 2-7 滤波器图

从Matlab中导出FIR滤波器系数。在Fdatool中,选择Targets -> Code Composer Studio (tm) IDE,在出现的对话框中选择输出文件类型为C header file,输出系数类型为signed 16-bit integer,如图2.1.3.3所示。点击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器的系数表。

相关文档
最新文档