滤波算法——一阶滤波


滤波算法——二阶滤波

1. 算法原理

滤波(Wave filtering)是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。

一阶低通滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。一阶低通滤波法采用本次采样值与上次滤波输出值进行加权,得到有效滤波值,使得输出对输入有反馈作用。

一阶低通滤波的算法公式为:
Y ( n ) = α X ( n ) + ( 1 − α ) Y ( n − 1 ) Y(n)=\alpha X(n)+(1-\alpha)Y(n-1) Y(n)=αX(n)+(1α)Y(n1)其中, α \alpha α是滤波系数,在 ( 0 , 1 ) (0,1) (0,1)上, X ( n ) X(n) X(n)是本次采样值, Y ( n − 1 ) Y(n-1) Y(n1)是上次滤波输出值, Y ( n ) Y(n) Y(n)是本次滤波输出值

一阶滤波相当于将新的采样值与上次的滤波结果计算一个加权平均值。 α \alpha α的取值决定了算法的灵敏度, α \alpha α越大,新采集的值占的权重越大,算法越灵敏,但平顺性差;相反, α \alpha α越小,新采集的值占的比重越小,灵敏度差,但平顺性好。

无源一阶传递函数为
H ( s ) = 1 1 + s C R = ω 0 ω 0 + s H(s)=\frac{1}{1+sCR}=\frac{\omega_0}{\omega_0+s} H(s)=1+sCR1=ω0+sω0
其中 ω 0 \omega_0 ω0为特征角频率

有源一阶低通滤波器要考虑放大器增益,待补充

  • 优点:对周期干扰有良好的抑制作用,适用于波动频率比较高的场合,它不用记录历史数据。
  • 缺点:滞后、灵敏度低。

2. 代码实现

% LPF1o: 一阶低通滤波器函数
    % 
    % 用法:
    %   xFilt = LPF1o(Tc, tor, xRaw, xFilt)
    %
    % 输入参数:
    %   - Tc: 滤波器的时间常数 (秒)
    %   - tor: 采样时间间隔 (秒)
    %   - xRaw: 未经滤波的原始输入信号
    %   - xFilt: 上一个时刻的滤波输出
    %
    % 输出参数:
    %   - xFilt: 经过一阶低通滤波器处理后的输出信号
function xFilt = LPF1o(Tc,tor,xRaw,xFilt)
    ratio=Tc/tor;
    xFilt=ratio*xRaw+(1-ratio)*xFilt;
end

在代码中调用LPF1o函数

% 需要滤波的原始信号
Z=toolVel(3,:);
datasize = length(Z(1,:));

% 设置滤波参数
tor = 0.002; % 采样时间间隔
Tc = 0.1*tor; % 滤波器时间常数
Z_filt=zeros(1,datasize);%滤波后的信号

% 逐个元素进行滤波
for i = 1:datasize
    Z_filt(i) = LPF1o(Tc,tor,Z(i),Z_filt(i));
end

% 绘制原始信号和滤波后的信号
figure;
subplot(2,1,1);
plot(Z);
title('原始信号');
subplot(2,1,2);
plot(Z_filt);
title('滤波后的信号');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值