Miksi pyöreää konvoluutiota käytetään DSP: ssä? Miksi ei lineaarinen konvoluutio?
On marraskuu 29, 2020 by admin-
Miksi käytämme pyöreää konvoluutiota DSP: ssä?
-
Mikä on tärkein syy sen käyttöön digitaalisessa prosessoinnissa?
-
Miksi kiertokirjeen käsite konvoluutio tulee useammin kuin lineaarinen konvoluutio?
Kommentit
- huomaat, että kaikkiin vastauksiisi sisältyy maininta diskreetin Fourier-muunnoksen, joka toteutetaan tehokkaimmin FFT: n kanssa. DFT luonnostaan pidentää säännöllisesti sille välitettäviä rajallisia pituisia sekvenssejä (jotka ovat pyöreitä). pyöreä konvoluutio on harvoin tavoite . on tavoite. mutta kertomalla DFT ’ s $ X [k] $ ja $ H [k] $ yhdessä, se vastaa pyöreä -konvoluutiota. kahdesta jaksoittain laajennetusta sekvenssistä $ x [n] $ ja $ h [n] $ siirtyivät DFT: ille. Ongelma on sitten jotenkin tehdä siitä lineaarinen konvoluutio.
Vastaa
Annetaan diskreetti aikainen LTI-järjestelmä impulssivasteella $ h [n] $ , voidaan laskea vastauksensa mihin tahansa syötteeseen $ x [n] $ kirjoittamalla konvoluutio summa: $$ y [n] = x [n] \ tähti h [n] = \ summa_ {k = – \ infty} ^ {\ infty} {h [k] x [nk]} \ tag {1} $$
Ilman mitään muuta mainitaan, yllä oleva määritelmä on lineaarinen konvoluutio (aperiodinen konvoluutio) $ h [n] $ ja $ x [n] $ , jotka ovat aperiodisia diskreetin ajan jaksoja, joilla on mahdollisesti ääretön pituus, ellei toisin mainita. Tämä eroaa pyöreästä konvoluutiosta , joka on kahden jaksollisen jakson $ välillä N $ ja laskettu yhdellä jaksolla.
Voit laskea lineaarisen konvoluutio aikatasossa yhtälöllä 1 tai taajuusalueella käyttämällä seuraavaa DTFT (diskreettiaikaisen Fourier-muunnoksen) ominaisuutta: $$ y [n] = x [n] \ tähti [n] \ tarkoittaa Y (e ^ {j \ omega}) = X (e ^ {j \ omega}) H (e ^ {j \ omega}) \ tagia {2} $$
DTFT liittyy luonnollisesti lineaariseen konvoluutioon, koska se käsittelee teoreettisesti olemassa olevia aperiodisia sekvenssejä, jotka voivat ulottua $ – \ infty $ – $ \ infty $ heijastuu määrittävän summan rajoihin: $$ X (e ^ {j \ omega}) = \ sum_ {n = – \ infty} ^ {\ infty} x [n] e ^ {- j \ omega n} \ tag {3} $$
Kun haluat tehdä laskennan päälle käsin käyttämällä symbolisia lausekkeita signaaleille, kuten $ x [n] = a ^ nu [n] $ ja $ h [n] = b ^ nu [n] $ , voit laskea tulokset aika- tai taajuusalueilla yllä kuvatulla tavalla.
Lisäksi, kun haluat laskea saman tuloksen tietokoneella, voit käyttää aikatason lähestymistapaa, joka perustuu LCCDE-rekursioon (IIR-järjestelmät) tai suoraan äärelliseen konvoluutiosummaan (FIR-järjestelmät), MUTTA taajuusalueen lähestymistapa ei toimi DTFT: n kanssa, koska se on pääasiassa työkalu, jota käytetään signaalien matematiikan kehittämiseen & systeemiteoriaan, eikä se sovellu digitaaliseen tietokoneeseen toteutuksia, koska sen muuttuja $ \ omega $ on todellinen jatkuva numero.
Sen sijaan käytetään DFT (diskreetti Fourier-muunnos), joka on määritelty nimellä $$ X [k] = X (e ^ {j \ omega}) | _ {\ omega = \ frac {2 \ pi k} {N}} \ tag {4} $$
missä $ k = 0,1, …, N-1 $ ja $ N $ on DFT: n pituus, jota kutsutaan sitten nimellä N-piste Signaalin $ x [n] $ DFT.
Eq.4 tarkoittaa, että DFT-sekvenssi $ X [k] $ saadaan DTFT: n yhtenäisinäytteinä $ X (e ^ {j \ omega}) $ , joka on jaksollinen funktio, joten DFT $ X [k] $ on myös säännöllinen, mutta tarkastelemme vain sen ensimmäistä jaksoa $ k = 0 $ – $ N-1 $ .
Koska DFT-sekvenssit ovat luonnostaan jaksollisia, niin niiden -konvoluutiot ovat myös jaksollisia (pyöreitä).Siksi vaikka lineaarinen konvoluutio aperiodisignaalien välillä $ x [n] $ ja $ y [n] $ tarkoittaa I-DTFT-lauseke $$ y [n] = \ mathcal {I-DTFT} \ {X (e ^ {j \ omega}) H (e ^ {j \ omega}) \} $$ sen sijaan pyöreä kahden jaksollisen jakson välinen konvoluutio johtuu I-DFT-lausekkeesta $$ \ tilde {y} [n] = \ mathcal { I-DFT} \ {X [k] H [k] \} $$
Joten, koska haluamme laskea lineaarisen konvoluution kahden aperiodisen sekvenssin välillä $ x [n] $ ja $ h [n] $ , joiden pituus on $ L_x $ ja $ L_h $ , käyttäen taajuusaluetta niiden $ N $ pisteen DFT: n avulla, $ X [k] $ ja $ H [k] $ , meidän on itse asiassa laskettava pyöreä konvoluutio signaalien jaksollisten laajennusten välillä $ \ tilde {x} [n] $ ja $ \ tilde {h} [n] $ jaksoista $ N $ .
Avain on oikean pituuden valitsemisessa $ N $ DFT-tiedostoista, joiden on oltava riittävän pitkiä kaikkien verkkotunnusten välttämiseksi aliasing järjestyksestä $ \ tilde {y} [n] $ , palautettu IDFT-laskennan avulla: $$ \ tilde {y} [n] = \ sum_ {r = – \ infty} ^ {\ infty} y [n-rN] \ tag {5 } $$
missä $ y [n] $ on tulos lineaarisesta käänteestä, jonka teoreettinen käänteinen palauttaisi DTFT ja $ \ tilde {y} [n] $ ovat jaksollisen tuloksen jaksollisesta (pyöreästä) käänteestä, johon käänteinen DFT viittaa.
Huomaa, että jos jokin signaaleista on äärettömän pitkä, se ”s EI mahdollista laskemaan lineaarisen konvoluutionsa DFT-lähestymistavalla, koska $ N $ menisi äärettömään, käytännössä mahdotonta. Lineaarisen konvoluution toteuttaminen DFT: n kautta on sitten seuraava:
-
Valitse N seuraavien ehtojen mukaisesti: $$ N \ geq L_x + L_h -1 $$ , joka takaa käänteissignaalin
$ y [n] $ DFT: stä $ Y [k] $ lasketusta pyöreästä konvoluutiosta $ X [k] H [k] $ . -
Laske N-pisteen DFT: t $ X [k] $ ja $ H [k] $ / $ x [n] $ ja $ h [n] $ .
-
Laske $ Y [k] = X [k ] H [k] $
-
Laske $ Y [k] $ span N-pisteen käänteinen DFT > tuottaa tulos $ y [n] $
vastaus
Vastaaminen kysymyksiisi:
- Miksi käytämme pyöreää konvoluutiota DSP: ssä?
DSP: ssä käsittelemme yleensä äärellisen pituisia erillisiä sekvenssejä (vaikka tutkittava signaali on ääretön, voimme analysoida vain rajallisen osan kerrallaan ). Kun on kyse signaalin käsittelystä, sen käsittelytavan on oltava toteutettavissa erillisessä logiikkalaitteessa (nimittäin laitteessa, joka ei voi tallentaa jatkuvia arvoja, koska nämä arvot ovat rajattomat ja sillä on rajallinen määrä muistia, tallennustilaa jne.). Tämä selittää, miksi diskreettiaikaa Fourier-muunnosta (DTFT), joka muuntaa erillisen aikasekvenssin jatkuvaksi taajuusjaksoksi, ei voida toteuttaa laitteistossa. Lineaarinen konvoluutio ajassa vastaa kahden DTFT-sekvenssin kertomista, mutta koska DTFT: tä ei voida toteuttaa laitteistossa, tämä ei ole tapa saada lineaarista konvoluutiota. Diskreetti Fourier-muunnos (DFT) puolestaan muuntaa erillisen aikasekvenssin erilliseksi taajuusjaksoksi ja tämän avulla se voidaan toteuttaa Silti 2 sekvenssin DFT: n kertominen on periaatteessa ympyränmuotoisen konvoluutio (lineaarinen konvoluutio voidaan saada myös, jos aikasekvensseihin on aiemmin täytetty tarpeeksi nollia, katso selitys alla).Syy miksi 2 sekvenssin DFT: n kertominen vastaa pyöreää eikä lineaarista konvoluutiota, tulee siitä, että rajallisen ajanjakson DFT vastaa Diskreetin Fourier-sarjan (DFS), joka on saman äärellisen aikajakson jaksoittaisesti pidennetty (yhdistämällä äärellinen aikajakso äärettömästi aika-akselilla), joka on otettu yhden jakson aikana. DFS on myös jaksottainen taajuusalueella, joten lineaarinen konvoluutio ei sovellu sinne (katso Oppenheimin diskreetin aikakoodauskäsittelyn 3. painoksen 8.2.5 ja 8.6.5)
- Mikä on tärkein syy sen käyttöön digitaalisessa käsittelyssä?
Se saadaan kertomalla DFT ja DFT on helppo toteuttaa laitteistossa. Lisäksi DFT: n laskemiseksi on olemassa erittäin tehokkaita algoritmeja, kuten FFT.
- Miksi pyöreän konvoluution käsite tulee useammin kuin lineaarinen konvoluutio?
Se riippuu sovelluksesta. Pyöreä konvoluutio voi myös tuottaa lineaarisen konvoluution. Sanotaan esimerkiksi työskentelemme signaalin A pituuden N kanssa ja signaalin B myös pituuden N kanssa (se voidaan tehdä myös eri pituuksille). Pyöreän konvoluution pituus on N. Lineaarisen konvoluution saamiseksi sekä A että B on pehmustettava nollilla, kunnes niiden pituus on vähintään 2 * N – 1. Levitä sitten DFT molemmille, kerro ne ja käytä käänteisiä DFT antaa sinulle lineaarisen konvoluution
Vastaus
Täällä on vähän intuitiota:
Kun käsittele signaaleja digitaalisesti, olet aina tekemisissä rajallisen signaalin kanssa. Tämä johtuu siitä, että voit käsitellä vain rajallisella määrällä datapisteitä.
Ongelmana on kuitenkin se, että kun suoritat muunnoksia taajuusalueeksi käyttämällä DFT, määritelmän mukaan signaali ei voi olla rajallinen. Siksi, kun teet DFT-operaatiota, se on implisiittinen muutos signaalillesi rajallisesta, jaksolliseksi, vaikka signaali ei ole jaksollinen.
Tämä signaalin jaksottavuus johtaa tarpeeseen käyttää konvoluutiota pyöreällä tavalla.
Vastaus
DFT / FFT on hyödyllinen laskennallinen ”vasara”, mutta kaikki sen muunnospohjaiset vektorit ovat aukossa pyöreitä (jaksollisia kokonaislukuja), ja niitä voidaan laajentaa portaattomasti jaksollisina toimintoina, jotka jotkut käyttäjät sekoittavat syötetietojensa luonteeseen.
Jos nollataan riittävästi, pyöreä konvoluutio tuottaa saman tuloksen kuin lineaarinen konvoluutio, mutta hiukan suuremmilla laskentakustannuksilla kuin pyöreä.
Vastaa