譚菊琴,陳荷娟
(南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094)
主動(dòng)超聲探測(cè)技術(shù)是現(xiàn)代水中目標(biāo)探測(cè)常用的技術(shù)之一,它根據(jù)目標(biāo)反射的回波信息實(shí)現(xiàn)目標(biāo)定位。為了提高水中近程動(dòng)目標(biāo)探測(cè)性能,常采用多個(gè)主動(dòng)超聲探測(cè)器獨(dú)立地對(duì)目標(biāo)進(jìn)行探測(cè)。但是,當(dāng)探測(cè)器間的距離在主動(dòng)超聲探測(cè)的有效探測(cè)范圍內(nèi)時(shí),就會(huì)出現(xiàn)探測(cè)器相互干擾的問題,從而影響探測(cè)系統(tǒng)對(duì)目標(biāo)的判斷與測(cè)距。因此,要求水中超聲探測(cè)系統(tǒng)應(yīng)具有區(qū)分相鄰探測(cè)器和目標(biāo)的功能,以及防止探測(cè)器間信號(hào)串?dāng)_的能力。
現(xiàn)階段解決探測(cè)器相互干擾的方法有:多普勒頻偏法、編碼法和基于回波自調(diào)距離門控制法[1-2]。但是,多普勒頻偏法只能確定回波有無,不能確認(rèn)收到的回波是自身發(fā)射信號(hào)經(jīng)目標(biāo)反射的回波還是其他信號(hào),易引起探測(cè)系統(tǒng)的誤判斷。編碼法雖然可以解決上述問題,但是它的信號(hào)脈寬須大于脈沖展寬,會(huì)增大探測(cè)盲區(qū)。參考文獻(xiàn)[2]提出了基于回波自調(diào)距離門的選通時(shí)機(jī)控制法,解決了多普勒頻偏法不能解決的問題。因此,本文利用硬件描述語言和有限狀態(tài)機(jī)的方法,設(shè)計(jì)了基于回波自調(diào)距離門的FPGA控制器。
控制方法如圖1所示,圖中 s(t)為發(fā)射信號(hào);fd為控制器的輸入信號(hào),它是目標(biāo)回波經(jīng)放大、混頻、濾波后的輸出信號(hào);C(t)為距離門門控信號(hào),高電平有效;Tp為發(fā)射信號(hào)的脈寬;Tmax是最大脈沖重復(fù)周期。為降低近距離體積混響和抑制干擾,只允許距離門內(nèi)接收信號(hào)。
方法一,如圖1(a)所示,控制電路在探測(cè)器發(fā)射超聲波時(shí)啟動(dòng)計(jì)時(shí)器。延時(shí) Th(Tp<Th)后,令 C(t)=1,打開第1 個(gè)距離門,允許接收 fd。 若 Th≤t≤Tmax,fd=0,說明無物體,則在 t=Tmax(即 B1=Bmax)時(shí),令 C(t)=0,停止接收fd,做出“無目標(biāo)”決策。下一個(gè)探測(cè)周期,C(t)繼續(xù)按上述控制規(guī)律工作。
圖1 基于回波自調(diào)距離門控制法
方法二,如圖1(b)所示。 若在 t=tm1<Tmax時(shí),有 fd≠0,說明有物體出現(xiàn),則在 t=tm1+Tp時(shí),使 C(t)=0。同時(shí),發(fā)射第2個(gè)超聲波對(duì)目標(biāo)進(jìn)行探測(cè)。接著,在上次fd出現(xiàn)前 Kmax/2時(shí),再次使 C(t)=1,開啟第 2個(gè)距離門。當(dāng)K1=Kmax時(shí),fd=0,則認(rèn)為第1次收到的是干擾信號(hào),做出“無目標(biāo)”決策。下一探測(cè)周期,C(t)按方法一工作。
方法三,如圖1(c)所示。 若 K1<Kmax時(shí),有 fd≠0,說明第一個(gè)距離門內(nèi)出現(xiàn)的是目標(biāo)回波,則在t=tm2+Tp時(shí),令C(t)=0,做出“有目標(biāo)”決策。若要繼續(xù)追蹤目標(biāo),只需在再次發(fā)射超聲波后的Ti-1-Kmax/2(Ti-1為第i-1次的脈沖重復(fù)周期,i=2,…,N)時(shí)刻,使 C(t)=1,打開第 3個(gè)距離門,跟蹤目標(biāo)。若C(t)=1時(shí),fd=0,說明跟蹤目標(biāo)失敗,做出“無目標(biāo)”決策,控制 C(t)在下一個(gè)探測(cè)周期按方法一工作;否則,繼續(xù)按跟蹤目標(biāo)的方法控制C(t)。
綜上所述,根據(jù)各距離門的作用,將第1個(gè)距離門稱作“發(fā)現(xiàn)門”,第 2個(gè)距離門稱作“確認(rèn)門”,第 3個(gè)距離門稱作“跟蹤門”。圖1中,Bmax=Tmax-Th,是發(fā)現(xiàn)門最大門寬;Kmax為確認(rèn)門和跟蹤門的最大門寬。其中,發(fā)現(xiàn)門門控信號(hào)CD(t)為:
確認(rèn)門和跟蹤門門控信號(hào)CT(t)表達(dá)式為:
式中,t是距離門的選通控制時(shí)間點(diǎn)(計(jì)時(shí)零點(diǎn)為每次發(fā)射超聲波的起始時(shí)刻)。
因此,圖1(a)中 C1(t)、Ti分別為:
圖1(b)中 C2(t)、Ti分別為:
圖1(c)中 C3(t)、Ti-1和第 i次無回波出現(xiàn)時(shí)對(duì)應(yīng)的Ti分別為:
圖2 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)總體結(jié)構(gòu)如圖2所示,它由接收控制電路、脈沖重復(fù)周期計(jì)時(shí)器TI、判決器、時(shí)序控制電路、寄存器模塊和距離門控電路構(gòu)成。FPGA主要實(shí)現(xiàn)以下功能:對(duì)接收到的回波進(jìn)行判斷,并根據(jù)判斷結(jié)果做出控制決策;對(duì)時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù),產(chǎn)生系統(tǒng)所需的各種控制信號(hào)。系統(tǒng)初始化時(shí),將Th、Bmax和Kmax存放至寄存器模塊,而探測(cè)器與目標(biāo)的實(shí)際距離所對(duì)應(yīng)的延遲Ti由時(shí)序控制電路放置到寄存器模塊。
設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法[3],將系統(tǒng)功能劃分為接收控制電路、判決器、時(shí)序控制電路和距離門控電路4個(gè)模塊。
2.2.1 接收控制電路設(shè)計(jì)
接收控制電路的作用是在Tp時(shí)間內(nèi)檢測(cè)fd中包含的脈沖數(shù)n(2≤n≤6)。工作原理為:當(dāng)fd的第一個(gè)脈沖上升沿到達(dá)時(shí),啟動(dòng)脈寬定時(shí)器和計(jì)數(shù)器;脈寬定時(shí)器以Tp值為初值減計(jì)數(shù),當(dāng)減到0時(shí),輸出cout(低電平期間允許計(jì)數(shù)),觸發(fā)計(jì)數(shù)器停止計(jì)數(shù),并輸出計(jì)數(shù)值n。
2.2.2 判決控制方法
由控制方法知,判決器的輸出pj可由如下算法描述:
2.2.3 時(shí)序控制電路設(shè)計(jì)
時(shí)序控制電路是整個(gè)系統(tǒng)的核心,主要用于控制各模塊工作時(shí)序。采用獨(dú)熱編碼可減少實(shí)現(xiàn)狀態(tài)機(jī)的組合邏輯數(shù)目,提高系統(tǒng)速度[4]。因此,本文采用獨(dú)熱編碼設(shè)計(jì)了時(shí)序控制系統(tǒng)狀態(tài)機(jī)。圖3是按圖1設(shè)計(jì)的狀態(tài)轉(zhuǎn)移圖,它有3種狀態(tài),分別為初始狀態(tài)S0、CD(t)工作狀態(tài)S1和CT(t)工作狀態(tài)S2。當(dāng)RST=0或判決器輸出pj=0時(shí),控制系統(tǒng)的狀態(tài)均會(huì)回到S0;當(dāng) RST=1時(shí),控制系統(tǒng)先由 S0到 S1轉(zhuǎn)換;在 S1時(shí),若有 pj=1,立即由S1到S2轉(zhuǎn)換;在 S2時(shí),若有pj=1,則一直執(zhí)行S2。
圖3 狀態(tài)轉(zhuǎn)移圖
2.2.4 距離門控電路
圖4是距離門控電路原理圖,它由4個(gè)計(jì)時(shí)器(發(fā)現(xiàn)門延時(shí)開門計(jì)時(shí)器TH及其門寬計(jì)時(shí)器BK,確認(rèn)、跟蹤門延時(shí)開門計(jì)時(shí)器TIK及其門寬計(jì)時(shí)器TK)和2個(gè)門控電路(發(fā)現(xiàn)門及確認(rèn)、跟蹤門門控電路)構(gòu)成。計(jì)時(shí)電路主要對(duì)距離延遲和門寬延遲進(jìn)行計(jì)數(shù);門控電路主要產(chǎn)生發(fā)現(xiàn)門和確認(rèn)、跟蹤門門控脈沖D_gate及T_gate。C1是啟動(dòng)TH和TIK的觸發(fā)信號(hào),C2是關(guān)閉BK和TIK的控制信號(hào),它們由時(shí)序控制電路控制。
圖4 距離門控電路原理圖
(1)當(dāng)C1=010時(shí),啟動(dòng)TH遞加計(jì)數(shù),當(dāng)達(dá)到 Th時(shí),輸出TH1,觸發(fā) BK遞加計(jì)數(shù),產(chǎn)生D_gate。若C2=1時(shí),BK停止計(jì)數(shù),則輸出BK1,經(jīng)反相器使發(fā)現(xiàn)門門控電路復(fù)位,完成發(fā)現(xiàn)門開和關(guān)。同時(shí)令BK1經(jīng)反相器和C2相“與”后分別輸入到THRST端、BKRST端和TIK_zhsh端,使 TH、BK復(fù)位,Ti被置入 TIK。
圖5 時(shí)序仿真
(2)當(dāng) C1=100時(shí),啟動(dòng) TIK,當(dāng)達(dá)到 Ti-1-Kmax/2時(shí),輸出TIK1,觸發(fā) TK遞加計(jì)數(shù),產(chǎn)生 T_gate。當(dāng) C2=1時(shí),觸發(fā)TK停止計(jì)數(shù),輸出TK1,經(jīng)反相器使確認(rèn)、跟蹤門門控電路復(fù)位,完成一次確認(rèn)、跟蹤門的開和關(guān)。TK1經(jīng)反相器與 C2相“與”后,再與 TIK_zhsh端、TKRST端相“與”,將 Ti放入 TIK、TK復(fù)位。
根據(jù)水下主動(dòng)超聲探測(cè)近距作用要求,選取Th=2.6 ms、Bmax=28.4 ms、Kmax=3 ms。 設(shè)定 t0 為同步脈沖,TP為脈寬計(jì)時(shí)器的使能端。利用ModelSim進(jìn)行時(shí)序仿真,仿真結(jié)果如圖5所示。
圖5(a)是方法一仿真波形,表示的是 2.6 ms≤B1≤28.4 ms、n=0時(shí)對(duì)應(yīng)的D_gate和T_gate波形。從圖中A區(qū)可知,在D_gate、T_gate為 0時(shí),雖有包含 3個(gè)脈沖的fd輸入,但 n=0,說明在距離門關(guān)閉時(shí),即使有 fd輸入,也不會(huì)引起控制器誤動(dòng)作。
圖5(b)是方法二仿真波形。反映了 B1=23 ms<Bmax、pj=1和 Kmax=3 ms、pj=0時(shí)對(duì)應(yīng)的 D_gate和T_gate波形。
圖5(c)是方法三仿真波形,表示目標(biāo)存在但追蹤目標(biāo)失敗所對(duì)應(yīng)的D_gate和T_gate波形。圖中連續(xù)兩次有pj=1,說明目標(biāo)存在,但是在追蹤目標(biāo)的過程中,pj=0,說明追蹤目標(biāo)失敗。
仿真結(jié)果表明,在近距主動(dòng)探測(cè)中,能在設(shè)定的距離延遲時(shí)間內(nèi)完成發(fā)現(xiàn)、確認(rèn)目標(biāo),迅速做出決策,自動(dòng)調(diào)整距離門的選通時(shí)機(jī),系統(tǒng)工作頻率可達(dá)到194.4 MHz。
本文設(shè)計(jì)了基于回波自調(diào)距離門的FPGA控制器,它可利用接收到的回波信息自動(dòng)調(diào)整距離門的選通時(shí)機(jī)。仿真表明,該控制器結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)了快速發(fā)現(xiàn)、確認(rèn)目標(biāo)回波信號(hào)的能力,提高了系統(tǒng)抗干擾的能力,其工作頻率可以達(dá)到194.4 MHz。該設(shè)計(jì)為水下目標(biāo)探測(cè)器的定位、跟蹤功能提供了技術(shù)保障,具有很強(qiáng)的工程實(shí)用性。
[1]石建.淺海水聲信號(hào)處理與電路設(shè)計(jì)[D].南京:南京理工大學(xué),2001.
[2]譚菊琴,趙國(guó)庫,陳荷娟.水聲引信雙門控制自調(diào)周期抗鄰彈干擾方法[J].探測(cè)與控制學(xué)報(bào),2010,32(1):49-53.
[3]周潤(rùn)景,蘇良碧.基于Quartus II的數(shù)字系統(tǒng)Verilog HDL設(shè)計(jì)實(shí)例詳解[M].北京:電子工業(yè)出版社,2010.
[4]李云,馮永浩,孟濤.基于VHDL有限狀態(tài)機(jī)控制器的設(shè)計(jì)方法[J].微計(jì)算機(jī)信息,2010,26(5-1):74-75.