语音滤波实验报告.docx

上传人:b****5 文档编号:4537648 上传时间:2022-12-01 格式:DOCX 页数:12 大小:729.29KB
下载 相关 举报
语音滤波实验报告.docx_第1页
第1页 / 共12页
语音滤波实验报告.docx_第2页
第2页 / 共12页
语音滤波实验报告.docx_第3页
第3页 / 共12页
语音滤波实验报告.docx_第4页
第4页 / 共12页
语音滤波实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

语音滤波实验报告.docx

《语音滤波实验报告.docx》由会员分享,可在线阅读,更多相关《语音滤波实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

语音滤波实验报告.docx

语音滤波实验报告

 

DSP技术及应用课程设计

 

语音滤波处理

院系:

机电工程学院

专业(班级):

电子信息工程2班

姓名:

洪育钦

学号:

20134082033

指导教师:

韩杨杨

职称:

助教

完成日期:

2016年6月16日

成绩:

目录

1.引言1

1.2设计的目的1

1.3设计指标要求2

2滤波器的基础知识2

2.1滤波器的定义2

2.2滤波器的功能3

2.3滤波器的特点3

2.4FIR数字滤波器的窗函数设计4

3.FIR滤波器设计与实现过程5

3.1FIR滤波器设计指标5

3.2FIR滤波器设计过程6

3.2.2FIR滤波器的matlab实现6

3.2.3FIR滤波器的CCS实现8

3.3FIR滤波器设计结果9

4.设计过程中遇到的问题及解决的办法11

参考文献12

附录12

语音信号的FIR滤波器处理

1.引言

随着信息时代和数字世界的到来,数字信号处理已成为如今一门极其重要的学科和技术领域。

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

数字信号处理器,也称DSP芯片,是针对数字信号处理需要而设计的一种具有特殊结构的微处理器,它是现代电子技术、相结合的产物。

一门主流技术,随着信息处理技术的飞速发展,计算机技术和数字信号处理技术逐渐发展成为使它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。

数字滤波是语音处理、图像处理、频谱分析等应用中的基本处理算法。

DSP是一种处理数字信号的专用微处理器,主要应用于实时快速地实现各种信号的数字处理算法。

用DSP芯片实现数字滤波具有稳定性好、精确度高、不受环境影响等优点。

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

FIR滤波器属于经典滤波器,优点就是由于不存在系统极点,FIR滤波器是绝对稳定的系统,FIR滤波器还确保了线性相位,在信号处理中占有极其重要的地位。

数字滤波器一直以来就是数字信号处理器(DSP)最广为人知的应用,FIR滤波器的单位冲激响应b(n)为有限长序列,若b(n)为实数,且满足偶对称:

b(n)=b(N-1-n)的条件,称为系数对称FIR滤波器。

系数对称FIR滤波器在数字信号处理中应用十分广泛。

1.2设计的目的

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

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

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

1.3设计指标要求

(1)设计一个低通滤波器(参数自定)

(2)滤波器的设计的原理介绍

(3)FIR滤波器的设计

(4)FIR滤波器的DSP实现

(5)FIR滤波器的检验(用语音信号通过滤波器后查看滤波效果是否达到设计要求。

2滤波器的基础知识

2.1滤波器的定义

FiniteImpulseResponse)滤波器:

有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

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

冲激响应之所以是“有限的”是因为在滤波器中没有反馈出现;如果你输入一个冲激{就是一个“1”样本后出现许多“0”的样本的信号},那么零将在样本“1”通过了所有的延迟线的系数后出现。

2.2滤波器的功能

功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。

把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。

2.3滤波器的特点

优点:

