账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
升级至数字式滤波器
 

【作者: Rishi Vasuki】2008年01月13日 星期日

浏览人次:【17688】

滤波器的功能是消除讯号中不需要的讯号(例如随机噪声)、或撷取出讯号中有用的部份(像取出特定频率范围内的讯号)。要在电路中设计、仿真、配置一个低通滤波器(low-pass filter),必须知道这低通滤波器的频率响应范围。但下一步呢?


本文介绍一种方法,能在数分钟内设计与仿真出各种滤波器。在本文中将使用两个图形用户界面的软件包进行设计、仿真,并在最后完成滤波器的设计,包括dsPIC DSC Filter Design软件,以及dsPICworks 数据分析与设计软件。


步骤1:找出需求

假设要用一个模拟至数字转换器,对12kHz的输入讯号进行取样,且已知道还需要一个数字滤波器,把输入讯号超过3300 Hz的频率部份过滤去除。为完成这项工作,需启动dsPIC DSC Filter Design软件,这款软件的工具栏显示出各种展开滤波器设计流程的方法,如果设计者希望使用无限脉冲响应(IIR)滤波器,仅须点选「IIR」图标,再执行对话框中的步骤,如(图一)所示。



《图一 使用无限脉冲响应(IIR)滤波器》
《图一 使用无限脉冲响应(IIR)滤波器》

在图一中,「输入滤波器规格对话框(Filter Specification Input)」中显示设计者希望滤波器执行的功能,标示着「截止频带涟波(dB, stopband ripple)」的文本框,让设计者指定要对截止频带的讯号设定多少衰减幅度。输入的通过频带与截止频带(passband and stopband)频率,就界定出转移频带的范围;若设计者不知道在指定这些频率时如何确定奈奎斯特标准(Nyquist criteria),这个工具会显示一个对话框帮助了解。


步骤2:评估滤波器选择方案

当设计者执行图一所示的对话框后,滤波器设计软件会评估滤波器需求,并根据同级模拟IIR滤波器提供滤波器阶数的预估值。由于IIR滤波器有五种类型,因此软件会根据通过频带(passband)与截止频带(stopband)的涟波特性,针对五种类型的IIR滤波器,列出滤波器的预估阶数,如(图二)所示。工具会根据设计者在步骤1指定的需求,自动选择最理想的数字滤波器方案。


最适合的滤波器通常是阶数最小者,因为滤波器的阶数和DSP中滤波器的运行时间成正比。在几种情况中,像是封闭回路的控制系统,可略过自动选择的建议,直接选择巴特沃斯滤波器(Butterworth filter),因为设计者希望在通过频带与截止频带上都得到平坦反应(换言之,就是没有涟波)。在本文的范例中,则使用工具提供的默认选项─在通过频带与截止频带上显示等涟波特性(equiripple characteristics)的椭圆滤波器。



《图二 低通滤波器选择窗口》
《图二 低通滤波器选择窗口》

步骤3:检验设计出的滤波器

点选(图二)中的「Next」按钮后,软件会显示各种图形,如(图三)所示。设计者可使用图形来检验软件产生的滤波器是否符合要求。当略过图二中的默认设定时,这项功能特别实用。接下来,必须建立一个滤波器系数档案(*.flt),作为仿真滤波器之用。图三显示的选单选项用来储存滤波器的系数档案。滤波器系数档案含有16个系数,用来建置八阶椭圆IIR滤波器。这些特别安排的系数,让8阶滤波器建置成四个层迭的2阶滤波器(业界通称为「双四元组」)。



《图三 各种图形的显示》
《图三 各种图形的显示》

步骤4:仿真滤波器

既然已储存滤波器系数,接下来该输入数据来测试滤波器、检查滤波器的运作是否符合要求。对此使用dsPICworks数据分析与设计软件。这个软件能产生或汇入波型、对波型执行各种算法与DSP作业,如过滤、快速傅立叶变换(Fast Fouier Transform)等,并导出Windows WAV或ASCII文本文件。范例中将产生一个讯号,在100Hz与4300Hz有两个正弦组件。(图四)的左上方显示时域讯号;图四的左下方则显示讯号的频率组件。输入讯号以步骤1至3的设定,在滤波器中进行处理。图四的对话框让用户指定一个输入波型档案、滤波器系数档案、以及输出波型档案的名称;图四的右上方显示经过过滤后的输出讯号;图四的右下方显示过滤后输出讯号的频率组件。设计者可放心假设滤波器的执行成效和实际嵌入型16位处理器的处理结果一样,因为dsPICworks软件平台会以16-bit定点格式(Fixed-Point)的方式进行运算。



《图四 讯号输出》
《图四 讯号输出》

步骤5:尝试各种选项降低系数的大小

若设计者不满意滤波器的设计,可重复执行步骤1至4,输入各种滤波选项,包括FIR滤波器。记得在步骤1中选择IIR滤波器。通常IIR滤波器提供较明显的反应,却没有使用太多数据存储器。例如,建置一个8阶滤波器,大约64字节就已足够;而FIR滤波器则恰恰相反,一个FIR滤波器提供与IIR滤波器相同的反应,需要耗用350字节的数据存储器,但在需要线性相位反应(linear-phase response)时,FIR滤波器的应用却相当关键。但若把滤波器系数摆放在程序内存,就可减少一半的消耗量。


步骤6:在嵌入型系统中执行滤波器

dsPIC Filter Design软件有一个程序代码产生器选项,能建立一个原始档,储存滤波器各项系数。此外,包含C语言呼叫的IIR与FIR滤波函数的原始档能置入设计者的开发环境。除了这些档案外,还需要一个C语言编译程序、In-circuit除错器、以及一个研发板,在芯片上执行设计出的滤波器功能。


转移至数字滤波器的工作,已持续不断地简化。市面上有许多免费与低成本的PC版开发工具,让设计者能在数分钟内设计与仿真滤波器,以及产生程序代码。此外,它们能仿真微处理器的16位操作。现今的数字讯号控制器都具备模拟与系统整合功能,并能在转移至数字滤波器时,提供极具吸引力的方案。


---作者为Microchip数字讯号控制器部门资深应用工程师---


相关文章
碳化矽电子保险丝展示板提升电动汽车电路保护效能
软体定义大势明确 汽车乙太网路应用加速前进
落实工业4.0 为移动机器人部署无线充电技术
安全需求持续增加 嵌入式系统设计要有新思维
全球经济走弱 业务与供应链韧性是关键
comments powered by Disqus
相关讨论
  相关新闻
» 工研院、友达强强联手结伴 聚焦4大领域产业抢商机
» DELO 启用峰值输出功率为 1.7兆瓦的太阳能系统
» 宇瞻导入胆固醇液晶全彩电子纸看板应用 开拓绿色显示市场
» Microchip收购Neuronix人工智慧实验室 增强现场部署效能
» Microchip收购VSI公司扩大汽车网路市场


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84Q4N9W66STACUKI
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw