clear all;
clc;
t=linspace(0,3,11520);
num=1;
Fs = 3840; % Sampling frequency
NFFT=3840; % Sample time
L=11520;
f=60;
data=zeros(100,16);
%==========================Normal============================================
A1=linspace(0.98,1.01,100);
for c=1:100
y=A1(c)*sin(2*pi*f*t);
xdft = fft(y,3840)/11520; % Fourier
[v1,f1] = max(abs(xdft));
[v2,f2]=max(abs(xdft(:,find(xdft(1:NFFT/2)~=max(xdft(1:NFFT/2))))));
if((f2==58)|(f2==59)|(f2==60)|(f2==61)|(f2==62))
f2=0;
end
[cA,cD] = dwt(y,'db4');
% 13 level energy distribution
[C, L] = wavedec(y, 13, 'db4');
for level=1:13
[C, L] = wavedec(y,level, 'db4');
P{level} = wrcoef('d',C,L,'db4',level);
E(c,level)=((sum(P{level}.^2))/length(P{level}))^(1/2);
data(c,level)=E(c,level);
end
Amp=A1(c);
data(c,14)=Amp;
data(c,15)=f2;
data(c,16)=1;
end
%% show the waveform
figure(1)
bar(E(1,:))
title('Energy distribution');
figure(2)
plot(t,y);
title('waveform');
figure(3)
subplot(2,1,1);
plot(cD);
subplot(2,1,2);
plot(cA);
figure(4);
f = Fs/2*linspace(0,1,NFFT/2+1);
plot(f,2*abs(xdft(1:NFFT/2+1)))
axis([0 200,0 100]);
评论0