低通连续可调滤波器和滤波方法

文档序号:7539321阅读:361来源:国知局
专利名称:低通连续可调滤波器和滤波方法
技术领域
本发明涉及一种数字滤波器,属于信号处理技术领域。
背景技术
模拟信号处理中经常要用到通带截止频率可调的滤波器,如水声信号处理、音频信号处理等领域。通带边界频率在几百kHz以下连续可调的有源低通滤波器和可调开关电容滤波器较容易实现,几百kHz的固定频率有源滤波器的设计和实现也不存在太多困难,但要实现连续调节则有一定的困难。因为调节截止频率就是要调节电路中的电阻或电容或两者都调节。在较低频率时可以考虑用模拟开关或数字电位器实现电阻或电容的切换或调整,但随着频率的增加,模拟开关和数字电位器的寄生电容开始影响滤波器的特性,频率上升到一定程度时,分布参数的影响将导致滤波器调试非常困难。

发明内容
本发明针对上述问题,提供一种能够实现连续调节通带截止频率的低通数字滤波器,并提供一种此种滤波器所采样的滤波方法,利用本发明的滤波器和滤波方法,能够随时根据键盘输入调整频率,方便迅速地调节通带截止频率。
本发明的低通连续可调滤波器,包括DSP、A/D转换器、D/A转换器、输入同步FIFO缓冲区、输出同步FIFO缓冲区,存储器,时钟发生器;其中(1)A/D转换器将输入的模拟信号转换成数字信号,并存入输入同步FIFO缓冲区;(2)存储器里存储有根据所设定的窗函数、滤波阶数、采样频率和阻带频率相对于通带截止频率的比值计算出的FIR(有限冲激响应)滤波器滤波系数和FIR滤波运算子程序;(3)DSP根据所输入的需要调整的通带截止频率,计算采样频率,改变时钟发生器输出频率,将调整后的通带截止频率存入存储器;调用FIR滤波运算子程序,对输入同步FIFO(先进先出)缓冲区内存储的数值进行滤波运算,滤波运算的结果存入输出同步FIFO缓冲区;(4)D/A转换器将输出同步FIFO缓冲区存储的数据转换成模拟信号并输出;(5)时钟发生器在DSP的控制下生成同步时钟信号,作用于A/D转换器、D/A转换器、输入同步FIFO缓冲区输入时钟、输出同步FIFO缓冲区输出时钟。
上述技术方案中,时钟发生器可采用直接数字频率合成器。
本发明还提供一种上述低通连续可调滤波器所采用的滤波方法,包括如下步骤
(1)首先根据所设定的窗函数、滤波阶数、采样频率和阻带频率相对于通带截止频率的比值计算出FIR滤波器滤波系数,并将FIR滤波器滤波系数和FIR滤波运算子程序存入存储器内;(2)DSP判断是否需要调整通带截止频率,如果需要,从键盘接收所要调整的通带截止频率,计算采样频率,改变时钟发生器输出频率,并将通带截止频率存入存储器(本步骤的判断程序应当为循环执行的程序);(3)A/D转换器将输入的模拟信号转换成数字信号,并存入输入同步FIFO缓冲区;(4)DSP调用FIR滤波运算子程序,对输入同步FIFO缓冲区内存储的数值进行滤波运算,滤波运算的结果存入输出同步FIFO缓冲区。
(5)D/A转换器将输出同步FIFO缓冲区存储的数据转换成模拟信号并输出;(6)时钟发生器在DSP的控制下生成同步时钟信号,作用于A/D转换器、D/A转换器、输入同步FIFO缓冲区输入时钟、输出同步FIFO缓冲区输出时钟。
上述技术方案中,最好时钟发生器可采用直接数字频率合成器。
本发明根据当阻带截止频率与通带截止频率之比是一个常数且采样频率与通带截止频率之比也是一个常数时,低通FIR滤波器的阶数及滤波器的冲击响应与通带截止频率无关的原理,在较宽频带内实现通带截止频率的连续可调,调节精度可达0.5Hz,具有调节精度高,方便快捷的优点。


图1本发明的滤波器的总体结构框图;图2本发明的滤波器主程序流程图。
具体实施例方式
在下面根据附图和实施例对本发明作进一步详细介绍。
图1是本发明的低通滤波器的总体结构框图。主要包括输入信号缓冲及调理电路、A/D转换器、输入缓冲FIFO、DSP及外围电路、输出缓冲FIFO、D/A转换器等几部分。其中DSP及外围电路包括程序存储器、串行口、显示及键盘接口等。串行口用于实现和PC机的通信,可以通过PC机对滤波器的控制。
假定输入模拟信号为带限信号。该信号经缓冲和调理后经A/D变换进入输入缓冲FIFO。当FIFO中的数据达到一定数量时产生中断,DSP将数据读入内存中并进行计算和处理,这里DSP主要实现FIR滤波运算。处理后的数据写入输出FIFO中,之后通过D/A变换后输出模拟信号。输出的信号是低通滤波后的结果。
图1中,AD9850是AD公司的DDS(直接数字频率合成)芯片,其接口简单,可通过8位并行口或串行口对其进行设置。在32位频率控制字和125MHz时钟情况下,其输出频率分辨率可达0.0291Hz。本发明选用AD9850作为时钟发生器。
AD9850的输出时钟频率由DSP进行设置,该频率取滤波器通带截止频率的6倍,如通带截止频率为20kHz时,设置AD9850的输出频率为120kHz,通带截止频率为1MHz时,设置AD9850的输出频率为6MHz。因此,当AD9850的输出频率调整步长为6Hz时就可以实现通带截止频率1Hz的调整。
在本实施例中,DSP、输入FIFO的输出时钟及输出FIFO的输入时钟采用的是同一主时钟,而D/A转换器、A/D转换器、输入FIFO的输入时钟及输出FIFO的输出时钟由AD9850提供。为D/A转换器提供时钟是因为要实现采样频率的调整,从而调整通带截止频率;为输出FIFO的输出和D/A提供时钟是为了保证输出数据速率与输入采样速率一致,从而保证输出模拟信号的连续性。两个时钟的采用是为了既保证DSP的高速运算又保证采样频率的可调及输出模拟信号的连续。
为了说明截止频率调整的原理,这里简单叙述一下窗函数法设计FIR滤波器。
设滤波器的通带截止频率为fp,阻带截止频率为fs,系统采样频率为fsamp。则其过渡带宽度为ftw=fs-fp过渡带宽数字角频率为ωtw=2πftwfsamp=2πfs-fpfsamp]]>各种窗函数的过渡带宽可用xπ/N表示,其中N是滤波器阶数,x是一个整数,对应于矩形窗、三角形窗、汉宁窗(Hanning)、汉明窗(Hamming)、布莱克曼窗及凯塞窗,其值分别为4、8、8、8、12、10。所以滤波器的阶数N可由下式求得N=xπωtw=x·fsamp2·(fs-fp)]]>理想低通滤波器的冲击响应为hd(n)=sin(ωc(n-α))π(n-α)]]>其中α=(N-1)/2,ωc是3dB通带截止数字角频率,其值为ωc=ωp·22=2πfpfsamp---(5)]]>加窗后低通滤波器的冲击响应为h(n)=hd(n)w(n) (6)当阻带截止频率与通带截止频率之比是一个常数,并使得采样频率与通带截止频率之比也保持是一个常数时,低通FIR滤波器的阶数N及滤波器的冲击响应与通带截止频率无关。因此DSP的计算算法(包括系数)不需要随截止频率做任何的改变。据此,可以实现连续可调的低通FIR数字滤波器,实现过程如下。
1.根据设计指标,选择合适的窗函数,计算FIR低通滤波器的阶数和系数;2.在滤波器阶数N及系数不变的情况下,只要改变采样频率fsamp就可以改变低通滤波器的通带截止频率,并能保证滤波器的衰减特性。
以一个20kHz-1MHz连续可调滤波器的设计为例说明设计过程,具体指标如下1.通带截止频率20kHz-1MHz连续可调,调整精度1Hz;2.倍频程阻带衰减≥50dB,滤波器带内波动<0.5dB;所设计低通滤波器的倍频程阻带衰减≥50dB,这一点可以满足阻带截止频率与通带截止频率之比为一常数2的条件。在实际实现中,再使采样频率与通带截止频率之比也是一个常数,设其值为6。则有ωp=2πfpfsamp=2πfp6fp=13π]]>ωs=2ωp=23π]]>阻带衰减As=50dB根据以上滤波器的指标,采用汉明窗,可以计算出滤波器的参数,其结果如下所示。
滤波器阶数N=22滤波器系数为h(0)=h(21)=-0.0017155 h(1)=h(20)=0.0023805 h(2)=h(19)=0.0042365h(3)=h(18)=-0.0076014 h(4)=h(17)=-0.012884 h(5)=h(16)=0.0207h(6)=h(15)=0.032141 h(7)=h(14)=-0.049536 h(8)=h(13)=-0.079006h(9)=h(12)=0.14327h(10)=h(11)=0.44801根据这些参数,选用适当的滤波算法,编制FIR滤波运算子程序,可以实现低通FIR滤波器。至于FIR滤波算法,现有技术中已经有多种算法,这里不再赘述。
滤波器的软件要实现的功能主要是FIR滤波。参见图2,DSP主程序的工作流程根据按键输入的频率,DSP计算出应对DDS设置的状态字并对进行设置,DDS将按设置的频率输出时钟。A/D转换后的数据进入FIFO中,当到达设置的数据量时将产生中断,DSP将输入FIFO中的数据读入并调用FIR滤波运算子程序进行FIR运算。运算完成后的数据写入输出FIFO。输出FIFO中的数据将按照与A/D转换同样的速率输出到D/A变换器中并产生模拟输出。这样,只要保证FIR运算足够快就可以既不会产生数据溢出,也不会输出数据不足。
权利要求
1.一种低通连续可调滤波器,包括DSP、A/D转换器、D/A转换器、输入同步FIFO缓冲区、输出同步FIFO缓冲区,存储器,时钟发生器;其中(1)A/D转换器将输入的模拟信号转换成数字信号,并存入输入同步FIFO缓冲区;(2)存储器里存储有根据所设定的窗函数、滤波阶数、采样频率和阻带频率相对于通带截止频率的比值计算出的FIR滤波器滤波系数和FIR滤波运算子程序;(3)DSP根据所输入的需要调整的通带截止频率,计算采样频率,改变时钟发生器输出频率,将调整后的通带截止频率存入存储器;调用FIR滤波运算子程序,对输入同步FIFO缓冲区内存储的数值进行滤波运算,滤波运算的结果存入输出同步FIFO缓冲区;(4)D/A转换器将输出同步FIFO缓冲区存储的数据转换成模拟信号并输出;(5)时钟发生器在DSP的控制下生成同步时钟信号,作用于A/D转换器、D/A转换器、输入同步FIFO缓冲区输入时钟、输出同步FIFO缓冲区输出时钟。
2.根据权利要求1所述的低通连续可调滤波器,其特征在于,所述时钟发生器为直接数字频率合成器。
3.一种权利要求1所述的低通连续可调滤波器所采用的滤波方法,包括如下步骤(1)首先根据所设定的窗函数、滤波阶数、采样频率和阻带频率相对于通带截止频率的比值计算出FIR滤波器滤波系数,并将FIR滤波器滤波系数和FIR滤波运算子程序存入存储器内;(2)DSP判断是否需要调整通带截止频率,如果需要,从键盘接收所要调整的通带截止频率,计算采样频率,改变时钟发生器输出频率,并将通带截止频率存入存储器。(3)A/D转换器将输入的模拟信号转换成数字信号,并存入输入同步FIFO缓冲区;(4)DSP调用FIR滤波运算子程序,对输入同步FIFO缓冲区内存储的数值进行滤波运算,滤波运算的结果存入输出同步FIFO缓冲区。(5)D/A转换器将输出同步FIFO缓冲区存储的数据转换成模拟信号并输出;(6)时钟发生器在DSP的控制下生成同步时钟信号,作用于A/D转换器、D/A转换器、输入同步FIFO缓冲区输入时钟、输出同步FIFO缓冲区输出时钟。
4.根据权利要求3所述的滤波方法,其特征在于,所述时钟发生器为直接数字频率合成器。
全文摘要
本发明属于信号处理技术领域,涉及一种低通连续可调滤波器,包括DSP、A/D转换器、D/A转换器、输入同步FIFO缓冲区、输出同步FIFO缓冲区,存储器,时钟发生器。存储器里存储有根据所设定的窗函数、滤波阶数、采样频率和阻带频率相对于通带截止频率的比值计算出的FIR滤波器滤波系数和FIR滤波运算子程序;DSP根据所输入的需要调整的通带截止频率,计算采样频率,改变时钟发生器输出频率,将调整后的通带截止频率存入存储器。本发明同时提供一种此种滤波器适用的滤波方法。本发明的滤波器和滤波方法,在较宽频带内实现通带截止频率的连续可调,调节精度可达0.5Hz,具有调节精度高,方便快捷的优点。
文档编号H03H17/02GK1976224SQ200610130270
公开日2007年6月6日 申请日期2006年12月15日 优先权日2006年12月15日
发明者郭继昌, 李锵, 李香萍 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1