• Nem Talált Eredményt

Bitmélység, kvantálás

In document A jelfeldolgozás matematikai alapjai (Pldal 195-199)

A mintavételezés kapcsán felmerül egy másik fontos kérdés: a mintavételezési tétel meghatározza ugyan, hogy milyen frekvenciával kell mintavételezni egy jelet, azt azonban nem mondja meg, hogy a mintavételezett folytonos tartományból származó értéket hogyan képezzük le digitális, diszkrét jellé. Más szavakkal kifejezve:

hány biten, azaz milyen pontossággal ábrázoljuk az egyes mintavételezett értékeket. Az ábrázolási pontosságot a digitális jelfeldolgozásban bitmélységnek hívják.

Érezhető módon egy 1 bitmélységgel ábrázolt digitális jel csak 0-kat és 1-eseket tartalmaz, azaz a mintavételezett jel értékét minden mintavételezési pontban vagy 1-re vagy 0-ra képezzük le. 2 bit mélységű mintavételezésnél már pontosabb az ábrázolás: a folytonos értékeket egy négy elemű diszkrét skálához rendeljük. 8 bit mélységen, ami például a digitális képfeldolgozásban széleskörűen elfogadottnak tekinthető, a mintavételezett értékeket egy 256 elemű skálához rendelik, míg a nagypontosságú képalkotásban a beérkező jeleket 16 bitre, azaz 65536 diszkrét elemre kvantálják.

Felmerül a kérdés, hogy a kvantálást milyen módon oldhatjuk meg, illetve oldják meg valós jelfeldolgozó alkalmazásokban? N biten történő ábrázolás esetén lineáris legyen a hozzárendelés a diszkrét elemhez, vagy esetleg nemlineáris, azaz bizonyos tartományokban részletesebb, más tartományokban durvább?

A digitális jelfeldolgozás során az elsődleges kvantálást a mérőműszerben megjelenő analóg-digitális (A/D) átalakító áramkör végzi, amely jellemzően lineáris, egyenlő szélesség szerinti kvantálást valósít meg: jelölje a beérkező, értékeiket folytonos intervallumból felvevő mintákat és valósítsunk meg M bitmélységű kvantálást, azaz x értékeit különböző egész értékhez szeretnénk hozzárendelni. A jel fizikai tulajdonságai, illetve a mintavételező berendezés paraméterei alsó és felső korlátot szabnak a beérkező jel nagyságának, így feltehetjük, hogy . Ekkor az intervallumot felbonthatjuk N részintervallumra, melyek szélessége egyaránt . A beérkező x jelhez azt a

számot rendeljük, melyre teljesül. Ha az

értéktől kisebb vagy az értéktől nagyobb értékű x minta érkezik, akkor ahhoz rendre 0 vagy értéket rendelünk.

A gyakorlatban sokszor előfordul, hogy a minta ábrázolása nem megfelelő bitmélységen történik, például sok statisztikus tanulóalgoritmus esetén célszerű nem túl nagy bitmélységet használni, mert az exponenciálisan növeli az algoritmusok tár és műveletigényét. Ilyen esetekben az A/D átalakító által már kvantált mintákat mesterségesen újrakvantálhatjuk, s a minta sajátosságainak ismeretében akár nem-lineáris kvantálást is megvalósíthatunk, ha a minta által felvehető értékek valamely tartományában nagyobb pontosságot szeretnénk kapni. Újrakvantálásra használhatjuk például az alább bemutatásra kerülő módszereket:

Legyen adott egy számsorozat, melyet N darab egész számhoz szeretnénk, rendelni, azaz bitmélységgel kvantálni:

1.

Egyenlő szélesség szerinti kvantálás – Az és által

meghatározott intervallumot N egyenlő hosszúságú, diszjunk részintervallumra osztjuk, melyek uniója kiadja az eredeti intervallumot. Az egymást követő N darab intervallum hossza , és a j-edik

intervallumot módon definiáljuk. Egy számhoz a j diszkrét

