当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:利用现有的经典数字滤波器,可通过在Matlab中的几种方法实现滤波。文章研究了滤波相关函数的用法,指出每个函数处理信号的特点,并给出了几种方法进行仿真比较,其时域和频域的结果显示,使用filtfilt函数可对信号进行很好地滤波。

引 言

经典数字滤波器即 FIR 滤波器和 IIR 滤波器在很多领域中都发挥着重要的作用,在不要求实时处理时,常常使用Matlab 软件设计滤波器并对信号进行滤波。重力数据和重力梯度数据的滤波就是采集后在PC 机上进行处理的。FIR 滤波器具有线性相位,且系统总是稳定的,但是滤波器阶数比较高; IIR 滤波器阶数比较低,但是不具有线性相位,且系统有可能不稳定。不过,在Matlab 软件中,可以通过零相位滤波解决IIR 滤波器非线性相位的问题。重力数据需要低通滤波,重力梯度数据需要带通滤波,对于FIR 滤波器和IIR 滤波器,选择哪一个进行滤波,滤波器长度对滤波结果的影响,滤波器稳定性的验证等问题都值得进行研究。

1 FIR滤波器

FIR 滤波器具有线性相位,且系统总是稳定的,但是滤波器的阶数比较高。而对于有限长度信号的滤波,滤波器的长度对滤波结果的影响是值得关注的问题。

2 FRR 和 RRF

在数字信号处理中,为了不产生相位失真,通常要求滤波器具有零相位。当滤波器是零相位时,输出与输入将不存在移位,即输入和输出数据在时间上能一一对应起来,只存在增益上的差别,我们称此时的滤波器为零相位数字滤波器 [1,2]。实现零相位数字滤波可以采用 FRR 或RRF 方法。FRR 滤波是先将输入序列按顺序滤波(forward filter),然后将所得结果翻转后通过滤波器( reverse filter),再将所得结果翻转后输出( reverse output),即得相位不变的输出序列。类似的, RRF 滤波是先将输入信号序列翻转后通过滤波器( reverse filter), 然后将所得结果翻转后再次通过滤波器( reverse filter),这样所得结果(forward output )即为精确零相位失真的输出序列。

3 低通滤波

用窗函数法设计低通滤波器,通带截止频率为 3 Hz,阻带截止频率为 5 Hz,采样频率为 100 Hz。用该滤波器分别对直流信号 x1=ones(1,512)和低频信号 x2=0.2*sin(2*pi*2*t)进行滤波,滤波分别采用以上提到的几种方法。对 x1 用几种方法进行滤波,滤波结果如图 1 所示,为了方便比较,几种方法的滤波结果在幅值上做了改动,从图中可以看出只有函数filtfilt 得到的滤波结果和原信号是一样的。其他几种方法在两端都或多或少有无效数据产生。

滤波器长度对滤波结果的影响研究

几种方法对直流信号滤波后的频谱如图 2所示,将其中零频率上面部分频谱放大得到图 3所示的放大波形,可以看出filter、FRR和 RRF方法得到的频谱相近,conv和filtfilt 方法得到的频谱与原信号频谱相近。从图 3中还可以看出filter、FRR和 RRF 方法得到的信号频谱在零频率处有明显的衰减,大约在 430左右,而原信号在零频率处幅值大约为512。图 2中幅值较低,且接近零频率处的频谱放大可得到图4,从中也可看出,filter、FRR 和RRF 方法得到的频谱相近,conv 和filtfilt 方法得到的频谱与原信号频谱相近。将图 2 中的频谱整体适当放大,可以清晰的看出几种方法相互接近的趋势,如图 5 所示。从时域和频域对比几种滤波方法,可以看出最好的滤波方法是使用filtfilt 函数。

滤波器长度对滤波结果的影响研究

滤波器长度对滤波结果的影响研究

对 x2 用几种方法进行滤波,滤波结果如图 6 所示,为了方便比较,几种方法的滤波结果在幅值上做了改动,从图中可以看出,也只有函数 filtfilt 得到的滤波结果和原信号是一样的。其他几种方法在两端也都或多或少有无效数据产生。

滤波器长度对滤波结果的影响研究

几种方法对 x2 滤波后的频谱如图 7 所示,将其中 2 Hz频率处上面部分频谱放大可得到图 8 的结果,可以看出filter、FRR 和 RRF 方法得到的频谱相近,conv 和filtfilt 方法得到的频谱与原信号频谱相近。从图 8 中还可以看出,filter、FRR 和RRF 方法得到的信号频谱在 2 Hz 处有明显的衰减,大约为 42,而原信号在零频率处幅值大约为 51。将图 7 中的频谱整体适当放大,可以清晰的看出几种方法相互接近的趋势, 如图 9 所示。从时域和频域对比几种滤波方法,可以看出,最好的滤波方法是使用filtfilt 函数。对直流信号和正弦信号进行低通滤波,得到的结论相同,即使用filtfilt 函数最好。

滤波器长度对滤波结果的影响研究

