- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理实验_语音信号滤波
实验一长序列卷积实现与DSP定点运算模拟一、实验名称长序列分段卷积与DSP定点运算模拟二、实验要求1.学习长序列分段卷积实现的两种方法(1)重叠相加法(2)重叠保留法2.改写语音滤波C程序(1)说明程序中错误的原因(2)说明选择短数据类型的原因(3)分析重叠保留法过程3.模拟DSP定点化运算(1)设计思路(2)分析运算过程三、实验内容1.长序列卷积的两种方法FIR离散时间系统,单位脉冲响应为h(n),n = 0,1,2,因为系统为因果,所以n0时,h(n)值为0。长序列X(n)分段,将分出的小段x(n)分别于h(n)做卷积,得到相应段的y(n)。y(n) = x(n) * h(n),设x(n)长为5,h(n)长为3。(1)重叠相加法第一段(0~4)卷积:y(0) = h(0)x(0) y(1) = h(0)x(1) + h(1)x(0) y(2) = h(0)x(2) + h(1)x(1) + h(2)x(0)y(3) = h(0)x(3) + h(1)x(2) + h(2)x(1) y(4) = h(0)x(4) + h(1)x(3) + h(2)x(2)从n = 5开始,缺少后一段元素的卷积将丢失元素项。y(5) = 缺项 + h(1)x(4) + h(2)x(3) y(6) =缺项 + 缺项 + h(2)x(4)y(5)缺失项为h(0)x(5),y(6)的缺失项为h(0)x(6)与h(1)x(5)。第二段(5~9)卷积:y(5) = h(0)x(5) +缺项+缺项 y(6) = h(0)x(6) + h(1)x(5) +缺项y(5)缺失项为h(1)x(4)与 h(2)x(3),y(6)的缺失项为h(2)x(4)。因此,第二段与第一段的重叠部分y(5)与y(6)相加得到正确的值,是为重叠相加法。(2)重叠保留法若已知滤波器n = M,则在X(n)序列前端补M - 1个零。第一段(-2~4)卷积:y(-2) = h(0)x(-2)y(-1) = h(0)x(-1) + h(1)x(-2)y(0) = h(0)x(0) + h(1)x(-1) + h(2)x(-2)y(1) = h(0)x(1) + h(1)x(0) + h(2)x(-1) y(2) = h(0)x(2) + h(1)x(1) + h(2)x(0)y(3) = h(0)x(3) + h(1)x(2) + h(2)x(1) y(4) = h(0)x(4) + h(1)x(3) + h(2)x(2)y(5) = 缺项 + h(1)x(4) + h(2)x(3) y(6) = 缺项 + 缺项 + h(2)x(4)第二段(3~9)卷积:保留上一段中的x(3)与x(4)到该段作为卷积项。y(3) = h(0)x(3) +缺项 + 缺项y(4) =h(0)x(4) + h(1)x(3) +缺项y(5) = h(0)x(5) + h(1)x(4) + h(2)x(3) y(6) = h(0)x(6) + h(1)x(5) + h(2)x(4)y(7) = h(0)x(7) + h(1)x(6) + h(2)x(5) y(8) = h(0)x(8) + h(1)x(7) + h(2)x(6)y(9) = h(0)x(9) + h(1)x(8) + h(2)x(7)y(10) =缺项 + h(1)x(9) + h(2)x(8)y(11) = 缺项 + 缺项 + h(2)x(9)其中标红的部分为保留项。恰好保证了连续性,卷积结果由之前的7项增加到9项,每段卷积前需接入上段段尾M – 1个数据。2.改写语音滤波C程序(1)程序错误a.打开文件函数错误应该设置文件名路径,并设置为r+b读写可修改模式。b.采样错误原程序中读取语音文件一帧数据的处理函数为getw(),存储该帧数据的数组类型为int,读取每点为32bit,不符合实验要求的每点16bit。使用fread(indata,2,LENGTH,fp1),选取2字节数据,为16bit。c.wav文件处理时需要跳过头文件的44字节使用fseek(fp1,44,SEEK_SET),跳过文件开头字节。(2)选择short型数据short型数据的长度为16bit,可保证读取一点的16bit数据存入具有合适数据类型的数组。即每次读取180点,每点16bit,存入数组indata[LENGTH],而indata为short型。(3)重叠保留法过程已知h(n)为19点滤波器,即n = 19。x(n)分段序列n = 180。采用重叠舍去法,每一次卷积需要180 + 19 -1 = 198个点的数组空间。数组0~17位为补足位,第一段卷积时补零,后段卷积时,补上
文档评论(0)