transformacja fouriera, pspice i szereg fouriera
Krzysztof - 08-12-2006 23:45
transformacja fouriera, pspice i szereg fouriera 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.
J.F. - 09-12-2006 11:45
On Fri, 8 Dec 2006 23:02:59 +0100, "Krzysztof"
>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??
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.
>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.
Tak jest. I jak niedawno pisalem - rozszerzenie zerami ciagu probek
do rozmiaru dogodnego dla FFT, to wcale nie jest takie trywialne
dzialanie.
J.
Krzysztof - 09-12-2006 12:45
Uzytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisal w wiadomosci
news:121ln2lcvdftp80vut7v7npidmr47ta4jm@4ax.com...
> Nie wiem co za szereg masz na mysli, ale transformaty Fouriera sa
> trzy.
http://eit.agh.edu.pl/mat/857/16///date/2plik:
Przeksztalcenie Fouriera.ppt
4 slajd
> 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.
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)
> 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
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)
> 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.
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.
J.F. - 09-12-2006 15:45
On Sat, 9 Dec 2006 11:53:40 +0100, "Krzysztof"
>
http://eit.agh.edu.pl/mat/857/16///date/2>Przeksztalcenie Fouriera.ppt
>
>> 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.
>
>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)
Tak jest. Co masz w ppt zreszta wyraznie napisane.
>> b) ciagla nieokresowa
>> F(w) = calka (-oo, +oo, f(t)*exp(-j*t*w) dt)
>
>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)
Tak jest - bedzie jeden impuls
>i jeszcze jedno pytanie do punktu c)
>z tego co zaobserwowalem to w pspice:
Nie wiem jakiegp spice uzywasz, ale taki LT switchercad umozliwia
zadanie i ilosci probek i czasu objetego transformata.
>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?
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.
Krzysztof - 09-12-2006 17:45
Uzytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisal w wiadomosci
news:6leln290chh06nfpvlq0sqia35650s5m89@4ax.com...
>>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?
>
> 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 ?
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.
J.F. - 09-12-2006 17:45
On Sat, 9 Dec 2006 16:05:25 +0100, "Krzysztof"
>> 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.
>>
>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
=1/0.1ms
> max czestotliwosc widma: ~82MHz
niech zgadne .. 16384/2*10kHz = 81.92MHz ?
>dla parametrow:
> run to time (czyli okres T): 1ms
> max step size: 10ns
>uzyskuje:
> "krok widma": 1kHz
> max czestotliwosc widma: ~66MHz
65.536 MHz ?
J.
Krzysztof - 10-12-2006 01:45
Uzytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisal w wiadomosci
news:ehkln2h4vmkk9qp6qlfk2cdtrnojbh87i4@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
>
> =1/0.1ms
>
>> max czestotliwosc widma: ~82MHz
>
> niech zgadne .. 16384/2*10kHz = 81.92MHz ?
>
>>dla parametrow:
>> run to time (czyli okres T): 1ms
>> max step size: 10ns
>>uzyskuje:
>> "krok widma": 1kHz
>> max czestotliwosc widma: ~66MHz
>
> 65.536 MHz ?
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.
J.F. - 10-12-2006 12:45
On Sun, 10 Dec 2006 01:02:24 +0100, "Krzysztof"
<aananassNOSPAM@[at]interia.pl> wrote:
>natomiast juz np. dla:
>0,3ms
>10ns
>fmax ~54,6MHz
16384/0.3= 54613.333
>dla:
>0,5ms
>100n
>fmax ~8,2 MHz
4096/0.5 = 8.192
>wiec nie wiem, pewnie pspice tez w inny sposob dodatkowo decyduje o
>zakonczeniu obliczen
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.
Krzysztof - 10-12-2006 23:45
Uzytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisal w wiadomosci
news:66rnn21f1ujds4e2gotplmrcta0e1gp4f2@4ax.com...
> 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 ?
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.
J.F. - 11-12-2006 11:45
On Sun, 10 Dec 2006 23:09:40 +0100, "Krzysztof"
>Uzytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisal w wiadomosci
>> A potem ... interpoluje przebieg zeby policzyc probki w potrzebnych
>> momentach czy od poczatku wie ze tam je ma wyliczyc ?
>
>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.
To jest prawdziwe, bo owa "transient" to jest wylicza kolejne probki,
czyli generuje dane wejsciowe dla transformaty.
>The
>sampling interval used during the Fourier transform is equal to the print
>step specified for the transient analysis"
I tu by trzeba zajrzec w plik. Czy odstep miedzy probkami jest
50ns czy np 1ms/32768 = ok 31ns
>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?
Akurat transformata FFT i odwrotna sa prawie identyczne, roznia sie
jednym minusem.
Ale widmo musisz miec pelne, dokladne i zespolone [z faza].
J.
Krzysztof - 11-12-2006 22:45
Uzytkownik "J.F." <jfox_xnospamx@poczta.onet.pl> napisal w wiadomosci
news:v7bqn2pscljs9vo5ruii1t8tncjvnm8dm5@4ax.com...
>>The
>>sampling interval used during the Fourier transform is equal to the print
>>step specified for the transient analysis"
>
> I tu by trzeba zajrzec w plik. Czy odstep miedzy probkami jest
> 50ns czy np 1ms/32768 = ok 31ns
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
>>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?
>
> Akurat transformata FFT i odwrotna sa prawie identyczne, roznia sie
> jednym minusem.
> Ale widmo musisz miec pelne, dokladne i zespolone [z faza].
czyli samo widmo z pspice'a mi nie wystarczy, bo tam jest tylko amplituda
tej liczby zespolonej, no trudno
pozdr
KS
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl