hangfeldolgozás · 2016. 9. 12. · hangfeldolgozás dobos lászló 2016. szeptember 12. a hang a...

14
f = 20 20

Upload: others

Post on 07-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

Hangfeldolgozás

Dobos László

2016. szeptember 12.

A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk. A mikrofonok f® alkatrésze egy membrán, mely képesa leveg® rezgéseit átvenni és azt egy másik alkatrésznek továbbítani, melyazokat elektromos jellé alakítja oly módon, hogy a jel feszültsége megfelel amikrofon membránjára nehezed® pillanatnyi nyomásnak. A hangfeldolgozássz¶k értelemben véve az ilyen, f = 20 Hz�20 kHz tartományba es®, úgyne-vezett hangfrekvenciás jelek analízisével, transzformálásával foglalkozik. Alaboratóriumi mérés során megismert digitális technikák azonban más, nemfeltétlen hang jelleg¶, egyéb frekvenciasávba es® jelek esetében is alkalmaz-hatók.

Hangfeldolgozásra els®sorban távközlési eszközökben, valamint zenei ésegyéb média tartalmak elkészítésekor van szükség, ám ezzel párhuzamosan atechnikáknak számos érdekes �zikai és ipari alkalmazása is létezik. Ipari pél-daként megemlítjük különböz® mechanikus berendezések meghibásodásánakautomatikus detektálását. Normál m¶ködés mellett a berendezések jól meg-határozott, monoton módon berregnek, egy esetleges meghibásodás eseténviszont az addig jellemz® hangkibocsátás detektálható módon megváltozik.Mindenki számára ismert továbbá az orvosi felhasználású, háromdimenziósképalkotásra szolgáló ultrahang készülék, mely esetében a képalkotó algo-ritmusok alkalmazását minden esetben hangfeldolgozás el®zi meg. A �zikaterületér®l származó példának felhozzuk a gravitációshullám-méréseket, aholaz összeolvadó fekete lyukakból származó jeleket az 1-200 Hz tartománybanvárju

1. Hang digitális reprezentációja

A mikrofonok minden esetben analóg jelet állítanak el®, mely feszültsége (né-ha árama) minden id®pontban a membránra nehezed® nyomást reprezentálja.A feszültségjel folytonos, ami azt jelenti, hogy értéke egy adott értéktarto-mányban tetsz®leges valós értéket felvehet, és a jel bármely id®pillanatbanrendelkezik egy jól mérhet® értékkel, ld. 1. ábra. Ezzel szemben digitálisjel esetében mind a jel értékkészlete (feszültségértékek), mind az id®tarto-mány (mintavételi értékek) diszkrét (vagy más terminológiával: kvantált). Az

1

Page 2: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

u

t

1. ábra. Analóg jel. A jel mind az id®tartományban, mint értékkészletébenfolytonos.

analóg jelet legtöbbször egyenletesen, adott id®tartománybeli gyakorisággalmintavételezzük. Ezt a gyakoriságot nevezzükmintavételi frekvenciának, jele:fminta, ami azt adja meg, hogy másodpercenként hány mintavételt végzünk.Értelem szer¶en a mintavételek között eltelt id®

∆t =1

fminta

.

Érdekesebb kérdés a feszültségtartomány digitális reprezentációja. Ittegy el®re meghatározott feszültségtartományt választunk, melyet legtöbb-ször egyenletes, ritkábban logaritmikus lépésközzel osztunk fel el®re meg-adott számú kis tartományra, majd ezekhez a tartományokhoz egész számo-kat rendelünk. Ezeket az egész számokat ezután a digitális elektronikábólismert módon reprezentálhatjuk.

Számítógépes adatfeldolgozás során szükség van a hangminták vizualizá-ciójára. Mivel a képerny® felbontása a tipikus mintaszámhoz képest általábankicsi, így nincsen módunkban a pontos hullámforma felrajzolása. Helyettejellemz®en a 3. ábrához hasonló gra�konokat készítünk. Itt a kis felbontásmiatt a szinuszos-jelleg¶ hullámalak természetesen nem �gyelhet® meg, asatírozott terület nagysága viszont arányos a hang által hordozott teljesít-ménnyel. Természetesen ha az id®tartomány egy nagyon rövid intervallumátábrázoljuk, akkor meg�gyelhet®vé válik a jel szinuszos hullámzása.

1.1. Analóg-digitális és digitális-analóg átalakítók

Digitális hangfeldolgozáshoz mindenekel®tt digitalizálni kell az analóg jelet.A digitalizálást úgy nevezett analóg-digitális átalakító áramkörök (A/D kon-verterek) segítségével valósítjuk meg. Az ellentétes konverziót, vagyis digitá-

2

Page 3: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

u

t

Δt

Δu

2. ábra. Digitális jel. Az analóg jelet ∆t = 1fminta

id®közönként mintavé-telezzük, és az értékkészletet ∆u kis intervallumokra osztjuk. A különböz®jelszintek csak ∆u erejéig különböztethet®k meg egymástól. Ezt nevezzükaliasingnak, és ez az oka az ún. kvantálási torzításnak vagy is.

0.0 0.5 1.0 1.5 2.0t [sec]

1.0

0.5

0.0

0.5

1.0

3. ábra. Hangfájl vizualizációja. A kis felbontás miatt a s¶r¶n mintavételezetthang adatpontjai nem jeleníthet®k meg, így a tüskék a hanghullám általhordozott teljesítmény reprezentálják az id® függvényében.

3

Page 4: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

lis adatsor feszültségjellé való átalakítását � nem meglep® módon � digitális-analóg átalakítók (D/A konverterek) végzik.

Az analóg-digitális átalakítók a bemenetükre kapcsolt folytonos, analógjelet egy órajel-generátor által meghatározott mintavételezési frekvencia sze-rint számértékekké alakítják. Az áramkör kimenetén a jel feszültségszintjé-nek digitális reprezentációja jelenik meg. A digitalizált jel megfelel® digitálisilleszt® áramkörök segítségével memóriába írható, vagy akár közvetlenül aszámítógépbe is beolvasható. A legszélesebb körben elérhet® analóg-digitálisátalakítók éppen a számítógépek hangkártyáiban1 találhatók. Az A/D át-alakítók általában a gyártó által el®re meghatározott feszültségtartománydigitalizálására képesek, így a jel feszültségszintjét megfelel® analóg áram-körrel kell illeszteni az A/D konverter bemenetéhez. A/D konverterekre nemcsak hangfeldolgozáskor van szükség, hanem bármely olyan esetben, aholanalóg jelet kell diszkrétté alakítani. Erre egy közismert példa a képalkotóCCD-k (charge-coupled device) kimeneti A/D konverterei, melyek az egyespixelekben tárolt elektronokat �számolják meg� a kép kiolvasásakor. Az A/Dkonverterek részletes m¶ködésére itt nem térünk ki.

A digitális-analóg átalakítók (D/A konverterek) értelemszer¶en digitálisjelek folytonossá alakítására valók, és gyakorlatilag az A/D konverterek in-verzének tekinthet®k. D/A konverterekkel a gyakorlatban legtöbbször hangés (egyre ritkábban) videojelek analóggá alakításakor találkozunk. Fizikaikísérleti összeállításokban analóg vezérl®feszültséget igényl® eszközök meg-hajtásánál fordulnak el®.

1.2. A mintavételezési frekvencia és a Nyquist�Shannon-félemintavételi törvény