értéket rendeljük, ha a j-edik intervallumba esik. Az értéket természetesen az utolsó intervallumhoz rendeljük, annak ellenére, hogy ez ellentmond a formalizmusnak.

2. értékhez a j egész számot rendeljük, ha az a j-edik intervallumba esik. Az értéket természetesen itt is az utolsó intervallumhoz rendeljük, annak ellenére, hogy ez ellentmond a formalizmusnak.

3.

K-közép klaszterezés alapú kvantálás – Alkalmazzuk a k-közép klaszterezés algoritmusát a diszkretizálandó számhalmazra N klaszter-szám paraméterrel. Az algoritmus eredményeként előáll N darab valós szám, amelyek az értékek csoportosulásainak helyét, azaz a klaszterközéppontokat adják. Állítsuk a klaszterközéppontokat növekvő sorrendbe, s hivatkozzunk ezekre módon. Ekkor a j-edik

intervallumot a klaszterközepek segítségével módon definiáljuk. Az

valós értékhez a j számot rendeljük, ha az a j-edik intervallumba esik. Természetesen az első és utolsó intervallum alsó és felső korlátjának meghatározásakor nincs és klaszterközéppontunk, így az első és utolsó intervallum alsó és felső korlátját rendre minusz végelennek, illetve plusz végtelennek kell tekintenünk.

4. Összefoglalás

A Shannon–Nyquist-féle mintavételezési tétel a jelfeldolgozás egyik leggyakrabban alkalmazott eredménye. A tétel elégséges feltételt ad arra, hogy mikor tudjuk mintáiból az eredeti jelet hiba nélkül visszaállítani, és a szorosan kapcsolódó Shannon–Whitaker-formula megadja azt az interpolációs eljárást, amelyet a visszaállítás során alkalmaznunk kell. Fontosnak tartjuk ismét kiemelni, hogy a Shannon–Nyquist tételben megfogalmazott feltétel nem szükséges feltétel. Bizonyos körülmények között akkor is visszaállíthatunk hibátlanul egy jelet, ha nem a Shannon–Nyquist-tételnek megfelelően választjuk meg a mintavételezési frekvenciát. Ez utóbbi esetek ma is aktív kutatások tárgyát képezik.

A mintavételezési tétel ideális esetre, végtelen számú minta vételezésére vonatkozik. Véges számú minta vételezése esetén a spektrum változik, s ezt szem előtt kell tartsuk, amikor egy valódi jelből származó mintával,

illetve annak spektrumával dolgozunk. A spektrumban megjelenő oldalharmonikusok hatását redukálhatjuk ha növeljük a minták számát, vagy ablakozó függvényt alkalmazunk.

Az utólsó szakaszban megismerkedtünk a bitmélység fogalmával, illetve az egyenlő szélesség szerinti kvantálás módszerével, amit a legtöbb A/D átalakító alkalmaz. Bemutattunk röviden néhány további kvantálási eljárást, mellyel egy minta bitmélységét az igényeknek megfelelően, akár nem-lineárisan is csökkenthetjük.

A következő fejezetben azt vizsgáljuk meg, hogy mihez tudunk kezdeni a Fourier-analízis eszközeivel, ha véges számú, kvantált mintával, azaz egy valós (esetleg komplex) számokból álló vektorral rendelkezünk.

5. Feladatok

7.5.1. Feladat. (**) Milyen mintavételezési idővel kell mintavételeznünk az alábbi jeleket ahhoz, hogy azokat a mintákból hibátlanul vissza tudjuk állítani?

1.

2.

3.

4.

7.5.2. Feladat. (**) Egy digitális fényképezőkép CCD csipjére érkező jel egy adott pillanatban egy mintázatot testesít meg, például egy kerítés képét. Ha ezen kép előállításához szükséges legnagyobb térbeli hullámszám 228 , mekkoráknak kell lenniük az egyes

7.5.4. Feladat. (**) Milyen gyorsan forghat maximálisan egy kétágú propeller, hogy annak 25 FPS-sel készült felvételén a forgás a valóságnak megfelelő irányban jelenjen meg, annak pályája a mintákból rekonstruálható legyen?

