第5章 节 数字信号处理算法的DSP实现 《DSP原理及实践应用》电子课件.pptxVIP

第5章 节 数字信号处理算法的DSP实现 《DSP原理及实践应用》电子课件.pptx

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 节 数字信号处理算法的DSP实现 《DSP原理及实践应用》电子课件.pptx

内容提要 本章结合数字信号处理和通信中最常见、最具有代表性的应用,介绍通用数字信号处理算法的DSP实现方法。其内容有: ●数字滤波器的实现 ● LMS自适应滤波算法的实现 ●快速傅立叶(FFT)变换数字信号处理主要面向密集型的运算,包括乘法-累加、数字滤波和快速傅里叶变换等。C54x器件具备了高速完成上述运算的能力,并具有体积小、功耗低、功能强、软硬件资源丰富等优点,现已在通信等许多领域得到了广泛应用。本章结合数字信号处理和通信中最常见、最具有代表性的应用,介绍通用数字信号处理算法的DSP实现方法。5.1 数字滤波器的实现数字滤波是DSP最基本的应用,它是图像处理,模式识别,语音处理,频谱分析等应用的基本处理算法。本节主要介绍最常用的数字滤波器FIR(有限冲激响应滤波器)的编程实现方法。5.1.1 FIR滤波器的基本结构图5-1是FIR滤波器的结构图,它的差分方程表达式为:式中, 为输入序列, 为输出序列, 为滤波器系数,N为滤波器的阶数。x(n-N+1)x(n-1)x(n)z-1z-1z-1y(n) +bN-1bN-2b1b0图5-1 FIR滤波器结构图由上图可见,FIR滤波算法实际上是一种乘法累加运算,它不断地输入 ,经延时 后,作乘法累加,再输出滤波结果 。(1)fir1函数fir1用来实现经典的加窗线性相位FIR数字滤波器。语法格式如下:b = fir1(n,Wn)b = fir1(n,Wn,ftype)b = fir1(n,Wn,window)b = fir1(n,Wn,ftype,window)式中,n为滤波器的阶数;Wn为滤波器的截止频率,Wn介于0和1之间,1对应于Nyquist频率,即0.5倍的采样频率,若Wn是一个二维失量,表示为Wn = [w1 w2],则滤波器为带通或带阻滤波器;ftype参数表示滤波器的类型,为 high 时表示截止频率为Wn的高通滤波器,为stop时表示带阻滤波器;window参数用来指定滤波器采用的窗函数类型,其默认值为汉明(Hamming)窗。使用fir1函数可设计低通,高通,带通和带阻滤波器。滤波器的系数包含在返回值b中,有n个系数,可表示为①采用汉明窗设计低通FIR滤波器b = fir1(n,Wn)②采用汉明窗设计高通FIR滤波器b = fir1(n,Wn,high)③采用汉明窗设计带通FIR滤波器b = fir1(n,[w1 w2])④采用汉明窗设计带阻FIR滤波器b = fir1(n,[w1 w2], stop)⑤采用其他窗口函数设计FIR滤波器使用window参数,可以用其他窗口函数设计出各种加窗滤波器。可采用的窗口函数有Boxcar,Hamming,Bartlett,Blackman,Kasier和Chebwin等,未指定窗口参数时默认为汉明窗。例如,采用Bartlett窗设计带通FIR滤波器,语法格式为b = fir1(n, [w1 w2],Bartlett(n+1))(2)设计实例【例5-1】 设计一个FIR低通滤波器,其阶数为10,截止频率为10Hz。构造一个输入信号,它由频率8Hz和20Hz两个正弦信号叠加而成,设采样频率为fs=50Hz。用设计的低通滤波器对输入序列进行滤波。源代码程序如下:n=10;b=fir1(n,0.4);f1=8;f2=20;fs=50;pi=3.14159;M=200x=zeros(M);y=zeros(M);for i=1:M x(i,1)=sin(2.0*pi*i*f1/fs)+sin(2.0*pi*i*f2/fs);%输入信号end;subplot(2,1,1),plot(x);%显示输入信号for i=1:M for j=1:n+1 if (i-j+1)0 y(i,1)=y(i,1)+b(1,j)*x(i-j+1);%输出信号 end; end;end;subplot(2,1,2),plot(y);%显示输出信号程序接右边上述程序运行后,得到输入信号和输出信号的波形图如下图5-2 FIR低通滤波器实例从上图可以观察到输出信号中只含有频率为8Hz的低频信号,而20HZ的高频信号已被滤波器过滤掉。5.1.3FIR滤波器的C语言程序设计及仿真滤波器的单位冲激响应可通过下列公式进行计算。①低通滤波器:②高通滤波器:式中,③带通滤波器:④带阻滤波器:【例5-2】 在CCS开发平台中用C语言实现FIR高通滤波器,其阶数为30,截止频率为10Hz。构造一个输入信号,它由频率4Hz和12Hz两个正弦信号叠加而成,设采样频率为fs=50Hz。用设计的高通滤波器对输入序列进行滤波。①编写C语言源代码文件FirExam.c,程序清单如下:#include math.hfloat h[31]; /* 冲击响应系数序列 */flo

您可能关注的文档

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档