transformacja fouriera, pspice i szereg fouriera

Dec 08, 2006 10 Replies

Witam



bawie sie fourierem w pspice i mam takie watpliwosci, otoz wiem ze: jesli w szeregu fouriera (wyznaczanego dla danego T) przejdziemy z T->nieskonczonosci wowczas mozemy mowic o transformacji fouriera, w pspice ta transformacja jest wyliczana za pomoca Fast Fourier Transform, i teraz mam pytanie czy te obliczeina nie maja przypadkiem wiecej wspolnego z szeregiem fouriera zamiast transformacja fouriera?? przeciez tutaj ewidentnie podajemy czas (czyli okres T) obserwacji w opcji "Run to time:", a wiec podchodzi to pod szereg a nie transformacje fouriera dla ktorej T ->nieskonczonosci.



pozdr Krzysztof S.



On Fri, 8 Dec 2006 23:02:59 +0100, "Krzysztof"

Nie wiem co za szereg masz na mysli, ale transformaty Fouriera sa trzy.

a) dla przebiegow okresowych F{k} = calka (0, T, f(t)*exp(-j*t*k*2pi/T) dt)

k jest liczba calkowita, i transformata jest szeregiem liczb. Nieskonczonym szeregiem.

b) ciagla nieokresowa F(w) = calka (-oo, +oo, f(t)*exp(-j*t*w) dt)

w [omega] jest tu liczba rzeczywista a transformata jest funkcja zmiennej rzeczywistej - czyli gesta

c) dysktretna [DFT] - bardzo podobna do a), ale mamy tylko probki przebiegu, a calke zastepujemy suma. Rozmiar transformaty wychodzi skonczony, bo wyzsze czestotliwosci nie maja sensu - z powodu probkowania nie mamy o nich informacji. No i jest to transformata tak naprawde sygnalu okresowego.

Ze zrozumialych wzgledow do komputerowych obliczen nadaje sie tylko DFT. A FFT jest tylko efektywnym algorytmem jest oblicznania.

Tak jest. I jak niedawno pisalem - rozszerzenie zerami ciagu probek do rozmiaru dogodnego dla FFT, to wcale nie jest takie trywialne dzialanie.

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

formatting link
Przeksztalcenie Fouriera.ppt

4 slajd

rozumiem ze tutaj po policzeniu transformaty a nastepnie z niej transformaty odwrotnej uzyskuje: przebieg okresowy a nie: tylko przebieg ktory znajduje sie w oknie (0, T) (czyli poza oknem sygnal jest zerowy)

tutaj mysle ze skoro T->nieskonczonosci to po policzeinu transformaty a nastepnie transformaty odwrotnej uzyskam dla sygnalu nieokresowego, tylko i wylaczine ten sygnal, a wiec jesli bede mial pojedynczy impuls prostokatny to po tych dwoch operacjach dostane tez tylko jeden impuls, a nie powtorzony, czyli sytuacja odwrotna do sytuacji w a)

tutaj ten sam problem co wczesniej, ale skoro piszesz "No i jest to transformata tak naprawde sygnalu okresowego" to oznacza ze podchodzi to dokladnie pod rozwiazanie dla a).

i jeszcze jedno pytanie do punktu c) z tego co zaobserwowalem to w pspice: parametr "Run to time" decyduje o kroku probkowania ktory wystepuje juz w widmie obliczonym przez FFT, a wiec dla tej wartosci obliczana jest odwrotnosc czyli f1 i od f1 rozpoczynane sa obliczenia, i fn = n*f1. czyli im wiekszy bedzie czas obserwacji tym gesciej umieszczone w widmie sa informacje.

natomiast max step size decyduje o maksymalnej czestotliwosci w uzyskanym widmie, tak jak napisales: "Rozmiar transformaty wychodzi skonczony, bo wyzsze czestotliwosci nie maja sensu - z powodu probkowania nie mamy o nich informacji."

czy te dwa ostatnie stwierdzenia sa prawdziwe?

pozdr Krzysiek S.

On Sat, 9 Dec 2006 11:53:40 +0100, "Krzysztof"

Tak jest. Co masz w ppt zreszta wyraznie napisane.

Tak jest - bedzie jeden impuls

Nie wiem jakiegp spice uzywasz, ale taki LT switchercad umozliwia zadanie i ilosci probek i czasu objetego transformata.

Przyjelo sie raczej liczyc odwrotnie. Jesli okres czasu T poddamy transformacie, to najmniejsza czestotliwosc jest 1/T i taki tez jest "skok widma". Jesli zakladamy N-probkowa transformate, to automatycznie uwzglednia ona probki z czestotliwoscia N/T, a a najwysza mozliwa czestotliwosc w widmie to N/2T.

