Andrei Shelkovenko. Yksi Vibromeran kehittäjistä ja perustaja.
Artikkelin käännös saattaa sisältää epätarkkuuksia.
- Fourier-muunnos ja signaalin spektri
Monissa tapauksissa signaalin spektri saadaan (lasketaan) seuraavasti. Käytössä on ADC, joka näytteenottotaajuudella Fd muuttaa jatkuvan signaalin, joka tulee sen sisääntuloon ajan T aikana, digitaalisiksi näytteiksi - N kappaletta. Tämän jälkeen tämä näytteiden joukko syötetään jollekin ohjelmalle (esim. FourierScope), joka tuottaa N/2 numeerista arvoa.
Tarkistaaksemme, toimiiko ohjelma oikein, muodostamme näytemäärän kahden sin(10*2*pi*x)+0,5*sin(5*2*pi*x)+0,5*sin(5*2*pi*x) summana ja syötämme sen ohjelmaan. Ohjelma piirsi seuraavan:
Spektrikuvassa on kaksi harmonista taajuutta - 5 Hz, jonka amplitudi on 0,5 V, ja 10 Hz, jonka amplitudi on 1 V, kaikki on kuten alkuperäisen signaalin kaavassa. Kaikki on kunnossa, grogram toimii oikein.
Tämä tarkoittaa sitä, että jos syötämme ADC:n tuloon kahden sinimuotoisen signaalin sekoituksen, saamme samanlaisen spektrin, joka koostuu kahdesta harmonisesta.
Joten, meidän todellinen mitattu signaali kesto 5 sekuntia, joka on digitoitu ADC:llä, toisin sanoen edustettuna seuraavasti diskreetisti näytteitä, on diskreetti ei-jaksollinen spektri.
Matemaattisesta näkökulmasta - kuinka monta virhettä tässä lauseessa on?
Yritetään nyt mitata samaa signaalia 0,5 sekunnin ajan.
Jokin on vialla! Harmoninen 10 Hz:n taajuudella piirtyy normaalisti, ja 5 Hz:n taajuudella olevan harmonisen taajuuden sijasta on joitakin epäselviä harmonisia taajuuksia.
Internetissä sanotaan, että näytteen loppuun on lisättävä nollia, ja spektri piirtyy normaalisti.
Se ei ole lainkaan sitä. Minun on käsiteltävä teoriaa. Mennään wikipedia - tiedon lähde.
2. Jatkuva funktio ja sen Fourier-sarjan esitys
Matemaattisesti tarkasteltuna signaalimme, jonka kesto on T sekuntia, on jokin funktio f(x), joka on annettu aikavälillä {0, T} (X on tässä tapauksessa aika). Tällainen funktio voidaan aina esittää harmonisten funktioiden (sini tai kosini) summana:
k on trigonometrisen funktion numero ( harmonisen komponentin numero, harmonisen numero).
T - segmentti, jossa funktio on määritelty (signaalin kesto).
Ak- k:nnen harmonisen komponentin amplitudi,
θk- k:nnen harmonisen komponentin alkuvaihe
Mitä tarkoittaa "esittää funktio sarjojen summana"? Se tarkoittaa, että laskemalla Fourier-sarjan harmonisten komponenttien arvot yhteen kussakin pisteessä saamme funktion arvon kyseisessä pisteessä.
(Tarkemmin sanottuna sarjan keskimääräinen neliöllinen poikkeama funktiosta f(x) pyrkii nollaan, mutta keskimääräisestä neliöllisestä konvergenssista huolimatta funktion Fourier-sarjan ei yleensä tarvitse konvergoida siihen pisteestä pisteeseen.) )
Tämä sarja voidaan kirjoittaa myös muodossa:
jossa , k:nnen kompleksinen amplitudi.
tai
Kertoimien (1) ja (3) välinen suhde ilmaistaan seuraavilla kaavoilla:
Huomaa, että kaikki nämä kolme Fourier-sarjan esitystapaa ovat täysin ekvivalentteja. Joskus Fourier-sarjojen kanssa työskenneltäessä on kätevämpää käyttää sinien ja kosinusten sijasta imaginääriargumentin eksponentteja eli käyttää Fourier-muunnosta kompleksimuodossa. Meille on kuitenkin kätevää käyttää kaavaa (1), jossa Fourier-sarja esitetään kosinusten summana, jolla on vastaavat amplitudit ja vaiheet. Joka tapauksessa on väärin sanoa, että reaalisen signaalin Fourier-muunnoksen tuloksena on kompleksiset harmoniset amplitudit. Kuten Wiki oikein sanoo: "Fourier-muunnos (ℱ) on operaatio, joka kuvaa yhden reaalimuuttujan funktion toiseen funktioon, joka on myös reaalimuuttuja."
Lopputulos:
Signaalien spektrianalyysin matemaattinen perusta on Fourier-muunnos.
Fourier-muunnoksen avulla voidaan esittää jatkuva funktio f(x) (signaali), joka on määritelty aikavälillä {0, T}, äärettömän määrän (äärettömän sarjan) trigonometristen funktioiden (sini ja/tai kosinus) summana, joilla on määrätyt amplitudit ja vaiheet myös aikavälillä {0, T}. Tällaista sarjaa kutsutaan Fourier-sarjaksi.
Huomaa vielä joitakin seikkoja, joiden ymmärtäminen on välttämätöntä, jotta Fourier-muunnosta voidaan soveltaa oikein signaalianalyysissä. Jos tarkastelemme Fourier-sarjaa (sinusoidien summaa) koko X-akselilla, huomaamme, että intervallin {0, T} ulkopuolella Fourier-sarjan funktio toistaa jaksoittain funktiotamme.
Esimerkiksi kuvan 7 kuvaajassa alkuperäinen funktio on määritelty välille {-T\2, +T\2}, ja Fourier-sarja edustaa jaksollista funktiota, joka on määritelty koko x-akselille.
Tämä johtuu siitä, että sinusoidit itsessään ovat jaksollisia funktioita, joten niiden summa on myös jaksollinen funktio.
Niinpä:
Alkuperäinen funktiomme on jatkuva, ei-jaksollinen funktio, joka on määritelty jollekin segmentille, jonka pituus on T.
Tämän funktion spektri on diskreetti, eli se esitetään äärettömänä sarjana harmonisia komponentteja - Fourier-sarjana.
Itse asiassa Fourier-sarjat määrittelevät jonkin jaksollisen funktion, joka on yhteneväinen meidän funktiomme kanssa välillä {0, T}, mutta meille tämä jaksollisuus ei ole olennaista.
Seuraava.
Harmonisten komponenttien jaksot ovat monikertoja intervallista {0, T}, jolla alkuperäinen funktio f(x) on määritelty. Toisin sanoen harmonisten komponenttien jaksot ovat signaalin mittauksen keston kertalukuja. Esimerkiksi Fourier-sarjan ensimmäisen harmonisen jakso on yhtä suuri kuin väli T, jolla funktio f(x) on määritelty. Fourier-sarjan toisen harmonisen jakso on yhtä suuri kuin väli T/2. Ja niin edelleen (ks. kuva 8).
Näin ollen harmonisten komponenttien taajuudet ovat 1/T:n moninkertaisia. Toisin sanoen harmonisten komponenttien Fk taajuudet ovat Fk= k\T, jossa k:n arvot ovat 0:sta ∞:ään, esimerkiksi k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T;k=3 F3=3\T;..... Fk= k\T (nollataajuudella vakiokomponentti).
Olkoon alkutoimintomme T=1 sekunnin aikana tallennettu signaali. Ensimmäisen harmonisen jakso on yhtä pitkä kuin signaalin kesto T1=T=1 sekuntia ja harmonisen taajuus on 1 Hz. Toisen harmonisen jakso on yhtä pitkä kuin signaalin kesto jaettuna kahdella (T2=T/2=0,5 sekuntia) ja taajuus on 2 Hz. Kolmannen harmonisen taajuuden T3=T/3 sekuntia ja taajuus on 3 Hz. Ja niin edelleen.
Tässä tapauksessa harmonisten yliaaltojen välinen askel on 1 Hz.
Näin ollen signaali, jonka kesto on 1 sekunti, voidaan hajottaa harmonisiin komponentteihin (spektrin saamiseksi) 1 Hz:n taajuuserotuksella.
Jos tarkkuutta halutaan kasvattaa kertoimella 2-0,5 Hz, mittauksen kestoa on kasvatettava kertoimella 2-2 sekuntia. 10 sekunnin signaali voidaan purkaa harmonisiin komponentteihin (spektri) 0,1 Hz:n taajuuserotuksella. Taajuusresoluutiota ei voida lisätä muilla tavoin.
Signaalin kestoa voidaan keinotekoisesti pidentää lisäämällä nollia näytteiden joukkoon. Se ei kuitenkaan lisää todellista taajuusresoluutiota.
3. Diskreetit signaalit ja diskreetti Fourier-muunnos
Digitaalitekniikan kehittymisen myötä mittaustietojen (signaalien) tallennustavat ovat muuttuneet. Kun aiemmin signaali voitiin tallentaa nauhuriin ja tallentaa nauhalle analogisessa muodossa, nykyään signaalit digitalisoidaan ja tallennetaan tiedostoihin tietokoneen muistiin numerosarjoina (lukumäärinä).
Tavallinen signaalin mittauksen ja digitalisoinnin järjestelmä näyttää seuraavalta.
Mittausanturi -- Signaalin normalisoija -- ADC -- Tietokone
(Kuva 9 Kaavio mittauskanavasta)
Mittausanturista tuleva signaali siirtyy ADC:hen ajaksi T. Ajan T aikana saadut signaalilukemat (näytteenotto) siirretään tietokoneeseen ja tallennetaan muistiin.
Mitkä ovat signaalin digitalisointiparametreja koskevat vaatimukset? Laitetta, joka muuntaa syötetyn analogisen signaalin diskreetiksi koodiksi (digitaaliseksi signaaliksi), kutsutaan analogi-digitaalimuunnokseksi (ADC) (© Wiki).
Yksi ADC:n perusparametreista on suurin näytteenottotaajuus eli ajallisesti jatkuvan signaalin näytteenottotaajuus. Näytteenottotaajuus mitataan hertseinä. ((© Wiki))
Kotelnikovin teoreeman mukaan, jos jatkuvan signaalin spektri rajoittuu taajuuteen Fmax, se voidaan täysin ja yksikäsitteisesti rekonstruoida sen diskreeteistä näytteistä, jotka on otettu aikavälein T = 1/2*Fmax, eli taajuudella Fd ≥ 2*Fmax, missä Fd - näytteenottotaajuus; Fmax - signaalin spektrin maksimitaajuus. Toisin sanoen signaalin digitointitaajuuden (ADC:n näytteenottotaajuuden) on oltava vähintään kaksi kertaa suurempi kuin mitattavan signaalin maksimitaajuus.
Entä mitä tapahtuu, jos otamme näytteitä pienemmällä taajuudella kuin Kotelnikovin teoreema edellyttää?
Tällöin syntyy "aliasing"-efekti (alias stroboskooppi-ilmiö, moiré-ilmiö), jossa korkeataajuinen signaali muuttuu digitalisoinnin jälkeen matalataajuiseksi signaaliksi, jota ei itse asiassa ole olemassa. Kuvassa 11 punainen korkeataajuinen siniaalto on todellinen signaali. Sininen matalamman taajuuden siniaalto on kuvitteellinen signaali, joka johtuu siitä, että näytteenottoaikana on ehtinyt kulua yli puolet korkeataajuisen signaalin jaksosta.
Aliasing-ilmiön välttämiseksi ennen ADC:tä on erityinen anti-alias-suodatin (alipäästösuodatin). Se läpäisee taajuudet, jotka ovat pienempiä kuin puolet ADC:n näytteenottotaajuudesta, ja katkaisee korkeammat taajuudet.
Signaalin spektrin laskemiseksi sen diskreettien näytteiden avulla käytetään diskreettia Fourier-muunnosta (DFT). Huomaa jälleen, että diskreetin signaalin spektri rajoittuu "määritelmän mukaan" taajuuteen Fmax, joka on pienempi kuin puolet näytteenottotaajuudesta Fd. Näin ollen diskreetin signaalin spektri voidaan esittää seuraavana summana a äärellinen harmonisten yliaaltojen määrä, toisin kuin jatkuvan signaalin Fourier-sarjassa, jonka spektri voi olla rajaton. Kotelnikovin lauseen mukaan harmonisen taajuuden maksimitaajuuden on oltava sellainen, että se vastaa vähintään kahta näytettä, joten harmonisten lukumäärän on oltava puolet diskreetin signaalin näytteiden lukumäärästä. Toisin sanoen, jos näytteessä on N näytettä, harmonisten yliaaltojen määrä spektrissä on N/2.
Tarkastellaan nyt diskreettiä Fourier-muunnosta (DFT).
Verrataan sitä Fourier-sarjaan
Kuten näemme, ne ovat yhteneväiset, paitsi että FFT:ssä aika on diskreetti ja harmonisten yliaaltojen määrä on rajoitettu N/2:een, joka on puolet näytteiden määrästä.
DFT-kaavat kirjoitetaan dimensiottomina kokonaislukumuuttujina k, s, jossa k on signaalinäytteiden lukumäärä ja s on spektrikomponenttien lukumäärä.
Arvo s ilmaisee täysharmonisten värähtelyjen lukumäärän jaksoa T kohti (signaalin mittauksen kesto). Diskreettia Fourier-muunnosta käytetään harmonisten värähtelyjen amplitudien ja vaiheiden määrittämiseen numeerisesti eli "tietokoneella".
Kuten edellä todettiin, kun ei-jaksollinen funktio (signaalimme) hajotetaan Fourier-sarjoiksi, tuloksena saatava Fourier-sarja vastaa itse asiassa jaksollista funktiota, jonka jakso on T (kuva 12).
Kuten kuvasta 12 nähdään, funktio f(x) on jaksollinen jaksolla T0. Koska mittausnäytteen pituus T ei kuitenkaan ole yhtä pitkä kuin funktion jakso T0, Fourier-sarjana saadulla funktiolla on epäjatkuvuus pisteessä T. Tämän seurauksena tämän funktion spektri sisältää suuren määrän korkeataajuisia harmonisia. Jos mittausnäytteen kesto T olisi sama kuin funktion jakso T0, Fourier-muunnoksen jälkeen saatu spektri sisältäisi vain ensimmäisen harmonisen (sinimuoto, jonka jakso on yhtä pitkä kuin näytteen kesto), koska funktio f(x) on sinimuoto.
Toisin sanoen DFT-ohjelma "ei tiedä", että signaalimme on "viipale siniaaltoa", vaan se yrittää esittää sarjana jaksollisen funktion, jonka epäjatkuvuus johtuu siniaallon erillisten osien epäjatkuvuudesta.
Tämän seurauksena spektriin ilmestyy harmonisia yliaaltoja, joiden pitäisi kokonaisuudessaan edustaa funktion muotoa, tämä epäjatkuvuus mukaan lukien.
Jotta saadaan "oikea" spektri signaalista, joka on useiden eri jaksoissa olevien sinusoidien summa, on välttämätöntä, että kokonaislukuinen määrä jaksoja jokaisen sinimuotoisen signaalin pitäisi olla läsnä signaalin mittausjaksolla. Käytännössä tämä ehto voidaan täyttää, jos signaalin mittauksen kesto on riittävän pitkä.
Lyhyemmällä kestolla kuva näyttää "huonommalta":
Käytännössä voi olla vaikea ymmärtää, missä ovat "todelliset komponentit" ja missä "artefaktit", jotka johtuvat komponenttien jaksojen ja signaalin näytteenottoaikojen epäjohdonmukaisuudesta tai aaltomuodon "hyppyistä ja katkoksista". Sanat "todelliset komponentit" ja "artefaktit" on tietysti pantu lainausmerkkeihin syystä. Se, että spektrikuvassa on monia harmonisia yliaaltoja, ei tarkoita, että signaalimme todella koostuisi niistä. Se on kuin ajattelisi, että numero 7 "koostuu" numeroista 3 ja 4. Luku 7 voidaan ajatella numeroiden 3 ja 4 summana - se on oikein.
Niinpä myös signaalimme... tai oikeastaan ei edes "signaalimme", vaan jaksollinen funktio, joka muodostuu toistamalla signaalimme (näyte), voidaan esittää harmonisten aaltojen (siniaaltojen) summana, joilla on tietyt amplitudit ja vaiheet. Mutta monissa käytännön kannalta tärkeissä tapauksissa (ks. edellä olevat kuvat) on todellakin mahdollista liittää spektrissä saadut harmoniset sävelet myös todellisiin prosesseihin, joilla on syklinen luonne ja jotka vaikuttavat merkittävästi signaalin muotoon.
Joitakin tuloksia
1. Todellisella mitatulla signaalilla, jonka kesto on T sekuntia ja joka on digitoitu ADC:llä eli jota edustaa joukko erillisiä näytteitä (N kappaletta), on erillinen ei-jaksollinen spektri, jota edustaa joukko harmonisia (N/2 kappaletta).
2. Signaalia edustaa joukko kelvollisia arvoja ja sen spektriä edustaa joukko kelvollisia arvoja. Harmonisten taajuudet ovat positiivisia. Se, että on matemaattisesti kätevämpää esittää spektri kompleksimuodossa käyttäen negatiivisia taajuuksia, ei tarkoita, että "tämä on oikein" ja "näin pitäisi aina tehdä".
3. Mitä tapahtui ennen kuin aloitimme signaalin mittaamisen ja mitä tapahtuu sen jälkeen, on tieteelle tuntematonta. Ja meidän tapauksessamme se ei ole kiinnostavaa. Aikarajoitetun signaalin FFT antaa sen "todellisen" spektrin siinä mielessä, että tietyissä olosuhteissa sen avulla voidaan laskea sen komponenttien amplitudi ja taajuus.