朱明駿
(海軍駐昆明軍事代表辦事處 昆明 650051)
?
基于FPGA的水聽器數(shù)字前放設(shè)計(jì)*
朱明駿
(海軍駐昆明軍事代表辦事處 昆明 650051)
結(jié)合某水下聲學(xué)系統(tǒng)水聽器數(shù)字式前置放大器的設(shè)計(jì)實(shí)例,介紹了一種基于FPGA的帶有頻率均衡的數(shù)字式前置放大器設(shè)計(jì)。
FPGA; FIR濾波器; 前置放大器
Class Number TN912
前置放大器,一般為設(shè)置在系統(tǒng)前級(jí)對小信號(hào)進(jìn)行放大的設(shè)備。水下聲學(xué)系統(tǒng)中常常涉及小信號(hào)的采集和處理。水下聲學(xué)系統(tǒng)水聽器的小信號(hào)在傳輸過程中衰減大、抗干擾能力差,不利于傳輸和后級(jí)處理。通過對水聽器小信號(hào)進(jìn)行放大和數(shù)字化處理,可以有效的解決信號(hào)在傳輸過程中遇到的衰減和干擾問題。數(shù)字式前置放大器因此廣泛應(yīng)用于水下聲學(xué)系統(tǒng)中[1]。
數(shù)字放大器較模擬放大器具有抗干擾能力強(qiáng)、傳輸過程中衰減小的優(yōu)點(diǎn),被廣泛用于小信號(hào)的放大領(lǐng)域。同時(shí)由于數(shù)字放大器使用數(shù)字信號(hào)進(jìn)行傳輸,便于將多個(gè)前放節(jié)點(diǎn)掛在同一條物理總線上,為組建水聽器陣創(chuàng)造了有利的條件。
FPGA作為可編程邏輯器件,兼具邏輯運(yùn)算能力和數(shù)據(jù)處理能力,而且具有應(yīng)用靈活的特點(diǎn),自然成為數(shù)字前放硬件構(gòu)架的首選[2]。
數(shù)字前放對接收到的模擬信號(hào)進(jìn)行放大、模擬濾波、模擬到數(shù)字的轉(zhuǎn)換、FIR濾波及均衡后以串行數(shù)字流的方式輸出。使得信號(hào)在頻帶范圍、強(qiáng)度以及傳輸形式上滿足后級(jí)系統(tǒng)的要求。
放大器分為模擬和數(shù)字兩大部分。模擬部分包括前級(jí)儀表放大器、模擬濾波器和AD轉(zhuǎn)換器,主要負(fù)責(zé)信號(hào)的前級(jí)放大和數(shù)字化處理;數(shù)字部分主要由FPGA芯片構(gòu)成,主要負(fù)責(zé)信號(hào)的FIR濾波和頻率均衡。模擬電路部分采用了儀表放大器和差分輸入的方式來降低共模干擾[3]。模擬濾波器采用的是8階的切比雪夫Ⅰ型負(fù)反饋濾波器,這種濾波器在使用運(yùn)算放大器較少的條件下具有較好的濾波特性。AD轉(zhuǎn)換設(shè)備選用了美國AD公司采用Sigma-Delta過采樣技術(shù)的16位AD轉(zhuǎn)換器AD7723,大大提高了量化精度??紤]到成本和體積的問題,FPGA選用了XILINX公司的10萬門的XC2S100芯片,該芯片主頻可達(dá)100MHz。為了達(dá)到長距離高速率的傳輸,信號(hào)傳輸方式選擇了差分輸出的串行數(shù)字流信號(hào)傳輸,傳輸時(shí)鐘達(dá)5MHz,滿足采樣率為200k的16位數(shù)據(jù)的傳輸要求。系統(tǒng)構(gòu)成框圖如圖1所示。
圖1 系統(tǒng)構(gòu)成框圖
數(shù)字前放的接口控制、程序流程等都是通過硬件描述語言Verilog實(shí)現(xiàn)的。程序負(fù)責(zé)產(chǎn)生A/D轉(zhuǎn)換器的控制信號(hào)、采樣信號(hào)的讀入與串并轉(zhuǎn)換、調(diào)用IP核產(chǎn)生的FIR濾波器模塊實(shí)現(xiàn)數(shù)字濾波、對濾波后的信號(hào)進(jìn)行幅度限制處理以及調(diào)用傳送模塊把處理后的數(shù)據(jù)輸出。
3.1 FIR內(nèi)核設(shè)計(jì)
數(shù)字FIR濾波的主要功能是實(shí)現(xiàn)輸入數(shù)據(jù)的數(shù)字濾波,以修正因?yàn)樗犉髟诓煌l率上靈敏度的不均勻性帶來的幅度變化[4]。考慮到濾波器的相位延時(shí)不為常數(shù),在接收幅度恒定的調(diào)頻信號(hào)時(shí),容易引起輸出信號(hào)幅度變化,從而導(dǎo)致濾波輸出信號(hào)幅度不準(zhǔn)確。數(shù)字濾波電路形式,用相位恒定延時(shí)的FIR數(shù)字濾波形式完成所需的濾波[5]。
FIR內(nèi)核設(shè)計(jì)是數(shù)字前放的核心部分,它完成對信號(hào)的數(shù)字濾波和頻率均衡。
內(nèi)核的主體選用了XILINX公司自帶的IP CORE: FIR Compiler V1.0。濾波器結(jié)構(gòu)選擇了對稱脈沖相應(yīng)的單速率256階濾波器。
濾波器的系數(shù)決定了濾波器的濾波特性,系數(shù)的位數(shù)決定了濾波器的性能。然而FIR數(shù)字濾波的缺點(diǎn)是實(shí)現(xiàn)和其它濾波相同的濾波特性所用的濾波器階數(shù)比較多,消耗資源比較大,位數(shù)太長會(huì)導(dǎo)致信號(hào)輸出延時(shí)較長甚至器件資源不夠等問題。經(jīng)過多次試驗(yàn),發(fā)現(xiàn)24位的位數(shù)能達(dá)到令人滿意的資源性能比。
濾波器系數(shù)由Matlab軟件計(jì)算得出。Matlab函數(shù)庫中關(guān)于FIR的函數(shù)有很多,計(jì)算系數(shù)的主要有fir1()和fir2()兩種。而fir2()適用于產(chǎn)生任意形狀FIR濾波器系數(shù)的函數(shù),正好滿足數(shù)字前放頻率均衡的要求。將數(shù)字前放所配的水聽器在各個(gè)頻率上的頻率響應(yīng)矢量輸入到函數(shù)fir2()中,計(jì)算出滿足該濾波特性的一組系數(shù)。將改組系數(shù)按照FIR IP CORE的要求轉(zhuǎn)變格式后生成系數(shù)文件。最后將系數(shù)文件載入至FIR內(nèi)核中通過綜合工具進(jìn)行編譯生成可調(diào)用的FIR程序模塊。
3.2 A/D轉(zhuǎn)換器AD7723控制模塊
A/D轉(zhuǎn)換器的轉(zhuǎn)換時(shí)鐘信號(hào)adclk和幀同步輸入信號(hào)fsi都是通過計(jì)數(shù)器方式產(chǎn)生的周期性信號(hào)。轉(zhuǎn)換器的FSO信號(hào)經(jīng)過處理作為數(shù)字濾波器的ND(NEW DATA)信號(hào)以及并、串轉(zhuǎn)換數(shù)據(jù)流輸出模塊的write信號(hào);SDO信號(hào)是轉(zhuǎn)換器的串行數(shù)據(jù)輸出端;轉(zhuǎn)換器的SCO信號(hào)經(jīng)處理用來控制串并轉(zhuǎn)換;FSI信號(hào)是由FPGA提供的幀同步信號(hào);轉(zhuǎn)換器的采樣時(shí)鐘CLKIN信號(hào)使用DDS產(chǎn)生。DDS方式輸出信號(hào)頻率精度很高,可以得到任何所需頻率。當(dāng)相位累加器的位數(shù)是32位時(shí),輸出信號(hào)頻率fx等于設(shè)定頻率初值(32位)乘以晶體振蕩器頻率f0,然后除以2的32次方。相位累加器的位數(shù)決定輸出信號(hào)頻率的最小分辨率,振蕩器頻率為80MHz,相位累加器位數(shù)為32位時(shí),頻率分辨率為0.02Hz。如果要產(chǎn)生AD7723采樣速率200kHz的輸出頻率信號(hào),設(shè)定頻率初值為十六進(jìn)制A3D70A。
3.3 信號(hào)同步轉(zhuǎn)換模塊
信號(hào)同步轉(zhuǎn)換模塊的功能是將一個(gè)脈沖信號(hào)轉(zhuǎn)換成一個(gè)與系統(tǒng)時(shí)鐘同步,并且脈沖寬度為一個(gè)時(shí)鐘周期的脈沖信號(hào)。這樣可以提供一個(gè)觸發(fā)信號(hào),觸發(fā)條件是該信號(hào)為高電平,因?yàn)樵撁}沖只跨越一個(gè)系統(tǒng)時(shí)鐘,不會(huì)造成重復(fù)觸發(fā)的情況發(fā)生。這里采用兩個(gè)D觸發(fā)器串聯(lián)的方式,將第二個(gè)D觸發(fā)器的輸入取反后與第一個(gè)D觸發(fā)器輸出相與輸出。將脈沖信號(hào)輸入信號(hào)同步轉(zhuǎn)換模塊,輸出信號(hào)為與系統(tǒng)時(shí)鐘同步的負(fù)脈沖信號(hào)。
3.4 限幅處理模塊和數(shù)據(jù)流輸出模塊
FIR模塊輸出信號(hào)的位數(shù)一般在45位左右,為了便于傳輸和處理,從中截取了16位進(jìn)行處理。為保證數(shù)字前放的增益不變,截取的位置是固定的。如果前級(jí)輸入信號(hào)過大,信號(hào)有可能出現(xiàn)失真。所以需要進(jìn)行限幅處理,因?yàn)閿?shù)字濾波器輸出的信號(hào)為有符號(hào)數(shù),限幅處理模塊首先判斷信號(hào)的正負(fù),在判斷信號(hào)的大小。將正向幅度過大的信號(hào)限定為0x7f,將負(fù)向幅度過大的信號(hào)限定為0x80。
將限幅處理后的16位信號(hào)送入數(shù)據(jù)流輸出模塊。數(shù)據(jù)流輸出模塊的主要功能是實(shí)現(xiàn)并行16位數(shù)字信號(hào)到RS232方式的串行信號(hào)的轉(zhuǎn)換。
串行數(shù)字流采用通常的RS232協(xié)議,通過FPGA的硬件描述語言實(shí)現(xiàn)RS232轉(zhuǎn)換。串行輸出包括1位啟動(dòng)位、16位數(shù)據(jù)位、1位奇偶校驗(yàn)位和1位停止位,共19位串行數(shù)據(jù)。串行時(shí)鐘達(dá)5MHz,可以高效率無誤的傳輸數(shù)字前放的輸出數(shù)據(jù)。
通過PCB的合理布線和電磁兼容性設(shè)計(jì),數(shù)字式前置放大器的電路噪聲較小。高達(dá)200k的采樣率、16位的數(shù)據(jù)格式以及采用差分的輸入方式使得信號(hào)失真較小。從而得到了較高的信噪比,經(jīng)實(shí)測數(shù)字前放動(dòng)態(tài)范圍接近80dB。濾波器的合理設(shè)計(jì)使得前置放大器有較好的濾波特性,顯示了令人滿意的均衡效果。圖2所示的是水聽器在工作頻帶內(nèi)各頻率點(diǎn)的接收靈敏度。從圖中可以看出靈敏度在-195dB~-206dB之間,起伏在10個(gè)dB以上。圖3所示的是經(jīng)過前置放大器放大和均衡后的靈敏度??梢钥闯鲮`敏度在-176dB附近分布,起伏不超過1.5dB。信號(hào)輸出采用的串行方式,增加了奇偶校驗(yàn),保證了數(shù)據(jù)傳輸?shù)目煽俊M瑫r(shí)前置放大器具有體積小的特點(diǎn),可靈活應(yīng)設(shè)置于各種信號(hào)處理設(shè)備中,用作信號(hào)的放大和均衡。
該數(shù)字式前置放大器應(yīng)用到某水下聲學(xué)系統(tǒng)上,用作水聽器信號(hào)的放大和頻率均衡。通過多次試驗(yàn),證明了其良好的性能和穩(wěn)定的工作狀態(tài)。
圖2 水聽器靈敏度
圖3 均衡后接收靈敏度
[1] 劉伯勝,雷家煜,等.水聲學(xué)原理[M].哈爾濱:哈爾濱工程大學(xué)出版社,2009:3-4.
[2] 劉韜,樓興華.FPGA數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)與實(shí)例[M].北京:人民郵電出版社,2005:2.
[3] 李伯成.嵌入式系統(tǒng)可靠性設(shè)計(jì)[M].北京:電子工業(yè)出版社,2004:130.
[4] 李鄧化,等.新型壓電復(fù)合換能器及其應(yīng)用[M].北京:科學(xué)出版社,2007:157-159.
[5] [美]Vinay K. Ingle, John G. Proakis著.陳懷琛等譯.數(shù)字信號(hào)處理及其MATLAB實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,1998:206-208.
Design of Digital Preamplifier Based on FPGA
ZHU Mingjun
(Military Representative Office of Navy in Kunming, Kunming 650051)
Combining with the design of the acoustic system digital preamlifier hydrophone underwater, introduce a design of digital preamplifier with frequency equalization based on FPGA is introduce.
FPGA, FIR filter, preamplifier
2014年11月20日,
2014年12月23日
朱明駿,男,高級(jí)工程師,研究方向:水中兵器。
TN912
10.3969/j.issn1672-9730.2015.05.043