Digitalizáláskor mindig meg kell határoznunk, hogy a rögzítend® jelet mi-lyen id®tartománybeli felbontással kívánjuk mintavételezni. A mintavétele-zési frekvencia megszabja, hogy melyik az a legnagyobb frekvenciájú szinu-szos jel, amit az adott mintavételezési gyakoriság mellett még reprezentálnitudunk. A Nyquist�Shannon-törvény kimondja, hogy egy fB frekvenciájútisztán szinuszos jel digitális reprezentációjához legalább 2 · fB frekvenciá-val szükséges mintavételezést végezni. Ha úgynevezett sávlimitált a jelünk,mely Fourier-komponensei (ld. kés®bb) között nem szerepel fB-nél nagyobbfrekvenciájú komponens, akkor az eredeti analóg jel digitalizálás után egymegfelel® A/D konverterrel elvben információvesztés nélkül visszaállítható.Mivel az analóg jelek általában nem mentesek a mintavételezési frekvenciá-nál nagyobb frekvenciájú komponensekt®l (felharmonikusok), ezért az A/Dkonverterek bemenetét alulátereszt® sz¶r®n keresztül kell meghajtani. Ha eztnem tennénk meg, akkor a mintavételezett jel jelent®sen torzulna.

1A mai számítógépek már kivétel nélkül alaplapra integrált hangvezérl®vel készülnek,

régebben a hangkártya külön megvásárolandó b®vítmény volt.

4

Page 5: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

Hasonló korlát az alacsony frekvenciák esetében nem áll fenn, ott csakarra kell ügyelni, hogy a jelet megfelel®en hosszan mintavételezzük ahhoz,hogy a mély hangok teljes periódusa rögzítésre kerüljön. Ez hangfrekvenciásjeleknél a másodperc tizedrészét jelenti, viszont infrahang-detektorok eseté-ben, ahol akár a mHz (millihertz) tartományban is mérhetünk, gyakran órásminimális mintavételezési id®re is szükség lehet.

CD felvételek esetében a mintavételezési frekvencia történeti okokból44,1 kHz, mely legfeljebb 22,05 kHz-es frekvenciájú jel reprezentálására ele-gend®. Az emberi fül érzékelési tartománya legfeljebb 20 kHz-ig terjed, ígyez a mintavételezési frekvencia elegend® a hallható hangok szinte tökéle-tes visszaadására. Hangstúdiókban manapság gyakran használnak 96 kHz-es, vagy ennél is nagyobb mintavételezési frekvenciájú A/D konvertereket.Képrögzít® CCD-k kimeneti A/D konvertere gyakran a 100 kHz�10 MHztartományban m¶ködik.

1.3. Dinamikatartomány (felbontás)

A digitális jel felbontása azt adja meg, hogy a bemeneti feszültségtartományhány különböz® diszkrét értékét különböztetjük meg. Mivel a digitális jeletkettes számrendszerben reprezentáljuk, a felbontást bitben szokás megad-ni: egy n bites jel esetében 2n különböz® diszkrét feszültségértéket tudunkmegkülönböztetni. A felbontás közvetlenül meghatározza, hogy (a feszült-ségtartomány lineáris felosztása esetén) mekkora dinamikatartomány tudunkreprezentálni:

L = 20 · n · log10 2 [dB]

A felbontásnak els®sorban a digitalizáláshoz használt A/D konverter képessé-ge, másrészt a jelfeldogozáshoz használt elektronika (vagy számítógép) telje-sítménye szab korlátot. Hangjelek esetében ma általában 16 bites felbontásthasználunk, mely 65536 különböz® feszültségérték reprezentálására elegend®,és 96 dB dinamikatartományt jelent. Jobb min®ség¶ hangvezérl®k, hangstú-diókban használt rendszerek gyakran 24 bites A/D konvertereket használnak,ez 144 dB-nek felel meg. Mivel a digitális jelek felbontása véges, ezért el®-fordulhat, hogy egymáshoz közeli feszültségszintek digitális reprezentációjaegybe esik. Ezt az e�ektust nevezzük angol szóval aliasingnak.

Az emberi fül a hanger®t a hangnyomás logaritmusával arányosnak ér-zékeli, ezért gyakran érdemes a feszültségértékek kvantálását is logaritmi-kusnak választani. E megoldás el®nye, hogy kisebb bitszám mellett nagyobbdinamikatartományt lehet reprezentálni.

1.4. Csatornák száma

Amennyiben több forrásból származó (több mikrofonnal rögzített) hangotdigitalizálunk, úgy többcsatornás digitális jelhez jutunk. Fontos, hogy mindaz id®beli, mind a feszültségbeli mintavételezés azonos módon, szinkronban

