Zaloguj się
Blog na Matlablog
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Jak zrobić poprawną charakterystykę częstotliwościową?
Forum MATLAB Strona Główna-> Przetwarzanie sygnałów
Post Wysłany: 21 Marca 2007, Sro 3:45 pm Temat postu: Jak zrobić poprawną charakterystykę częstotliwościową? Odpowiedz z cytatem
 
AUTOR:
fru



Dołączył: 20 Sty 2007
Posty: 3
Skąd: Kraków


Ogląda profil użytkownika Wyślij prywatną wiadomość
Drodzy Forumowicze

Dla większości z Was mój problem okaże się prawdopodobnie banalny, ale niestety nie mogę sobie z nim poradzić.

Posiadam wektor, który zawiera 2500 próbek (nie wiem czy to ma jakies znaczenie, ale jest to po prostu amplituda czasowej odpowiedzi "impulsowej" transformatora).Próbki są ""rozciągniete w czasie następujaco: -4.9e-6:0.01e-6: 2.009e-5 , a maksymalna wartość amplitudy wynosi ok 600. Chciałbym otrzymać ch-kę częstotliwościową tej odpowiedzi.Wobec tego robię transformatę Fouriera w następujący sposób

syg=fft(a); %a to mój wektor próbek
plot((0:1:2499)/(0.01e-6)/2500,(abs(syg))*2/2500)

mój problem polega na tym, że nie wiem co jest źle w ostatniej linijce, gdyż amplituda jest o jeden rząd wielkości mniejsza niż amplituda próbek "a", częstotliwośc także nie jest wyskalowana. Interesuje mnie częstotliwość do 1 MHz.

Jest to dla mnie bardzo ważne. Za wszelka pomoc bardzo dziękuję.


 

Post Wysłany: 22 Marca 2007, Czw 5:07 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Vieniava
Może pisać książki


Dołączył: 13 Cze 2006
Posty: 445
Skąd: Warszawa


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
1. na wstępie należy znaleźć częstotliwość próbkowania Fs
jak widzę w twoim wektorze czasu kolejne chwile są całkowitymi wielokrotnościami 0.01e-6 czyli 10^(-8) s (jak mniemam sekundy) jesli tak
to Fs będzie odwrotnością powyższego "kwantu" czyli
Fs=10^8 Hz (czyli 100 MHz)

2. wybór wielkosci transformaty FFT
wektor czasowy zawiera 2500 probek to (z wlasnosci FFT) mozesz uzyc transformaty:
a) 2048- albo
b) 4096- -punktowej

W przypadku a) stracisz troszke na dokladnosci bowiem te 2500-2048=452 próbki pójdzie się @#$^@#$%@#$ (zostanie obcięte przez algorytm fft)

W przypadku b) do twojego wektora (2500 elementow) zostanie dopisane 4096-2500=1596 zer. Zyskasz na dokladnosci (rozdzielczosci w dziedzinie cz-ci) - algorytm fft zadziala "interpolacyjnie ". Lekko stracisz na szybkosci obliczen (ale to w dzisiejszej dobie jest pomijalne).

Polecam przypadek b) !!!!!!!!!!!! czyli
Kod:
N=4096;



3. Podsumujmy:
Kod:
Fs=10^8;             %w Hz
osczasu
=[0:2500]/Fs;     %maloistotne
N
=4096;                        %rozmiar transformaty
df
=Fs/N;                        %rozdzielczość transformaty w Hz


gdzie df - rozdzielczość transformaty
to ważny parametr (pisałem o tym w moich poprzednich postach na forum) - dzieki niemu wyskalujesz sobie widmo

teraz czas na widmo:
Kod:
W=abs( fft(x, N) );

gdzie x - to twoj wektor odpowiedzi impulsowej transformatora
zauważ że narzucone została liczba N
ponieważ widmo sygnalu rzeczywistego jest symetryczne (zawiera 2x wiecej informacji niz potrzeba :) wystarczy wziac pierwsze N/2 probek, czyli
Kod:
 WW=W(0: (N/2-1) );

już jesteśmy blisko...