(1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一

特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;

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

得到多带幅频特性;

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

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

(5)无反馈运算,运算误差小。

缺点:

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

(2)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算

机辅助设计程序完成。

2.4FIR数字滤波器的窗函数设计

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

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

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

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

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

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

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

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

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

w(n)是有限长序列,当n>N-1及n<0时,W(n)=0。

几种常用的窗函数

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

窗函数的选择原则是:

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

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

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

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

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

当选用最小的旁瓣幅度时,虽能得到匀滑的

幅度响应和较小的阻带波动,但过渡带加宽。

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

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

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

3.FIR滤波器设计与实现过程

3.1FIR滤波器设计指标

设计一个基于CCS汇编实现的FIR滤波器,通过MATLAB的辅助,可以实现对语音信号的产生以及滤波前后的频谱显示。

本次FIR滤波器设计的的maltab流程如右图:

采用37阶低通滤波器,汉明窗(HammingWindow)函数,通带截止频率为1500Hz,阻带截止频率为2000Hz,通带波纹为0.01,阻带波纹为0.1,采样频率为8000Hz。

应用Matlab工具箱的滤波器设计工具。

3.2FIR滤波器设计过程

3.2.2FIR滤波器的matlab实现

FIR参数设定及频域响应特性

根据上述要求在matlab中采用fir2函数设计低通FIR滤波器,其程序代码为:

f=[00.380.51];

m=[1100];

b=fir2(36,f,m);

在MATLAB中输入以上代码,求出滤波器系数如下具有两边对称,

h(0)=h(36)=-0.0010,h

(1)=h(35)=-0.0036,

h(3)=h(33)=0.0065,h

(2)=h(34)=0.0000h(4)=h(32)=0.0032,h(5)=h(31)=-0.0088h(6)=h(30)=-0.0093,h(7)=h(29)=0.0090,h(8)=h(28)=0.0184h(9)=h(27)=-0.0047,h(10)=h(26)=-0.0297,h(11)=h(25)=-0.0071h(12)=h(24)=0.0417,h(13)=h(23)=0.0316,

h(15)=h(21)=-0.0848,h(16)=h(20)=0.0598,

h(18)=0.4375

CCS的输入语音信号的辅助产生(MATLAB)

1、理想情况:

FIR滤波器的输入数据存储在indata.dat文件中,共300个点,由频率为1000Hz和2500Hz的两个余弦波叠加而成

2、为了验证设计的可行性,自身录制一个语音片段,主要信号为低频成分,其中夹杂着高频成分的噪声。

在MATLAB中产生一个indata.dat文件供CCS输入,在matlab中输入的代码为:

h(14)=h(22)=-0.0524h(17)=h(19)=0.3108

3.3FIR滤波器设计结果,观察Input和Output视窗中滤波器前后的时域观察波形图,观察滤波效果,数字滤波器仿真结果时域图如图所示,

x=wavread('D:

\matlab\work\XINZAO.wav');%语音文件的路径y=fft(x,1

x=wavread('D:

\matlab\work\XINZAO.wav');%语音文件的路径

y=fft(x,1024);

plot(abs(y(1:

1000)));%采样100个点

x1=round(1024*x);

fid=fopen('indata.dat','w');%生成一个dat文件

fprintf(fid,'1651100E21000\n');

fprintf(fid,'%d\n',x1);%输出

 

3.2.3FIR滤波器的CCS实现

Css程序流程图如右图所示

应用软件CCS配置:

点击进入CCS:

首先点击SetupCCS3.3,点击进入运行界面,如图7。

选中C5410DeviceSimulator一项,另外为了方面选择芯片,可以先在窗口的右面的Family和Plarform及Endia选项,点击SaveandQuit就会弹出控制窗口.。

在控制窗口open选项中选中C5410DeviceSimulator/CPU,就可以开始新建一个工程。

新建一个fir工程,然后新建.asm文件.cmd文件等,将它们添加到工程中来,

CCS编程界面如下

对程序进行编译:

执行Project→Compile命令,也可以用快捷键

就可以

对当前的汇编程序进行编译生成.obj文件。

如果程序存在语法错误,那么就会在下面的编译链接信息框中显示错误信息。

根据错误提示,对程序进行一一修改

对程序进行编译链接:

执行Project→Build命令,也可以用快捷键就可以对当前的项目文件同时进行编译,汇编和链接操作,并生成与工程项目名称相同的可执行的.out文件。

如果有错误信息,则会在“编译链接”信息框中显示。

也可以执行Project下的buildAll命令,所有项目中的文件重新编译,汇编和链接,生成.out文件。

装载.out文件:

单击主菜单“File”中“LoadProgram”选项,在对话框中,在CCS安装目录下,找到构建该工程的Debug目录,选择构建生成后的.out文件,

图右转载.out文件配置

在data项中选择load,转载之前在MATLAB中生成的indata.dat文件,会弹出以下窗口,对地址和长度进行相关设置。

点击ok后,开始点击run,运行工程,如果有异常情况,逐一检查。

3.3FIR滤波器设计结果

观察Input和Output视窗中滤波器前后的时域观察波形图,点击CCS中

View>>Graph>>Time/Frequency,出现选项窗口,设置相应选项,观察滤波效果。

滤波前的信号:

 

滤波后的效果:

 

 

 

4.设计过程中遇到的问题及解决的办法

1、在我们确定滤波器参数时,刚开始我们忽略了采样定理,结果设计出来的低通滤波器是错误的,经过在Matlab软件的工具包里,设计低通滤波器,如图18的界面,经过测试,如果条件不符合采样定理的就会出现错误提示界面,我们最后修改正确了。

2、为了实现语音及噪声的通过设计的滤波器进行验证,需要制作一个语音及噪声的.dat文件,以供CCS信号输入,对软件不熟练的我们不懂的怎么应用?

答:

通过到图书馆借相应的书来自学,学习MATLAB的生成.dat文件的相关命令语句,以及请教其他同学。

通过不断的讨论和研究,知道了要对信号进行采样,再通过fopen语句等,才能生成dat文件

3、通过MATLAB辅助,求出的b系数,刚开始在CCS里面表示时,用x*32768/10000(x为b系数的整数部分),结果在编译时出现了问题。

另外,当求得的系数存在有大于四位时,也会出现错误?

答:

经过学习和与队员研究讨论,发现这是因为一些大于1的系数,即是大于四位的整数除去10000,才会出现warning,我们刚开始用的是32768,即Q15,会使运算结果溢出,于是把32768改为了1024,即Q10,这样后就解决了存在的问

题,

4、通过loaddata时,在配置地址和长度时,我们没有忘记按照自己设定的起始地址及长度,结果显示出来的图像与真实的有极大的偏差。

答:

把Address和Length的参数填写自己在生成dat文件是所设置的值一致,最后滤波输出波形正确。

 

参考文献

【1】邹彦DSP原理及应用.北京:

电子工业出版社.2009

【2】刘树棠.信号与系统.第二版.西安交通大学出版社.2008

【3】刘卫国.MATLAB程序设计与应用第二版.高等教育出版社.2008

【4】程佩青.数字信号处理教程.第三版.清华大学出版社.2009

附录

1.主程序fir.asm:

.title"FIR.ASM"

.mmregs

.defstart

.bssyn,1

xn.usect"xn",37

hn.usect"hn",37

indata.usect"indata",300

outdata.usect"outdata",256

.data

fir_coff:

.word-10*1024/10000,-36*1024/10000.word0*1024/10000,65*1024/10000.word32*1024/10000,-88*1024/10000.word-93*1024/10000,90*1024/10000.word184*1024/10000,-47*1024/10000.word-297*1024/10000,-71*1024/10000.word417*1024/10000,316*1024/10000.word-524*1024/10000,-848*1024/10000.word598*1024/10000,3108*1024/10000.word4375*1024/10000

.word3108*1024/10000,598*1024/10000.word-848*1024/10000,-524*1024/10000.word316*1024/10000,417*1024/10000.word-71*1024/10000,-297*1024/10000.word-47*1024/10000,184*1024/10000.word90*1024/10000,-93*1024/10000.word-88*1024/10000,32*1024/10000.word65*1024/10000,0*1024/10000.word-36*1024/10000,-10*1024/10000

.text

start:

ssbxfrct;使用小数运算stm#hn,ar1;系数首地址rpt#36;将系数移入循

mvpdfir_coff,*ar1+;环缓冲区stm#-1,ar0

stm#outdata,ar5

stm#indata,ar4

 

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

当前位置:首页 > 高中教育 > 高中教育

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

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