黃俊嘉 勞健濤 肖嘉榮 余志賢 王小由 唐小煜
(華南師范大學(xué)物理與電信工程學(xué)院 廣東 廣州 510006)
隨著移動通信技術(shù)的發(fā)展與居民生活質(zhì)量的提高,人們對于精度高、實時性強(qiáng)、污染性低的定位與導(dǎo)航服務(wù)的需求度越來越大.目前,基于GPS全球定位系統(tǒng)的室外無線電定位技術(shù)的發(fā)展已經(jīng)相當(dāng)成熟,具有良好的穩(wěn)定性與精確度,并且廣泛用于交通、農(nóng)業(yè)、測量等眾多領(lǐng)域.然而對于室內(nèi)定位領(lǐng)域,基于GPS的定位系統(tǒng)在室內(nèi)環(huán)境中無法提供較好的定位服務(wù),與此同時目前室內(nèi)定位的解決方案,如WiFi、藍(lán)牙、DFID等,具有部署難、成本高、功耗大等缺點,導(dǎo)致了用戶的體驗滿意度不高[1].為此,本文提出基于可見光通信的光定位系統(tǒng),在滿足室內(nèi)照明的基礎(chǔ)上實現(xiàn)室內(nèi)的實時定位服務(wù),并且具有成本低、部署易、功耗低的優(yōu)點.
在可見光定位體系中,基于光電探測器件的可用于定位服務(wù)的信號參數(shù)主要有:信號到達(dá)角度、信號到達(dá)時間、信號強(qiáng)度等.由于測量信號到達(dá)角度與信號到達(dá)時間需要高成本的精密光電檢測器,以及直接測量多個LED光源的光照強(qiáng)度容易導(dǎo)致系統(tǒng)的測量誤差大,抗干擾能力降低等情況,因此為達(dá)到定位系統(tǒng)精度高、成本低等性能指標(biāo),本文采用的是一種基于區(qū)分多光源信號的光強(qiáng)測量方案.系統(tǒng)框架如圖1所示.
圖1 系統(tǒng)框架圖
從圖1可知,本光定位系統(tǒng)主要由發(fā)射端、接收端與PC端3部分構(gòu)成.在發(fā)射端,由AD9833信號發(fā)生器電路產(chǎn)生多路不同頻率差異較大的正弦波信號,經(jīng)過基于TL082芯片的LED驅(qū)動電路分別對多個LED燈進(jìn)行調(diào)制,同時保證了LED燈的正常照明;在接收端,基于BPW34硅光電二極管的光電轉(zhuǎn)換電路將環(huán)境的光信號轉(zhuǎn)換成電信號,并且通過基于OPA567的放大電路進(jìn)行信號的放大,以便于后續(xù)對信號的處理.電信號分別通過不同截止頻率的帶通濾波器分別將LED驅(qū)動電路對應(yīng)頻率的電信號提取出來,進(jìn)而通過峰值檢測器轉(zhuǎn)換成幅度信息,由STM32通過ADC采集并傳輸?shù)絇C端;PC端則通過三角定位算法處理STM32傳送的信號,最終得出接收點的位置信息并顯示.
本光定位系統(tǒng)的發(fā)射端主要用于實現(xiàn)電信號到光信號的轉(zhuǎn)換,在保證LED燈能正常照明的同時,還確保其光信號能達(dá)到可被接收端區(qū)分與處理的性能指標(biāo)要求.為此,本文提出了一種由基于AD9833的信號發(fā)生器電路與基于TL082芯片的LED驅(qū)動電路所構(gòu)成的信號發(fā)射端設(shè)計.
3.1.1 基于AD9833的信號發(fā)生器電路
AD9833是由ADI公司生產(chǎn)的一款低功耗的可編程波形發(fā)生器,具有良好的頻率響應(yīng)與穩(wěn)定性,圖2對信號發(fā)生器電路原理進(jìn)行了分析.相比于傳統(tǒng)的信號發(fā)生器電路,該電路具有良好的可部署性,其輸出頻率與相位都可以通過編程進(jìn)行調(diào)整,大大提高了光定位系統(tǒng)的部署調(diào)試效率.同時,該信號發(fā)生器電路具有0.004 Hz的高分辨率以及12.65 mW的低功耗性能,能滿足較多應(yīng)用場景的要求.信號發(fā)生器電路原理圖如圖2所示.
圖2 信號發(fā)生器電路原理圖
3.1.2 基于TL082芯片的LED驅(qū)動電路
為滿足信號發(fā)生器電路信號在電壓上能在LED的導(dǎo)通區(qū)進(jìn)行調(diào)制,同時在電流上能有效驅(qū)動LED燈以達(dá)到正常照明效果,本文提出了一種基于TL082芯片的LED驅(qū)動電路,電路原理圖如圖3所示.
圖3 LED驅(qū)動電路原理圖
由圖3可知,該LED驅(qū)動電路是一種由TL082運(yùn)算放大器與NPN三極管所構(gòu)成的射極跟隨器電路.該電路是一種典型的電流放大器電路,具有輸出阻抗小,輸出能力強(qiáng),以及可降低后級對前級的影響等特點.其中,R2與R3可控制LED驅(qū)動信號的直流偏置電壓;R1與R4起到了保護(hù)LED燈的限流作用.
本光定位系統(tǒng)的發(fā)射端主要用于實現(xiàn)光信號到電信號的轉(zhuǎn)換,并對電信號進(jìn)行處理,提取出可用于定位算法的有效信息.
在光電轉(zhuǎn)換部分,本系統(tǒng)采用BPW34硅光電二極管接收可見光信號并將其轉(zhuǎn)換為電流信號,再經(jīng)過跨阻運(yùn)算放大器將電流信號轉(zhuǎn)換成電壓信號,圖4為光電轉(zhuǎn)換電路原理.其中,LMH6629是TI公司生產(chǎn)的跨阻運(yùn)算放大器,具有工作電壓低、噪聲小等優(yōu)點.相比起常用于光電轉(zhuǎn)換的OPA567,LMH6629在低電壓電源工作時,其允許信號的直流偏置更低,對交流信號的放大效果更明顯.
圖4 光電轉(zhuǎn)換電路原理圖
由于本系統(tǒng)采用STM32的3路ADC同時采集3路信號的AD值,然而串口通信只有1路通道.為使接收端能正確接收并區(qū)分發(fā)送端傳輸?shù)臄?shù)據(jù),本系統(tǒng)對通信數(shù)據(jù)的幀結(jié)構(gòu)進(jìn)行了規(guī)范,圖5為系統(tǒng)的傳輸數(shù)據(jù)結(jié)構(gòu).
圖5 傳輸數(shù)據(jù)結(jié)構(gòu)圖
STM32通過設(shè)置定時器觸發(fā)數(shù)據(jù)傳輸,分別設(shè)置不同路信號的幀頭為0x01,0x02,0x03…以及統(tǒng)一的幀尾0x00.同時在傳輸數(shù)據(jù)前先對數(shù)據(jù)進(jìn)行預(yù)處理,確保數(shù)據(jù)中不包含當(dāng)前幀的幀頭標(biāo)志以及幀尾標(biāo)志.
本文結(jié)合無線測距技術(shù)與光信道的傳輸問題,對RSSI的定位技術(shù)進(jìn)行簡化與改進(jìn),提出了一種基于光強(qiáng)信號的RSSI 3點定位算法[2].該算法的核心思想為將光強(qiáng)信號數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的距離數(shù)據(jù),通過在3個已知點,即3個LED燈的坐標(biāo)基礎(chǔ)上對距離數(shù)據(jù)進(jìn)行計算與整合,最終得出所求點的坐標(biāo)[3].
在傳統(tǒng)的定位方案上,光強(qiáng)信號到距離數(shù)據(jù)的轉(zhuǎn)換一般使用最小二乘曲線擬合法.但該方法在定位系統(tǒng)部署時需要測試大量數(shù)據(jù),且抗干擾能力差.為此,本文提出了一個關(guān)于光強(qiáng)信號到距離數(shù)據(jù)的經(jīng)驗轉(zhuǎn)換公式[4]
(1)
其中,d為轉(zhuǎn)換后光源點到定位點的距離;E為光照信號強(qiáng)度;A為探測設(shè)備在單位距離上所測得的光照信號強(qiáng)度的絕對值;n為環(huán)境影響因子,對測試結(jié)果進(jìn)行修正得出.
對3個LED光源分別以距離數(shù)據(jù)為半徑作圓,在理想情況下,3個圓會相交于一點,圖6是理想情況的3點定位圖,其中點A,點B,點C分別為已知的光源點,相交點D則為所求的定位點.而在實際情況下,3個圓并不會完全相交于一點,圖7是一般情況的3點定位圖.其中,點A與點B為兩個圓的圓心,其坐標(biāo)分別為(xA,yA)和(xB,yB),點E和點F分別為圓A與圓B的交點,點G為AB與EF的交點.通過公式推導(dǎo)與計算,可以得出點G的坐標(biāo)(xG,yG)
同理可求得另外兩個中心點的坐標(biāo)(xH,yH)和(xI,yI),結(jié)合3個中心點形成的三角形,計算出該三角形的重心即為所求定位點的坐標(biāo).
圖6 理想情況的3點定位圖
圖7 一般情況的3點定位圖
通過Matlab對該光定位算法進(jìn)行仿真,圖8是系統(tǒng)的仿真結(jié)果.其中,三角形標(biāo)記點為LED燈坐標(biāo)點,綠色圓圈為所求定位點,紅色星星為光定位算法的計算結(jié)果.仿真結(jié)果表明,該定位算法的時間復(fù)雜度與空間復(fù)雜度較小,且具有良好的定位精度[5].
圖8 定位算法系統(tǒng)仿真圖
為了能更好地將定位結(jié)果進(jìn)行可視化,本文采用C#語言編寫上位機(jī),通過串口接收光強(qiáng)信號數(shù)據(jù)流,同時執(zhí)行RSSI 3點定位算法和濾波算法,將RSSI 3點定位算法和濾波算法的執(zhí)行移植到處理速度更快的個人電腦上進(jìn)行處理,以實現(xiàn)更高的相應(yīng)速度.將定位坐標(biāo)點顯示于PictureBox窗口,實現(xiàn)定位信息的實時顯示.圖9是上位機(jī)界面內(nèi)容.在接收到定位算法輸出的坐標(biāo)點數(shù)據(jù)后,將其顯示于圖10中的運(yùn)動軌跡展示窗口,實現(xiàn)實時顯示定位信息.在此之外,我們設(shè)計了數(shù)據(jù)導(dǎo)出功能,以便于對算法進(jìn)行擬合和測試.
圖9 上位機(jī)界面
本系統(tǒng)以90 cm×90 cm×90 cm的箱體作為室內(nèi)模擬環(huán)境,同時在箱體上部安裝3個額定功率為10 W的白光LED燈,用于實現(xiàn)箱體內(nèi)的正常照明以及光信號的傳遞.待其他系統(tǒng)設(shè)備完成部署并初始化后,實驗員通過黑色不反光直尺勻速移動系統(tǒng)接收端,圖10是系統(tǒng)內(nèi)部圖與移動軌跡,同時在上位機(jī)觀察其運(yùn)動軌跡,測量定位誤差大小.圖11是上位機(jī)還原物體的運(yùn)動軌跡結(jié)果.
測量結(jié)果顯示,該系統(tǒng)在被測物體靜止時的定位效果較為理想,其測量誤差在2 cm以內(nèi);而在運(yùn)動過程中,被測物體在抖動較小的情況下測量誤差在1~4 cm范圍內(nèi),在抖動較大的情況下誤差則維持在6 cm以內(nèi).
圖10 移動軌跡演示圖
圖11 上位機(jī)顯示的運(yùn)動軌跡圖
本文設(shè)計并實現(xiàn)了一套以STM32F103VE單片機(jī)為主控的基于可見光通信的光定位系統(tǒng),其在軟硬件方面都針對實際應(yīng)用場景進(jìn)行優(yōu)化.實驗結(jié)果證明,該系統(tǒng)無論在影響用戶體驗滿意度的人機(jī)交互的友好度上,還是在定位精度、系統(tǒng)功耗等評判裝置的性能指標(biāo)上,都有非常好的實現(xiàn)效果,對于高校學(xué)生的科研課題或企業(yè)的研發(fā)工作都有良好的參考價值與思維擴(kuò)展價值.