Andrei Shelkovenko. En av utvecklarna och grundaren av Vibromera.
Översättningen av artikeln kan innehålla felaktigheter.
- Fouriertransform och signalspektrum
I många fall är uppgiften att ta fram (beräkna) spektrumet för en signal följande. Det finns en ADC som med samplingsfrekvensen Fd omvandlar den kontinuerliga signalen, som kommer till dess ingång under tiden T, till digitala sampel - N stycken. Därefter matas denna uppsättning sampel in i något program (t.ex. FourierScope) som ger N/2 vissa numeriska värden.
För att kontrollera om programmet fungerar som det skall, formar vi en mängd stickprov som en summa av två sin(10*2*pi*x)+0.5*sin(5*2*pi*x) och matar in det i programmet. Programmet ritade följande:
Det finns två övertoner på spektrumdiagrammet - 5 Hz med amplitud på 0,5 V och 10 Hz med amplitud på 1 V, allt är som i formeln för den ursprungliga signalen. Allt är bra, grogrammet fungerar korrekt.
Detta innebär att om vi matar en verklig signal från en blandning av två sinusoider till ADC-ingången, kommer vi att få ett liknande spektrum som består av två övertoner.
Så vår verklig uppmätt signal 5 sekunders varaktighet, digitaliserad med ADC, dvs. representerad genom diskret prover, har en diskret icke-periodisk spektrum.
Från en matematisk synvinkel - hur många fel i denna fras?
Låt oss nu försöka mäta samma signal under 0,5 sek.
Här är något fel! Övertonen vid 10 Hz dras normalt, och istället för övertonen vid 5 Hz finns det några oklara övertoner.
På Internet säger de att det är nödvändigt att lägga till nollor i slutet av provet och att spektrumet kommer att ritas normalt.
Det är inte alls det. Jag måste ta itu med teorin. Låt oss gå till Wikipedia - källan till kunskap.
2. Kontinuerlig funktion och dess Fourier-serierepresentation
Matematiskt sett är vår signal med varaktigheten T sekunder en funktion f(x) som ges på intervallet {0, T} (X är i detta fall tiden). En sådan funktion kan alltid representeras som en summa av harmoniska funktioner (sinus eller cosinus) av formen:
k är numret för den trigonometriska funktionen (numret för den harmoniska komponenten, numret för den harmoniska)
T - segment där funktionen definieras (signalens varaktighet)
Ak- amplitud för den k:e harmoniska komponenten,
θk- den inledande fasen för den k:e harmoniska komponenten
Vad innebär det att "representera funktionen som summan av serierna"? Det betyder att vi genom att addera värdena för de harmoniska komponenterna i Fourier-serien i varje punkt får fram värdet för vår funktion i den punkten.
(Mer strikt kommer den genomsnittliga kvadratavvikelsen för serien från funktionen f(x) att gå mot noll, men trots den genomsnittliga kvadratkonvergensen behöver Fourier-serien för en funktion inte, generellt sett, konvergera till den punkt för punkt. )
Denna serie kan också skrivas i formuläret:
där , den k:e komplexa amplituden.
eller
Förhållandet mellan koefficienterna (1) och (3) uttrycks genom följande formler:
Observera att alla dessa tre representationer av Fourier-serien är helt ekvivalenta. Ibland när man arbetar med Fourier-serier är det bekvämare att använda exponenter med imaginärt argument istället för sinus och cosinus, dvs. att använda Fouriertransformen i komplex form. Men det är bekvämare för oss att använda formel (1), där Fourier-serien representeras som en summa av cosinus med motsvarande amplituder och faser. I vilket fall som helst är det fel att säga att resultatet av Fouriertransformen av den verkliga signalen kommer att vara komplexa harmoniska amplituder. Som Wiki korrekt säger, "Fouriertransformen (ℱ) är en operation som mappar en funktion av en reell variabel till en annan funktion också av en reell variabel."
Slutsatsen:
Den matematiska grunden för spektralanalys av signaler är Fouriertransformen.
Med Fouriertransformen kan en kontinuerlig funktion f(x) (signal) som definieras i intervallet {0, T} representeras som en summa av ett oändligt antal (oändliga serier) trigonometriska funktioner (sinus och/eller cosinus) med bestämda amplituder och faser som också betraktas i intervallet {0, T}. En sådan serie kallas en Fourier-serie.
Notera ytterligare några punkter, vars förståelse är nödvändig för korrekt tillämpning av Fouriertransformen vid signalanalys. Om vi betraktar Fourier-serien (summan av sinusoider) på hela X-axeln kommer vi att se att utanför intervallet {0, T} kommer Fourier-seriens funktion att periodiskt upprepa vår funktion.
I grafen i fig. 7 definieras t.ex. den ursprungliga funktionen i intervallet {-T\2, +T\2}, och Fourier-serien representerar en periodisk funktion som definieras på hela x-axeln.
Detta beror på att sinusoiderna själva är periodiska funktioner, så deras summa kommer också att vara en periodisk funktion.
Således:
Vår ursprungliga funktion är en kontinuerlig, icke-periodisk funktion som definieras på ett segment med längden T.
Spektrat för denna funktion är diskret, dvs. det representeras som en oändlig serie av harmoniska komponenter - en Fourier-serie.
Faktum är att Fourier-serien definierar en periodisk funktion, som sammanfaller med vår funktion på intervallet {0, T}, men för oss är denna periodicitet inte väsentlig.
Nästa.
De harmoniska komponenternas perioder är multiplar av intervallet {0, T}, där den ursprungliga funktionen f(x) är definierad. Med andra ord är övertonernas perioder multiplar av signalmätningens varaktighet. Exempelvis är perioden för den första övertonen i en Fourier-serie lika med intervallet T i vilket funktionen f(x) definieras. Perioden för den andra övertonen i en Fourier-serie är lika med intervallet T/2. Och så vidare (se figur 8).
Följaktligen är frekvenserna för de harmoniska komponenterna multiplar av 1/T. Det innebär att frekvenserna för harmoniska komponenter Fk är Fk= k\T, där k har värden från 0 till ∞, t.ex. k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T;k=3 F3=3\T;.... Fk= k\T (vid nollfrekvens, en konstant komponent).
Låt vår ursprungliga funktion vara en signal som registrerats under T=1 sek. Då kommer perioden för den första övertonen att vara lika med varaktigheten för vår signal T1=T=1 sek och frekvensen för övertonen är lika med 1 Hz. Perioden för den andra övertonen är lika med signalens varaktighet dividerad med 2 (T2=T/2=0,5 sek.) och frekvensen är lika med 2 Hz. För den tredje övertonen är T3=T/3 sek och frekvensen är 3 Hz. Och så vidare.
Steget mellan övertonerna är i detta fall 1 Hz.
En signal med en varaktighet på 1 sek kan alltså delas upp i harmoniska komponenter (för att få ett spektrum) med en frekvensupplösning på 1 Hz.
För att öka upplösningen med en faktor 2 till 0,5 Hz är det nödvändigt att öka mättiden med en faktor 2 till 2 sek. En 10-sekunders signal kan delas upp i harmoniska komponenter (spektrum) med en frekvensupplösning på 0,1 Hz. Det finns inga andra sätt att öka frekvensupplösningen.
Det finns ett sätt att på konstgjord väg öka signalens varaktighet genom att lägga till nollor i samplingsmatrisen. Men det ökar inte den verkliga frekvensupplösningen.
3. Diskreta signaler och diskret Fouriertransform
I och med utvecklingen av digital teknik har sättet att lagra mätdata (signaler) förändrats. Medan en signal tidigare kunde spelas in på en bandspelare och lagras på ett band i analog form, digitaliseras nu signalerna och lagras i filer i datorminnet som en uppsättning siffror (räkningar).
Det vanliga schemat för signalmätning och digitalisering ser ut på följande sätt.
Mätomvandlare -- Signalnormaliserare -- ADC -- Dator
(Fig.9 Schematisk bild av mätkanalen)
Signalen från mätgivaren går till ADC under en tidsperiod T. De signalvärden (sampling) som erhålls under tidsperioden T överförs till datorn och sparas i minnet.
Vilka krav ställs på parametrarna för signaldigitalisering? En enhet som omvandlar den analoga insignalen till en diskret kod (digital signal) kallas en analog-till-digital-omvandlare (ADC) (© Wiki).
En av de grundläggande parametrarna för ADC är den maximala samplingsfrekvensen - frekvensen för sampling av en signal som är kontinuerlig i tiden. Samplingsfrekvensen mäts i hertz. ((© Wiki))
Enligt Kotelnikovs sats, om en kontinuerlig signal har ett spektrum som begränsas av frekvensen Fmax, kan den fullständigt och unikt rekonstrueras från dess diskreta sampel som tas vid tidsintervall T = 1/2*Fmax, dvs med en frekvens Fd ≥ 2*Fmax, där Fd - samplingsfrekvens; Fmax - den maximala frekvensen för signalspektrumet. Med andra ord måste frekvensen för signaldigitalisering (ADC:s samplingsfrekvens) vara minst 2 gånger högre än den maximala frekvensen för den signal vi vill mäta.
Och vad händer om vi tar prover med lägre frekvens än vad som krävs enligt Kotelnikovs teorem?
I detta fall uppstår en "aliasing"-effekt (även kallad stroboskopisk effekt, moiré-effekt), där en högfrekvent signal efter digitaliseringen förvandlas till en lågfrekvent signal, som i själva verket inte existerar. I fig. 11 är den röda sinuskurvan med hög frekvens den verkliga signalen. Den blå sinuskurvan med lägre frekvens är en fiktiv signal, som uppstår på grund av att det under samplingstiden hinner passera mer än en halv period av den högfrekventa signalen.
För att undvika aliaseffekten placeras ett speciellt antialiasfilter (lågpassfilter) före ADC. Det släpper igenom frekvenser som är lägre än hälften av ADC:s samplingsfrekvens och skär av högre frekvenser.
För att beräkna signalens spektrum utifrån dess diskreta sampel används den diskreta Fouriertransformen (DFT). Observera återigen att spektrumet för en diskret signal "per definition" är begränsat till en frekvens Fmax som är mindre än hälften av samplingsfrekvensen Fd. Därför kan spektrumet för en diskret signal representeras av summan av en ändlig antalet övertoner, till skillnad från den oändliga summan för Fourier-serien för en kontinuerlig signal, vars spektrum kan vara obegränsat. Enligt Kotelnikovs teorem måste den maximala frekvensen för en överton vara sådan att den motsvarar minst två sampel, så antalet övertoner är lika med hälften av antalet sampel i en diskret signal. Det vill säga, om det finns N sampel i samplet, kommer antalet övertoner i spektrumet att vara N/2.
Betrakta nu den diskreta Fouriertransformen (DFT).
Jämförelse med Fourier-serien
Som vi kan se sammanfaller de, förutom att tiden i FFT är diskret och antalet övertoner är begränsat till N/2, vilket är hälften av antalet sampel.
DFT-formlerna skrivs i dimensionslösa heltalsvariabler k, s, där k är antalet signalprover och s är antalet spektralkomponenter.
Värdet s visar antalet fullharmoniska svängningar per period T (signalmätningens varaktighet). Den diskreta Fouriertransformen används för att bestämma övertonernas amplitud och fas numeriskt, dvs. "på datorn".
Som redan nämnts ovan, när man delar upp en icke-periodisk funktion (vår signal) i Fourier-serier, motsvarar den resulterande Fourier-serien faktiskt en periodisk funktion med period T (fig.12).
Som framgår av fig. 12 är funktionen f(x) periodisk med perioden T0. Men på grund av att mätprovets längd T inte är lika med funktionens period T0, har den funktion som erhålls som en Fourier-serie en diskontinuitet vid punkten T. Som ett resultat av detta kommer denna funktions spektrum att innehålla ett stort antal högfrekventa övertoner. Om mätprovets varaktighet T sammanföll med funktionens period T0, skulle det spektrum som erhålls efter Fouriertransformen endast innehålla den första övertonen (en sinusoid med en period som är lika med mätprovets varaktighet), eftersom funktionen f(x) är en sinusoid.
Med andra ord, DFT-programmet "vet inte" att vår signal är en "bit av en sinusvåg", utan försöker att som en serie representera en periodisk funktion som har en diskontinuitet på grund av diskontinuiteten hos separata bitar av sinusvågen.
Som ett resultat visas övertoner i spektrumet, som totalt sett bör representera funktionens form, inklusive denna diskontinuitet.
För att få ett "korrekt" spektrum av en signal som är en summa av flera sinusoider med olika perioder är det därför nödvändigt att en heltal antal perioder av varje sinusoid skall vara närvarande under signalens mätperiod. I praktiken kan detta villkor uppfyllas med en tillräckligt lång mätperiod för signalen.
Vid kortare varaktighet kommer bilden att se "sämre" ut:
I praktiken kan det vara svårt att förstå var de "verkliga komponenterna" finns och var de "artefakter" finns som orsakas av inkonsekvens mellan komponentperioder och signalprovtagningstider eller "hopp och avbrott" i vågformen. Naturligtvis är orden "verkliga komponenter" och "artefakter" satta inom citationstecken av en anledning. Att det finns många övertoner i spektrumdiagrammet betyder inte att vår signal faktiskt består av dem. Det är som att tro att siffran 7 "består" av siffrorna 3 och 4. Siffran 7 kan betraktas som summan av 3 och 4 - det är korrekt.
Så även vår signal... eller snarare inte ens "vår signal", utan en periodisk funktion som består av upprepning av vår signal (sample) kan representeras som en summa av övertoner (sinusvågor) med vissa amplituder och faser. Men i många fall som är viktiga för praktiken (se figurerna ovan) är det faktiskt möjligt att relatera de övertoner som erhålls i spektrumet även till verkliga processer som har cyklisk karaktär och som bidrar väsentligt till signalens form.
Några resultat
1. En verklig uppmätt signal med T sekunders varaktighet som digitaliserats med ADC, dvs. representeras av en uppsättning diskreta sampel (N delar), har ett diskret icke-periodiskt spektrum som representeras av en uppsättning övertoner (N/2 delar).
2. Signalen representeras av en uppsättning giltiga värden och dess spektrum representeras av en uppsättning giltiga värden. Frekvenserna för övertonerna är positiva. Bara för att det är matematiskt bekvämare att representera spektrumet i komplex form med negativa frekvenser betyder det inte att "detta är rätt" och "detta är hur du alltid ska göra det".
3. Den signal som mäts vid tidpunkten T bestäms endast vid tidpunkten T. Vad som hände innan vi började mäta signalen och vad som kommer att hända efter det är okänt för vetenskapen. Och i vårt fall är det inte intressant. FFT av den tidsbegränsade signalen ger dess "verkliga" spektrum, i den meningen att det under vissa förhållanden gör det möjligt att beräkna amplitud och frekvens för dess komponenter.