A MATHCAD alkalmazása mérnöki számításokban: oktatóanyag. Periodikus függvények dekompozíciója inverz Fourier-transzformációban Matkad-ra

Mivel Newton és Lagrange interpolációs képleteinek eredménye ugyanaz az N-edrendű polinom, így a hibájuk is ugyanúgy viselkedik.

Példa 3.4. A 3.1. példában használt kiindulási adatokhoz kiszámítjuk a Newton-polinom értékét. Először kitöltjük az osztott különbségek táblázatát:

F(xi ,xj )

F(xi ,xj ,xk )

F(x0 ,x1 ,x2 ,x3 )

z–xi

A Newton-képlet segítségével a következőket kapjuk:

P 3 (1)= –1+0,6 1+(–0,1) 1 (–1)+0,0857 1 (–1) (–2)= –0,129.

3.6 Fourier-sor

A Fourier sorozat lehetővé teszi a periodikus és a nem periodikus függvények komponensekre bontásával egyaránt. Jellemzőek a váltakozó áramok és feszültségek, az elmozdulások, a forgattyús mechanizmusok sebessége és gyorsulása, az akusztikus hullámok gyakorlati példák periodikus függvények alkalmazása mérnöki számításokban. A jelfeldolgozás szempontjából a Fourier-transzformáció egy jelfüggvény idősoros reprezentációját veszi fel, és leképezi azt a frekvenciaspektrumra. Vagyis az idő függvényét frekvencia függvényévé változtatja; ez egy függvény különböző frekvenciájú harmonikus komponensekre bontása. A Fourier-transzformáció a frekvencia és az amplitúdó függvényében időben változó jelet ábrázolhat, és a fázisról is információt ad (3.4. ábra).

A Fourier-sor kiterjesztése azon a feltételezésen alapul, hogy a π ≤ x ≤ π intervallumban minden gyakorlati jelentőségű függvény kifejezhető konvergens trigonometrikus sorozatként (egy sorozat akkor tekinthető konvergensnek, ha a tagjaiból álló részösszegek sorozata konvergál).

A Fourier-hipotézis szerint nincs olyan függvény, amelyet ne lehetne trigonometrikus sorozattá bővíteni. Az f (t) függvényt a [–π, π] intervallumon sorba bontjuk.

f (t) \u003d a 0 / 2 + a 1 cos (t) + a 2 cos (2t) + a 3 cos (3t) + ... + b 1 sin (t) + b 2 sin (2t) + b 3 sin (3t )+…,

ahol a sorozat n-edik eleme úgy van kifejezve

f (t) cos(nt)dt ,

Rizs. 3.4. Fourier-kiterjesztés illusztráció

Az a n és b n együtthatókat nevezzük Fourier-együtthatók, és az f (t ) függvény ábrázolása a (3.1) képlettel az Fourier-soros bővítés. Néha az ebben a formában bemutatott Fourier-soros kiterjesztést valódi Fourier-soros kiterjesztésnek, az együtthatókat pedig valós Fourier-együtthatónak (ellentétben a komplex kiterjesztéssel) nevezik.

Elemezzük a (3.2) és (3.3) kifejezéseket. Az a 0 együttható az f (t) függvény átlagos értéke a [–π, π] szakaszon vagy az f (t) jel állandó komponense. Az a n és b n együtthatók (n > 0 esetén) az f (t) függvény (jel) koszinusz- és szinuszösszetevőinek amplitúdói n-nel egyenlő szögfrekvenciával. Más szavakkal, ezek az együtthatók határozzák meg a jelek frekvenciakomponenseinek nagyságát. Például, ha alacsony frekvenciájú hangjelről beszélünk (például egy basszusgitár hangjai), ez azt jelenti, hogy az a n és a b n együtthatók nagyobbak kisebb n értékeknél, és fordítva - magas frekvencián hang

a rezgések (például egy hegedű hangja) nagyobb n nagy érték esetén.

A legnagyobb periódusú (vagy legalacsonyabb frekvenciájú) oszcillációt, amelyet a 1 cos(t) és b 1 sin(t) összege képvisel, alapfrekvenciás rezgésnek vagy első harmonikusnak nevezzük. Az alapfrekvencia periódusának felével megegyező periódusú rezgés a második harmonikus, az alapfrekvencia 1/n periódusával egyenlő oszcilláció az n-harmonikus. Így az f (t) függvény kiterjesztésével egy Fourier-sorban áttérhetünk az időtartományból a frekvenciatartományba. Egy ilyen átmenet általában szükséges ahhoz, hogy felfedjük a jel jellemzőit, amelyek "láthatatlanok" az időtartományban.

Megjegyzendő, hogy a (3.2) és (3.3) képlet 2π periódusú periodikus jelre alkalmazható. Általános esetben a T periódusú periodikus jel Fourier-sorrá bővíthető, majd a [–T /2, T /2] szegmenst használjuk a kiterjesztéshez. Az első harmonikus periódusa egyenlő T-vel, és a komponensek cos(2πt /T ) és sin(2πt /T ) alakot öltik, az n-harmonikus összetevői - cos(2πtn /T ) és sin(2πtn / T ). Ha az első harmonikus szögfrekvenciáját ω0 = 2π/T jelöljük, akkor az n-harmonikus összetevői a cos(ω0 nt ), sin(ω0 nt ) ill.

cos(nt) b sin(nt) ,

f(t)

ahol a Fourier-együtthatókat a képletekkel számítjuk ki

T/2

(t ) cos(0 nt )dt ,

T/2

f (t ) sin(0 nt )dt .

T/2

T/2

A Fourier-tágítást periodikus jelek harmonikus vagy spektrális elemzésére használják. A nem periodikus jelek spektrális elemzéséhez használjuk Fourier transzformáció. Ehhez a (3.4) sorozatot a bázisfüggvények rendszerével ábrázoljuk, imaginárius kitevőkkel rendelkező exponenciálisok formájában:

2jnt

f(t)

Cnexp(

T/2

2jnt

f(t)exp(

T/2

Számos számítást kihagyva a (3.6) kifejezést írjuk a formába

C () f (t ) exp(j t )dt .

Ezt a képletet ún közvetlen Fourier transzformáció vagy Fourier transzformációt. Általában a Fourier-transzformációt ugyanazzal (csak nagybetűvel) jelölik, mint a közelítendő függvényt (amit általában kisbetűvel jelölnek).

F () f (t ) exp(j t )dt .

Az F (ω) függvényt függvénynek nevezzük spektrális sűrűség(vagy csak spektrális sűrűség, Fourier transzformáció, Fourier transzformáció). Az F (ω) függvény tartománya általános esetben a komplex számok halmaza.

Inverz Fourier transzformáció , gyógyulást biztosítva

Az eredeti f(t) függvény frissítését a spektrális sűrűségfüggvényhez képest a következőképpen számítjuk ki

f (t ) F () exp(j t )dt .

Diszkrét Fourier transzformáció (DFT, DFT - Discrete Fourier Transform) a digitális jelfeldolgozó algoritmusokban széles körben használt Fourier-transzformációk egyike (módosításait használják az MP3 hangtömörítésénél, tömörítésnél képeket JPEG stb.), valamint a diszkrét (például digitalizált analóg) jelek frekvenciáinak elemzésével kapcsolatos egyéb területeken. A diszkrét Fourier-transzformáció bemenetként diszkrét függvényt igényel. Az ilyen funkciókat gyakran diszkretizálással hozzák létre (értékek kiválasztása a folyamatos függvényekből). Ennek az algoritmusnak a hátránya az ismétlődő számítások nagy száma. Ezen redundáns műveletek kiküszöbölése az úgynevezett algoritmushoz vezet

általánosan használt gyors Fourier-transzformáció.

Gyors Fourier transzformáció (FFT, FFT) - egy algoritmus a diszkrét Fourier-transzformáció (DFT) gyors kiszámításához. Vagyis az O(N)-nál kisebb műveletek számának számítási algoritmusa 2 ) szükséges a DFT közvetlen (a képlet szerint) kiszámításához (N az időszak alatt mért jelértékek száma, valamint a bővítőkomponensek száma). Néha az FFT egyként értendő tól től gyors algoritmusok, amelyeket frekvencia/idő decimációs algoritmusnak vagy 2. bázisalgoritmusnak neveznek.

A MathCAD csomagban a Fourier transzformáció megvalósításához a Symbolic panelen ki kell választani a Fourier operátort a közvetlen transzformációhoz és az invfourier operátort a fordítotthoz. Ezt az operátort a konvertálandó függvény után kell elhelyezni, és egyetlen paraméterként meg kell adni azt a változót, amelyre vonatkozóan ez a függvény konvertálva lesz. Példák a kijelző használatára

nekünk ábra. 3.5 az f (t) e 2 t függvényre és az ábrán. 3.6, ahol az f (t) függvényre amplitúdó-frekvencia modulációt alkalmazunk, majd az eredményt sorozattá bővítjük.

Rizs. 3.5. Fourier-kiterjesztési példa a Fourier szimbolikus függvény használatával

Rizs. 3.6. Fourier-kiterjesztési példa a Fourier szimbolikus függvény használatával

A MathCAD funkciókat tartalmaz a gyors diszkrét Fourier transzformációhoz (FFT) és annak inverziójához. A diszkrét Fourier transzformációhoz kétféle függvény létezik: fft és ifft , cfft és icfft . Ezek a függvények diszkrétek: argumentumként veszik fel, és vektorokat és mátrixokat adnak vissza.

Az fft és ifft függvények akkor használatosak, ha a következő feltételek teljesülnek: (1) az argumentumok valósak; (2) – az adatvektor 2m elemű.

Minden más esetben a cfft és icfft függvények használatosak.

Az első feltétel azért szükséges, mert az fft és ifft függvények azt a tényt használják fel, hogy valós adatok esetén a Fourier-transzformáció második fele az első komplex konjugáltja. A MathCAD elveti az eredményvektor második felét, ami időt és memóriát takarít meg a számításokban. A cfft és icfft függvénypár nem használ szimmetriát a transzformációban, valós és komplex számokhoz használható.

A második feltételre azért van szükség, mert az fft és ifft függvénypár rendkívül hatékony gyors Fourier transzformációs algoritmust használ. Ehhez az argumentumvektorhoz a

fft függvénynek 2m elemből kell állnia. A cfft és icfft függvények algoritmusa tetszőleges méretű vektorokat és mátrixokat fogad el argumentumként. Csak ezeket a függvényeket használja a 2D Fourier transzformáció. Az fft és ifft , cfft és icfft függvények kölcsönösen inverzek egymáshoz, vagyis igaz:

és icfft(cfft(v)) v.

ábrán A 3.7. ábra szemlélteti az ff t(v) és ifft(v) függvények használatát olyan szinuszhullámú jelen, amely az rnd(x) függvény segítségével zajos lett, amely 0 és x közötti véletlenszámokat generál.

Rizs. 3.7. Forward és inverz Fourier transzformáció fft és ifft függvényekkel

Ezek a grafikonok a c jel Fourier-képét mutatják, és összehasonlítják az eredeti x jelet a Fourier-képből rekonstruáltal. További részletek a Fourier-analízisről a és a.

3.7 Legkisebb négyzetek

Az összes fenti függvény közelítési módszernél az interpolációs feltételek pontosan teljesültek. Azokban az esetekben azonban, amikor az x i , f i , i= 1,…,N kezdeti adatokat némi hibával adjuk meg, akkor csak hozzávetőleges adatot kérhetünk.

interpolációs feltételek: |F(x i ) – f i |< . Это условие означает, что интерполирующая функция F(x) проходит не точно через заданные точки, а в некоторой их окрестности, так, например, как это показано на рис. 3.8. Приблизим исходные данные глобальным полиномом. Если решать задачу интерполяции точно, то полином должен иметь степень N . При рассмотрении полинома Лагранжа мы выяснили, что полином N –й степени хорошо приближает исходную функцию только при небольших значениях N .

Rizs. 3.8. Az interpolációs feltételek hozzávetőleges teljesítése

Egy alacsony fokú polinomot fogunk keresni, például P 3 (x)=a 1 +a 2 x+a 3 x 2 +a 4 x 3 . Ha N >4, akkor a pontos feladatnak nincs megoldása: négy ismeretlen együtthatóra (a 1 , a 2 , a 3 , a 4 ) az interpolációs feltételek N >4 egyenletet adnak. De most nem szükséges az interpolációs feltételek pontos teljesítése, azt szeretnénk, hogy a polinom az adott pontok közelében haladjon el. Sok ilyen polinom létezik, amelyek mindegyikét a saját együtthatókészlete határozza meg. Az összes lehetséges ilyen típusú polinom közül azt választjuk, amelyik a legkisebb szórással rendelkezik az interpolációs csomópontokon a megadott értékektől, azaz. a polinomnak a lehető legközelebb kell lennie az adott értelemben vett összes harmadfokú polinom adott pontjához legkisebb négyzetek módszere(MNK). Az i-edik pont mentén

linom P 3 (x) eltér az f i értéktől a (P 3 (x i ) – f i ) értékkel. Összefoglaljuk a polinom négyzetes eltéréseit minden i= 1, 2,…, N pontban, megkapjuk a négyzetes eltérések függvényét:

G(a1 ,a2 ,a3 ,a4 ) (P3 (xi ) fi )2

a2 xi a3 xi 2 a4 xi 3 fi )2.

