APP下载

用于低音炮的数字低通滤波器算法实现

2016-10-27蒋富旭

关键词:截止频率低通滤波器网络结构

蒋富旭,马 琪,杨 洋

(1.杭州电子科技大学微电子CAD研究所,浙江 杭州 310018;2.杭州微纳科技有限公司,浙江 杭州 310012)



用于低音炮的数字低通滤波器算法实现

蒋富旭1,马琪1,杨洋2

(1.杭州电子科技大学微电子CAD研究所,浙江 杭州 310018;2.杭州微纳科技有限公司,浙江 杭州 310012)

介绍一种音频低通滤波器的嵌入式软件实现方法,先使用MATLAB设计符合指标要求的数字低通滤波器,确定滤波器系数;再采用嵌入式软件实现低通滤波器算法.低通滤波器算法实现了设计指标要求,已应用于实际产品.

低音炮;数字低通滤波器;滤波器系数

0 引 言

人耳对不同频率的声音灵敏度、闻阀和痛阀都不一样.200 Hz,30 dB的声音和1 000 Hz,10 dB的声音,人耳听起来响度相同[1].如果音箱中低音混在一起,那么人耳区分比较困难,人们就感受不到低音的震撼力了.低音炮的是独立的低音音箱,通常工作频段在20~120 Hz[1].低音炮的内置功放比主功放更大,才听起来与主机箱中高频音乐响度相同,在较宽的音量范围内整个系统才能保持一致的听觉效果.在许多低音炮中,音频低通滤波器都是采用硬件设计实现,成本较高.本文实现了一种嵌入式软件实现的低通滤波器算法,滤除高频信号,保留低频信号.算法设计的最初目的是应用于低音炮,也可以经过适当修改应用于其他数字信号处理产品上.

1 滤波器选择

数字滤波器分为无限长脉冲响应(Infinite Impulse Response, IIR)滤波器和有限长脉冲响应(Finite Impulse Response, FIR)滤波器[2].IIR滤波器设计时只考虑幅频特性,适用于对相位要求不敏感的场合,如语音通信等[2].FIR滤波器设计时实现线性相位较容易,一般同时考虑幅频和相频特性,更适用于对输出波形有要求的应用(波形传输、图像信号处理等)中[2].所以针对低音炮选用了IIR滤波器.

滤波器设计理论已经很成熟,有多种性能优良的典型滤波器可供选择(如巴特沃斯、切比雪夫、椭圆滤波器),可以使用MATLAB辅助设计.

数字信号处理中常用网络结构表示算法的实现[2].IIR级联型网络结构如图1所示,将系统函数H(z)的分子分母分解成二阶子系统.整个系统由多个二阶子系统级联网络结构(直接II型)实现,如图2所示.直接型网络结构公式[2]如下:

(1)

式中:N为滤波器的阶数,bi、ai为滤波器系数.

图1级联型网络结构

图2 IIR网络的直接型网络结构

图1、图2中,只要知道每个二阶子系统函数的分子分母系数,便可以由输入信号x(n)得到过滤后的输出信号y(n),即第1个系统的输出信号再作为第2个系统的输入信号,依次处理,最终得到整个系统的输出信号.

2 低通滤波器设计

利用MATLAB工具软件FDATool[3]设计出满足指标要求的滤波器,确定含有滤波器系数[4]的头文件.

在满足幅频响应指标的条件下,通过比较不同种滤波器阶数,确定椭圆滤波器阶数最低、效果最好[2].选用10阶椭圆滤波器,44.1 kHz采样率,100 Hz通带截止频率,设计的IIR低通滤波器仿真[3,5]效果如图3所示.

图3 MATLAB滤波仿真图

从图3中可以看出,设计的滤波器通带截止频率是99.6 Hz,3 dB通带截止频率是105 Hz,与设计指标相符.

3 低通滤波器的算法实现

3.1WAV声音文件解析

WAV文件[6]采用的主要编码方式有脉冲编码调制(Pulse Code Modulation,PCM)和自适应差分脉冲编码调制(Adaptive Differential Pulse Code Modulation,ADPCM).采用PCM脉冲编码调制的采样文件,其文件头共44 Byte.

16位立体声语音文件每个采样点需分左声道、右声道进行采样,存放数据,且单个声道的采样数据为2 Byte.

每个WAV文件,头部包含基本信息,然后再是真实的声音数据.算法处理每帧数据时,处理的是真实数据.用UltraEdit打开文件,查看文件头可以解析整个文件详细信息.

图4 帧数据处理流程图

3.2算法流程

音频[7-8]数字信号依次被拆分成长度是512 Byte的帧数据,分别滤波.每个音量大小由16个位元表示(其值范围是-32 767~32 767).每帧数据算法处理流程如图4所示.

3.3算法实现

低音炮是单声道,真实数据分为左右声道,算法处理左声道数据便可实现低音炮的低通滤波.首先,循环控制左声道每帧数据依次进出二阶子系统,二阶子系统的个数是(MWSPT_NSEC-1),MWSPT_NSEC是在滤波器系数头文件中宏定义的.具体实现流程如图5所示,其中函数SOrdFilter()实现的是IIR数字低通滤波器二阶子系统即式⑴的功能,实现流程如图6所示.

然后,将滤波后的数据(即图5中的数组指针变量值*y)分别按左右声道顺序存储(右声道数据保持与左声道数据相同),存放在数组指针变量output中,即为低音炮所需的低频信号.具体实现流程图如图7所示.

图5 算法实现流程

图6 SOrdFilter()实现

图7 左右声道存储实现

4 算法实现的结果分析

用Cool Edit[9]软件显示的低通滤波器算法处理前后的音频数据波形如图8和图9所示,低通滤波器的截止频率与设计要求、MATALB设计的仿真结果的比较如表1所示.

图8 算法处理前的音频波形

图9 算法处理后的音频波形

从表1可以看出,算法的实现效果与设计要求、MATLAB设计仿真效果相近,很好地滤除了高频部分,保留了低频信号.算法处理后的3 dB通带截止频率是129 Hz,基本达到仿真设计100 Hz的要求.

5 结束语

本文先用MATLAB设计滤波器,再用算法实现数字低通滤波器,保留的低频信号满足设计指标要求,但在通带截止频率较小时仍有细微误差,日后需要进一步优化.值得一提的是,实验数据表明通带截止频率设定在300 Hz以上时,算法实现效果非常好,误差只有1 Hz左右.其他类型滤波器也可以参考此算法实现方式,过滤得到所需频段信号.

[1]阿龙.走进PC低音箱[J].电脑知识与技术——经验技巧,2010(9):60-61.

[2]徐以涛,程云鹏,张冬梅,等.数字信号处理[M].西安:西安电子科技大学出版社,2009:129-201.

[3]施琴红,赵明镜.基于MATLAB/FDATOOL工具箱的IIR数字滤波器的设计及仿真[J].科技广场,2010(7):56-58.

[4]PARHI K K,Liu Y.Architectures for IIR digital filters using stochastic computing[C]//Circuits and Systems(ISCAS),2014 IEEE International Symposium on.Melbourne VIC:IEEE,2014:373-376.

[5]严小军,赵妮,秦泓江.基于MATLAB的IIR数字滤波器设计与仿真[J].计算机与现代化,2007(6):100-102.

[6]邹明光,李芝棠.基于振幅值修改的wav音频隐写算法[J].通信学报,2014,35(Z1):36-40.

[7]DONG J,ZHANG X,WANG F,et al.Single-to-Dual channel NRZ-to-RZ format conversionby four-wave mixing in single semiconductor optical amplifier[J].Electronics Letters,2008,44(12):763-764.

[8]WAKIYAMA M,HIDAKA Y,NOZAKI K.An Audio Steganography by a Low-Bit Coding Method With Wave Files[C]//Intelligent Information Hiding and Multimedia Signal Processing(IIH-MSP),2010 Sixth International Conference on.Darmstadt:IEEE,2010:530-533.

[9]王发科.利用Cool Edit处理陕西关中方言语音信息[J].宝鸡文理学院学报,2014,34(4):45-47.

The Implementation of Digital Low-pass Filter Algorithm for Subwoofer

JIANG Fuxu1, MA Qi1, YANG Yang2

(1.InstituteofMicro-electronicsCAD,HangzhouDianziUniversity,HangzhouZhejiang310018,China;2.HangzhouNanoICTechnologiesCo.Ltd,HangzhouZhejiang310012,China)

This paper introduces an embedded-software implementation method of digital low-pass filter for subwoofer. Firstly, MATALAB is used to design digital low-pass filter and getting the filter coefficients, then the digital low-pass filter algorithm is implemented with embedded-software. The algorithm has achieved primary demand and applied in products.

subwoofer; digital low-pass filter; filter coefficients

10.13954/j.cnki.hdu.2016.01.003

2015-06-24

蒋富旭(1989-),男,安徽六安人,硕士研究生,嵌入式系统设计.通信作者:马琪研究员,E-mail:maq68@126.com.

TN911.72

A

1001-9146(2016)01-0012-04

猜你喜欢

截止频率低通滤波器网络结构
基于超声Lamb波截止频率的双层薄板各层厚度表征
切比雪夫Ⅱ型模拟高通滤波器的设计及实现*
低频射频识别系统中的RC放大器电路性能分析与研究
基于瞬时无功理论的谐波检测中低通滤波器的改进
梯度饱和多孔材料中弹性波的截止频率
基于广义混合图的弱节点对等覆盖网络结构
体系作战信息流转超网络结构优化
基于互信息的贝叶斯网络结构学习
复杂网络结构比对算法研究进展
非等纹响应低通滤波器研究