Varför används cirkulär faltning i DSP? Varför inte linjär faltning?
On november 29, 2020 by admin-
Varför använder vi cirkulär faltning i DSP?
-
Vad är den främsta grunden för användningen av den i digital bearbetning?
-
Varför är begreppet cirkulär faltning kommer oftare än linjär faltning?
Kommentarer
- du kommer att märka att alla dina svar innehåller ett omnämnande av den diskreta Fourier-transformen som implementeras mest effektivt med FFT. DFT förlänger i sig med jämna mellanrum de slutliga längdsekvenserna som skickas till den (vilket är cirkulärt). cirkulär faltning är sällan målet . vanligtvis linjär faltning är målet. men när DFT ’ s $ X [k] $ och $ H [k] $ multipliceras tillsammans, motsvarar det cirkulär konvolution av de två periodiskt utökade sekvenserna, $ x [n] $ och $ h [n] $ skickades till DFT: erna. Problemet är då på något sätt att göra detta till linjär faltning.
Svar
Givet ett diskret tid-LTI-system med impulsrespons $ h [n] $ , man kan beräkna sitt svar på valfri ingång $ x [n] $ med en konvolution sum: $$ y [n] = x [n] \ star h [n] = \ sum_ {k = – \ infty} ^ {\ infty} {h [k] x [nk]} \ tag {1} $$
Utan något annat anges är ovanstående definition för linjär faltning (aperiodisk faltning) mellan $ h [n] $ och $ x [n] $ , som är aperiodiska diskreta sekvenser av möjligen oändlig längd, om inte annat anges. Detta skiljer sig från en cirkulär faltning som ligger mellan två periodiska sekvenser av perioden $ N $ och beräknas över en enda period.
Du kan beräkna en linjär faltning i tidsdomän med ekv.1 eller i frekvensdomän med användning av följande DTFT-egenskap (diskret Fourier-transform): $$ y [n] = x [n] \ star h [n] \ antyder Y (e ^ {j \ omega}) = X (e ^ {j \ omega}) H (e ^ {j \ omega}) \ tag {2} $$
DTFT är naturligt relaterat till linjär faltning, eftersom det handlar om teoretiskt existerande aperiodiska sekvenser som kan sträcka sig från $ – \ infty $ till $ \ infty $ återspeglas i dess gränser för den definierande summan: $$ X (e ^ {j \ omega}) = \ sum_ {n = – \ infty} ^ {\ infty} x [n] e ^ {- j \ omega n} \ tag {3} $$
När du vill göra en beräkning på för hand, med symboliska uttryck för signaler, såsom $ x [n] = a ^ nu [n] $ och $ h [n] = b ^ nu [n] $ , du kan beräkna resultaten i tids- eller frekvensdomäner som beskrivs ovan.
Dessutom, när du vill beräkna samma resultat med hjälp av en dator, kan du använda tidsdomänmetoden baserat på en LCCDE-rekursion (för IIR-system) eller en direkt slutlig fällningssumma (för FIR-system), MEN frekvensdomänstrategin kommer inte att fungera med DTFT, eftersom det huvudsakligen är ett verktyg som används för att utveckla matematiken för signaler & systemteori, och det är inte lämpligt för digital dator implementeringar, eftersom dess variabel $ \ omega $ är en riktig kontinuerlig nummer.
Vad som används istället är DFT (diskret Fourier-transform) definierad som $$ X [k] = X (e ^ {j \ omega}) | _ {\ omega = \ frac {2 \ pi k} {N}} \ tag {4} $$
där $ k = 0,1, …, N-1 $ och $ N $ är längden på DFT, som sedan kallas som en N-punkt DFT för signal $ x [n] $ .
Ekv.4 innebär att DFT-sekvensen $ X [k] $ erhålls som de enhetliga proverna för DTFT $ X (e ^ {j \ omega}) $ , vilket är en periodisk funktion, därför är DFT $ X [k] $ också periodiskt men vi tar bara hänsyn till dess första period från $ k = 0 $ till $ N-1 $ .
Eftersom DFT-sekvenser i sig är periodiska, kommer deras -volymer också att vara periodiska (cirkulära).Därför, medan en linjär faltning mellan aperiodiska signaler $ x [n] $ och $ y [n] $ antyds av I-DTFT-uttrycket $$ y [n] = \ mathcal {I-DTFT} \ {X (e ^ {j \ omega}) H (e ^ {j \ omega}) \} $$ istället en cirkulär konvolution mellan två periodiska sekvenser antyds av I-DFT-uttrycket $$ \ tilde {y} [n] = \ mathcal { I-DFT} \ {X [k] H [k] \} $$
Så, med tanke på att vi vill beräkna en linjär faltning mellan två aperiodiska sekvenser $ x [n] $ och $ h [n] $ längder $ L_x $ respektive $ L_h $ , med frekvensdomän av deras $ N $ punkt-DFT: er, $ X [k] $ och $ H [k] $ , vi måste faktiskt beräkna en cirkulär faltning mellan de periodiska förlängningarna av signalerna $ \ tilde {x} [n] $ och $ \ tilde {h} [n] $ av perioder $ N $ .
Nyckeln är att välja rätt längd $ N $ av DFT: erna, som måste vara tillräckligt långa för att undvika tidsdomän aliasing i sekvensen $ \ tilde {y} [n] $ , returnerade av IDFT-beräkningen: $$ \ tilde {y} [n] = \ sum_ {r = – \ infty} ^ {\ infty} y [n-rN] \ tag {5 } $$
där $ y [n] $ är resultatet av den linjära fällningen som skulle returneras av den teoretiska inversen DTFT och $ \ tilde {y} [n] $ är det periodiska resultatet av den periodiska (cirkulära) faltning som impliceras av den inverterade DFT.
Observera att om någon av signalerna har oändlig längd, är det ”s INTE möjligt för att beräkna deras linjära faltning med DFT-metoden, eftersom $ N $ skulle gå till oändlighet, praktiskt taget omöjligt. Implementeringen av en linjär faltning via DFT har sedan följande steg:
-
Välj N enligt följande kriterier: $$ N \ geq L_x + L_h -1 $$ vilket garanterar en aliasfri rekonstruktion av den inversa signalen $ y [n] $ från dess DFT $ Y [k] $ av den beräknade cirkulära fällningen via $ X [k] H [k] $ .
-
Beräkna N-punkts DFT $ X [k] $ och $ H [k] $ av $ x [n] $ och $ h [n] $ .
-
Beräkna $ Y [k] = X [k ] H [k] $
-
Beräkna N-punkt invers DFT för $ Y [k] $ för att producera utdata $ y [n] $
Svara
Besvara dina frågor:
- Varför använder vi cirkulär faltning i DSP?
I DSP hanterar vi normalt diskreta sekvenser med begränsad längd (även om signalen som studeras är oändlig kan vi bara analysera en ändlig del av den åt gången ). När det gäller att behandla en signal måste sättet att bearbeta den vara implementerbar i en diskret logisk enhet (nämligen en enhet som inte kan lagra kontinuerliga värden eftersom dessa värden är oändliga och den har en begränsad mängd minne, lagring etc.). Detta förklarar varför Discrete Time Fourier Transform (DTFT) som omvandlar en diskret tidssekvens till en kontinuerlig frekvenssekvens inte kan implementeras i hårdvara. Linjär konvolution i tid motsvarar multiplikationen av två sekvenser DTFT, men eftersom DTFT inte kan implementeras i hårdvara är detta inte sättet att få linjär konvolution. Diskret Fourier Transform (DFT) omvandlar å andra sidan en diskret tidssekvens till en diskret frekvenssekvens och denna gör att den kan implementeras i Ändå multiplicerar 2 DFT-sekvenser i princip cirkulär faltning (linjär faltning kan också erhållas om tidssekvenserna tidigare har fyllts med tillräckligt med nollor, se förklaring nedan).Anledningen till att multiplicera 2 sekvenser DFT motsvarar cirkulär och inte linjär faltning kommer från det faktum att DFT för en begränsad tidslängdsekvens är ekvivalent med Discrete Fourier Series (DFS) med samma ändliga tidslängdsekvens periodiskt utsträckt (sammanfogning av ändlig tidslängdsekvens oändligt i tidsaxeln) som tas över en period. DFS är också periodiskt i frekvensdomän så linjär faltning gäller inte där (se 8.2.5 och 8.6.5 i Oppenheims diskreta tidssignalbehandling 3: e upplagan)
- Vilken är den viktigaste orsaken till att den används i digital bearbetning?
Den erhålls genom DFT-multiplikation och DFT implementeras enkelt i hårdvara. Dessutom finns det mycket effektiva algoritmer som FFT för beräkning av DFT
- Varför kommer begreppet cirkulär faltning oftare än linjär faltning?
Det beror på applikationen. Cirkulär faltning kan också ge linjär faltning. Till exempel, låt oss säga vi arbetar med signal A med längd N och signal B också av längd N (det kan också göras för olika längder). Den cirkulära fällningen kommer att ha längden N. För att få linjär faltning måste både A och B stoppas med nollor tills de uppnår en längd på minst 2 * N – 1. Applicera sedan DFT på båda, multiplicera dem och applicera invers DFT ger dig linjär konvolution
Svar
Här ”lite intuition:
När du hantera signaler digitalt, du har alltid att göra med en ändlig signal. Detta beror på att du bara kan bearbeta på en begränsad mängd datapunkter.
Problemet är dock att när du utför omvandlingar till frekvensdomänen med DFT, per definition kan en signal inte vara ändlig. Därför är det en implicit förändring av din signal från att vara ändlig, till att vara periodisk, även om din signal inte är periodisk, när du utför en DFT-operation.
signalens periodicitet leder till behovet av att använda faltning på ett cirkulärt sätt.
Svar
DFT / FFT är en användbar beräknings ”hammare”, men alla dess transformbaserade vektorer är cirkulära (heltal periodiska) i bländare och kan förlängas oändligt som periodiska funktioner, vilket vissa användare förväxlar med naturen hos deras inmatade data.
Om du nollar en tillräcklig mängd, ger cirkulär faltning samma resultat som linjär faltning, men till en något högre beräkningskostnad än cirkulär.
Lämna ett svar