Witam szanownych forumowiczów. Jest to mój pierwszy post na tym Forum.
Mam do Was pytanie i prośbe.
Otóż, przyszło mi wykonać analizę sygnału zarejestrowanego na komputerze. Chcę "wyciągnąć" jedynie częstotliwości składowe przebiegu.
Po lekturze Forum i pomocy Matlaba, stwierdziłem, że nada się do tego celu FFT.
I tutaj mam problem, potrafię już wykonać coś w rodzaju analizy, ale wykres mam bardzo nie teges.
gdzie:
DataX to wektor z wynikami pomiaru
DataXX to samo co wyżej, ale po przeliczeniach na jednostki fizyczne
częstotliwość pomiaru 1 kHz
No i pytanie dotyczy, jak zmodyfikowac ten kod, aby uzyskać częstotliwości składowe.
Nie proszę o gotowe rozwiąznie, wystarczy, że mnie trochę naprowadzicie na nie.
Nie jestem rasowym programistą, przyszło mi jedynie napisać kilka linijek w Matlabie.
Dziękuję z góy za pomoc.
Dodano po 2 [minuty]:
Dobrze, za szybko wysłałem posta.
Pod moim jest przecież dokładny przykład jak to zrobić.
Więc teraz mam to przepisane tak:
Czy teraz jest OK?
Z wykresu widzę, że zaczyna to mieć ręce i nogi.
Niestety, analiza danych pomiarowych pokazuje, że są składowe o częstotliwościach 40 Hz i 360Hz. Druga składowa wydaje mi się podejrzana, nie sądzę, żeby występowały aż takie wysokie składowe.
Mam do Was pytanie i prośbe.
Otóż, przyszło mi wykonać analizę sygnału zarejestrowanego na komputerze. Chcę "wyciągnąć" jedynie częstotliwości składowe przebiegu.
Po lekturze Forum i pomocy Matlaba, stwierdziłem, że nada się do tego celu FFT.
I tutaj mam problem, potrafię już wykonać coś w rodzaju analizy, ale wykres mam bardzo nie teges.
N=length(DataX);
w=fft(DataXX)/N;
w=2*w(1:N/2); % co to jest? połowa długości wektora? a nie częstotliwości pomiaru?
mod=abs(w);
plot(mod);gdzie:
DataX to wektor z wynikami pomiaru
DataXX to samo co wyżej, ale po przeliczeniach na jednostki fizyczne
częstotliwość pomiaru 1 kHz
No i pytanie dotyczy, jak zmodyfikowac ten kod, aby uzyskać częstotliwości składowe.
Nie proszę o gotowe rozwiąznie, wystarczy, że mnie trochę naprowadzicie na nie.
Nie jestem rasowym programistą, przyszło mi jedynie napisać kilka linijek w Matlabie.
Dziękuję z góy za pomoc.
Dodano po 2 [minuty]:
Dobrze, za szybko wysłałem posta.
Pod moim jest przecież dokładny przykład jak to zrobić.
Więc teraz mam to przepisane tak:
tp = 1/128 % rozdzielczość transformaty
t=[0:tp:2-tp]; % ??
N=length(DataY);
freq=0:1:N-1;
mod=abs(fft(DataY)/N);
freq=freq/tp/N;
figure
plot(freq,mod/N*2);Czy teraz jest OK?
Z wykresu widzę, że zaczyna to mieć ręce i nogi.
Niestety, analiza danych pomiarowych pokazuje, że są składowe o częstotliwościach 40 Hz i 360Hz. Druga składowa wydaje mi się podejrzana, nie sądzę, żeby występowały aż takie wysokie składowe.