5

Page 6: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

történjen, mert a kapott digitális adatsorok csak így lesznek összehasonlít-hatók. Sztereó hangfelvételek esetében két hangcsatornát használunk, melyvisszajátszásához két hangszóró szükséges. Agyunk a két fülünk által hallotthang fáziseltolódásából képes visszaállítani a hangforrások térbeli elhelyezke-dését, így két hangszóróval elvileg nem csak jobb-bal panorámát, de mélységihangérzetet is el® lehet állítani. A sokcsatornás mozi hangrendszerek a térér-zet további b®vítését teszik lehet®vé a hátunk mögött elhelyezett hangszóróksegítségével.

Fizikai mérések esetében általában sok, párhuzamosan mintavételezettjellel van dolgunk, melyek közül néhány a mérend® mennyiséget vizsgáló m¶-szerek kimenetéhez tartozik, míg más jelek a háttérzajt, kontroll-m¶szerekkimeneti feszültségét rögzítik. A háttérzaj rögzítése általában azért fontos,mert azt levonva a vizsgálandó jelr®l gyakran nagyobb jel-zaj arányú mérés-hez jutunk.

2. Hangfrekvenciás jelek tömörítése

Hanginformáció tárolására, illetve digitális hálózaton való továbbítására meg-felel® tárolókapacitás illetve sávszélesség szükséges. A hagyományos CD le-mez a digitális hanginformációt tömörítetlenül tárolja, ami másodpercenként1,4 Mbit (176 kB) információt jelent. Egy 80 perces CD-felvétel teljes mérete847 MB. Bár ezek a számok ma már nem szokatlanok, az elmúlt évtizedekalatt számos hangtömörítési eljárás látott napvilágot, mely a digitális hangin-formáció matematikai módszerekkel történ® redukálásával csökkenteni képesa tárolandó, illetve továbbítandó bitek számát. A hangtömörítési eljárásokigen fontos részét képezik napjaink alapvet® információs eszközeinek, a mo-biltelefonoknak, MP3-lejátszóknak, digitális rádió- és TV-készülékeknek.

Röviden bemutatunk egy könnyen érthet®, ún. veszteségmentes tömörí-tési eljárást. A veszteségmentes tömörítés lényege, hogy kitömörítés után adigitális jel az eredeti, tömörítetlen jellel teljesen megegyez® formában állít-ható vissza. Ez nem igaz a veszteséges tömörítési eljárásokra (melyekre ittbonyolultságuk miatt nem térünk ki), mint például az MP3 formátum.

A delta-kódolás során azt használjuk ki, hogy a hangjel frekvenciája rit-kán esik a Nyquist-frekvencia közelébe, tipikusan annál jóval kisebb. Ha kétegymás utáni minta értékének a különbségét nézzük, azt vehetjük észre, hogya különbségek eloszlása meglep®en keskeny. Az ötlet tehát az, hogy nem ma-gukat a mintavételi értékeket tároljuk el, hanem mindig az el®z® értékt®lvaló eltérést. A különbségek tárolására a legtöbb esetben 4 bit elegend® (aszokásos 16 helyett), így a hangminta közel 4-ed részére tömöríthet®.

6

Page 7: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

3. Id®függ® jel spektruma

Analóg jelnek egy �zikai mennyiség folyamatosan, folytonosan mért érté-két nevezzük. Ez legtöbbször valamilyen feszültségérték, amit az id® függ-vényében tekintünk. Egy folytonos, integrálható u(t) függvénynek létezik aFourier-transzformáltja, melyet az

s(f) =

∫ ∞−∞

u(t) e−2πjftdt