滤波器长度对滤波结果的影响研究


4 带通滤波 

用窗函数法设计带通滤波器,该滤波器通带截止频率为 [10 20]Hz,阻带截止频率为 [5 25]Hz,采样频率为 100 Hz。 用该滤波器对信号 x=0.2*sin(2*pi*15*t)进行滤波,滤波分 别采用 filter、conv、filtfilt、FRR 和 RRF 方法,滤波结果如 图 10 所示,可以看出,filtfilt 滤波后的信号最接近原信号。 滤波后信号的频谱如图 11 所示,将其进行放大,如图 12 所示, 可以看出与低通滤波的情况相似,filter、FRR 和 RRF 方法 得到的频谱相近,conv 和 filtfilt 方法得到的频谱与原信号频 谱相近。经过时域和频域的比较,得出带通滤波同样是 filtfilt 函数最好。

滤波器长度对滤波结果的影响研究



5 结 语

非实时数字滤波在很多应用领域中都会用到,例如在电 网行波数据处理中的应用 [3]、在形貌恢复中的应用 [4]、在心电 信号处理中的应用 [5] 等。为了使滤波后信号不发生畸变,而 且方便对比输出信号和输入信号,零相位滤波受到大家的青 睐,大家都讲零相位滤波,大多是 FRR 的原理。有的是按照 FRR 的步骤来滤波,有的其实是用 filtfilt。通过本文的仿真 研究,可以看出,FRR 并不等同于 filtfilt,而且 filtfilt 的效果 比 FRR 或者 RRF 都要好。

滤波器长度对滤波结果的影响研究



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

DSP即数字信号处理,它是英文Digital Signal Processing的简写,DSP是一门面向电子信息学科的专业基础课,具体来讲,DSP是以数字形式对信号进行分析、变换、滤波、检测、调制、解调以及快速算法的一门...

关键字: 算法 调制解调 数字滤波

Matlab被禁,不代表开源的Python和Julia就可以随便用,甚至祖宗辈的C语言也不一定安全。就像Arm新技术被禁止华为使用,不代表华为就能自由使用所谓开源的RISC-V,开源技术的主导者仍然是美国,而且RISC-...

关键字: Matlab C语言 RISC-V

摘要:直流有源滤波器具有抑制低次谐波的优点,被广泛地应用在航空等领域。为使直流有源滤波器能快速响应且精准补偿各次纹波,现提出一种基于模糊P1-重复控制的方法,并在Matlab/simulink环境下进行了仿真验证。仿真结...

关键字: 直流有源滤波器 模糊P1-重复控制 Matlab

摘要:直流有源滤波器具有抑制低次谐波的优点,被广泛地应用在航空等领域。为使直流有源滤波器能快速响应且精准补偿各次纹波,现提出一种基于模糊PI-重复控制的方法,并在Matlab/simulink环境下进行了仿真验证。仿真结...

关键字: 直流有源滤波器 模糊PI-重复控制 Matlab

摘 要:根据QAM调制解调的基本原理,以Matlab为开发平台,设计了 16QAM数字调制解调系统并进行仿真分析,并在 信噪比变化条件下,得到了不同进制QAM系统的误码率。仿真结果表明,QAM调制相对PSK调制具有较好的...

关键字: 正交幅度调制 仿真 Matlab

摘 要 :在 Matlab 上采用肤色范围静态肤色建模方式,利用阈值化法统计输入像素在 YCbCr 色彩空间下色度Cb,Cr 的集中落点区域 ;采取基于 YCbCr 信号阈值的肤色分割,灰阶值作为肤色检测结果的输出,在...

关键字: Matlab 阈值化 YCbCr 肤色检测 Quartus Ⅱ FPGA

摘要:利用EDA技术实现硬件设计的最典型方法是用Quartusll设计完成的,但是此方法并不适用于涉及算法类或信号处理的设计项目。Altera公司2002年推出的DSPBuilder可以很好地帮助设计者完成此类设计项目。...

关键字: DSP/Builder Matlab Simulink DDS 数字滤波器

摘 要:传统的PID控制器具有算法简单、控制精度高的特点,但对于存在随机干扰和滞后的系统无法获得满意的控制效果,而模糊控制器具有能适应被控对象非线性和时变性的优点,但控制精度不高。因此,文中将模糊控制和PID控制结合起来...

关键字: 模糊控制 PID控制 SimuLink仿真 Matlab

过采样和数字滤波有助于降低对ADC前置的抗混叠滤波器的要求。重构DAC可以通过类似的方式运用过采样和插值原理。

关键字: DAC 数字滤波 通信领域

摘 要:物流行业中的货运影响因素具有不确定性和时变性,为了提高货物运输系统的预测精度,可用智能预测方法对物流数据进行分析与处理。文中运用Matlab工具箱实现模型的相关算法,对货运系统历史数据进行拟合,得到输入输出数据之...

关键字: 物流 神经网络 Matlab 预测 多种模型
关闭
关闭