Keressük meg ennek a funkciónak a minimumát. Ehhez az a 1 , a 2 , a 3 , a 4 változókra vonatkozó parciális deriváltjait nullával egyenlővé tesszük. A szabványos megkülönböztetési szabályokat használva a következőket kapjuk:

2 (egy 1

a2 xi a3 xi 2 a4 xi 3 fi ) 0

a3 xi 2 a4 xi 3 fi ) 0

G 2 xi (a1 a2 xi

2 x i 2 (a 1

a2xi

a3 xi 2 a4 xi 3 fi ) 0

2 x i 3 (a 1

a2xi

a3 xi 2 a4 xi 3 fi ) 0

Az a i ismeretlenek együtthatóit összegyűjtve SLAE-t kapunk az ismeretlenek vektorához (a 1 , a 2 , a 3 , a 4 ):

N a1 xi a2 xi 2

a3 xi 3 a4 fi

xi 2 a2

xi 3 a3

xi 4

f i x i

xi 2 a1

xi 3 a2

xi 4 a3

xi 5

f i x i2

xi 3 a1

xi 4 a2

xi 5 a3

xi 6

f i x i3

Az így kapott rendszert normálnak nevezzük. Megoldására az SLAE megoldásának standard módszereit alkalmazzák. A rendszer ismeretlenek száma (azaz az interpolációs függvény együtthatóinak száma) általában kicsi, így az SLAE megoldására egzakt módszerek használhatók, például a Cramer-módszer vagy a Gauss-módszer. A legkisebb négyzetek módszere lehetővé teszi az eredeti adatok "közelítését" bármely elemi függvény lineáris kombinációjával. A közelítéseket gyakran használják lineáris F(x)=a 1 +a 2 x, trigonometrikus F (x)=a 1 sin(x)+a 2 cos(x), exponenciális F (x)=a 1 e x

N a1 xi a2

xi a1 xi 2 a2 fi xi

Kiszámítja

xi 2,

f i x i ,

tedd be normálisan

Rizs. 3.9. Lineáris kiválasztás

5a 1.4a

OLS-függőségek

0,148. ábrán látható az F (x)=-0,04+0,57x függvény grafikonja. 3,9 folytonos vonalként. A pontok az eredeti adatokat mutatják. Látható, hogy a talált lineáris függvény valójában közelíti az adott pontokat.

A MathCAD-ben a legkisebb négyzetek szorosan összefüggenek a lineáris regresszióval (y(x) = b + ax ), mivel az a és b együtthatók a négyzetes hibák összegének minimalizálása |b + ax i – y i | A MathCAD-ben két egymást átfedő számítási módszer létezik:

Az (x,y) egyenes a b + ax lineáris regressziós együtthatók kételemű vektorát adja vissza;

15.4.1. Fourier transzformáció

A Fourier-transzformáció matematikai jelentése az, hogy az y(x) jelet F(v)sin(vx) alakú szinuszok végtelen összegeként ábrázolja. Az F(v) függvényt Fourier-transzformációnak vagy Fourier-integrálnak, vagy a jel Fourier-spektrumának nevezzük. A v argumentuma a jel megfelelő komponensének frekvenciáját jelenti. Az inverz Fourier-transzformáció az F(V) spektrumot az eredeti y(x) jellé alakítja. Definíció szerint,

Mint látható, a Fourier-transzformáció lényegében összetett mennyiség, még akkor is, ha a jel valós.

Valós adatok Fourier transzformációja

A Fourier-transzformációnak nagy jelentősége van a különféle matematikai alkalmazásokban, ehhez egy nagyon hatékony algoritmust fejlesztettek ki FFT (Fast Fourier Transform) néven. Ez az algoritmus több beépített Mathcad-függvényben van megvalósítva, amelyek normalizálásában különböznek egymástól.

  • fft(y) - közvetlen Fourier transzformációs vektor;
  • FFT(Y) - közvetlen Fourier transzformációs vektor egy másik normalizálásban;
  • ifft(v) - inverz Fourier transzformációs vektor;
  • IFFT(V) - az inverz Fourier-transzformáció vektora eltérő normalizációban;
    • y az argumentumértékek egyenlő intervallumában vett valós adatok vektora;
    • v a valós Fourier-spektrumadatok vektora, amelyet frekvenciaértékek szabályos intervallumában vesznek fel.

A közvetlen Fourier-transzformáció argumentumának, azaz az y vektornak pontosan 2n eleműnek kell lennie (n egész szám). Az eredmény egy 1+2 n-1 elemű vektor. Ezzel szemben az inverz Fourier-transzformáció argumentumának 1+2 n-1 eleműnek kell lennie, és eredménye egy 2 n elemű vektor lesz. Ha az adatok száma nem egyezik a 2 hatványával, akkor a hiányzó elemeket nullákkal kell kitölteni.

Rizs. 15.24. Kezdeti adatok és inverz Fourier-transzformáció (15.20-as lista)

Példa a Fourier-spektrum kiszámítására három különböző amplitúdójú szinuszos jel összegére (a 15.24. ábrán szilárd görbeként látható) a 15.20. lista mutatja be. A számítást N=128 ponttal végezzük, és feltételezzük, hogy az yx adatmintavételezési intervallum egyenlő A-val. A lista utolsó előtti sorában a beépített függvény, ha ft van, az utolsó sorban pedig a megfelelő Qx frekvenciaértékek helyesen vannak meghatározva. Vegye figyelembe, hogy a számítás eredménye a Fourier-spektrum modulusaként jelenik meg (15.25. ábra), mivel maga a spektrum összetett. Nagyon hasznos a kapott amplitúdók és a spektrális csúcsok elhelyezkedésének összehasonlítása a 15.20. lista szinuszos definíciójával.

Listázás 15.20. Gyors Fourier transzformáció

Rizs. 15.25. Fourier-transzformáció (15.20-as lista)

Az inverz Fourier-transzformáció eredménye körökben látható ugyanezen az ábrán. 15.24, mint az eredeti adat. Látható, hogy a vizsgált esetben az y(x) jelet nagy pontossággal rekonstruáljuk, ami jellemző a jel egyenletes változására.

Összetett adatok Fourier transzformációja

Az összetett adatok gyors Fourier-transzformációs algoritmusa a megfelelő függvényekbe van beépítve, melynek neve tartalmazza a „c” betűt.

  • cfft(y) - közvetlen komplex Fourier-transzformáció vektora;
  • CFFT(y) - közvetlen komplex Fourier-transzformáció vektora egy másik normalizálásban;
  • icfft(y) - inverz komplex Fourier-transzformáció vektora;
  • ICFFT(V) - az inverz komplex Fourier-transzformáció vektora eltérő normalizációban;
    • y az argumentumértékek egyenlő intervallumában vett adatok vektora;
    • v a Fourier-spektrumadatok vektora, amelyet frekvenciaértékek szabályos intervallumában vesznek fel.

A valós Fourier-transzformációs függvények azt a tényt használják ki, hogy valós adatok esetén a spektrum nullára szimmetrikus, és ennek csak a felét adja ki (lásd a Valódi adatok Fourier-transzformációját ebben a fejezetben). Ezért különösen 128 valós adat szerint a Fourier-spektrumból csak 65 pontot kaptunk. Ha ugyanarra az adatra alkalmazzuk a komplex Fourier-transzformációs függvényt (15.26. ábra), akkor 128 elemű vektort kapunk. ábra összehasonlítása. 15.25 és 15.26 között érthető a valós és a komplex Fourier-transzformáció eredményei közötti megfelelés.

Rizs. 15.26. Komplex Fourier-transzformáció (a 15.20-as lista folytatása)

2D Fourier transzformáció

A Mathcad képes a komplex Fourier-transzformáció beépített függvényeit nemcsak egydimenziós, hanem kétdimenziós tömbökre, azaz mátrixokra is alkalmazni. A megfelelő példa a 15.21-es listában és a 15.21-es ábrán látható. 15.27 a nyers adatszint és a számított Fourier-spektrum vonaldiagramjaként.

Listázás 15.21. 2D Fourier transzformáció

Rizs. 15.27. Adatok (balra) és Fourier-spektrumuk (jobbra) (15.21. lista)

A Mathcad funkciókat tartalmaz a gyors diszkrét Fourier-transzformáció (FFT) és annak inverziójának végrehajtására. A Mathcad PLUS rendelkezik egy 1D diszkrét hullámtranszformációval és annak inverziójával is. Ezen függvények mindegyike rendelkezik vektor argumentumokkal. Vektor meghatározásakor v a hullám vagy a Fourier-transzformáció megtalálásához győződjön meg arról, hogy a vektor első elemének indexe nulla: v 0 . Ha a v 0 nincs megadva, a Mathcad automatikusan 0-ra állítja. Ez torz eredményekhez vezethet.

Bevezetés a diszkrét Fourier transzformációba

A Mathcad kétféle függvényt tartalmaz a diszkrét Fourier-transzformációhoz: fft/ifftés cfft /icft . Ezek a függvények diszkrétek: argumentumként veszik fel, és vektorokat és mátrixokat adnak vissza. Más funkciókkal nem használhatók, használja a funkciókat fftés ha t , ha az alábbi két feltétel teljesül:
  • az érvek valósak, és
  • az adatvektor 2 m elemű.

Használja a funkciókat cfftés icft minden más esetben.
Az első feltétel szükséges, mert a funkciók fft/ifft használja azt a tényt, hogy valós adatok esetén a Fourier-transzformáció második fele az első komplex konjugáltja. A Mathcad elveti az eredményvektor második felét. Ez időt és memóriát takarít meg a számításoknál.

Egy-két funkció cfft/icfft nem használ szimmetriát az átalakításban. Emiatt összetett adatokhoz szükséges ezeket használni. Mivel a valós számok a komplex számok részhalmazai, használhatja a párokat is cfft/icfft valós számokhoz.

A második feltételre azért van szükség, mert a függvénypár fft/ifft rendkívül hatékony Fast Fourier Transform algoritmust használ. Ehhez a -val használt argumentumvektor fft, 2 m-es elemekkel kell rendelkeznie. A függvényekben сfft/icfft olyan algoritmust használnak, amely tetszőleges méretű mátrixokat és vektorokat egyaránt elfogad argumentumként. Ha ezt a függvénypárt mátrixszal használjuk argumentumként, akkor a rendszer 2D Fourier transzformációt számít ki.

Vegye figyelembe, hogy ha a funkciót használja fft a közvetlen konvertáláshoz a függvényt kell használni ha t fordítva. Hasonlóképpen, ha közvetlen átalakítást használunk cfft, akkor a fordítotthoz szükséges használni icft.

A Fourier-transzformáció definíciójának különböző megfogalmazásai eltérő normalizációs együtthatókat és előjelegyezményeket használnak a képzeletbeli egység előtt az előre és az inverz transzformáció kitevőjében. Funkciók fft, ifft, cfftés icft használja az 1/-t normalizációs tényezőként és pozitív kitevőként a közvetlen konverzióban. Funkciók FFT , IFFT , CFFT és ICFFT használja az 1/N-t normalizációs tényezőként és negatív kitevőt a közvetlen konverzióban. Ezeket a funkciókat párban kell használni. Például, ha használják CFFT közvetlen átalakítás során, szükséges használat ICFFT az ellenkezőjében.

Fourier transzformáció a valós tartományban

A 2 m elemű valós értékű vektorokhoz használhatunk néhány függvényt fft/ifft. Az ezen függvények kiszámításának algoritmusa kihasználja a csak valós adatokra jellemző szimmetriát. Ez időt és memóriát takarít meg a számításokhoz. Vektor v 2 m-es elemekkel kell rendelkeznie. Az eredmény egy 1+2 m-1 komplex értékű vektor. Ha egy v mérete nem 2 m , a Mathcad a " hibaüzenetet adja " érvénytelen vektorméret”.

A vektor elemei visszatértek fft, képlettel számítjuk ki

Ebben a képletben n- a benne lévő elemek száma v, én a képzeletbeli egység.

A függvény által visszaadott vektor elemei fft, különböző frekvenciáknak felelnek meg. A tényleges frekvencia rekonstruálásához ismerni kell az eredeti jel mérési frekvenciáját. Ha egy v van n-dimenziós vektor átadva a függvénynek fftés az eredeti jel mérési frekvenciája - fs, akkor a megfelelő frekvencia egyenlő

Vegye figyelembe, hogy ez lehetetlenné teszi az eredeti jel mérési frekvenciája feletti frekvenciák észlelését. Ezt nem a Mathcad szabja meg, hanem a probléma lényege. A Fourier-transzformációból származó jel helyes rekonstrukciójához az eredeti jelet legalább a sávszélesség kétszeresének megfelelő frekvencián kell mérni. Ennek a jelenségnek a teljes körű tárgyalása túlmutat ezen útmutató keretein, de bármely digitális jelfeldolgozási tankönyvben megtalálható.

Vektor v 1+2 m-es elemekkel kell rendelkeznie, ahol m- egész. Az eredmény egy 2 m+1 méretű komplex értékű vektor. Ha egy v mérete nem 1+2 m , a Mathcad a következő hibaüzenetet adja: érvénytelen vektorméret".Érv v a függvény által létrehozott vektorhoz hasonló fft. Az eredmény kiszámításához a Mathcad először létrehoz egy új vektort w, komplex konjugátum v, és csatolja a vektorhoz v. A Mathcad ezután kiszámítja a vektort d, amelynek elemeit a következő képlet számítja ki:

Ez ugyanaz a képlet, mint a fft, kivéve a mínusz jelet a függvényben exp. Funkciók fftés ha t- pontos referenciák. Minden valós értékűnek v ift(fft(v))=v igaz.

Fourier transzformáció a komplex tartományban

Két oka van annak, hogy a transzformációpárok nem használhatók fft/ifft, az előző részben tárgyaltuk:
  • Az adatok komplex értékűek lehetnek. Ez azt jelenti, hogy a Mathcad már nem tudja használni a valós esetben előforduló szimmetriát.
  • Az adatvektor mérete 2 m-től eltérő is lehet. Ez azt jelenti, hogy a Mathcad nem tudja kihasználni a pár által használt rendkívül hatékony FFT-algoritmus előnyeit fft/ifft.
A komplex Fourier-transzformáció a következő függvényeket igényli:
3. ábra: Gyors Fourier transzformációk használata Mathcadben.

Átalakítások párja cfft/icfft bármilyen méretű tömbökkel dolgozhat. Azonban sokkal gyorsabbak, ha a sorok és oszlopok száma szorzatként ábrázolható egy nagy szám kisebb tényezők. Például a 2 m hosszúságú vektorok ebbe az osztályba tartoznak, csakúgy, mint a 100 vagy 120 hosszúságú vektorok. Másrészt egy nagy prímszámú vektor lelassítja a Fourier-transzformáció számítását.

Funkciók cfftés icft fordítottak egymáshoz. Vagyis icfft(cfft(v))=v. A 3. ábra példákat mutat be a Mathcad Fourier-transzformáció használatára.

Amikor érvként cfft mátrixot használunk, az eredmény az eredeti mátrix kétdimenziós Fourier-transzformációja.

A Fourier-transzformáció alternatív formái

A Fourier-transzformáció fentebb tárgyalt definíciói nem az egyedüli lehetségesek. Például a következő definíciók a diszkrét Fourier-transzformációra és annak inverziójára Ronald Bracewells könyvében találhatók: A Fourier-transzformáció és alkalmazásai(McGraw-Hill, 1986): Ezek a meghatározások meglehetősen gyakoriak a szakirodalomban. Ha ezeket a definíciókat szeretné használni az előző részben tárgyaltak helyett, használja a függvényeket FFT, IFFT, CFFTés ICFFT. A következőkben különböznek egymástól:

Funkciók FFT, IFFT, CFFTés ICFFT az előző részben tárgyalt függvényekhez hasonlóan használják.

hullám transzformáció

A Mathcad PLUS két hullámforma funkciót tartalmaz: egy közvetlen egydimenziós diszkrét hullámforma végrehajtását és annak invertálását. A transzformáció a Daubeci négy együtthatós hullámalappal történik.

P

Glushach V.S. UIT-44

gyakorlati munka 1.2. Közvetlen és inverz Fourier transzformáció a MathCadben.

A munka elsajátítása MathCadben. Készségek elsajátítása a Laplace-transzformáció használatában a jelek spektrális összetevőinek elemzésére. Idősorok és Fourier-transzformáció idő- és frekvenciaskáláinak vizsgálata.

1. Létrehozunk egy három szinuszos idősort. A pontok száma 2^n legyen

2. Határozza meg az átlagot, szórást!

3. Elvégezzük az F közvetlen és inverz transzformációt. A kétszer átalakított jelet az eredeti idősor grafikonjára szuperponáljuk.

4. Keresse meg az időtengely irányú idősor-skála és a frekvenciatengely menti Fourier-transzformáció közötti kapcsolatot!

1. A dt időbeli diszkrétséget és az idősor pontjainak számát nl:= 2 k formában választjuk.

Legyen k:= 9 nl:= 2 k nl=512 Minta hossza T időben:=512

W ag által Vagy, tekintettel arra, hogy nl-1

az idő megközelítőleg egyenlő nl Akkor i:=0..nl-l t. := i*dt

2. Az x bemeneti jelet három harmonikus jel összegeként állítjuk elő, és meghatározzuk a fő statisztikáját.

A1:= 1 f1:= 0,05 xl i:= Al-sin/2*3,14*fl*t i) srl:= átlag(xl) srl = 0,012 s1:=stdev(x1) s1=0,706

A2:= 0,5 f2:= 0,1 x2 i:= A2-sin/2*3,14*f2*t i) sr2:= átlag(x2) sr2 = 3,792x10 -4 s2:=stdev(x2) s2=0,353

A3:= 0,25 f3:= 0,4 x3 i:= A3-sin/2*3,14*f3*t i) sr3:= átlag(x3) sr3 = 3,362x10 -4 s3:=stdev(x3) s3=0,177

x i:= xl i + x2 i + x3 i sry:= átlag(x) sry = 0,013 sy:= stdev(x) sy = 0,809

1. Közvetlen Fourier transzformáció a MathCadben F:= fft(x)

A harmonikus komponens maximális periódusa, amely az idősorban lehet, megegyezik a minta hosszával. Ez a harmonikus komponens megfelel a minimális lehetséges frekvenciának a frnin Fourier-transzformációs frekvenciaskálán, és ennek megfelelően a Fourier-transzformációs frekvenciatengely df lépésének.

Tmax:= Tfrnin:=
df:= frnin df = 1,953 x 10 -3

Így a Fourier-transzformáció minimális frekvenciája és frekvencialépése frnin =df = 1/T.

A Fourier-transzformáció gyakorisági ordinátáinak száma kétszer kisebb, mint az idősor ordinátáinak száma n2=nl/2 időben vagy a nullaponttal együtt (ahol a Fourier-transzformáció nincs definiálva)

