. 

BME Méréstechnika és Információs Rendszerek Tanszék


Digitális Jelfeldolgozás Laboratórium

 

 

Bemutatkozás
Elérhetőség
Munkatársak
Hallgatóinknak
Kutatás
Aktív zajcsökkentés
Hangszintézis
AD-átalakítók
Rezonátorok
Elosztott rendszerek
Ipari projektek
Publikációk
Eszközök
Kapcsolatok
DSP25
Delta-Szigma AD · AD-tesztelés

 

AD-átalakítók dinamikus tesztelése szinuszjellel

 

 

Elméleti háttér

 

Egy analóg-digitális átalakító dinamikus paramétereinek egy részét időtartománybeli módszerek felhasználásával meg lehet határozni. Ilyen pl. a görbeillesztés. A mérés során egy nagytisztaságú szinuszjelet adunk az átalakító bemenetére, és eltároljuk a mintavett értékeket egy y (y[n]) vektorban. A mérési eredményekre (ami egy számsorozat) szinuszjelet illesztünk. Az illesztés tulajdonképpen nem más, mint a bemeneti szinuszjel becslője. A mért értékek és a becsült értékek különbségéből lehet következtetni az átalakító dinamikus paramétereire. A különbség alapján számítható a hiba effektív értéke, amit összehasonlítva egy ideális átalakító hibájával, az átalakító effektív bitszáma (effective number of bits, Neff) és a SINAD (SIgnal-to-Noise And Distortion ratio) értéke meghatározható.

Tegyük fel, hogy az átalakító bemenetére adott

 


jelből - ahol A a jel amplitúdója, fi a jel frekvenciája, Φ a fázisa, ill. C az ofszetje - M mintát veszünk, fs mintavételi frekvenciával. Az y[n], n=1..M kimeneti mintákat tartalmazó oszlopvektorra szinuszjelet kell illeszteni az időtartományban. Két eset lehetséges: a jel frekvenciája ismert, vagy ismeretlen. Az első esetben 3 paramétert kell meghatározni (A, Φ, C) míg az utóbbi esetben 4 paramétert (A, Φ, C, fi). Tegyük fel, hogy a frekvencia ismert, és így szorítkozzunk a 3 paraméteres illesztés esetére (megjegyzés: a kutatás szempontjából lényegesen érdekesebb, ha nem ismert a frekvencia - lásd a kapcsolódó publikációkat). A legkisebb négyzetes hibájú illesztés az alábbi költségfüggvény minimalizálásával kapható meg


ahol , az ismeretlenek tartalmazó paramétervektor pedig p=[Acos(Φ), -Asin(Φ), C]T. Képezve a következő mátrixot:


 


a (2) egyenletben megadott költségfüggvény alakban írható, amelynek minimumhelyén a paramétervektor a következőképpen kapható meg:

 

Megjegyzés: ha a mintavételezés koherens, azaz egész számú periódust mintavételezünk a bemenő jelből, akkor a fenti megoldás zárt alakban is előállítható:


ami egy előjeltől eltekintve megegyezik a diszkrét Fourier-transzformáció adott bemenő frekvenciájú komponensének valós és képzetes része, valamint a DC komponens kiszámításával.

A becsült paramétervektor ismeretében az amplitúdó, fázis és ofszet becslője számítható (, ha és ha , valamint ), így megkaptuk a becsült bemeneti jelalak leírását is (). Ezt kivonva a mért jelből, megkaphatjuk a hibavektort (residual).

Definíció szerint a SINAD (SIgnal-to-Noise And Distortion ratio) megadja a jelteljesítmény, valamint a zaj és a harmonikusok együttes teljesítményének az arányát:


ahol


azaz az illesztett szinuszjel és a mért minták vektorának különbségéből képzett hibavektor (residual) varianciája. Mivel a SINAD fenti definíciója a bemenő jel effektív értékéhez viszonyítja a zaj nagyságát, ezért fontos, hogy az átalakító jól ki legyen vezérelve, de ne legyen túlvezérelve.

A hiba ismeretében az effektív bitszám is becsülhető, ahol a mért hiba effektív értékét az ideális kvantálási hiba effektív értékével hasonlítjuk össze:


ahol N az átalakító bitszáma, Q pedig a kód nominális szélessége.

 

Az alábbi ábra érzékelteti a lépéseket egy ideális kvantáló esetében (MATLAB szimuláció). Az eredeti szinuszjelet kvantáljuk, a kvantált adatokra a fenti képletekkel illesztünk szinuszjelet, majd a kettő különbségét képezve megkapjuk a maradék-vektort, ami ideális esetben csak az átalakító kvantálási hibáját tartalmazza.

Gyakorlati eredmények

 

A kutatás kezdeti szakaszában elkészült a fentebb már említett IEEE-STD-1241 szabvány szinuszillesztő rutinjainak MATLAB-implementációja. Ez letölthető és használható a http://www.mit.bme.hu/projects/adctest/ címről. Az alábbi két kép a program be- és kimeneti ablakát mutatja.

 

 

 

 

A kutatás érdemi részében pedig a szabványban nem specifikált jellemzők definiálása történt (pl. pontos leállási feltétel a bitszám függvényében), illetve a nem ideális hatások vizsgálata folyik (pl. mekkora hibát okoz, hogy a szinusz kvantálási hibája nem jól modellezhető Gauss-eloszlással, ilyenkor ugyanis a legkisebb négyzetes illesztés nem a legjobb becslő. Vagy: milyen hibát okoz, hogy a szinuszjel hisztogramja nem egyenletes, ezért a szélein nagyobb súllyal vesszük figyelembe az átalakító hibáit. Mit lehet tenni, hogy ezt kiküszöböljük, stb.)

 

Ajánlott publikációk:

 

T. Z. Bilau, T. Megyeri, A. Sárhegyi, J. Márkus, and I. Kollár, "Four-parameter fitting of sine wave testing results: Iteration and convergence," Computer Standards and Interfaces, vol. 26, no. 1, pp. 51-56, Jan. 2004.

Javaslatok a négyparaméteres illesztés javításához: kezdőérték meghatározása interpolált FFT-vel; az ismeretlen frekvencia meghatározásának korlátai a kvantálási hiba függvényében (parametrikus levezetés és elméleti korlát),

J. Márkus and I. Kollár, ADC Test Data Evaluation Program for MATLAB, Budapest University of Technology and Economics, Department of Measurement and Information Systems, 2006.

A három- és négyparaméteres szinuszillesztést demonstráló program. A programban beállíthatók különböző iterációs paraméterek is: pl. leállási feltétel, kezdőérték-számítási módszer (megadott, FFT, IpFFT).

 

 


 További információ: Márkus János