kifejezés de�niál, ahol az u(t) függvény, a t id® és az f frekvencia valós, míg azs(f) spektrum komplex érték¶. A komplex egységet i helyett az elektromos-ságtanban szokásos módon j-vel jelöljük, hogy megkülönböztessük az áramjelét®l.A Fourier-transzformációt úgy tekintjük, hogy a jelet különböz® frek-venciájú és fázisú szinusz- és koszinuszjelek összegeként állítjuk el®. A komp-lex érték¶ s(f) függvény abszolút értékének a négyzete az P (f) = |s(f)|2ún. spektrális teljesítmény vagy teljesítményspektrum, ami megadja a jel ffrekvenciához tartozó spektrális komponense által hordozott teljesítményt.Az inverz Fourier-transzformáció formulája:

u(t) =

∫ ∞−∞

s(f) e2πjftdf

3.1. Diszkrét Fourier-transzformáció

Digitalizált jelek esetében � lévén az id®tartomány diszkréten mintavételezett� a jel el®állításához elegend® véges számú szinuszjel összegét tekinteni:

u[tk] =∑i

si sin(2πfitk + φi),

ahol az si értékek a folytonos s(f) spektrum abszolút értékének felelnek meg,míg a φi értékek annak fázisának. Az fi frekvencia 0 és fB közötti értékeketvesz fel, ahol fB a mintavételezési frekvencia fele, azaz a Nyquist-frekvencia.

Diszkrét jelek Fourier-transzformáltja leggyorsabban a Fast Fourier Trans-form (FFT) nev¶ algoritmussal állítható el®. Ez az algoritmus kett®-hatványszámú mintából képes spektrumegyütthatókat számolni, ezért jelfeldolgozás-kor majdnem mindig kett® hatvány hosszúságú id®ablakot választunk.

A 4. ábrán egy diszkréten hangminta spektruma látható. Az ábrán aFourier-együtthatók abszolút értékét ábrázoljuk a frekvencia függvényében,a fázisinformáció nem szerepel az ábrán.

3.2. Digitális FFT sz¶r®k

Gyakori feladat, hogy egy digitalizált jelb®l bizonyos frekvenciatartománybaes® komponenseket kiemeljünk, vagy azokat elnyomjuk. Erre egyszer¶ meg-oldás kínálkozik, amennyiben Fourier-transzformáljuk a jelet és egy frekven-ciafügg® átviteli függvénnyel megszorozzuk a spektrális együtthatókat, majd

7

Page 8: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

0 5000 10000 15000 20000 25000f [Hz]

0.0

0.5

1.0

1.5

2.0

2.5

3.0

4. ábra. Diszkréten mintavételezett hangminta FFT-vel el®állított spektru-ma.

egy inverz transzformációval visszaállítjuk a hullámalakot:

u(tk) = FFT−1 {T (fi) · FFT [u(tk)]}

A fenti formulában a szorzást két vektor elemenkénti szorzataként kell érteni.

3.3. Spektrogram

Érdekes kérdés, hogy hogyan lehet egy diszkréten mintavételezett jel spekt-rumát az id® függvényében felrajzolni. Diszkréten mintavételezett jelek ese-tében egyetlen id®pillanathoz jelenként csupán egy valós számérték tartozik,ami nyilvánvalóan nem Fourier-transzformálható. Id®függ® spektrum megha-tározásához ezért a következ® módon járunk el. De�niálunk egy ún. id®abla-kot, mely kett®-hatvány számú mintából áll azért, hogy az FFT algoritmustlehessen rá alkalmazni. Ezután az id®ablakot folyamatosan odébb csúsztatjukaz id®tengely mentén, így a spektrumot minden id®pillanat egy kis környe-

zetében számítjuk ki. Eredményül egy spektrogramot kapunk, mely megadjaa diszkrét Fourier-együtthatókat az id® függvényében. Ha a spektrogramotábrázolni szeretnénk, akkor egy olyan ábrát készíthetünk, mely x-tengelyénaz id®t, y-tengelyén a frekvenciát jelöljük, és a Fourier-együtthatók abszolútértékét valamilyen módon színekkel kódoljuk. Az 5. ábra egy tipikus spekt-rogramot mutat.

