Skip to main content

Szenzorok eltolt fázisú mintavételezése

Megjelent: 2019. május 17.

microchip lidEgy pulzus-oximetriai alkalmazás 

Adott egy orvostechnikai alkalmazás (pulzus-oximetria), adottak a megvalósításának eszközei (ledek, fotodiódák, AD-konvertert is tartalmazó mikrovezérlő). Következik-e vajon ebből, hogy a legkézenfekvőbb megoldás is adott? Mint a cikk szerzője is rámutat: az orvostechnikától látszólag idegen szórt fázisspektrumú kommunikáció ötletének „importálása”, és a digitális jelfeldolgozási módszerek kreatív használata előnyös tulajdonságok megvalósítása előtt nyitja meg az utat. Érdemes tehát odafigyelnünk az „idegen pályákon” használt elektronikai megoldásokra is.

 

Nemrégiben egyik munkatársunk olyan probléma megoldásán dolgozott, amely minden okosóra, viselhető fitneszmonitor és hasonló termék szerves része. A legnagyobb nehézségek egyike, amivel meg kellett birkóznia, ez volt: hogyan lehet jobb jelminőséget elérni a pontosabb oximetriai mérési adatok érdekében.
A megoldás egy korábban kidolgozott, „szórt spektrumú” eljárást felhasználó speciális alkalmazásban található meg. Ugyanaz az eljárás alkalmazható a jel-zaj viszony javítására egy olyan többszenzoros megoldásban is, mint a pulzus-oximetria.

 

microchip figure1

1. ábra  Egy reflexiós elven működő pulzus-oximetriai alkalmazás


Kezdjük azzal, hogy mi az a pulzus-oximetria, és utána térjünk át az új eljárás ismertetésére. Az 1. ábrán egy demonstrációs alkalmazás tömbvázlata látható, amelyre még többször fogunk hivatkozni a cikk folyamán.
A pulzus-oximetria mérésével a laikus is találkozik, ha megfordul egy orvosi rendelőben[1]. A nővér bejön, leméri a páciens testsúlyát, majd egy csipeszt helyez az ujjára, amellyel megméri a szívfrekvenciát és a vér oxigéntelítettségét vörös és infravörös (Infra Red – IR) ledek fényének segítségével. Ennél összetettebb monitorkészülékeket használnak a műtőkben, amelyek akár nyolc különböző hullámhosszúságú fénnyel is mérhetik a szívverés frekvenciáját, a vér oxigéntelítettségét, szén-monoxid koncentrációját és más olyan jellemzőit, amelyek lényegesek a páciens állapotának az altatás közbeni felügyelete során.
Ha egyszerre több jelforrást (a pulzus-oximéter esetében például több ledes érzékelőt) használunk, hasonló problémákkal kell szembenéznünk, mint a többfelhasználós kommunikációs rendszereknél. Minden led ugyanazon a szenzoron (fotodiódán) osztozik. Ennek a leggyakoribb megvalósításában egy adott sorrend szerint egymás után kapcsoljuk be a különböző hullámhosszúságú fényforrásokat, és mindegyik fényforrás esetében megmérjük a fotodióda kimeneti jelét. Minden fényforráshoz egy saját „időszelet” van rendelve, amikor a fotodióda elvégezheti a jel intenzitásának mérését. Ezt időosztásos multiplexelésnek (Time Division Multiplexing – TDM) nevezzük, aminek fő hátránya, hogy minél több különböző hullámhosszú fényforrást alkalmazunk annak érdekében, hogy még összetettebb vérgáz-telítettségi adatokat kaphassunk, annál tovább tart a teljes mérési ciklus – amely során a műszer elvégzi az összes fényforráshoz tartozó mérési eredmény begyűjtését, és ezzel csökken a teljes rendszerrel elérhető maximális mérési gyakoriság. Ám mivel a jel, amit megpróbálunk megmérni, a véráramnak a verőerekben való lökésszerű továbbítódása miatt időben változik, a mérési eredmények torzulnak attól függően, hogy milyen sorrendben hajtjuk végre az egyes érzékelők jelének begyűjtését (2. ábra). Mindkét említett problémát segít megoldani, ha magas mintavételi frekvenciát használunk, de az utóbbi szempont miatt a jelenleg használt eljárások szerint „háttérzaj-méréseket” kell végeznünk, amelyek eredményeit ki kell vonni az egyes jelforrások jeléből.

 

microchip figure2

2. ábra  A mintavételi jeltorzítás hatásának szemléltetése


A módszer, amit ehelyett megvalósítottunk, a vezetékmentes kommunikációban használt „kódmultiplexelésen alapuló többszörös hozzáférés” (Code Division Multiple Access – CDMA).
E módszer szerint a rendszer például Gold-kóddal[2] meghatározott sorrendű mintavételt alkalmaz, amelyek ereményeképpen igen alacsony keresztkorrelációs értéket mutató mintasorok keletkeznek. Ez lehetővé teszi, hogy több „felhasználó” osztozzon ugyanazon a spektrumszakaszon úgy, hogy az adataik között csak nagyon kis mértékű „áthallás” keletkezzen. Ez a minimális mértékű áthallás a digitális kommunikációs rendszerek működését érdemben nem akadályozza, ám a precíz analóg mérések végrehajtásánál problémát okozhat. (Ha az olvasó nem járatos e tárgykörben, itt az ideje, hogy utánaolvasson egy kicsit a CDMA, a Gold-kód és a szórt spektrumú kommunikáció alapjainak – A szerző megj.).
Az általunk használt eljárás, amelyet a pulzus oximéter megvalósításakor követtünk, egy, a Gold-kódolással előállítható „maximális hosszúságú” (Maximum Length – ML) bináris álvéletlen jelsorozaton alapul, ám ahelyett, hogy több ilyen jelsorozatot használtunk volna egymástól függetlenül minden egyes jelforrás jeleinek mintavételezéséhez, ehelyett egyetlen jelsorozat fázisban eltolt[3] „példányait” használtuk fel az egyes jelforrásokhoz. Ezt a módszert „fáziseltoláson alapuló megosztásnak” (Phase Division Multiplexing – PDM) nevezzük a továbbiakban. A módszer az ML-jelsorozatok néhány sajátosságát hasznosítja, amelyeket a továbbiakban ismertetünk.

 

microchip figure3

3. ábra  Egy PDM-példa. Az X tengelyen az idő, az Y tengelyen pedig az amplitúdó van feltüntetve, tetszőleges egységekben

 

A „maximális hosszúságú” (ML) jelsorozatok tulajdonságai

Az ML-szekvenciák onnan kapták a nevüket, hogy az adott (n) bites léptetőregiszterben kódolható lehetséges legnagyobb számú (nem nulla) állapotot tartalmazzák. Így például, ha n=4 bites kódolást alkalmazunk, azzal legfeljebb 2n-1 különböző állapot kódolható. Ennek eredményeképpen a kimenő jelsorozat majdnem ugyanannyi „nullás” és „egyes” értéket tartalmaz (egészen pontosan 1-gyel kevesebb „nullást”, mint „egyest”). Szokás az ML-jelsorozatokat előállító eszközök kimenetét 1 és –1 értékű jelek sorozataként ábrázolni (az utóbbival a „nullás” értékeket helyettesítve), mivel ennek az ábrázolásmódnak van néhány hasznos tulajdonsága. Egy ML-jelsorozat autokorrelációs függvénye egyetlen, 2n-1 amplitúdójú „csúcs” a nulla fázistolásnál, a többi fázistolásnál konstans –1-es értékkel.
Ha a kimeneti jel fázistolása nulla, a korrelációfüggvény csúcsértéke 2n-1. Az ettől különböző összes többi fázistolásnál a függvény 0 értékű. Ez azt jelenti, hogy ha ugyanazt a jelet ismételjük meg eltolt fázissal, a korrelációszámítással el tudjuk ezeket egymástól különíteni. Ezt a tulajdonságot mutatja be a 3. ábra. A felső függvény az ML-jelsorozatot ábrázolja. Ennek eltolásával szimuláltuk a vörös és IR ledeket tartalmazó szenzorok jelét. Az analóg/digitális átalakító (ADC) a szenzordiódának egyszerre mindkét led jelére adott válaszfüggvényét (mintegy a két külön válaszfüggvény összegét) „látja”. A legalsó diagram e jelnek és a referenciajelnek a ciklikus keresztkorreláció-függvényét ábrázolja. A korrelációfüggvény két csúcsa közötti „távolság” a vörös és IR-jel közötti fázistolás értékével azonos. Az összes többi fázistolásnál a korrelációfüggvény zérus értékű. Ez azt jelenti, hogy akár további 13 szenzort is beépíthetnénk anélkül, hogy az hatással lenne a mérési ciklusidőre vagy a többi jel mérési eredményeire. Ez komoly előny a hagyományos időosztásos (TDM) mérési módszerhez képest.

 

microchip figure4

4. ábra  Egy példa a lineárisan visszacsatolt léptetőregiszter megvalósítására (a regiszterhossz 7, 4, a visszacsatolási leágazás helye = 3)

 

Az ML-jelsorozat előállítása

ML-jelsorozatokat lineárisan visszacsatolt léptetőregiszterekkel (Linear Feedback Shift Register – LFSR) állíthatunk elő. Ezeket akár hardver, akár szoftver segítségével is megvalósíthatjuk.
A 4. ábra a hardveres megoldásra mutat példát. LFSR-t három vagy több flipflopból álló léptetőregiszterből készíthetünk azzal, hogy a regiszter kimenetét egy alkalmasan megválasztott leágazási ponttal hozzuk „kizáró vagy” (XOR) kapcsolatba, amelynek kimenetét a léptetőregiszter bemenetére csatoljuk vissza. Az 1. táblázat a regiszterhossz és a leágazási pont alkalmas értékpárjaiból mutat néhányat. Ahhoz, hogy a példában szereplő négybites léptetőregiszter a maximális hosszúságú (ML) szekvenciát állítsa elő, a 3. regiszterbit kimenetét kell a kimenettel XOR-kapcsolatba hozni. Egy LFSR-nek több alkalmas leágazási pontja is lehet. Bármilyen regiszterhosszúságnál legalább két választási lehetőség kínálkozik. A példában említett négybites konfiguráció látható az 1. ábrán is a mikrovezérlő beépített „konfigurálható logikai celláiból” (Configurable Logic Cell) megvalósítva.

 

microchip figure5

5. ábra  Korrelációszámító mintaprogramkód

 

 

microchip tablazat

1. táblázat  Különféle LFSR-megoldások paraméterei (forrás: Art of Electronics 3rd Edition p. 976)

 

Korrelációszámítás

A jelfeldolgozási folyamat utolsó lépése a korrelációszámítás.
Ez úgy történik, hogy a fotodiódás szenzor mérési eredményét megszorozzuk a led-fényforrások állapotát jelző bit értékével (bekapcsolt állapot: 1, kikapcsolt állapot: –1), majd a szorzatokat összegezzük (integráljuk). Más szavakkal: ha a fényforrás be van kapcsolva, a szenzor mérési eredményét hozzáadjuk a végeredményhez, illetve kivonjuk abból, ha a fényforrás sötét. Ezt analóg vagy digitális módszerrel is elvégezhetjük. Az itt bemutatott alkalmazásban a korrelációt az AD-konverter mérési eredményével hajtjuk végre. Az AD-konverter mérési ciklusát az LFSR órajelének lefutó éle indítja, és az eredmény megjelenésekor keletkező programmegszakítás végzi el a korrelációszámítás soron következő lépését. Az 5. ábra mutatja annak a függvénynek a programkódját, amely minden egyes AD-konverter által generált megszakításkor fut le. A függvény minden egyes mérési eredménnyel és a pulzus-oximéter mindhárom ledes fényforrásának vezérlőjelével elvégzi a korrelációszámítást.
A mintaalkalmazásban az AD-konverter mérési eredményét korreláltattuk az LFSR ki nem használt leágazási pontjával is, de ez az érdekességen kívül semmi más célt nem szolgált. A szorzatok összegzését 30 cikluson át végeztük, majd befejeztük a korrelációszámítást, és az összes szenzor eredményét átadtuk a kiértékelő alkalmazásnak.

 

microchip figure6

6. ábra  TDM mérés korrelált eredménye: vörös görbe (650 nm), kék görbe (650 nm), fekete görbe (940 nm)

 

Eredmények

A hagyományos TDM- és az új PDM-eljárás eredményei a 6. és 7. ábrán hasonlíthatók össze. A diagramokon látható a korrelációval számított PDM- és a TDM-módszerek eredménye a korreláció periódushosszára redukált értékekkel. Végeredményben minden PDM-minta 30 AD-konverterminta eredményét összegzi, míg a TDM-minták egyenként 28 AD-konvertermintát összesítenek ((3 szenzorkimenet + 1 háttér-érték)×7). A PDM-eredmények csúcstól csúcsig mérhető értéke kétszerese a TDM-módszerrel előállítottakénak. A PDM-eljárás 16 effektív mintából számítódik, szemben a TDM-módszer 7 mintájával. Ha további fényforrásokat építünk be a rendszerbe, az nem változtatja meg a PDM-módszer értékelhető mintáinak mennyiségét (természetesen csak amíg a szenzorok száma 15 alatt marad, amit a négybites LFSR-regiszterhossz határoz meg). Ezzel szemben, ha a TDM-módszerrel működő rendszerbe iktatunk be újabb fényforrásokat, az a többi fényforrás kiértékelésétől „lopja el” az időt.

 

microchip figure7

7. ábra  PDM mérés korrelált eredménye: vörös görbe (650 nm), kék görbe (650 nm), fekete görbe (940 nm)

 

Hibaanalízis

Mivel a pulzus-oximéter működése akár TDM-, akár PDM-módszeren is alapulhat, az adott alkalmazás megvalósítása során hozott döntéseink indokolásához a statisztikai hibaanalízis eszközeit is célszerű felhasználnunk. Melyik a jobb: a TDM vagy a PDM? Ha a PDM-et használjuk, célszerűbb-e kevés számú, hosszú periódusú ciklusokkal, vagy inkább több rövid ciklussal kihasználni a rendelkezésre álló időt?
Ha a szenzormérések összegét így adjuk meg:

 

microchip keplet1

(1. egyenlet)

 

akkor a szenzormérések hibáinak összege így adható meg:

microchip keplet2

(2. egyenlet)

 Ugyanilyen hibaterjedés figyelhető meg a kivonáskor is:

microchip keplet3

(3. egyenlet)

amelynek hibáját így számíthatjuk:

microchip keplet4

(4. egyenlet)

Normál körülmények között egy ML-álvéletlen jelsorozat korrelációjára 2n-1 csúcsértékű eredmény adódik, k szekvenciahosszúsággal. Ez azzal a feltételezéssel igaz, hogy a bináris jelsorozat egy bitjének érékét 1 és –1 értékkel vesszük figyelembe. A most tárgyalt pulzus-oximéter esetében ledeket alkalmazunk fényforrásként arra törekedve, hogy csak ezekből juthasson fény a kiértékelő fotodiódába (elkerülhetetlen azonban némi háttérfény bejutása is – A szerk. megj.). Egy 15 bitnyi hosszúságú ML-jelsorozatnál a ledek nyolc bitidő tartamára vannak be- és hét bitideig kikapcsolva. A környezet háttérfénye az egész mérési időben jelen van, így a szenzorjel nyolcszoros, a háttérfény csak egyszeres súllyal vesz részt az összegzett eredményben. Az eredmény számításának egy általánosabb módját mutatja az 5. egyenlet, a 6. egyenletben pedig felírjuk a hibajel alakulását ebben az általánosabb esetben.


A korreláció eredménye

microchip keplet5

(5. egyenlet),

ahol

C = a korreláció eredménye
St = az egyes forrásokból származó jelek amplitúdóinak összege 
B = háttérfény
n = az LFSR regiszterhossza.

A korreláció hibája:

microchip keplet6

(6. egyenlet), ahol

σc = a korrelált minta hibája

σb = a háttérfény-mérés hibája
σs = az összes forrás összesített jelének hibája (lásd a 2. egyenletet)
k = 2n–1 = Az ML-jelsorozat hosszúsága
n = az LFSR regiszterbitjeinek száma
s = a jelforrások száma

 

A TDM hibaanalízise valamivel egyszerűbb, mivel a forrásjel háttérjellel korrigált értéke egyszerűen S – B, ahol S a szenzor fényforrásából származó fény intenzitása, a B pedig a háttérfényé. Ezeket megszorozzuk a mérések számával, amelyből m (S – B) mérési eredmény adódikmicrochip keplet7hibával.
Ezek után az eredményeket egy táblázatkezelő programmal összehasonlíthatjuk, és ennek alapján becslést tehetünk arra nézve, hogy a TDM- vagy a PDM-módszer alkalmazása felel meg jobban az alkalmazásunk követelményeinek.
A cikkben bemutatott példában úgy találtuk, hogy egy vagy két fényforrás esetén (amikor tehát csak egy vörös és egy infravörös ledből áll a pulzus-oximéter szenzora), a TDM-eljárás ad jobb eredményt. Ha viszont a szenzor három vagy több fényforrást tartalmaz (például vörös, zöld és infravörös ledeket, amely gyakori megoldás azokban a „viselhető” eszközökben, amelyek szívfrekvenciát és a vér oxigéntelítettségét is mérik), akkor már a PDM-módszer ad előnyösebb megoldást.

 

Összefoglalás

A fáziskülönbségen alapuló multiplexelés (Phase Division Multiplexing – PDM) valószínűleg egyre nagyobb szerephez jut az olyan szenzoralkalmazásokban, mint a pulzus-oximetria az érintésérzékelés, stb. A cikkben bemutattuk, hogyan lehet a jeleket előállítani a hardver által, bevezettünk egy olyan módszert, amely a fázismultiplexelt jelekből korrelációszámítás segítségével emeli ki az egyes összetevőket, és olyan statisztikai elemzési eljárást is adtunk, amellyel összehasonlíthatók a TDM- és a PDM-módszer tulajdonságai az adott felhasználási követelményektől függően, annak érdekében, hogy a tervezők az alkalmazásnak jobban megfelelő megoldást választhassák.

 

Szerző: Zhang Feng, vezető orvostechnikai alkalmazástechnikai mérnök – Microchip Technology, Inc., orvostechnikai termékek csoport

 

www.microchip.com

 

Még több Microchip

 

[1] A cikket nem Magyarországon írták. Nem biztos, hogy ez hazánkban is ugyanígy történik. – A szerk. megj.
[2] A Gold-kód (Gold-szekvencia) a CDMA- és GPS-rendszerekben jellemzően használt zajszerű, „álvéletlen” bináris jelsorozat (kidolgozása Robert Gold nevéhez fűződik), amelyet „kizáró-vagy” kapuáramkör(ök)kel visszacsatolt léptetőregiszterrel állítanak elő – A ford. megj.

[3] Az alkalmazott fázistolás célszerűen az álvéletlen jelsorozat órajel-periódusidejének egész számú többszöröse – A szerk. megj.