程 帥, 劉興輝, 趙宏亮, 趙 野, 李 博, 趙發(fā)展
(1.遼寧大學(xué) 物理學(xué)院,遼寧 沈陽(yáng) 110036; 2.中國(guó)科學(xué)院 微電子研究所,北京 100029; 3.中國(guó)科學(xué)院 硅器件技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100029)
近年來(lái),應(yīng)用于單光子測(cè)距電路中的時(shí)間相關(guān)單光子計(jì)數(shù)(time-correlated single-photon counting,TCSPC)技術(shù)日趨成熟[1]。因?yàn)闇y(cè)距系統(tǒng)的靈敏度很高,探測(cè)目標(biāo)背景會(huì)產(chǎn)生很大噪聲,所以有效地去除噪聲是發(fā)揮單光子測(cè)距電路探測(cè)能力的關(guān)鍵[2-5]。
目前提出的去噪算法比較單一,本文稱這類算法為傳統(tǒng)去噪算法。在傳統(tǒng)的去噪算法中,利用單光子在某一時(shí)間窗口具有時(shí)間相關(guān)性、而背景光往往呈均勻分布這一特性[6-8],從統(tǒng)計(jì)直方圖中進(jìn)行逐條篩選,篩選出具有一定時(shí)間間隔的相對(duì)較高的信號(hào)作為有效單光子信號(hào),從而完成去噪[9-10],但逐條篩選的方法效率太慢。
本文提出的單光子去噪優(yōu)化算法避免了逐條進(jìn)行篩選,采取先進(jìn)行“粗定位”而后進(jìn)行“細(xì)定位”的原則對(duì)單光子進(jìn)行等效篩選,從而在保證準(zhǔn)確性和傳統(tǒng)篩選算法一致的情況下,大幅度地提高了數(shù)據(jù)處理的效率,減少了數(shù)據(jù)處理的時(shí)間。本文不但給出了實(shí)現(xiàn)優(yōu)選算法的數(shù)字電路結(jié)構(gòu),解釋了這種結(jié)構(gòu)的原理,同時(shí)也給出了一種結(jié)合該算法的單光子測(cè)距電路及其仿真結(jié)果,從而在電路層面驗(yàn)證了算法的有效性和正確性。
對(duì)于單光子,因?yàn)樵谀骋粫r(shí)間窗口內(nèi)具有時(shí)間相關(guān)性,而背景光往往隨時(shí)間呈均勻分布,所以在以時(shí)間為橫坐標(biāo)、光子數(shù)為縱坐標(biāo)的統(tǒng)計(jì)直方圖中,單光子信號(hào)往往對(duì)應(yīng)著縱坐標(biāo)值相對(duì)較高的幾條,可它們又不能靠得太近,靠得太近極有可能同屬于一個(gè)光波信號(hào)。因此篩選單光子信號(hào)的原則如下:在對(duì)應(yīng)的統(tǒng)計(jì)直方圖中找到縱坐標(biāo)值較高而相距較遠(yuǎn)的若干條,它們被視為單光子信號(hào)。
單光子信號(hào)在時(shí)間窗口里的時(shí)間相關(guān)性如圖1所示,在這里單光子都聚積在某一時(shí)間窗口內(nèi),而背景光沒(méi)有這種聚積性,隨時(shí)間均勻分布。因此在這些時(shí)間段的光子數(shù)明顯多于其他時(shí)間段收集到的光子數(shù),而去噪工作正是找到這些時(shí)間段以及它們對(duì)應(yīng)的光子數(shù)。在進(jìn)行多次統(tǒng)計(jì)后,可生成以時(shí)間相關(guān)光子數(shù)為縱坐標(biāo)、時(shí)間為橫坐標(biāo)的時(shí)間光子數(shù)統(tǒng)計(jì)直方圖。單光子的去噪過(guò)程實(shí)際上就是在該直方圖中篩選出光子數(shù)最多且相隔一定時(shí)間的幾條,這些條的橫坐標(biāo)所對(duì)應(yīng)的時(shí)刻即為單光子信號(hào)的到來(lái)時(shí)刻。本文在1 024個(gè)數(shù)據(jù)的直方圖上進(jìn)行篩選,篩選出3個(gè)單光子信號(hào)。
圖1 相關(guān)單光子探測(cè)原理圖
單光子測(cè)距主要利用統(tǒng)計(jì)直方圖找出單光子的到來(lái)時(shí)刻,再結(jié)合已被測(cè)量的單光子發(fā)射時(shí)刻,兩者做差乘光速的1/2得出被測(cè)目標(biāo)距離信息。因此測(cè)距的關(guān)鍵在于單光子去噪,找出單光子到來(lái)時(shí)刻即可完成測(cè)距。
整個(gè)測(cè)距系統(tǒng)分為光子探測(cè)部分、相關(guān)光子探測(cè)電路、光子計(jì)數(shù)模塊、時(shí)間數(shù)字轉(zhuǎn)換器以及數(shù)字信號(hào)處理電路。光子探測(cè)部分的作用是將一個(gè)光子的光脈沖信號(hào)轉(zhuǎn)變成具有一定持續(xù)時(shí)間的方波信號(hào),并將這些信號(hào)送入時(shí)間相關(guān)光子探測(cè)電路中。時(shí)間相關(guān)光子探測(cè)電路根據(jù)是否有2個(gè)或以上的光子方波的上升沿聚集在時(shí)間窗口內(nèi)來(lái)決定trigger信號(hào)是否為1,并將trigger信號(hào)分別送入時(shí)間數(shù)字轉(zhuǎn)換器以及光子計(jì)數(shù)模塊中。時(shí)間數(shù)字轉(zhuǎn)換器將trigger信號(hào)到來(lái)時(shí)刻測(cè)量出來(lái)并以二進(jìn)制數(shù)字的形式輸出,光子計(jì)數(shù)模塊則將時(shí)間窗口內(nèi)的光子數(shù)全部計(jì)入。接下來(lái),將時(shí)間數(shù)字轉(zhuǎn)換器的測(cè)量結(jié)果以及對(duì)應(yīng)光子數(shù)送入直方圖獲取電路中生成以時(shí)刻為橫軸、光子數(shù)為縱軸的時(shí)間光子數(shù)統(tǒng)計(jì)直方圖。最后送入數(shù)字信號(hào)處理電路中進(jìn)行單光子去噪,本文著重介紹這一部分的改進(jìn)及優(yōu)化。
本文所提出的單光子去噪算法是對(duì)傳統(tǒng)去噪算法的優(yōu)化。相比于傳統(tǒng)算法對(duì)單光子統(tǒng)計(jì)直方圖的逐條篩選,本文提出的優(yōu)化算法則是首先確定單光子的一個(gè)比較大的時(shí)間范圍,也就是確定在統(tǒng)計(jì)直方圖的某16條內(nèi),當(dāng)確定這個(gè)范圍后,然后在選好的這些16條中進(jìn)行細(xì)篩選,并最終確定單光子所在的位置。
傳統(tǒng)的單光子去噪算法是指對(duì)光子數(shù)統(tǒng)計(jì)直方圖進(jìn)行逐條比較,直至將直方圖的所有條全部比較完為止。但傳統(tǒng)的去噪算法需要對(duì)直方圖的所有條都進(jìn)行一次對(duì)比,這里以1 024條為例,通過(guò)對(duì)這1 024條進(jìn)行逐條對(duì)比,從中篩選出縱值最高且相距至少16條遠(yuǎn)的3條代表3個(gè)單光子信號(hào)。因?yàn)檫@種篩選方式嚴(yán)重地拖慢了算法的運(yùn)行速度,所以對(duì)算法的優(yōu)化十分必要。
為了避免數(shù)據(jù)的多次比對(duì)和判斷,本文提出了一種優(yōu)化的去噪算法。優(yōu)化算法要經(jīng)過(guò)先粗去噪再細(xì)去噪2個(gè)步驟。粗去噪是指將1 024個(gè)數(shù)據(jù)按序存入32階的二維方陣中,其中將每16個(gè)光子數(shù)作為一組數(shù)據(jù)在直方圖的先后順序編入一個(gè)4階分塊矩陣中,并用有序整數(shù)對(duì)(row, col)(row,col在0~7之間,row稱為行,col稱為列)為其進(jìn)行編號(hào)。因此整個(gè)矩陣被分成64塊,具體的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)如圖2所示。
圖2 數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
在對(duì)某一分塊矩陣的16個(gè)位置存滿后則進(jìn)行求和再進(jìn)行逐塊篩選。具體過(guò)程是從編號(hào)為(0,0)的矩陣開(kāi)始,將該分塊矩陣中的16個(gè)數(shù)據(jù)進(jìn)行求和。之后列進(jìn)行遞增加1,求和后與前一塊矩陣數(shù)據(jù)和進(jìn)行比較。當(dāng)某塊列為7時(shí)則跳轉(zhuǎn)下一行,直至比較到(7,7)為止。此處將當(dāng)前矩陣塊的數(shù)據(jù)和記為r,編號(hào)記為(row,col)。在此過(guò)程中若某塊的和最高,則將其和定為r1,編號(hào)定為(rowt1,colt1)。(rowt2,colt2)有2種產(chǎn)生方式:① 找到與(rowt1,colt1)相差超過(guò)一列(下文稱為條件1,若換成(rowt2,colt2)則稱條件2)的塊將其和定為r2,將其序號(hào)暫定為(rowt2,colt2)。若在比較過(guò)程中發(fā)現(xiàn)滿足條件1且和超過(guò)r2的塊,則將該塊序號(hào)定為(rowt2,colt2)。② 發(fā)現(xiàn)某塊和超過(guò)r1且滿足條件1,則將原(rowt1,colt1)定為(rowt2,colt2)。(rowt3,colt3)的產(chǎn)生方式有如下3種:① 將同時(shí)滿足條件1、條件2的塊的和定為r3,序號(hào)暫定為(rowt3,colt3),在比較過(guò)程中若某塊和超過(guò)r3且滿足條件1、條件2,則將其序號(hào)定為(rowt3,colt3);② 若某塊和超過(guò)r2且滿足條件1、條件2,則將原(rowt2,colt2)定為(rowt3,colt3);③ 若某塊和超過(guò)r1且滿足條件1,則將原(rowt2,colt2)定為(rowt3,colt3)。優(yōu)化算法粗去噪的具體流程如圖3所示。
圖3 優(yōu)化算法粗去噪流程
由圖3可知,經(jīng)過(guò)這樣的流程找出的3個(gè)分塊矩陣中一定存在需被篩選出的3個(gè)單光子信號(hào),且每個(gè)分塊矩陣中各自存在一個(gè)。這是由于2個(gè)單光子信號(hào)至少需要隔開(kāi)16條的距離,可一個(gè)分塊矩陣中的距離必小于16條,因此一塊中不可能存在2個(gè)單光子信號(hào)。而依照該選取原則所篩選出的是數(shù)據(jù)和最高的且相距至少一列的3塊,數(shù)據(jù)和最高意味著波峰的位置就在這些塊中,相隔至少一列保證了它們至少相隔16條遠(yuǎn),因此3個(gè)單光子信號(hào)分別在這篩選出的3個(gè)分塊矩陣中。若想確定它們的具體位置,則需進(jìn)行下面的細(xì)去噪過(guò)程。
細(xì)去噪過(guò)程指的是從已經(jīng)選好的3個(gè)分塊矩陣中確定出3個(gè)單光子信號(hào)的位置。具體原則是從篩選好的3塊中分別進(jìn)行按條篩選并確定出光子數(shù)最大的一條。具體流程是從第1條開(kāi)始與后一條進(jìn)行對(duì)比,留下較大的條,直至比到最后一條(第16條)。每一塊都進(jìn)行這樣的篩選,最終確定的3條即為3個(gè)單光子信號(hào)在對(duì)應(yīng)矩陣中的位置hisfinet1、hisfinet2、hisfinet3。最后,將細(xì)篩選所確定的條數(shù)再加上128倍的相應(yīng)矩陣塊的行數(shù)與16倍的列數(shù)之和所得到的數(shù),就對(duì)應(yīng)著3個(gè)單光子信號(hào)在時(shí)間光子數(shù)統(tǒng)計(jì)直方圖上的位置TOF1、TOF2、TOF3。
對(duì)比文獻(xiàn)[9]傳統(tǒng)算法的逐條篩選機(jī)制,本文的優(yōu)化算法在保證準(zhǔn)確度的同時(shí)具有更高的效率。2種算法的篩選機(jī)制的對(duì)比示意圖如圖4所示。
圖4 2種算法篩選機(jī)制對(duì)比示意圖
從圖4可以看出,傳統(tǒng)算法為將圖4中的細(xì)條進(jìn)行逐條對(duì)比判斷,從而篩選出3個(gè)用實(shí)心細(xì)條表示的TOF1、TOF2、TOF3。而優(yōu)化算法則是將細(xì)條分組作和(用粗條代表),先進(jìn)行64個(gè)和的對(duì)比和判斷,篩選出3個(gè)用帶有陰影的粗條表示的“粗略位置”,再在這3個(gè)“粗略位置”中經(jīng)細(xì)篩選找出與傳統(tǒng)算法找出的相同的3條。
由以上分析可知,算法的數(shù)據(jù)規(guī)模大大縮減。傳統(tǒng)的去噪算法有1 024個(gè)數(shù)據(jù),本文提出的優(yōu)化算法只需要對(duì)比112個(gè)數(shù)據(jù)。而若從算法運(yùn)行次數(shù)的角度上看,傳統(tǒng)算法需運(yùn)行1 023次,而優(yōu)化算法只需運(yùn)行108次。結(jié)合每個(gè)算法運(yùn)行時(shí)所需步數(shù)可以看到,傳統(tǒng)算法需運(yùn)行11 253步,優(yōu)化算法只需運(yùn)行1 044步。而兩者所篩選的結(jié)果相同,從而保證了優(yōu)化算法在精度與傳統(tǒng)算法一致的前提下,效率超過(guò)了傳統(tǒng)算法的10倍。具體指標(biāo)對(duì)比見(jiàn)表1所列。
表1 2種算法指標(biāo)對(duì)比
本節(jié)將給出實(shí)現(xiàn)優(yōu)化算法的數(shù)字電路的結(jié)構(gòu)圖及其的版圖和后仿波形,用仿真數(shù)據(jù)及波形從電路層面進(jìn)一步說(shuō)明算法的正確性。
按照優(yōu)化算法的流程,并結(jié)合該算法的結(jié)構(gòu),本文給出了實(shí)現(xiàn)此算法的電路結(jié)構(gòu),如圖5所示。
圖5 去噪算法電路結(jié)構(gòu)
從圖5可以看出,當(dāng)光子數(shù)被記下后就被送入二維矩陣存儲(chǔ)電路中進(jìn)行按塊存儲(chǔ)。接下來(lái),每當(dāng)某塊數(shù)據(jù)被存滿后進(jìn)行作和送至粗比較電路中進(jìn)行比較,直至每塊都存滿后將輸出的(rowt1,colt1)、(rowt2,colt2)、(rowt3,colt3)送至細(xì)比較電路中。
細(xì)比較電路將這3塊內(nèi)的數(shù)據(jù)分別進(jìn)行比較,經(jīng)細(xì)讀出電路選出單光子信號(hào)在這3個(gè)矩陣中的位置。最后經(jīng)數(shù)據(jù)轉(zhuǎn)換電路將所確定的位置轉(zhuǎn)換成對(duì)應(yīng)時(shí)間與光子數(shù)統(tǒng)計(jì)直方圖上的位置TOF1、TOF2、TOF3。
本文給出噪聲去除算法電路的布局和后仿真結(jié)果,如圖6所示。
從圖6a可以看出,版圖面積為601×1 202 μm2,電路總功耗為12.96 mW;從圖6b可以看出,TOF1的位置應(yīng)為00001000100,TOF2的位置應(yīng)為01001001111,TOF3的位置應(yīng)為01101001011。而后仿結(jié)果正是如此,這說(shuō)明此電路實(shí)現(xiàn)了優(yōu)化算法的功能,并在統(tǒng)計(jì)直方圖中提取TOF1、TOF2、TOF3的正確位置以完成噪聲去除。
圖6 算法電路版圖和后仿結(jié)果
隨著高級(jí)駕駛員輔助系統(tǒng)(advanced driver assistance systems,ADAS)中對(duì)高分辨率光檢測(cè)和測(cè)距(light detection and ranging,LIDAR)技術(shù)的需求越來(lái)越高,本文引入了一種應(yīng)用于激光測(cè)距的去噪算法,該算法可以執(zhí)行與時(shí)間相關(guān)的單光子測(cè)距和完整的數(shù)字信號(hào)處理電路,它包括粗過(guò)濾和細(xì)過(guò)濾2個(gè)過(guò)程。在粗濾波中,將每個(gè)16個(gè)光子作為一個(gè)組,并首先編為4×4子陣列,在子陣列塊中,將匯總所有光子,然后逐塊進(jìn)行篩選。在細(xì)濾波中,對(duì)來(lái)自在粗濾波中選擇的3個(gè)子陣列中的每個(gè)子陣列的16個(gè)數(shù)據(jù)進(jìn)行卷積,然后通過(guò)在每個(gè)子陣列中逐個(gè)地濾波來(lái)確定最大數(shù)量的光子。
本文能夠根據(jù)時(shí)空相關(guān)事件生成精確觸發(fā)的關(guān)鍵電路。仿真實(shí)驗(yàn)結(jié)果表明,本文提出的方法大大提高了運(yùn)算速度,同時(shí)精度仍然很高,可用于激光雷達(dá)芯片的實(shí)時(shí)信號(hào)處理。