A legegyszer¶bb id®ablak, amit használni szokás, az ún. boxcar ablak,mely az id®tartomány [t − dt, t + dt] tartományán 1, másutt pedig 0. Box-car ablak használata esetén a spektrogram némileg elkent lesz, hiszen az

8

Page 9: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

0.0 0.5 1.0 1.5 2.0t [sec]

0

5000

10000

15000

20000

f [H

z]

5. ábra. Hangminta spektrogramja. A színek az adott frekvenciájú kompo-nensekben hordozott teljesítmény jelölik.

FFT-t ekkor mindig egy hosszabb, akár tizedmásodpercet átölel®, id®tar-tományra futtatjuk. A túl �szögletes� ablak használata során ráadásul nem�zikai felharmonikusok is megjelenhetnek a spektrumban. A vázolt prob-lémák kiküszöbölésének céljából érdemes bonyolultabb ablakfüggvényt, pl.Hann-ablakot, Hamming-ablakot stb. használni. Az id®ablak méretét a min-ták számában, és nem id®egységben adjuk meg. A minták számából és a min-tavételezési frekvenciából az id®ablak másodpercben mért hossza könnyenkiszámítható.

4. Diszkrét idej¶ sz¶r®k

A Fourier-transzformáció �zikusok számára közismert és jól megértett m¶-velet, azonban magas számítási igénye miatt jelfeldolgozás céljára érdemeskerülni. Hangfeldolgozás során a konvolúcióm¶velet gyakran sokkal kevesebbszámolással elvégezhet®, mint a 3.2. fejezetben bemutatott FFT-alapú szem-léletes módszer.

Egy diszkréten mintavételezett u[tk] jel és egy b[tk] kernelfüggvény kon-volúciója

(b ∗ u)[tk] =∞∑

l=−∞b[tl]u[tk − tl]

Kauzális esetben az összegzés természetesen csak −∞-t®l 0-ig megy, és avalóságban a kernel hossza véges.

9

Page 10: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

T

T

T

b0xk yk

b1

b2

bn

Σ

Σ

Σ

6. ábra. FIR-sz¶r® elvi rajza. A kimenet nem csatolódik vissza.

A 6. ábra egy konvolúciós sz¶r® elvi rajzát mutatja. A T -vel jelölt négy-zetek egy mintavételezésnyi késleltetést jelentenek, a háromszögek er®sítést(ezek felelnek meg a fenti b kernelvektor elemeinek). Fontos megjegyezni,hogy a rendszer kimenete csak a bemen® jel aktuális, és korábbi értékeit®lfügg, a kimen® jelet nem csatoljuk vissza! Belátható, hogy bármilyen ilyenrendszer Dirac-impulzusra adott válasza id®ben véges lesz, legfeljebb a ker-nelvektor hosszával azonos hosszúságú. Úgy is mondhatjuk, hogy a rendszeremlékezete legfeljebb a kernellel azonos hosszúságú. Az ilyen rendszereketvéges impulzusválaszú rendszereknek, az angol rövidítésük alapján FIR2-sz¶r®knek nevezzük.

A FIR-sz¶r®kkel szemben léteznek ún. IIR-sz¶r®k is, melyek impulzusraadott válasza csak végtelen id® elteltével cseng le. Egy ilyen rendszer legegy-szer¶bben úgy valósítható meg, ha a kimenetet, illetve a kimenet késleltetettkorábbi értékeit valamilyen a[tk] kernelvektorral visszacsatoljuk, ld. 7. ábra.

Belátható, hogy mind FIR, mind NIR sz¶r®kkel megvalósíthatók a frek-venciasz¶r®k. FIR és NIR sz¶r®k tervezésére számos módszer létezik, melyekkülönböz® hosszúságú kernellel (különböz® rendben) valósítanak meg alul-,felülátereszt®, sávzáró, valamint sávátereszt® sz¶r®ket.

5. Autokorreláció és keresztkorreláció

Ha arra vagyunk kíváncsiak, hogy egy id®függ® jel mennyire hasonlít önma-ga ∆t id®vel való eltoltjára, akkor meghatározhatjuk az ún. autokorrelációs

2Finite impulse response

