panek LAB10


Paweł Panek
Mechatronika grupa 23
Identyfikacja i analiza sygnałów
Sprawozdanie nr 10
Metody nieparametryczne w identyfikacji i analizie
Sygnałów
Fs=1000;
t=0:1/Fs:1;
xn=noise.signals.values;
xn=xn';
%xn=sin(2*pi*50*t)+2*sin(2*pi*120*t);
randn(size(t));
Pxx=abs(fft(xn, 1024)).^2/1001;
Pxx_short=abs(fft(xn,256)).^2/256;
subplot(2,1,1)
plot((0:255)/256*Fs,10*log10(Pxx_short),'black')
grid,
title('Periodogram krotkiego sygnalu')
xlabel('Częstotliwosc w Hz'), ylabel('Widmo mocy (dB)');
subplot(2,1,2),
plot((0:1023)/1024*Fs,10*log10(Pxx),'black')
grid,
text(250,45,'Periodogram dluższego sygnalu')
xlabel('Czestotliwosc w Hz'), ylabel('Widmo mocy (dB)');
figure
subplot(1,1,1),
Pxx=(abs(fft(xn(1:256))).^2+...
abs(fft(xn(257:512))).^2+...
abs(fft(xn(513:768))).^2)/(256*3);
plot((0:255)/256*Fs,10*log10(Pxx),'black')
grid,
xlabel('Czestotliwosc w Hz'), ylabel('Widmo mocy (dB)')
title('Usredniony periodogram (fragmenty sygnalu nie nakladaja sie)')
Pxx=(abs(fft(xn(1:256))).^2+...
abs(fft(xn(129:384))).^2+...
abs(fft(xn(257:512))).^2+...
abs(fft(xn(385:640))).^2+...
abs(fft(xn(513:768))).^2+...
abs(fft(xn(641:896))).^2)/(256*6);
figure
plot((0:255)/256*Fs,10*log10(Pxx),'black'),grid,
xlabel('Czestotliwosc w Hz'), ylabel('Widmo mocy (dB)')
title('Usredniony periodogram (probki nakladaja sie)')
%Estymator funkcji przejścia
h=ones(1,10)/10;
yn=filter(h,1,xn);
[Hest,f]=tfe(xn,yn,256,Fs,256,128,'none');
H=freqz(h,1,f,Fs);
%figure
subplot(2,1,1)
plot(f,abs(H),'black')
title('Rzeczywista amplituda funkcji przejscia')
xlabel('Czestotliwosc w Hz')
subplot(2,1,2)
plot(f,abs(Hest),'black')
text(110,1.08,'Estymata amplitudy funkcji przejscia')
xlabel('Czestotliwosc w Hz')
w=hanning(256)';
Pxx=(abs(fft(w.*xn(1:256))).^2)+...
abs(fft(w.*xn(129:384))).^2+...
abs(fft(w.*xn(257:512))).^2+...
abs(fft(w.*xn(385:640))).^2+...
abs(fft(w.*xn(513:768))).^2+...
abs(fft(w.*xn(641:896))).^2/(norm(w)^2*6);
figure
plot((0:255)/256*Fs,10*log10(Pxx),'black')
grid,
xlabel('Czestotliwosc w Hz'), ylabel('Widmo mocy (dB)')
title('Periodogram zmodyfikowany oknem Hanninga')
%Obliczanie funkcji widmowej gęstości mocy
Pxx=psd(xn);
nfft=256;
Fs=1000;
window=hanning(256);
noverlap=128;
dflag='none';
Pxx=psd(xn,nfft,Fs,window,noverlap,dflag);
psd(xn,nfft,Fs,window,noverlap,dflag);
xlabel('Czestotliwosc Hz'),
ylabel('Amplituda widmowa mocy (dB)')
title('Funkcja widmowej gestosci mocy')
[Pxx,f]=psd(xn, Fs, 256, noverlap, dflag);
figure
plot(f,10*log10(Pxx))
%Funkcja koherencji
clf,
cohere(xn,yn,256,Fs,256,128,'none')
title('Funkcja koherencji')
%Obliczenie funkcji wzajemnej gęstości widmowej
p=0.9;
[Pxx,Pxxc,f]=psd(xn,nfft,Fs,window,noverlap,p,dflag);
[Pxy,Pxyc,f]=csd(xn,yn,nfft,Fs,window,noverlap,p,dflag);
figure
plot(f,Pxy)
title('Funkcja wzajemnej gestosci widmowej')
Dla sygnału wymuszenia otrzymujemy:
Dla pierwszego przemieszczenia:
Dla drugiego przemieszczenia:
Dla pierwszej prędkości:
Dla pierwszego przyspieszenia:
Jak widać uzyskaliśmy różnorodne wyniki co świadczy o poprawnym wykonaniu
eksperymentu.
Teraz powtórzymy eksperyment dodając do symulacyjnych danych wyjściowych szum
o amplitudzie 20% sygnału:
Dla pierwszego przyspieszenia z szumem:
Dla pierwszej prędkości z szumem:


Wyszukiwarka