滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程。滤波器的实现包括滤波器结构的选择和滤波器参数的计算。只有完成了滤波器的设计和实现,才能最终完成数据的滤波。
滤波器设计的目标是实现数据序列的频率成分变更。严格的设计规格需要指定通带波纹数、阻带衰减、过渡带宽度等。更准确的指定可能需要实现最小阶数的滤波器、需要实现任意形状的滤波器形状或者需要用
fir滤波器
实现。指定的要求不同,滤波器的设计也不同。
Matlab的信号处理工具箱软件提供了两种方式设计滤波器:面向对象的和非面向对象的。面向对象的方法首先创建一个滤波器对象fdesign,然后调用合适的design参数设计。如实现一个5阶的低通
巴特沃斯滤波器
,3dB
截止频率
为200Hz,
采样频率
1000Hz,代码如下
Fs=1000; %Sampling Frequency
time = 0:(1/Fs):1; %time vector
% Data vector
x = cos(2*pi*60*time)+sin(2*pi*120*time)+randn(size(time));
d=fdesign.lowpass('N,F3dB',5,200,Fs); %lowpass filter specification object
% Invoke Butterworth design method
Hd=design(d,'butter');
y=filter(Hd,x);
非面向对象的方法则适用函数实现滤波器设计,如butter、firpm。所有非面向对象的滤波器设计函数使用的是
归一化频率
,
归一化频率
[0, 1]之间,1表示πrad。将Hz频率转化为
归一化频率
的方法为乘以2除以
采样频率
。设计上面同样的滤波器,使用非面向对象的方法如下
Wn = (2*200)/1000; %Convert 3-dB frequency
% to normalized frequency: 0.4*pi rad/sample
[B,A] = butter(5,Wn,'low');
y = filter(B,A,x);
滤波函数
* filter:利用递归滤波器(IIR)或非递归滤波器(FIR)对数据进行数字滤波;
* fftfilt:利用基于FFT的重叠相加法对数据进行滤波,只适用于非递归滤波器(FIR);
* filter2:二维FIR数字滤波;
* filtfilt:零相位滤波(IIR与FIR均可)。
滤波器特性分析
*
脉冲响应
Impz
等价于使用函数filter输入一个
脉冲信号
x=[1;zero(N-1,1)]。
* 频率响应freqz与freqs
Freqz:求解
数字滤波器
的频率响应
Freqs:求解
模拟滤波器
的频率响应
* 幅频和相频abs与angle、unwrap
Unwrap:解卷绕
* 群延迟grpdelay
群延迟即为滤波器相位响应的负一阶导数,是滤波器平均延迟的度量。
* 零极点分析zlane
dem滤波处理globalmapper dm滤波器
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PIM DM(密集模式)
PIM DM
组播 ci Standard -
均值滤波器滤波器 均值滤波器的作用
消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。而对滤波处理的要求也有两条:一是不能损坏图像的轮廓及边缘等重要信息;二
均值滤波器滤波器 lms自适应滤波器matlab matlab 图像 幅度谱 低通滤波 matlab 图像平滑的算法 matlab 均值滤波 -
高通滤波器处理数据 python 高通滤波器计算
L 一阶滤波C 一阶滤波 CL 二阶滤波 RC 二阶滤波LC 二阶滤波RCR T型三阶滤波LCL T型三阶滤波 CRC π三阶滤波 CLC π三阶滤波开关电源 单级低通滤波回路 DLC 型二阶滤波器 开关电源 双级串联式低通滤波回路
高通滤波器处理数据 python π型滤波器 计算 工作原理 稳压电源 开关电源 -
java 克隆 父类给子类
正文 假如说你想复制一个简单变量。很简单:int apples = 5; int pears = apples;不仅仅是int类型,其它七种原始数据类型(b
java 克隆 父类给子类 System 字段 公众号