10

Page 11: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

T T

T T

T T

b0xk yk

a1

a2

an

b1

b2

bn

Σ Σ

Σ

Σ

Σ

Σ

7. ábra. IIR-sz¶r® elvi rajza

függvényt :

R[∆t] =

∞∑t=−∞

f [t] f [t−∆t]

A Wiener�Hincsin-tétel kimondja, hogy az autokorrelációs függvény Fourier-transzformáltja megegyezik a teljesítményspektrummal, azaz az eredeti jelFourier-transzformáltjának az abszolútérték-négyzetével.

Gyakran el®fordul, hogy két, azonos id®pillanatokban mintavételezett jelhasonlóságát szeretnénk megvizsgálni. A probléma, amit most konkrétan be-mutatunk a következ®: meg szeretnénk tudni, hogy egy hosszabb hangfájltartalmaz-e egy megadott rövid hangmintával azonos vagy ahhoz nagyonhasonló szakaszt. A módszer neve kereszt-korreláció és a következ®, amúgya konvolúciós összeghez nagyon hasonló, de�níción alapszik:

(f ? g)[tk] =∞∑

l=−∞f [tl] g[tk + tl]

Két diszkrét id®függ® jel keresztkorrelációja egy harmadik id®függ® jel lesz.Belátható, hogy a keresztkorrelációs függvény azokon az id®intervallumokonnagy, ahol a két jel leginkább hasonló.

6. Mérési összeállítás

A mérési összeállítás a 8. ábrán látható, melynek lényege egy PC számí-tógép és a benne elhelyezett hangkártya. A hangkártya két bemenettel ésegy kimenettel rendelkezik. A két bemenet egyike a �line-in�, amelyre egy

11

Page 12: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

oszcilloszkóp

hangszóró

mikrofon

line-in

sp-out

mic-in

függvénygenerátor

PC +

hangkártya

8. ábra. Mérési összeállítás

függvénygenerátor jele kapcsolódik, a másik �mic-in� névre hallgat és egymikrofon csatlakozik rá. A kimenetet �sp-out�-nak hívják és egy hangszóróthajt meg.

A bemenetek illetve a kimenet érzékenysége szoftveresen állítható. Ehhezkattintsunk kétszer a Windows tálcáján található hangszóróikonon. Ekkoregy Play Controlnak nevezett ablak jelenik meg. Indítsuk el ugyanezt mégegy példányban. A két példány közül az egyiket Option/Properties/Record-ing rádiógombbal állítsuk át Record Controllá. A Record Controlon választ-hatjuk ki a kívánt bemenetet (ahonnan a felvétel készül) (LineIn, Micr) ésannak érzékenységét, ld. 9. ábra.

A laborban hangjel rögzítésére és visszajátszására szokványos hangkár-tyát és a CoolEdit programot használjuk. Hangrögzítés el®tt válasszuk kia hangkártya megfelel® bemenetét (line vagy mikrofon). Hozzunk létre egyúj fájlt a következ® beállításokkal: mintavételi frekvencia: 44100 Hz, felbon-tás: 16 bit, mono. Az F10 billenty¶ lenyomására a program �belehallgat�a hangkártya bemenetére kapcsolt jelbe, és az ablak alján, egy dB skálán,kijelzi a jelszintet. Ügyeljünk arra, hogy a maximális jelszint −3 dB-nél nelegyen nagyobb, különben a felvétel túlvezérelt lesz, ami a hangos csúcsoklevágását, és a jel er®s torzulását eredményezi. A felvétel gomb megnyomá-sa után rögzítsük a jelet, majd mentsük el egy wav formátumú fájlba. Azelmentett fájlokat betölthetjük az iPython jegyzettömbbe, illetve az ott lege-nerált vagy áttranszformált hangjeleket kimenthetjük wav fájlba, és azokat aCoolEdit programmal lejátszhatjuk. Közvetlenül az iPython jegyz®könyvb®l

12

Page 13: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

9. ábra. Hangkártya felvételi és lejátszási jelszintjének beállítása. A PlayControl panel használható egyrészt a kimeneti hanger® állítására (bal olda-li potméter), másrészt meghatározhatjuk, hogy az egyes csatornák milyensúllyal adódjanak a kimeneti jelhez (mixer funkció, jobb oldali három pot-méter).

nincsen mód hangrögzítésre vagy hanglejátszásra. A python jegyz®könyvbemindig importáljuk a hanglab csomagot, mely leegyszer¶síti a wav fájlokkezelését és megjelenítését. Megjegyezzük, hogy míg a hangfájlok általában16-bites, egész számokkal reprezentálják a pillanatnyi jeler®sséget, a pythonkörnyezetben célszer¶bb a jelet a [−1, 1] intervallumba es® dupla pontosságúszámokkal ábrázolni.

6.1. A CoolEdit program ismertetése

A teljesség igénye nélkül, csak a mérés szempontjából lényeges funkciók ke-rülnek ismertetésre. A program kezeli a számítógépben található hangkár-tyát, ennek segítségével hanganyagok felvételére illetve lejátszására képes. Afelvett anyagok fájlba menthet®k, hogy azokat egy kés®bbi feldolgozás, szer-kesztés vagy netán egy egyszer¶ lejátszás céljából kés®bb ismét visszatölthes-sük. Az elmentett fájlok rögtön elérhet®vé válnak a python jegyz®könyvb®lis.

A CoolEdit program fontosabb feldolgozó funkciói: hanganyag vissza-fordítása, amplitúdó torzítások, késleltetések (visszhang), különböz® típusúsz¶r®zések, konvolúció, frekvencia spektrum analízis, valamint id®beni gyor-sabb/lassabb torzítások. Fontos, hogy a mérés során ne a CoolEdit sz¶r®ithasználjuk, hanem azokat python programmal saját magunk valósítsuk meg!

A program elindítása: Windows bootolása után kattintsunk a Start /Prog-rams/Hangfeld/Cool Edit Pro ikonra. Kilépés a programból File/Exit pa-rancs. Korábban tárolt hang�le betöltése feldolgozás (szerkesztés) céljából:

13

Page 14: Hangfeldolgozás · 2016. 9. 12. · Hangfeldolgozás Dobos László 2016. szeptember 12. A hang a leveg®ben terjed® longitudinális s¶r¶séghullám, melyet mik-rofonnal rögzítünk

10. ábra. A CoolEdit program kezel®gombjai

File/Open parancs. Új hanganyag rögzítése el®tt létre kell hozni egy üres �let(File/New parancs), melynek során meg kell adni a mintavételi frekvenciát,a csatorna számot mono/sztereo, ill. a digitalizálás felbontását 8/16/32 bit.Hanganyag rögzítése: magnóknál megszokott gomb segítségével. A programbal alsó sarkában található ez a gombcsoport, egérkurzort föléjük helyezvesárga súgó tájékoztat funkciójukról, ld. 10. ábra.

A program f®ablakában a betöltött vagy újonnan felvett hanganyag jel-alakját láthatjuk (View/Waveform view). Ez egy id®tartománybeli nézet, azegyes minták értékeit egyenes szakaszokkal köti össze a program. A vízszintestengelyen a minták sorszáma látható View/Display Time Format/Samples,vagy a korábban megadott mintavételi frekvencia segítségével a program id®értékekké skálázza át a tengelyt View/Display Time Format/Decimal. A +, �nagyítók segítségével az id®skála tetsz®leges mértékben zoomolható, egészenaddig a mértékig, hogy az egyes minták jól elkülönülve látszanak. Ekkora minták egérrel megfoghatók és értékük húzogatással változtatható. Két-szeri egérkattintásra a minta értékét dialógusablakban leolvashatjuk, vagyállíthatjuk. A jobboldali függ®leges tengelyen a minták értékei láthatók (pél-dául: egy el®jeles 16 bites szám �32768 és +32767 között vehet fel értéket).Ezt a skálát is zoomolhatjuk a jobboldali + és � nagyítók segítségével.

14