n2:= 1 + 2 k -1 n2 = 257 j:= l..n2

Az aktuális frekvenciaindex j=l-ről j=n2-re változik

Ebben az esetben a frekvencia innen változik: fmin =df= 1/T Maximális frekvencia finax:= n2*df fmax = 0,502

to frnax=n2*df Aktuális frekvencia f i:= i*df

f 1 = 1,953 x 10 -3 f 257 \u003d 0,502

O vegye figyelembe, hogy a Fourier-transzformáció csak az f=finin és f=fmax közötti frekvenciákra van definiálva.

Ebben az esetben a Fourier-spektrumgráf csúcsai az eredeti szinuszosok frekvenciáinak felelnek meg, azaz a Fourier-transzformáció lehetővé teszi a jel frekvenciakomponenseinek kiválasztását. De a harmonikus komponensek amplitúdói most nem tükrözik az eredeti idősor komponenseinek amplitúdóit (ahol A1=1, A2=0,5, A3=0,25)

Figyeljük meg azt is, hogy dt =1 esetén a Fourier-transzformációs spektrumban a maximális frekvencia frnax=0,5 oszcilláció időskála-egységenként. dt = 1 mp esetén ez fmax = 0,5 Hz-nek felel meg. Ebben az esetben a maximális frekvenciaperiódus Tfmax=1/0,5=2. Ez azt jelenti, hogy az idősorból két minta van egy maximális gyakoriságú periódusra. Ez megfelel a Kotelnyikov-tételnek, amely szerint ahhoz, hogy egy diszkrétből a harmonikus folytonos jelet információvesztés nélkül állítsuk vissza, időben legalább két mintának kell lennie egy periódusra.

3. Ellenőrizzük a kettős Fourier-transzformáció előtti és utáni idősorok egybeesését! Ehhez a kapott közvetlen transzformációból az inverz Fourier transzformációt kapjuk. Meg kell egyeznie az eredeti idősorral, amit a következő diagram erősít meg: FF:= ifft(F)

Ossza meg