采用低通滤波器可有效地滤掉噪声信号,在控制系统的设计中是一种常用的方法。
基于低通滤波器的信号处理实例
设低通滤波器为:
采样时间为1ms,输入信号为带有高频正弦噪声( 100Hz)的低频(0.2Hz)正弦信号。采用低通滤波器滤掉高频正弦信号。滤波器的离散化采用Tustin变换,其Bode图如图1和图2所示。仿真结果表明,该滤波器对高频信号具有很好的滤波作用。
图1 低通滤波器Bode图
图2 原始信号及滤波后的信号
仿真程序:
%Low Pass Filter
clear all;
close all;
ts=0.001;
Q=tf([ 1],[0.04,1D); %Low Freq Signal Filter
Qz=c2d(Q,ts 'tucsin);
[num,den]=tfdata(Qz,'v);
y_1=0;y_2=o;
yd_1=0;yd_2=0;
for k=1:1:5000
time(k)=k*ts;
%Input Signal with noise
n(k)=0.10*sin(100*2*pi*k*ts); %Noise signal
yd(k)=n(k)+0.50*sin(0.2*2*pi*k*ts); %Input Signal
y(k)=-den(2)*y_1+num(1)*yd(k)+num(2)*yd_1;
y_2y_1;y_I=y(k);yd_2=yd_1;yd_1=yd(k);
end
figure(1);
bode(Q);
figure(2);
subplot(211);
plot(time.yd,'k.linewidth',2);
xlabel('time(s));ylabel('ideal signal,yd');subplot(212);
plot(time,y,'k'.'linewidth’,2);
xlabel('time(s));ylabel('filtered signal,y');