Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Analiza FFT sygnału odkształconego

Tomasz_22_t1 19 Paź 2016 20:19 4806 4
  • #1 19 Paź 2016 20:19
    Tomasz_22_t1
    Poziom 5  

    Witam,

    Posiadam kod do matlaba który dokonuje analizy FFT sygnały odkształconego :x(t)=50+100cos(100t)+80cos(300t+)+30cos(500t)+70cos(860t+ /2)

    Moje pytanie brzmi co robią poszczególne linijki programu obok których postawiłem znak zapytania.

    Nie wiem czy dobrze rozumiem działanie programu, ale napisałem obok co poszczególne linijki oznaczają według mnie.

    okno=0.1;
    fs=1000; częstotliwość próbkowania
    dt=1/fs; krok próbkowania
    nf = okno/dt; liczba próbek
    t=0:dt:okno; czas z krokiem próbkowania
    %sygnał
    x = 50+100*cos(2*pi*50*t)+80*cos(2*pi*150*t+pi)+...
    30*cos(2*pi*250*t)+70*cos(2*pi*430*t+pi/2);
    y = fft(x,nf); analiza fft
    py = sqrt(y.*conj(y))/nf; ?
    nf2 = nf/2;
    f = (0:nf2)*fs/nf; ?
    py(2:nf2) = 2*py(2:nf2); ?
    py(nf2+2:nf) = []; ?
    figure(1)
    subplot(211);
    plot(t, x);
    subplot(212);
    bar(f, py);
    grid; xlabel('f');
    ylabel('amplituda');

    Z góry dziękuję za cenne wskazówki lub odpowiedzi.

  • #3 19 Paź 2016 23:00
    Tomasz_22_t1
    Poziom 5  

    Nie rozumiem, mógłbyś to na wzorach napisać, bo ja znalazłem wzór na widmo amplitudowe py=abs(y). I co to znaczy "dodatkowo normalizacja /nf" ?

  • #4 20 Paź 2016 22:07
    michcior
    Poziom 29  

    Podstawowa sprawa, to liczby zespolone. Nie wiem na jakim etapie jesteś z matematyką, nie ma sensu tłumaczenie liczb zespolonych. Można to prościej zrozumieć: Widmo jest zawsze zespolone, to jest definicja przekształcenia Fouriera. Zespolone, czyli sinusy określone przez amplitudę, częstotliwość i kąt (no tak, w sumie liczba zespolona do tego służy). Nas interesuje tylko amplituda, którą w przypadku liczby zespolonej można obliczyć jak przekątną w prostokącie - tw. Pitagorasa.
    Normalizacja, - nie pamiętam już zawiłości FFT i obliczeń motylkowych ale chyba sobie przypominam, że był z tym problem. To znaczy w wyniku obliczeń FFT amplituda rosła ponad miarę i trzeb było ją normalizować. I to zależało od rzędu FFT.

  • #5 21 Paź 2016 00:42
    _jta_
    Specjalista elektronik

    Mam wrażenie, że przy transformacji w którąś stronę trzeba dzielić przez ilość punktów (w którą, to kwestia konwencji) - pytanie, czy procedura biblioteczna robi to automatycznie, czy nie. Bez tego, jak wyliczy się transformatę Fouriera z wzoru F(x)=suma(f(k)*exp(i*k*x/n),k=0..n-1), to suma F(x)F*(x) wyjdzie n razy większa od sumy f(k)f*(k) - czyli, żeby zachować normalizację, wypadałoby dzielić przez √n. Tutaj f(k) to wartości przed transformacją, F(x) - po transformacji, k i x numerują punkty (funkcje f i F są określone na zbiorze n punktów), f*(k) i F*(x) to sprzężenia zespolone f(k) i F(x).

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME