• 首页 |  
  • 查询 |  
  • 供应 |  
  • 求购 |  
  • 资讯 |  
  • 产品中心 |  
  • 技术应用 |  
  • 商务中心 |  
  • IC供货商 |  
  • 下载中心 |  
  • 求职招聘 |  
  • 论坛 |  
  • 博客
  • 您所在的位置: 首页 > 产品中心 > 模拟电路 > 模拟电路-其他 > 正文
    文章搜索:
    基于DSP C54x的数字滤波器设计

    http://www.ic36.com 2006年9月4日17:39 来源:电子产品世界 作者:周广荣,刘佳,夏志
    前言

    一个实际的应用系统中,总存在各种干扰。使用DSP进行数字信号处理时,可以从噪声中提取信号,即对一个具有噪声和信号的混合源进行采样,然后经过一个数字滤波器,滤除噪声,提取有用信号;数字滤波器是DSP最基本的应用领域,也是熟悉DSP应用的重要环节。在系统设计中,滤波器的好坏将直接影响系统的性能。

    数字滤波器的基本理论和设计

    对于数字滤波器的系统函数可以表示为:


    可以直接写成表示输出与输入的关系,即常系数线性差分方程:以下是IIR滤波器的表达式


    当全部,即系统函数和单位抽样响应,则系统是FIR。

    其滤波结构图如图一所示——横向滤波结构

    图一横向滤波器结构图

    FIR滤波算法实际上是一种乘法累加运算。它不断输入样本,经延时,作乘法累加,再输出滤波结果y(n)。在这里使用FIR滤波器,它有以下几个特点:
    (1)  系统的单位冲激响应h(n)在有限个n值处不为零;
    (2)  系统函数H(z)在|z|>0处收敛,在|z|>0处只有零点,有限z平面只有零点,而全部极点都在z=0处;
    (3)  结构主要是非递归结构,没有输出到输入的反馈。

    这本次设计中FTSK输入数据中包含频率为800HZ,1200HZ,1600HZ,2021HZ,中心频率为1600HZ,提取该频率的信号。利用Matlab设计一个带通滤波器。具体参数为:采样频率为22050HZ,通带宽度为250HZ,则Fpass1=1475HZ,Fpass2=1725HZ,衰减1db,过渡带为200HZ则Fstop1=1275HZ,Fstop2=1925HZ,阻带衰减为30db。运行Matlab获得126阶的带通滤波器,并提取系数。

    用线性缓冲区和带移位双操作数寻址方法实现FIR滤波器

    在这里介绍用线性缓冲区法实现,其特点是:
    (1)  对于N级的FIR滤波器,在数据存储区中开辟一个称之为滑窗的N个单元的缓冲区,存放最新的N个输入样本。
    (2)  从最老的样本开始,每读一个样本后,将此样本向下移位。读完最后一个样本后,输入最新样本至缓冲区的顶部。
    在这里N=126,y(n)=
    在数据存储区中存放系数,并设置线性缓冲区存放输入数据。

    具体实现程序如下:
    .title    “simfir126.asm”
    .      .global_firinit;两个汇编程序,可作为C语言的调用,一个是初始化滤波器
          .global_asmfir;另一个是滤波器执行程序
          .mmregs
          X.usect“data1”,127
          .bss    data1,1
    SIZE  .set  127
         .data
    COEF       ;从matlab中获得的滤波器系数
    ;滤波器初始化
        _firinit:
        SSBX  FRCT
        STM  #X+(SIZE-1),AR2
        STM  #(SIZE-2),AR0
        RET
    ;滤波器执行:
        _asmfir:
        STL   A,*AR2+0
        RPTZ  A,#(SIZE-2)
        MACD  *AR2-,COEF,A
        STH   A,*AR2
        LD    *AR2+,A
        NOP
        NOP
        RETD
        NOP
        NOP
        .END

    Simulator仿真结果分析与硬件调试

    仿真在系统调试中起着重要作用,TI公司也提供了软件仿真器(Simulator)来调试程序。其中提供的探测点(Probe Point)功能非常强大,它是一个开发算法的工具,将计算机文件数据传送到目标板的buffer提供DSP软件应用,同时可以将计算结果输出到计算机文件中供分析,也可以通过CCS提供的图形窗口观察输入输出数据情况。

    在本次设计中利用CCS提供的断点和探测点,指定FTSK数据文件的输入点,进行相关设定,同时利用CCS提供的图形窗口观察输入和输出的波形与频谱。运行程序,分别得到输入波形和频谱图(图二),输出波形和频谱图(图三)下面分别对这两个图形进行分析。

    输入波形和频谱图


    图二 输入信号的波形和频谱图

    由图二输入信号的波形图可以看出,输入是有四个不同频率调制的波形。左边第一种图形在一个周期内占大约1格,而一格所占的时间为0.00605/10=0.605ms,所以周期大约为T1=0.605*1=0.605ms,频率为1652Hz。最右边的图形一个周期内约占0.8格,T2=0.605*0.8=0.484ms,频率约为2066Hz。中间的两个图形在一个周期内分别约占2格和1.3格,周期分别约为T3=0.605*2=1.21ms,频率约为826Hz,T4=0.605*1.3=0.7865ms,频率约为1271Hz。这四个频率与输入的800Hz,1200Hz,1600Hz,2021Hz基本相同。由图中的输入频谱同样可以看出有四个频率的输入波形,其频率分别约为2756*3/10=826.8Hz,2756*4.5/10=1240Hz,2756*6/10=1653Hz,2756*7.5/10=2067Hz,与输入的800Hz,1200Hz,1600Hz,2021Hz基本接近。

    输出波形和频谱图


    图三  输出信号的波形和频谱图

    由图三中的输出信号波形图可以看出滤出的波形在一个周期中约占1格,而一格所占的时间0.00605/10=0.605ms。频率约为1652Hz,与要求滤出1600Hz的要求接近。由图三中的的频谱图可以看出滤出的频谱图的频率约在第6格,则滤出的频率约为2756*6/10=1659Hz,与所要求滤出1600Hz的要求接近。

    根据以上Simulator仿真和结果分析,所设计的滤波器能够很好的满足滤波的要求。Simulator仿真是在进行系统设计中的一个重要环节,有利于提高我们进行硬件调试的成功率。

    基于上面的结果,利用TMS320C5402?DSK系统板进行实验,在一个AD/DA转换的主循环中加入所设计的滤波器,调节信号发生器,对示波器进行观察,可以发现所用的滤波器能很好的满足设计要求。但程序的输入与输出数据读写语句要作相应的修改。

    结束语

    在进行数字滤波器设计时,还需要以下几点:
    (1)在用Matlab设计滤波器时采样频率一定要满足奈奎斯特准则。当采用带通滤波器时,通带宽度一般在200~300Hz,衰减一般为1db,过渡带一般在100~250Hz,阻带衰减一般在30db。
    (2)使用探针方法输入数据时,一般要求输入数据是16进制的小数表示,但如果输入10进制的也可以,但需在两次确认之后才可以输入。
    (3)在图形窗口观察结果时,如果所观察的图形不明显,可以通过设置幅度值来改善效果。
    总之,滤波器设计是我们实际系统应用中重要的一方面,相比传统的R,L,C元件和运算放大器组成的块滤波器,更有发展的潜力。

    (关键词):数字滤波器 设计

    IC型号速查
    [0]  [1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [A]  [B]  [C]  [D]  [E]  [F]  [G]  [H]
    [I]  [J]  [K]  [L]  [M]  [N]  [O]  [P]  [Q]  [R]  [S]  [T]  [U]  [V]  [W]  [X]  [Y]  [Z]
    相关链接
    一种新颖的MEMS光开关测量平台的设计与实现 2006-8-23 14:35:14
    浦汉沪:ISSI把欧美市场运营模式移植到中国 2006-8-22 10:46:04
    一种新颖的MEMS光开关测量平台的设计与实现 2006-8-22 12:51:26
    嵌入式GIS系统软件的低功耗设计2006-6-22 12:48:38
    国内手机设计厂商露峥嵘2006-7-31 16:00:35
    基于ARM控制器LPC2214的税控收款机系统的设计2006-8-17 12:16:04
    基于PC的数字电压表设计2006-8-17 13:29:50
    徐中佑教授:努力发展厦门的微电子产业2006-8-29 13:15:52
     我来评两句
    查看最新评论〗 

    昵称:  匿名
    请您注意:
    ·遵守中华人民共和国的各项有关法律法规
    ·承担一切因您的行为而导致的法律责任
    ·本网留言板管理人员有权删除其管辖留言内容
    ·您在本网的留言,本网有权在网站内转载或引用
    ·参与本留言即表明您已经阅读并接受上述条款

    芯片之家  电子之家  电子元器件之家  半导体之家  微电子之家 
    ·免费发布紧急IC求购 ·到哪里找工厂求购 ·全球最好十个IC网站 ·我为什么选择IC36
    ·IC是怎样炼成的 ·想知道所有的IC封装吗 ·如何鉴别旧货刷新货 ·芯片的前缀代表什么
    ·IC行业的网站体验 ·元器件常见问题解答 ·这里居然可以实时洽谈 ·有问必有答
    ·IC行业之25颗钻石 ·IC代理商查询 ·十家最牛的公司 ·中国IC公司200强
    元器件之家  晶圆之家  集成电路之家  电子元件之家  模块之家  电子管之家
    ·舍我其谁的高级会员 ·IC36是怎样收费的 ·网站广告是如何占领的 ·IC之家的增值服务
    ·我该到哪里去找工作 ·到哪里去招人呢 ·今日芯片需求排行 ·还有我们没有的型号吗
    ·中国IC行业的害群之马 ·中国最优秀的IC供应商 ·国外的IC骗子公司 ·信誉良好的IC供货商
    ·谁是IC之家的明星 ·做我们的代理吧 ·免费注册 机不可失 ·广告热线 010-51653935
    热 点 专 题
    热 点 论 坛
    关于我们 | 增值服务 | 免责条款 | 收费标准 | 付款方式 | 广告服务 | 网站地图 | 联系我们 | 友情链接 | 网站代理
    MSN:ic36@hotmail.com  QQ:IC之家 在线咨询  联系电话:(010)51653935 传真:(010)51653936 客户服务:service@ic36.com
    Copyright © 2003-2006 IC36.COM IC之家 本网站中文域名:IC之家 芯片之家
    京ICP证060068号