eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › FFT na układzie FPGA
Ilość wypowiedzi w tym wątku: 5

  • 1. Data: 2010-10-25 14:17:23
    Temat: FFT na układzie FPGA
    Od: pbartosz <b...@g...com>

    Próbuję zrozumieć istotę działania transformaty Fouriera w oparciu o
    stronę
    http://vitecvitec.webpark.pl/simple_fft/simple_fft.h
    tm
    i mam kilka wątpliwości.
    Proszę szanownych kolegów o wyjaśnienie.

    1. Zakładamy, że każdą funkcję sygnału s(t) można przedstawić jako
    nieskończoną sumę funkcji sinus o różnych(!) częstotliwościach,
    określonych fazach i amplitudach?
    (Przykładowo funkcję powstałą jako suma funkcji sinus o takich samych
    częstotliwościach, ale różnych amplitudach i fazach także można
    rozłożyć w powyższy sposób.)

    2. W transformacie Fouriera bierzemy tylko N z tego nieskończonego
    zbioru funkcji sinus o różnych częstotliwościach, więc suma wybranych
    N funkcji nie jest dokładnie funkcją s(t), ale przybliża ją.

    3. Jak mam czytać drugi wykres na stronie
    http://dict.comm.pl/wst_g/Transformacja%20Fouriera.d
    oc ,
    skoro transformata Fouriera zwraca zbiór N liczb zespolonych (moduł i
    przesunięcie fazowe)? Czy oś pionowa oznacza moduł (amplitudę) dla
    funkcji sinus o częstotliwościach na osi poziomej?

    4. Dostałem do zaimplementowania algorytm FFT na płytce Altery z
    układem FPGA.
    Rozumiem, że mam wprowadzać i wyprowadzać dane np. przez złącze USB
    obecne na płytce.


  • 2. Data: 2010-10-25 15:00:10
    Temat: Re: FFT na układzie FPGA
    Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>

    On 10/25/2010 10:17 AM, pbartosz wrote:

    > 1. Zakładamy, że każdą funkcję sygnału s(t) można przedstawić jako
    > nieskończoną sumę funkcji sinus o różnych(!) częstotliwościach,
    > określonych fazach i amplitudach?

    To zależy od przebiegu. Jeśli przebieg jest okresowy, tych różnych
    częstotliwości będzie skończona liczba. Dla przebiegów nieokresowych i
    ciągłych (jak np. jeden impuls), widmo częstotliwościowe będzie ciągłe i
    nieskończone.

    > (Przykładowo funkcję powstałą jako suma funkcji sinus o takich samych
    > częstotliwościach, ale różnych amplitudach i fazach także można
    > rozłożyć w powyższy sposób.)

    Suma przebiegów sinusoidalnych o tej samej częstotliwości a różnych
    fazach i amplitudach będzie w dalszym ciągu przebiegiem sinusoidalnym o
    częstotliwości takiej samej jak przebiegi składowe.


    > 2. W transformacie Fouriera bierzemy tylko N z tego nieskończonego
    > zbioru funkcji sinus o różnych częstotliwościach, więc suma wybranych
    > N funkcji nie jest dokładnie funkcją s(t), ale przybliża ją.

    Tak się robi zakładając okresową i dyskretną postać przetwarzanego
    przebiegu. Okresowość w dziedzinie czasu po transformacie Fouriera
    przekłada się na okresowość w dziedzinie częstotliwości, dyskretyzacja w
    dziedzinie czasu przekłada się na dyskretyzacje w dziedzinie częstotliwości.
    Jeśli transformacie poddamy wycinek przebiegu nieokresowego, którego nie
    da się gładko "zapętlić" w dziedzinie czasu, dyskretny i skończony
    fourier nie da dokładnego odwzorowania. Po policzeniu DFT z takiego
    przebiegu mogą się pojawić w widmie "prążki" na częstotliwościach,
    których nie ma w oryginalnym przebiegu. Po policzeniu IDFT z takiego DFT
    otrzymamy przebieg, który będzie w pewnym stopniu aproksymować przebieg
    wejściowy, ale będzie miał właściwości okresowe.
    Aby się pozbyć takich niespodzianek nieokresowy przebieg wejściowy mnoży
    się przez funkcje "okna", wygładzające miejsce zapętlenia.
    Najprostsza taką funkcją jest funkcja prostokątna, która jest niczym
    innym jak pobraniem "wycinka" ograniczonego brzegami okna i dodaniem
    założenia o okresowości tego, co się w nim mieści.
    Takich funkcji jest więcej, żadna nie pozwala na dokładne odwzorowanie
    nieokresowego przebiegu wejściowego, ale każda ma określone właściwości,
    które są użyteczne w pewnych zastosowaniach.


    > 3. Jak mam czytać drugi wykres na stronie
    > http://dict.comm.pl/wst_g/Transformacja%20Fouriera.d
    oc ,
    > skoro transformata Fouriera zwraca zbiór N liczb zespolonych (moduł i
    > przesunięcie fazowe)? Czy oś pionowa oznacza moduł (amplitudę) dla
    > funkcji sinus o częstotliwościach na osi poziomej?

    Zamiast rysunków widzę czarne kwadraty :/


    > 4. Dostałem do zaimplementowania algorytm FFT na płytce Altery z
    > układem FPGA.
    > Rozumiem, że mam wprowadzać i wyprowadzać dane np. przez złącze USB
    > obecne na płytce.

    Zapytaj wykładowcy. Ale tak pewnie będzie najwygodniej.

    pzdr.
    j.


  • 3. Data: 2010-10-25 15:08:44
    Temat: Re: FFT na układzie FPGA
    Od: J.F. <j...@p...onet.pl>

    On Mon, 25 Oct 2010 07:17:23 -0700 (PDT), pbartosz wrote:
    >Próbuję zrozumieć istotę działania transformaty Fouriera w oparciu o
    >http://vitecvitec.webpark.pl/simple_fft/simple_fft.
    htm
    >i mam kilka wątpliwości.
    >Proszę szanownych kolegów o wyjaśnienie.
    >
    >1. Zakładamy, że każdą funkcję sygnału s(t) można przedstawić jako
    >nieskończoną sumę funkcji sinus o różnych(!) częstotliwościach,
    >określonych fazach i amplitudach?

    Sa trzy transformaty Fouriera:

    1) calkowa - gdzie prawie dowolna funkcje s(t) mozemy przedstawic jako
    calke sin/cos o roznych czestotliwosciach. Czyli nie tylko
    nieskonczone czestotliwosci, ale i nieskonczenie gesto.
    A i to z zastrzezeniami co do zbieznosci.

    2) "zwykla", gdzie prawie dowolna funkcje OKRESOWA s(t) mozemy
    przedstawic jako SUME sinusoid o roznych czestotliwosciach, bedacych
    wielokrotnosciami okresu. Suma w ogolnosci nieskonczona.

    >2. W transformacie Fouriera bierzemy tylko N z tego nieskończonego
    >zbioru funkcji sinus o różnych częstotliwościach, więc suma wybranych
    >N funkcji nie jest dokładnie funkcją s(t), ale przybliża ją.

    moze byc dokladna, o ile funkcja s(t) spelnia dodatkowe warunki .. tzn
    nie zawiera wyzszych skladowych czestotliwosciowych :-)

    Jak jeszcze do obliczen uzyjemy probek funkcji s(t), to to jest
    odmiana trzecia - Dyskretna transformata Fouriera (DFT).

    A FFT to szybki algorytm obliczania DFT.

    >3. Jak mam czytać drugi wykres na stronie
    >http://dict.comm.pl/wst_g/Transformacja%20Fouriera.
    doc ,
    >skoro transformata Fouriera zwraca zbiór N liczb zespolonych (moduł i
    >przesunięcie fazowe)? Czy oś pionowa oznacza moduł (amplitudę) dla
    >funkcji sinus o częstotliwościach na osi poziomej?

    Nie widze wykresu, ale pewnie tak.

    Zamiast sinusoid o roznej fazie uzywa sie czesto sinusa plus cosinusa,
    z ktorych mozna zlozyc dowolnie przesunieta sinusoide.
    A zamiast sin i cos uzywa sie e^(i*n*w*t) - ktory jest rowny
    cos(n*w*t)+i*sin(n*w*t).
    Dobierajac odpowiednio amplitudy e^(i*n*w*t) i e^(i*-n*w*t)
    mozna otrzymac tez rzeczywiste sinusoidy.


    >4. Dostałem do zaimplementowania algorytm FFT na płytce Altery z
    >układem FPGA.
    >Rozumiem, że mam wprowadzać i wyprowadzać dane np. przez złącze USB
    >obecne na płytce.

    Co masz rozumiec to musisz uzgodnic z zadajacym :-)


    J.




  • 4. Data: 2010-11-10 13:04:34
    Temat: Re: FFT na układzie FPGA
    Od: pbartosz <b...@g...com>

    Dziękuję za wyczerpujące odpowiedzi.
    Mam jeszcze problem ze zrozumieniem istoty szybkości algorytmu FFT.
    Moje wątpliwości opisałem tutaj:
    http://matematyka.pl/219308.htm

    Proszę o wytłumaczenie, najlepiej w odniesieniu do przykładu dla n=8.


  • 5. Data: 2010-11-10 22:44:46
    Temat: Re: FFT na uk&#179;adzie FPGA
    Od: "MH" <l...@o...pl>

    [ciach]

    Myślę , że fajnie wyjaśnił Ci to J.F. I znów moje "3 grosze".. Jeżeli używasz
    core'a Altery , bądź Xilinxa , to zwróć uwagę na fakt (napisano WYRAŹNIE w
    dokumentacji) , iż nie jest to tak do końca FFT w czasie rzeczywistym. Jeżeli
    robisz "n-punktową" FFT , to najpierw musisz "zassać" te n-próbek , następnie po
    iluś tam cyknięciach zegarka (szczegóły doczytaj w dokumentacji) , obliczenia są
    gotowe i "wypluwane" na kolejnych cyknięciach zegarka. Nie jest to więc
    rozwiązanie działające tak naprawdę w czasie rzeczywistym. Czy da się to zrobić
    w czasie rzeczywistym ?? Tak , ale zapomnij o darmowych core'ach , wtedy
    faktycznie cały model matematyczny musisz wydziargać po swojemu , a co za tym
    idzie musisz zrozumieć ten bajzel od A-Z. Jeżeli dokonujesz analizy fali ciągłej
    , śmiało demodulację możesz robić na darmowych core'ach. Jeżeli chodzi Ci o
    impulsowy Doppler (Radar pogodowo-wietrzny/ultrasonograf Dopplerowski(przepływy
    krwi)) , to faktycznie musisz zrozumieć model matematyczny i stosownie do
    potrzeb zaimplementować w logikę to całe siano cyfrowe. W zależności od problemu
    , należy sobie zadać pytanie , co chcemy uzyskać ?? Jeżeli na wejściu mamy
    sygnał analogowy , a naszym zadaniem jest pokazanie jego charakterystyki
    amplituda/częstotliwość , to dokonaj wstępnej banalnie prostej analizy w jakim
    przedziale modulacji częstotliwościowej się poruszamy... Ot takie tam sobie
    propozycje fizyka przekwalifikowanego na elektronika.. Jak co , pytaj dalej..

    Powodzenia ,

    MH

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: