MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV Abstrakt Measurement and analysis of electro-acoustical systems Petr Kopecký Λ Výkonnou metodou pro měření a analýzu soustav se jeví použití signálů MLS (Maximumlength Sequences). Impulsní odezva měřené soustavy je prakticky rovna vzájemné korelaci mezi vstupním (MLS) a výstupním signálem. Jednou z hlavních výhod této metody je její vysoká odolnost proti rušení. Protože kvalita zvukových karet roste, můžeme uvažovat o jejich využití pro měření v akustice. Tento článek se zabývá implementací systému pro měření metodou MLS pomocí zvukové karty. Abstract The MLS (Maximum-Length Sequences) method appears to be very efficient for systems measurement and analysis. The impulse response of the system under test is as a matter of fact equal to the cross-correlation of the input (MLS) and output signal. The one of the main advantages of this method is its high distortion immunity. Since the quality of computer sound cards is growing, we can think about using them for measurement in acoustics. This paper deals with the implementation of the system for MLS measurement utilizing computer sound card. Úvod MLS signály Pseudonáhodné signály maximální délky (MLS) jsou binární signály, které se obvykle generují jako posloupnost nul a jedniček em[n] pomocí posuvného registru se zpětnou vazbou (obr. 1). Posuvný registr 1 2 3 4 5 6 7 8 em[n] Součet modulo 2 Obr. 1 Generátor MLS s periodou L = 255 vzorků Do zpětné vazby se zavádí součet modulo dvě vybraných buněk posuvného registru. Je přesně vypočítáno [5], které buňky je třeba zavést do zpětné vazby, aby tak vznikl skutečně signál maximální délky. Λ Ing. Petr Kopecký, Katedra radioelektroniky, FEL ČVUT Praha, Technická 2, 166 27, Praha 6 tel. 02/2435 2111, e-mail: kopeckp2@feld.cvut.cz 24
Takto generovaný signál je periodický s periodou L =2 N 1; (1) kde N je počet buněk posuvného registru. Pro měření přenosových funkcí soustav se obvykle signál em[n] převádí na symetrický dvouúrovňový signál m[n] mapováním logické 1 na úroveň A a logické 0 na +A, kde A je amplituda signálu. Měření impulsní odezvy soustavy pomocí MLS Lineární stacionární soustava je zcela popsána pomocí impulsní odezvy h[n]. Soustava lze také popsat pomocí periodické impulsní odezvy h p [n], která je definovaná jako odezva soustavy na periodický jednotkový impuls ( 1 pro n mod L =0; ffi p [n] = (2) 0 jinde: Mezi impulsní odezvou soustavy h[n] a periodickou impulsní odezvou h p [n] téže soustavy platí následující vztah h p [n] =ffi p [n] Λ h[n] = 1 k= 1 ffi p [k]h[n k] = 1 k= 1 h[n + kl]: (3) Z tohoto vztahu je zřejmé, že pokud délka impulsní odezvy h[n] přesáhne délku sekvence L, dojde k deformaci původní odezvy. Tento jev se nazývá časový aliasing. Odezva soustavy y p [n] na vstupní periodický signál x p [n] je periodická a platí pro ni vztah y p [n] =x p [n] Ω h p [n] = x p [k]h p [n k]; (4) kde znak Ω představuje operátor cyklické konvoluce. Signály y p [n], x p [n] a h p [n] jsou periodické s periodou L. Pokud soustavu vybudíme MLS signálem m[n], lze její periodická impulsní odezva h p [n] jednoznačně stanovit podle vztahu [4] h p [n] : = m[n] Φ y p [n] = 1 m[k]y p [k + n]; (5) kde Φ představuje operátor cyklické korelace, m[n] je budicí MLS signál a y p [n] je odezva soustavy na tento signál. Zvuková karta ve Windows Problematika generování signálů v reálném čase pomocí zvukové karty v operačním systému Microsoft Windows je poměrně rozsáhlá a její podrobnější rozbor lze nalézt např. v [3]. Ovládání zvukových karet v operačním systému Microsoft Windows se děje přes standardní API (Application Programming Interface), což umožňuje psát pouze jednu verzi kódu 25
pro všechny karty od různých výrobců. Operační systém Windows, stejně jako všechny moderní operační systémy, umožňuje tzv. multitasking. Tento pojem znamená, že operační systém je schopen přepínat procesy mezi sebou tak, aby vznikl dojem, že všechny běží najednou. Předávánířízení od jednoho procesu k druhému označujeme jako přepínání kontextu. Plánovač úloh nám ovšem není schopen zaručit, kdy bude opět naší aplikaci po přepnutí kontextu přidělen procesor. Prakticky to znamená, že zatímco pracuje jiný proces, může dojít k vyčerpání vzorků pro přehrávání a to se zastaví. Tuto možnost nikdy nelze stoprocentně vyloučit, ale dostatečně dlouhou vstupní vyrovnávací pamětí lze snížit její pravděpodobnost na minimum. Čím bude ovšem vstupní fronta pro přehrávání delší, tím pomalejší bude odezva na změnu signálu pomocí ovládacích prvků programu. Prakticky se volídélka fronty mezi 100ms a 1s [3]. Dalším problémem je zpoždění začátku generování signálu zvukovou kartou od okamžiku zapsání vzorků do vstupní vyrovnávací paměti. To je pokaždé jiné a nelze s dostatečnou přesností určit. Tím vznikají nemalé problémy při měřenífázových charakteristik soustav. Program MeLiSa Program MeLiSa je softwarový měřicí systém pro měření přenosových funkcí soustav pomocí MLS signálů. Tento program je určen pro operační systém Microsoft Windows a byl vytvořen v prostředí Delphi. Program využívá zvukové karty jako měřicí karty v akustickém pásmu. Obecný popis programu Na obrázku 2 je zjednodušené blokové schéma měření přenosové funkce soustavy pomocí programu MeLiSa. Program MeLiSa Fázová char. ]fhx[k]g FFT h x [n] jhx[k]j Generátor MLS m[n] FHT korelace h x [n] m[n] x 5 [n] Filtr h f [n] Záznam odezvy x 1 [n] x 4 [n] Zvuková karta x 2 (t) Měřená soustava h(t) x 3 (t) Znázornění výsledků Kompenzace frekv. ch. ZK PC Obr. 2 Zjednodušené blokové schéma měření pomocí programu MeLiSa MLS signál m[n] prochází filtrem s impulsní odezvou h f [n]. Jedná se o filtr typu dolní propust sloužící k omezení spektra generovaného signálu, které je teoreticky nekonečné. Po filtraci se signál x 1 [n] zapíše do vstupní vyrovnávací paměti zvukové karty a ve zvukové kartěse převede na analogový signál x 2 (t),přičemž se uplatní jejívýstupní charakteristika. Po průchodu měřenou soustavou s impulsní odezvou h(t) je signál zaznamenán jako signál x 4 [n]. Tento 26
signál je konvolucí signálu x 2 (t) s impulsní odezvou soustavy h(t). Uplatní se také vstupní charakteristika zvukové karty. Každá zvuková karta ovlivnívýsledky měření svojí frekvenční charakteristikou. Zejména u méně kvalitních karet je toto zkreslení značné, a proto je třeba provádět kompenzaci vlivu frekvenční charakteristiky zvukové karty na výsledky měření. V ideálním případě by mělo platit h zk [n] Λ h k [n] =ffi[n]; (6) kde h zk [n] je vstupně-výstupní impulsní odezva zvukové karty a h k [n] je impulsní odezva bloku kompenzace frekvenční charakteristiky zvukové karty. Posledním krokem je výpočet impulsní odezvy soustavy pomocí cyklické korelace budicího MLS signálu m[n] se signálem x 5 [n]. Výsledkem je impulsní odezva h x [n], pro kterou platí h x [n] =h fp [n] Ω h p [n] Ω h zkp [n] Ω h kp [n]; (7) kde h fp [n], h p [n], h zkp [n] a h kp [n] jsou periodické impulsní odezvy, které vzniknou podle (3) z impulsních odezev h f [n], h[n], h zk [n] a h k [n]. Z impulsní odezvy h x [n] je možné dále určit pomocí FFT amplitudovéafázové spektrum. Výpočet cyklické korelace Cyklickou korelaci R pmy [n] dvou signálů m[n] a y p [n] lze zapsat ve tvaru R pmy [n] = 1 m[k]y p [k + n] = 1 m[k n]y p [k]: (8) Výslednou sumu ve vztahu (8) lze jednoduše vyjádřit pomocí maticového násobenívetvaru R pmy = 1 M LY; (9) kde R pmy a Y jsou sloupcové vektory, jejichž prvky jsou R pmy [ ] a y p [ ] ze vztahu (8), matice M L je čtvercová řádu L a obsahuje cyklicky zpožděné verze posloupnosti m[ ]. Například pro MLS řádu N =3bude matice M 7 vypadat takto M 7 = 0 B @ + + + + + + + + + + + + + + + + + + + + + 1 C A ; (10) kde symboly + a představují hodnoty +1 a 1. Pro výpočet maticového součinu (9) stačí pouze operace součtu a rozdílu, protože všechny prvky matice M L jsou ±1. Pro nalezení každého členu vektoru R pmy je potřeba právě L 1 součtů. Celkem se tedy musípočítat L(L 1) součtů, nebot výsledný vektor R pmy má L členů. Pokud bude L velké, tak lze říci, že počet potřebných součtů jepřibližně L 2. Typické délky používaných signálů jsou řádu 10 3 až 10 5,což znamená, že výpočet cyklické korelace podle vztahu (9) bude nepřijatelně dlouhý. Řešením tohoto problému je využití efektivního algoritmu, který je založen na rychlé Hadamardově transformaci (FHT) [1]. Rychlý algoritmus výpočtu Hadamardovy transformace 27
lze použít pouze pro specifickou třídu Hadamardových matic známou jako matice Sylvesterova typu. Tyto matice existují pouze v řádech 2 k, kde k je nezáporné celé číslo, a obsahují pouze prvky, které jsou ±1. Hadamardovou transformací Hfg vektoru získáme vektor Y, pro který platí Y = Hfg = H ; (11) kde H je Hadamardova matice Sylvesterova typu. Výpočet Hadamardovy transformace podle (11) lze provést pomocíprůtokové struktury, která je velmi podobná struktuře FFT. Celý princip efektivního algoritmu pro výpočet cyklické korelace je založen na tom, že matici MLS signálu M L lze převést na matici Sylvesterova typu permutacemi jejích řádků a sloupců [1]. Kompenzace frekvenční charakteristiky zvukové karty Existují vzásadě dva možné způsoby kompenzace frekvenční charakteristiky zvukové karty. První spočívá vevýpočtu cyklické konvoluce mezi MLS signálem m[n] a kompenzační impulsní odezvou h k [n] ještě před filtrací filtrem h f [n]. Výhoda tohoto postupu spočívá v tom, že výpočet lze provést velmi efektivně pomocí FHT [2]. Jeho nevýhoda vyplývá z nutnosti dodržení povoleného rozsahu čísel zapisovaných do vstupní vyrovnávací paměti zvukové karty, který je danýpočtem bitů zvukové karty. V důsledku výpočtu cyklické konvoluce dochází totiž ke vzniku velkých aplitud v signálu a k tomu, abychom dodrželi předepsaný rozsah, je potom obvykle třeba volit malou amplitudu MLS, což se projevísnížením odstupu signálu od šumu. Druhý možný způsob kompenzace je znázorněn na obr. 2. Zde dochází ke kompenzaci až poprůchodu signálu zvukovou kartou, kdy už nebezpečí přetečení nehrozí. Nevýhodou je ovšem to, že jedinýzpůsob výpočtu je podíl spekter. K tomu, aby bylo možné provádět kompenzaci frekvenční charakteristiky zvukové karty, je v obou případech třeba znát její frekvenční charakteristiku. Ta lze jednoduše změřit tak, že propojíme vstup zvukové karty s jejím výstupem a provedeme měření impulsní odezvy pomocí MLS. Přitom pochopitelně vyřadíme filtraci a kompenzaci frekvenční charakteristiky. Získáme tak impulsní odezvu h zk [n]. Kompenzace se potom provede podle vztahu 5 [k] = 4[k] H zk [k] ; (12) kde 5 [k] je spektrum signálu x 5 [n], 4 [k] je spektrum signálu x 4 [n] a H zk [k] =DF Tfh zk [n]g je vstupně-výstupní frekvenční charakteristika zvukové karty. Pro impulsní odezvu h k [n] potom platí ρ 1 h k [n] =DF T 1 H zk [k] Měření frekvenční charakteristiky reproduktorové soustavy ff : (13) Pro zjištění vlastností programu MeLiSa při měření soustav byla provedena zkušební měření frekvenční charakteristiky reproduktorové soustavy Philips FB840 programem MeLiSa a profesionálním systémem MLSSA. Měření bylo provedeno za stejných podmínek. Vzorkovací frekvence byla 75,48kHz v systému MLSSA a 48kHz v programu MeLiSa. Byl použit počítač s integrovanou zvukovou kartou. 28
! jhj[db] 0-10 -20-30 -40-50 -60 MLSSA MeLiSa 100 1000! f [Hz] 10000 Obr. 3 Amplitudová frekvenční charakteristika reproduktorové soustavy Philips FB840 změřená systémem MLSSA a programem MeLiSa Závěr Měřicí systém využívající zvukovou kartu pro měření v akustickém pásmu se ukazuje být velmi vhodným pro rychlá měření. Z výsledků měření je patrné, že i při použití průměrné zvukové karty lze dosáhnout dostatečné přesnosti. K hlavním výhodám tohoto systému patří nízkénáklady a snadná dostupnost. Projekt byl podporován Grantovou agenturou České republiky, grant č. 102/02/0156. Literatura [1] BORISH, J., ANGEL, J. B. An Efficient Algorithm for Measuring the Impulse Response Using Pseudorandom Noise. J. Audio Eng. Soc., July/August 1983, Vol. 31, No. 7, s. 478 488. [2] KOPECKÝ, P. Testování elektroakustických soustav pomocí měřicích signálů generovaných počítačem. [Diplomovápráce]. Praha, ČVUT FEL, 2002. [3] MACHÁČEK, T. Využití zvukové karty pro měřicí účely. In 3. Seminář Číslicové zpracování a analýza zvukových signálů: Praha, ČVUT FEL, 15.6. 2000. Praha: Česká akustická společnost, 2000. s. 33 48. [4] RIFE, D. D., VANDERKOOY, J. Transfer-Functin Measurement with Maximum-Length Sequences. J. Audio Eng. Soc. June 1989, Vol. 37, No. 6, s. 419 443. [5] VANDERKOOY, J. Aspects of MLS Measuring Systems. J. Audio Eng. Soc. April 1994, Vol. 42, No. 4, s. 219 231. 29