语音信号及单片机处理 作者 吴黎明 主编 王桂棠 吴正光 副主编 第十一章.pptVIP

语音信号及单片机处理 作者 吴黎明 主编 王桂棠 吴正光 副主编 第十一章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11.4 FIR滤波器 11.4.1 乘-累加(MAC)功能 FIR滤波器响应的复杂性需每个采样周期进行数字MAC操作。μ’nSP?的乘法累加求和指令(Muls)之格式如下: MR = [Rd] * [Rs] {,ss}{,n}; MR = [Rd] * [Rs] ,us {,n}; 假设参加滤波的采样样本数为4,且由采样数据指针R1和系数寄存器指针R2分别指向的存储器内容在执行Mul指令之前如图11.13(a)所示。 11.4.2 低通FIR滤波器的实现 设我们要实现一个16阶FIR低通滤波器。采样频率为fsample=32k,截止频率为fcut=2k。 算法:采用有限项傅氏级数计算滤波系数。此算法属于非窗口化算法, 阶数:n=16 归一化频率为: 系数计算公式为: 其中 对得到的16个系数放大100倍,进行四舍五入取整得到如下系数: h[0]=h[15]=1 h[1]= h[14]=3 h[2]= h[13]=5 h[3]= h[12]=7 h[4]= h[11]=9 h[5]= h[10]=11 h[6]= h[9]=12 h[7]= h[8]=12 于是我们就可以定义系数表,并建立一个变量序列 。 FIR滤波程序: .DEFINE P_INT_Ctrl_New 0x7010 .DEFINE P_ADC_MUX_Ctrl 0x702b .DEFINE P_ADC_MUX_Data 0x702c .INCLUDE hardware.inc .PUBLIC _main .CODE //========================================================================= // 函数: main() // 描述:主函数 //========================================================================= _main: INT OFF; //关中断,以便进行初始化 R1 = 0x00f0; //系统时钟设定,Fosc=49.152MHz,CPUCLOCK=Fosc [P_SystemClock] = R1; R1 = 0x0030; //TimerA设定,clckA选择Fosc/2;屏蔽ClockB [P_TimerA_Ctrl] = R1; R1 = 0xfd00; [P_TimerA_Data] = R1; //32kHz中断频率 R1 = 0; [P_DAC_Ctrl] = R1; //DA设定,直接将DAR锁存到DAC;_ R1 = 0x1; [P_ADC_Ctrl] = R1; //通过读P_ADC触发ADC转换,AD设定,允许数模转换 R1 = 0x1; [P_ADC_MUX_Ctrl] = R1 //选择Line_IN1输入 R1 = 0x2000; [P_INT_Ctrl_New] = R1; //中断设置,允许timeA的FIQ中断 R1 = x0; //数据指针复位 R2 = h0; //系数指针复位 FIQ ON; //开中断 L_Loop: NOP; GOTO L_Loop; //等中断 //函数: FIQ() .TEXT .PUBLIC _FIQ _FIQ: R3 = [P_ADC_MUX_Data]; //取AD采样数据 [R1] = R3; //更新 MR = [R1]*[R2],US,16

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档