www.gusucode.com > MATLAB——小波变换源码程序 > MATLAB——小波变换源码程序/daub14Transform/daub14Transform.m
% it shows the plot of input signal as well as the transformed parts of the % signal i.e. first trend and first fluctuation function daub14Transform(f) clc % Sample Signal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% t=0:0.0001:1; f=20*(t.^2).*(1-t).^4.*cos(12*t.*pi); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% a1=0.11009943/sqrt(2); a2=0.56079128/sqrt(2); a3=1.03114849/sqrt(2); a4=0.66437248/sqrt(2); a5=-0.20351382/sqrt(2); a6=-0.31683501/sqrt(2); a7=0.1008467/sqrt(2); a8=0.11400345/sqrt(2); a9=-0.05378245/sqrt(2); a10=-0.02343994/sqrt(2); a11=0.01774979/sqrt(2); a12=6.07514995e-4/sqrt(2); a13=-2.54790472e-3/sqrt(2); a14=5.00226853e-4/sqrt(2); b1=a14; b2=-a13; b3=a12; b4=-a11; b5=a10; b6=-a9; b7=a8; b8=-a7; b9=a6; b10=-a5; b11=a4; b12=-a3; b13=a2; b14=-a1; fv1=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14]; %scaling function fw1=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14]; %wavelet function % making the input even in length %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if mod(length(f),2)~=0 f=[f 0]; end %wavelet transform %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Aa=[]; Da=[]; n=length(f); for i=1:n/2-6; a18 = a1*f(2*i-1) + a2*f(2*i) + a3*f(2*i+1) + a4*f(2*i+2) + a5*f(2*i+3) + a6*f(2*i+4) + a7*f(2*i+5) + a8*f(2*i+6) + a9*f(2*i+7) + a10*f(2*i+8) + a11*f(2*i+9) + a12*f(2*i+10) + a13*f(2*i+11) + a14*f(2*i+12); Aa=[Aa a18]; d18 = b1*f(2*i-1) + b2*f(2*i) + b3*f(2*i+1) + b4*f(2*i+2) + b5*f(2*i+3) + b6*f(2*i+4) + b7*f(2*i+5) + b8*f(2*i+6) + b9*f(2*i+7) + b10*f(2*i+8) + b11*f(2*i+9) + b12*f(2*i+10) + b13*f(2*i+11) + b14*f(2*i+12); Da=[Da d18]; end n4=n/2-5; a15=a13*f(1) + a14*f(2) + a1*f(2*n4-1) + a2*f(2*n4) + a3*f(2*n4+1) + a4*f(2*n4+2) + a5*f(2*n4+3) + a6*f(2*n4+4) + a7*f(2*n4+5) + a8*f(2*n4+6) + a9*f(2*n4+7) + a10*f(2*n4+8) + a11*f(2*n4+9) + a12*f(2*n4+10); d15=b13*f(1) + b14*f(2) + b1*f(2*n4-1) + b2*f(2*n4) + b3*f(2*n4+1) + b4*f(2*n4+2) + b5*f(2*n4+3) + b6*f(2*n4+4) + b7*f(2*n4+5) + b8*f(2*n4+6) + b9*f(2*n4+7) + b10*f(2*n4+8) + b11*f(2*n4+9) + b12*f(2*n4+10); n3=n/2-4; a19=a11*f(1) + a12*f(2) + a13*f(3) + a14*f(4) + a1*f(2*n3-1) + a2*f(2*n3) + a3*f(2*n3+1) + a4*f(2*n3+2) + a5*f(2*n3+3) + a6*f(2*n3+4) + a7*f(2*n3+5) + a8*f(2*n3+6) + a9*f(2*n3+7) + a10*f(2*n3+8); d19=b11*f(1) + b12*f(2) + a13*f(3) + a14*f(4) + b1*f(2*n3-1) + b2*f(2*n3) + b3*f(2*n3+1) + b4*f(2*n3+2) + b5*f(2*n3+3) + b6*f(2*n3+4) + b7*f(2*n3+5) + b8*f(2*n3+6) + b9*f(2*n3+7) + b10*f(2*n3+8); n1=n/2-3; a20=a9*f(1) + a10*f(2) + a11*f(3) + a12*f(4) + a13*f(5) + a14*f(6) + a1*f(2*n1-1) + a2*f(2*n1) + a3*f(2*n1+1) + a4*f(2*n1+2) + a5*f(2*n1+3) + a6*f(2*n1+4) + a7*f(2*n1+5) + a8*f(2*n1+6); d20=b9*f(1) + b10*f(2) + a11*f(3) + a12*f(4) + a13*f(5) + a14*f(6) + b1*f(2*n1-1) + b2*f(2*n1) + b3*f(2*n1+1) + b4*f(2*n1+2) + b5*f(2*n1+3) + b6*f(2*n1+4) + b7*f(2*n1+5) + b8*f(2*n1+6); n2=n/2-2; a21 =a7*f(1) + a8*f(2) + a9*f(3) + a10*f(4) + a11*f(5) + a12*f(6) + a13*f(7) + a14*f(8) + a1*f(2*n2-1) + a2*f(2*n2) + a3*f(2*n2+1) + a4*f(2*n2+2) + a5*f(2*n2+3) + a6*f(2*n2+4); d21 =b7*f(1) + b8*f(2) + b9*f(3) + b10*f(5) + b11*f(5) + b12*f(6) + b13*f(7) + b14*f(8) + b1*f(2*n2-1) + b2*f(2*n2) + b3*f(2*n2+1) + b4*f(2*n2+2) + b5*f(2*n2+3) + b6*f(2*n2+4); n5=n/2-1; a22=a5*f(1) + a6*f(2) + a7*f(3) + a8*f(4) + a9*f(5) + a10*f(6) + a11*f(7) + a12*f(8) + a13*f(9) + a14*f(10) + a1*f(2*n5-1) + a2*f(2*n5) + a3*f(2*n5+1) + a4*f(2*n5+2); d22=b5*f(1) + b6*f(2) + b7*f(3) + b8*f(4) + b9*f(5) + b10*f(6) + b11*f(7) + b12*f(8) + b13*f(9) + b14*f(10) + b1*f(2*n5-1) + b2*f(2*n5) + b3*f(2*n5+1) + b4*f(2*n5+2); n6=n/2; a23=a3*f(1) + a4*f(2) + a5*f(3) + a6*f(4) + a7*f(5) + a8*f(6) + a9*f(7) + a10*f(8) + a11*f(9) + a12*f(10) + a13*f(11) + a14*f(12) + a1*f(2*n6-1) + a2*f(2*n6); d23=b3*f(1) + b4*f(2) + b5*f(3) + b6*f(4) + b7*f(5) + b8*f(6) + b9*f(7) + b10*f(8) + b11*f(9) + b12*f(10) + b13*f(11) + b14*f(12) + b1*f(2*n6-1) + b2*f(2*n6); A1=[Aa a15 a19 a20 a21 a22 a23]; D1=[Da d15 d19 d20 d21 d22 d23]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %plots figure(1) subplot(3,2,[1 2]) plot(f) title('Original Signal') %plot of the original signal ylabel('Amplitude') xlabel('Time') axis tight subplot(3,2,3) plot(A1) title('First Trend') %plot of first trend after haar wavelet transform ylabel('Amplitude') xlabel('Time') axis tight subplot(3,2,4) plot(D1) title('First Fluctuation') %plot of first fluctuation after haar wavelet transform ylabel('Amplitude') xlabel('Time') axis tight subplot(3,2,[5 6]) plot([A1 D1]) title('Transformed Signal') %plot of the final signal obtained after the transformation xlabel('Amplitude') ylabel('Time') axis tight end