7.5.5. Feladat. (**) Készítsen C nyelvű programot, mely paraméterként kapja két szinuszoid súlyozott összegét az alábbi alakban:

f(t)= 2sin(2t) + 3cos(-2t)

A program írja a kimenetre a függvény rekonstruálható mintavételezéséhez szükséges Nyquist-frekvenciát!

7.5.6. Feladat. (***) Készítsen C nyelvű programot, mely paraméterként kapja két szinuszoid súlyozott összegét az alábbi alakban:

f(t)= 2sin(2t) + 3cos(-2t)

Természetesen a fenti bemenetnél az együtthatók, illetve a frekvenciák változhatnak.

Paraméterként kap a program továbbá egy N egész számot, valamint egy T időértéket, s a program a , pontokban mintavételezi a függvényt. A program további bemenetként vár egy valós t számot, s a kimenetre írja a t helyen az eredeti függvény értékét, valamint a mintákból a Shannon–Whittaker-formulával előállított függvény értékét.

7.5.7. Feladat. (**) Készítsen C nyelvű programot, amely első parancssori argumentuma egy egész szám (N), a parancssori argumentumok fennmaradó része pedig egy valós számsorként értelmezendő. A program hajtson végre a valós számokon bitmélységű, egyenlő szélesség szerinti kvantálást, és írja a kapott diszkrét számsort a kimenetre!

7.5.8. Feladat. (**) Készítsen C nyelvű programot, amely első parancssori argumentuma egy egész szám (N), a parancssori argumentumok fennmaradó része pedig egy valós számsorként értelmezendő. A program hajtson végre a valós számokon bitmélységű, egyenlő frekvencia szerinti kvantálást, és írja a kapott diszkrét számsort a kimenetre!

7.5.9. Feladat. (**) Készítsen C nyelvű programot, amely első parancssori argumentuma egy egész szám (N), a parancssori argumentumok fennmaradó része pedig egy valós számsorként értelmezendő. A program hajtson végre a valós számokon bitmélységű, k-közép klaszterezés szerinti kvantálást, és írja a kapott diszkrét számsort a kimenetre!

7.5.10. Feladat. (***) Határozza meg a koszinusz ablakozó függvény Fourier-együtthatóit és értelmezze az ablak Fourier-térben gyakorolt hatását a konvolúciós tétel segítségével!

7.5.11. Feladat. (***) Határozza meg a Hann-féle ablakozó függvény Fourier-együtthatóit és értelmezze az ablak Fourier-térben gyakorolt hatását a konvolúciós tétel segítségével!

7.5.12. Feladat. (***) Határozza meg a Hamming-féle ablakozó függvény Fourier-együtthatóit és értelmezze az ablak Fourier-térben gyakorolt hatását a konvolúciós tétel segítségével!

7.5.13. Feladat. (***) Határozza meg a Blackman-féle ablakozó függvény Fourier-együtthatóit és értelmezze az ablak Fourier-térben gyakorolt hatását a konvolúciós tétel segítségével!

7.5.14. Feladat. (***) Készítsen C nyelvű programot, mely parancssori argumentumként vár egy valós T értéket, illetve egy egész N számot. A program határozza meg numerikus integrálással koszinusz, Hann, Hamming- és Blackman-ablakok indexű Fourier-együtthatóit a T hosszúságú intervallumra vonatkozólag.

7.5.15. Feladat. (*) Hány megabájton tárolható 5 perc CD minőségű sztereo hangfelvétel, ha mintákat 16 biten kvantáljuk?

7.5.16. Feladat. (*) Hány megabájton tárolható 90 perc DVD-Audio minőségű sztereo hangfelvétel, ha mintákat 16 biten kvantáljuk és a mintavételezési frekvencia 96 MHz?

7.5.17. Feladat. (***) Lássa be a Poisson-összegzésről szóló tétel állításának általunk nem bizonyított részeit a megadott bizonyítással analóg módon!

8. fejezet - Diszkrét

In document A jelfeldolgozás matematikai alapjai (Pldal 195-199)