I te probki trzeba w symulacji obliczyc. A co spice robi jak mu z innych powodow wychodza probki rzadziej to nie wiem. Interpoluje ? Ogranicza ilosc probek transformaty ?

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

uzywam PSpice 9.1 student, moge podac przyklad:

dla parametrow: run to time (czyli okres T): 0.1ms max step size: 10ns uzyskuje: "krok widma": 10kHz max czestotliwosc widma: ~82MHz

dla parametrow: run to time (czyli okres T): 1ms max step size: 10ns uzyskuje: "krok widma": 1kHz max czestotliwosc widma: ~66MHz

dla parametrow: run to time (czyli okres T): 1ms max step size: 1ns uzyskuje: "krok widma": 1kHz max czestotliwosc widma: ~820MHz

dla parametrow: run to time (czyli okres T): 10ms max step size: 10ns uzyskuje: "krok widma": 0.1kHz max czestotliwosc widma: ~86MHz

a wiec rzeczywiscie "run to time" ma bezposredni wplyw na "krok widma", natomiast "max step size" w jakis sposob wplywa na max f widma ale to juz nie tak bezposrednio, ale ciesze sie ze wszystkie poprzednie watpliwosci sie wyjasnily, dziekuje za pomoc

pozdr Krzysztof S.

On Sat, 9 Dec 2006 16:05:25 +0100, "Krzysztof"

=1/0.1ms

niech zgadne .. 16384/2*10kHz = 81.92MHz ?

65.536 MHz ?

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

hmm no wlasnie tez tak myslalem na poczatku ale nie zawsze sie to zgadza, np: T=0.5ms krok=10ns wtedy rzeczywiscie fmax ~65,530 MHz

natomiast juz np. dla:

0,3ms 10ns fmax ~54,6MHz

dla:

0,5ms 100n fmax ~8,2 MHz

wiec nie wiem, pewnie pspice tez w inny sposob dodatkowo decyduje o zakonczeniu obliczen

Krzysztof S.

16384/0.3= 54613.333

4096/0.5 = 8.192

Wychodzi mi na to ze dzieli czas przebiegu przez krok maksymalny, dobiera najblizsza potege 2, i ma rozmiar transformaty...

A potem ... interpoluje przebieg zeby policzyc probki w potrzebnych momentach czy od poczatku wie ze tam je ma wyliczyc ?

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

hmmm wyznaczylem wzory na to: T - okres obserwacji sygnalu k - krok probkowania sygnalu n = T/k - liczba krokow m - najblizsza potega 2 mniejsza lub rowna n

fmax = 1/(T/m)

czyli

fmax = 1/(T/m) =~ 1/(T/n) = 1/(n*k/n) = 1/k

czyli ogolnie mozna powiedziec ze jest to proporcjonalne do k.

natomiast zastanawia mnie to ze tutaj sygnal obserwowany jest dzielony na inna liczbe niz ten obliczany w trakcie symulacji, dziwne natomast krok widma jest jak najbardziej zachowany, obliczany na podstawie T

zastanwia mnie tylko to ze czytajac manual do pspice'a natknalem sie na cos takiego: "You must do a transient analysis in order to do a Fourier analysis. The sampling interval used during the Fourier transform is equal to the print step specified for the transient analysis" co jest bardzo dziwne i nie wiem czy w ogole prawdziwe...

a przy okazji mam pytanie, czy sa moze programy ktore dzialaja odwrotnie, a mianowicie na podstawie widma obliczaja sygnal, to jest o wiele latwiejsze wiec mysle ze powinny byc, czy moze pspice to robi?

Krzysztof S.

On Sun, 10 Dec 2006 23:09:40 +0100, "Krzysztof"

To jest prawdziwe, bo owa "transient" to jest wylicza kolejne probki, czyli generuje dane wejsciowe dla transformaty.

I tu by trzeba zajrzec w plik. Czy odstep miedzy probkami jest

50ns czy np 1ms/32768 = ok 31ns

Akurat transformata FFT i odwrotna sa prawie identyczne, roznia sie jednym minusem. Ale widmo musisz miec pelne, dokladne i zespolone [z faza].

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

no wlasnie problem jest taki ze odstep miedzy probkami jest taki jak sie zdefiniuje, oczywiscie w wiekszosci przypadkow, poniewaz tam podaje sie max step, wiec krok moze byc mniejszy, ale wiekszy nigdy nie byl, a tutaj przeciez wchodzi w gre krok wiekszy, no wiec nie wiem

czyli samo widmo z pspice'a mi nie wystarczy, bo tam jest tylko amplituda tej liczby zespolonej, no trudno

pozdr KS

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required