4. Wspominales cos o amplitudach prążków że są za małe... tym się nie przejmuj w ch-ce częstotliwościej chodzi głównie o względne zależności między poszczególnymi komponentami częstotliwościowym... ba nawet skaluje się do największej (normowanie do 1 ewentualnie 0dB).
Ale jesli sie upierasz to mozesz sobie przeskalowac widmo:
Kod:
 WWW=W/(N/2)

... powinno być dobrze

5. Finisz
Kod:
osf=[ 0: (N/2)-1 ]*df; % os czestotliwosci w Hz
plot
(osf, WWW)                    %ch-ka czestotlwosciowa transforamtora

ewentualnie w mierze decybelowej:
Kod:
 plot(osf, 20*log10(WWW))


Ufffffffffffff
 

Post Wysłany: 25 Marca 2007, Nie 6:00 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
fru



Dołączył: 20 Sty 2007
Posty: 3
Skąd: Kraków


Ogląda profil użytkownika Wyślij prywatną wiadomość
Bardzo dziękuje za tak wyczerpującą odpowiedz. O to właśnie mi chodziło.
Mam jeszcze jedno pytanie. Czy ch-kę fazową trzeba wyskalować w ten sam sposób?

Z tą charakterystyką fazową to chyba jednak nie taka prosta sprawa. Tu juz chyba nie da sie pomnożyc wartości kątów przez 2/N. Będe wdzięczny za wszelką pomoc.


 

Post Wysłany: 27 Marca 2007, Wto 7:15 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Vieniava
Może pisać książki


Dołączył: 13 Cze 2006
Posty: 445
Skąd: Warszawa


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
faza jest w radianach i na moje oko juz nie trzeba dalej z nia nic robic
 

Post Wysłany: 27 Marca 2007, Wto 7:46 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
fru



Dołączył: 20 Sty 2007
Posty: 3
Skąd: Kraków


Ogląda profil użytkownika Wyślij prywatną wiadomość
Jeszcze jedno. Tym razem chodzi o teorię. Czy charakterystyka amplitudowa/fazowa sygnału wyjściowego będącego odpowiedzią na pewne wymuszenie może być nazywana charakterystyka obiektu(w moim przypadku transformatora)? Czy też należy obliczyć transmitancję transformatora(przez podzielenie fft(wyjscia) przez fft(wejścia)) i dopiero z tak otrzymanego ilorazu wyznaczać charakterystyki?


 

Post Wysłany: 27 Marca 2007, Wto 8:02 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Vieniava
Może pisać książki


Dołączył: 13 Cze 2006
Posty: 445
Skąd: Warszawa


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
Charakterystyka częstotliwościowa (amplitudowa badz fazowa) pewnego elementu = widmo (amplitudowe badz fazowe) odpowiedzi tego elementu na impuls jednostkowy (odpowiedz impulsowa)

charakterystyka czestotlwiosciowa amplitudowa = moduł transmitancji
charakterystyka czestotliwosciowa fazowa = argument transmitancji
 

Forum MATLAB Strona Główna-> Przetwarzanie sygnałów
Wyświetl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 39987143
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
18 stka brata...  (16 Grudnia 2017, Sob 11:00 pm)
w jakim wieku braliście ślub?  (16 Grudnia 2017, Sob 11:00 pm)
Ulubiony napĂłj  (16 Grudnia 2017, Sob 10:59 pm)
Dobry krem na zimę  (16 Grudnia 2017, Sob 10:58 pm)
Gdzie jechać na wakacje?  (16 Grudnia 2017, Sob 10:51 pm)
Prezent dla koleĹźanki  (16 Grudnia 2017, Sob 10:50 pm)
Co kupić cioci na 50stkę?  (16 Grudnia 2017, Sob 10:50 pm)
Once Upon a Time (Dawno, Dawno Temu) S07E10 online napisy PL  (15 Grudnia 2017, Pią 12:07 am)
Blindspot: Mapa zbrodni S03E07 online PL napisy 3x07 CDA  (15 Grudnia 2017, Pią 12:05 am)
Agenci T.A.R.C.Z.Y. S05E04 online PL napisy 5x04 CDA Zalukaj  (15 Grudnia 2017, Pią 12:03 am)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum