1、数据滤波问题: 我们实际获得的各种实验数据或信号中总是存在各种各样的噪声. 对测量数据或信号进行处理的过程称为滤波. 滤波分为: 1. 频域滤波 2. 时域滤波 数据平滑是时域滤波的一种. 某物理量y是时间t的函数: 对其进行采样: 一般是等时间间隔: yi 随时间在变,故称为y的时域特征, yi 的傅立叶变换称为y的频域特征. 由时域特征考虑的滤波处理叫时域滤波,由频域特征考虑的滤波处理叫频域滤波.( )yy t( )iiyy t()iyy iT生成有两个频率的信号 t=0:0.1:100; y1=sin(2*pi*t)+2*sin(6*pi*t); f1=fft(y1); w=(1:len
2、gth(t)/length(t); plot(2*w,abs(f1)00.20.40.60.811.21.41.61.820100200300400500600700800900设计频域滤波器 h,err,res=remez(40,0 0.4 0.48 1,1 1 0 0); plot(res.fgrid,abs(res.H)00.10.20.30.40.50.60.70.80.9100.20.40.60.811.21.4滤波: y2=filter(h,1,y1); f2=fft(y2); plot(2*w,abs(f2)00.20.40.60.811.21.41.61.82010020030
3、0400500600700800900图形处理:中值滤波. I=imread(eight.tif); J=imnoise(I,salt,0.02); imshow(J) K=medfilt2(J); imshow(K)6.1 实验数据的移动平均6.1.1 单纯移动平均采集的N个数据:对yi前后对称取2n+1个数据,求其平均值:用它取代yi.n=1:yi=100,152,198,249,318,349,403,452,497,550 yi=150,200,255,305,357,401,451,50012,.,.,iNy yyy121nii kknyyn1,2,.,innNn1234567891
4、01001502002503003504004505005506.1.2 加权移动平均令: 其中:用最二乘法求系数:即:从而求得 yi 01.mi tmyAAtA t , (1),.,1,tnnnn 01,.,mA AA2min()ni ti ttnyy 6.2 线形加权移动平滑令:最小二乘准则:三点线形平滑(n=1):矩阵形式:01i tyAAt201min()ni ttnAAty12011min()i ttAAty令:矩阵形式:解:得到:111011T01AAA11iiiyyyYmin() ()min() ()TTY -YY -YTA-YTA-Y1()TTAT TT Y11iiiyyyYT
5、A1()TT YT T TT Y T=ones(1,3);-1:1T = 1 -1 1 0 1 1 T*inv(T*T)*Tans = 5/6 1/3 -1/6 1/3 1/3 1/3 -1/6 1/3 5/6 即:对整个数据:11111111(52)/6()/3(25)/6iiiiiiiiiiiiyyyyyyyyyyyy 11231121(52)/6()/3(2,3,.,1)(25)/6iiiiNNNNyyyyyyyyiNyyyy 五点线形平滑(n=2) T=ones(1,5);-2:2 T*inv(T*T)*Tans = 3/5 2/5 1/5 0 -1/5 2/5 3/10 1/5 1/
6、10 0 1/5 1/5 1/5 1/5 1/5 0 1/10 1/5 3/10 2/5 -1/5 0 1/5 2/5 3/5 七点线形平滑(n=3) T=ones(1,7);-3:3 T*inv(T*T)*Tans = 13/28 5/14 1/4 1/7 1/28 -1/14 -5/28 5/14 2/7 3/14 1/7 1/14 0 -1/14 1/4 3/14 5/28 1/7 3/28 1/14 1/28 1/7 1/7 1/7 1/7 1/7 1/7 1/7 1/28 1/14 3/28 1/7 5/28 3/14 1/4 -1/14 0 1/14 1/7 3/14 2/7 5/
7、14 -5/28 -1/14 1/28 1/7 1/4 5/14 13/28 6.3 二次加权移动平均令:最小二乘准则:五点二次平滑(n=2)2012i tyAAtA t 22012min()ni ttnAAtA ty2220122min()i ttAAtA ty令:矩阵形式:解:得到:124111100111124T012AAAA2112iiiiiyyyyyYTA2112iiiiiyyyyyYmin() ()min() ()TTY -YY -YTA-YTA-Y1()TTAT TT Y1()TT YT T TT Y T=ones(1,5);-2:2;(-2:2).2T = 1 -2 4 1 -
8、1 1 1 0 0 1 1 1 1 2 4 T*inv(T*T)*Tans = 31/35 9/35 -3/35 -1/7 3/35 9/35 13/35 12/35 6/35 -1/7 -3/35 12/35 17/35 12/35 -3/35 -1/7 6/35 12/35 13/35 9/35 3/35 -1/7 -3/35 9/35 31/35 七点二次平滑(n=3) T=ones(1,7);-3:3;(-3:3).2; T*inv(T*T)*Tans = 16/21 5/14 1/14 -2/21 -1/7 -1/14 5/42 5/14 2/7 3/14 1/7 1/14 0 -1
9、/14 1/14 3/14 2/7 2/7 3/14 1/14 -1/7 -2/21 1/7 2/7 1/3 2/7 1/7 -2/21 -1/7 1/14 3/14 2/7 2/7 3/14 1/14 -1/14 0 1/14 1/7 3/14 2/7 5/14 5/42 -1/14 -1/7 -2/21 1/14 5/14 16/21 6.4 三次加权移动平滑令:矩阵形式:五点:230123i tyAAtA tAt min() ()TTA-YTA-Y12481111100011111248T T=ones(1,5);-2:2;(-2:2).2;(-2:2).3; T*inv(T*T)*Ta
10、ns = 69/70 2/35 -3/35 2/35 -1/70 2/35 27/35 12/35 -8/35 2/35 -3/35 12/35 17/35 12/35 -3/35 2/35 -8/35 12/35 27/35 2/35 -1/70 2/35 -3/35 2/35 69/70七点: T=ones(1,7);-3:3;(-3:3).2;(-3:3).3; T*inv(T*T)*Tans = 13/14 4/21 -2/21 -2/21 1/42 2/21 -1/21 4/21 19/42 8/21 1/7 -2/21 -1/6 2/21 -2/21 8/21 19/42 2/7
11、1/21 -2/21 1/42 -2/21 1/7 2/7 1/3 2/7 1/7 -2/21 1/42 -2/21 1/21 2/7 19/42 8/21 -2/21 2/21 -1/6 -2/21 1/7 8/21 19/42 4/21 -1/21 2/21 1/42 -2/21 -2/21 4/21 13/14 repmat(), 由向量生成矩阵. x=1 2 3; repmat(x,2,1)ans = 1 2 3 1 2 3cumprod(), 生成连积矩阵. A=1 2 3;4 5 6A = 1 2 3 4 5 6 cumprod(A)ans = 1 2 3 4 10 18 cump
12、rod(A,2)ans = 1 2 6 4 20 120function y = ph(x,n,m)% 数据平滑,2n+1点,m次平滑if 2*n+1 t=0:0.1:10; x=sin(t)+0.1*(2*rand(1,length(t)-1); plot(x)020406080100120-1.5-1-0.500.511.5 y=ph(x,1,1); plot(y)020406080100120-1.5-1-0.500.511.5 y=ph(x,2,1); plot(y)020406080100120-1.5-1-0.500.511.5 y=ph(x,2,2); plot(y)020406080100120-1.5-1-0.500.511.5