劉勝興
(廈門大學(xué) 海洋與地球?qū)W院,福建 廈門361102)
水聲學(xué)是理論和應(yīng)用性都很強(qiáng)的一門學(xué)科,如何培養(yǎng)學(xué)生的學(xué)習(xí)積極性和實(shí)踐動(dòng)手能力是水聲教育工作者面臨的一個(gè)重要挑戰(zhàn)。傳統(tǒng)的“水聲學(xué)實(shí)驗(yàn)”課程主要包括聲速測(cè)量、聲波在海水中的衰減、換能器聲阻抗、發(fā)射響應(yīng)和指向性測(cè)量等??傮w來(lái)看,“水聲學(xué)實(shí)驗(yàn)”課程實(shí)驗(yàn)數(shù)量,尤其綜合應(yīng)用實(shí)驗(yàn)偏少,急需構(gòu)建一些新的實(shí)驗(yàn)平臺(tái)和方法。
水聲通信屬于水聲學(xué)范疇下的一個(gè)重要應(yīng)用分支,在海洋科學(xué)研究,海水污染監(jiān)測(cè)、海底資源勘探、水下AUV導(dǎo)航和定位等許多方面都體現(xiàn)了重要的應(yīng)用價(jià)值[1-3]。近幾十年來(lái),水聲通信取得了快速發(fā)展,無(wú)線電通信中的許多先進(jìn)技術(shù),包括自適應(yīng)信道均衡和估計(jì)、信道糾錯(cuò)編碼、多載波通信和時(shí)空分集技術(shù)等都被應(yīng)用于水聲信道,并在海上試驗(yàn)中取得了很好的通信效果。目前,市場(chǎng)上出現(xiàn)各種不同通信方式和速率的水聲Modem,如LinkQuest公司生產(chǎn)的UWM系列水聲Modem、Benthos公司生產(chǎn)的ATM 910系列水聲Modem等。廈門大學(xué)在水聲通信和應(yīng)用方面也取得了重要研究進(jìn)展,成功研制出多種水聲Modem、水聲數(shù)字語(yǔ)音通信系統(tǒng)和水下圖像傳輸系統(tǒng)[4-8]。將這些先進(jìn)的科研成果進(jìn)行簡(jiǎn)化、改進(jìn)和綜合,構(gòu)建出一套水聲通信實(shí)驗(yàn)教學(xué)系統(tǒng),不僅可以擴(kuò)展“水聲學(xué)實(shí)驗(yàn)”課程的實(shí)驗(yàn)手段和條件,還可以加深學(xué)生對(duì)通信原理、數(shù)字信號(hào)處理、水聲換能器和水聲學(xué)等海洋物理核心課程的理解,進(jìn)一步提高學(xué)生的專業(yè)興趣和學(xué)習(xí)動(dòng)力。
本文基于水聲通信基本原理,結(jié)合水聲通信的最新研究進(jìn)展和“水聲學(xué)實(shí)驗(yàn)”課程的現(xiàn)有教學(xué)條件,構(gòu)建了一種以PC電腦為處理核心,聲卡為輸入輸出設(shè)備的水聲通信教學(xué)平臺(tái)。
早期的水聲通信系統(tǒng)主要采用模擬調(diào)制方式,存在尺寸較大、功率利用效率較低和容易串?dāng)_等缺陷[9]。目前的水聲通信系統(tǒng)大多采用數(shù)字通信方式,根據(jù)調(diào)制方式不同,可以分成頻移鍵控(FSK)、相移鍵控(PSK)和正交頻分復(fù)用多載波調(diào)制(OFDM)等三種。FSK調(diào)制方式通常跟載波頻率跳變技術(shù)相結(jié)合,構(gòu)成FH-MFSK調(diào)制方式,發(fā)射端根據(jù)跳頻圖案選擇載波頻率,采用FSK調(diào)制方式將數(shù)字信號(hào)轉(zhuǎn)化為模擬信號(hào);接收端采用快速傅立葉變換(FFT)進(jìn)行頻率識(shí)別,并根據(jù)跳頻圖案進(jìn)行數(shù)據(jù)恢復(fù)[10]。PSK調(diào)制方式根據(jù)待傳送的數(shù)據(jù)改變載波的相位,接收端通常采用二階數(shù)字鎖相和判決反饋均衡技術(shù)進(jìn)行解調(diào)[11]。OFDM多載波調(diào)制方式將載波分成N個(gè)相互正交的子載波,通過(guò)延長(zhǎng)每個(gè)OFDM符號(hào)的周期和插入循環(huán)前綴等技術(shù)來(lái)緩解水聲信道的多途干擾[12]。OFDM通信接收端通常采用FFT變換進(jìn)行解調(diào)。除FH-MFSK調(diào)制水聲通信系統(tǒng)外,水聲信道估計(jì)和均衡是水聲通信系統(tǒng)的最為關(guān)鍵的技術(shù)之一。由于聲波在海水中的傳播速度約為1500 m/s,遠(yuǎn)遠(yuǎn)小于光波在空氣中的傳播速度,因此,水聲信道的多途干擾相對(duì)更復(fù)雜,其主要特征為多途時(shí)延長(zhǎng),一般在幾毫秒到幾十毫秒之間,特殊海洋條件下可達(dá)幾百,甚至幾千毫秒。水聲信道估計(jì)和均衡算法主要有最小均方算法和正交匹配追蹤壓縮感知算法等[13-14]。
圖1 水聲通信系統(tǒng)原理框圖
圖1為水聲通信系統(tǒng)的原理框圖。分發(fā)射和接收系統(tǒng)兩部分:發(fā)射系統(tǒng)主要由信道編碼、調(diào)制和功率放大等三部分組成;接收系統(tǒng)主要由前置放大、解調(diào)、信道編碼等三部分組成。由于水聲信道存在嚴(yán)重的多途干擾,發(fā)射的聲信號(hào)功率有限,聲波在海水介質(zhì)中的傳播損失又較大,因此,接收信號(hào)的信噪比較低,需要進(jìn)行信道糾錯(cuò)編碼才能將誤比特率降至應(yīng)用需求,如在語(yǔ)音通信中的10-3,文本、指令等的10-5等。本文所研制水聲通信系統(tǒng)涉及的主要方法或技術(shù)有幀同步、調(diào)制/解調(diào)、信道編碼和信道均衡等。
同步是獲得可靠水聲通信的關(guān)鍵技術(shù)之一,包括幀同步、載波同步、位同步和網(wǎng)絡(luò)同步等。本文所研制的水聲通信通信系統(tǒng)只需要進(jìn)行幀同步,方法是在每一幀信號(hào)前都插入一段線性調(diào)頻 (linear frequency modulation,LFM)信號(hào),接收機(jī)用本地拷貝LFM信號(hào)對(duì)輸入信號(hào)作相關(guān)處理,通過(guò)比較相關(guān)峰值與預(yù)設(shè)閾值的大小來(lái)確定是否有同步信號(hào)到達(dá)。若相關(guān)峰值大于閾值,則有同步信號(hào)到達(dá),系統(tǒng)進(jìn)入解調(diào)和信道解碼處理,若相關(guān)峰值小于閾值,則沒(méi)有同步信號(hào)到達(dá),系統(tǒng)繼續(xù)做相關(guān)處理。LFM信號(hào)的時(shí)間長(zhǎng)度設(shè)置為20 ms,可確保系統(tǒng)在頻率選擇性衰落嚴(yán)重水聲信道中的有效性。
在每一幀信號(hào)后也插入一段LFM信號(hào),接收機(jī)通過(guò)測(cè)量?jī)啥蜭FM信號(hào)之間的時(shí)間變化來(lái)估計(jì)多普勒頻移動(dòng)。設(shè)發(fā)射信號(hào)中兩段LFM信號(hào)之間的時(shí)間差為T,接收信號(hào)中兩段LFM信號(hào)之間的時(shí)間差為T′,則相對(duì)多普勒移β為:
接收機(jī)根據(jù)相對(duì)多普勒頻移,采用線性插值方法進(jìn)行補(bǔ)償。
所構(gòu)建水聲通信系統(tǒng)采用FH-MFSK調(diào)制和OFDM多載波調(diào)制兩種通信方式。FH-MFSK調(diào)制方式相對(duì)較簡(jiǎn)單,發(fā)送端根據(jù)跳頻圖案選擇發(fā)送信號(hào)的頻率,接收端采用快速傅立葉變換(FFT)進(jìn)行鑒頻,并根據(jù)跳頻圖案進(jìn)行解跳。OFDM多載波調(diào)制方式的主要優(yōu)點(diǎn)是頻帶利用效率高,能在帶寬十分有限的水聲信道中獲得高速通信。另外,OFDM系統(tǒng)的抗多途干擾能力較強(qiáng),通過(guò)延長(zhǎng)每個(gè)OFDM符號(hào)周期和插入循環(huán)前綴等措施抑制長(zhǎng)時(shí)延的多途干擾。OFDM系統(tǒng)的缺點(diǎn)是峰均比高,受多普勒頻移的影響相對(duì)較大,在時(shí)變水聲信道中會(huì)產(chǎn)生子載波間的干擾,影響通信系統(tǒng)的誤比特率。
水聲OFDM通信系統(tǒng)的調(diào)制和解調(diào)過(guò)程分別如圖2和3所示。由圖2可見(jiàn),OFDM調(diào)制過(guò)程主要包括串/并轉(zhuǎn)換、數(shù)據(jù)-符號(hào)映射和IFFT變換等3個(gè)步驟。系統(tǒng)采用IFFT變換實(shí)現(xiàn)發(fā)送符號(hào)向發(fā)射信號(hào)的轉(zhuǎn)換,具有快速有效,便于軟件實(shí)現(xiàn)等優(yōu)點(diǎn)。由圖3可見(jiàn),OFDM解調(diào)過(guò)程與調(diào)制過(guò)程剛好相反,主要包括FFT變換、符號(hào)-數(shù)據(jù)映射和并/串轉(zhuǎn)換等3個(gè)步驟。
圖2 水聲OFDM調(diào)制過(guò)程
圖3 水聲OFDM解調(diào)過(guò)程
信道編碼亦稱差錯(cuò)控制編碼,即在發(fā)送的數(shù)據(jù)中插入冗余信息,接收端通過(guò)這些冗余信息將傳輸過(guò)程中可能出錯(cuò)的數(shù)據(jù)正確地恢復(fù)出來(lái)。信道編碼包括分線性分組碼和非分組碼等兩種,前者如漢明碼、循環(huán)碼和低密度奇偶校驗(yàn)(LDPC)碼等,后者如卷積碼和Turbo碼等。本文構(gòu)建的水聲通信系采用Turbo碼進(jìn)行信道編碼。Turbo碼的兩個(gè)分量編碼器采用完全相同的遞歸系統(tǒng)卷積碼,編碼過(guò)程簡(jiǎn)述如下:①信息序列通過(guò)第一個(gè)分量編碼器編碼后輸出校驗(yàn)序列,經(jīng)信道交織后通過(guò)第二個(gè)分量編碼器編碼輸出校驗(yàn)序列;②根據(jù)設(shè)定的碼率對(duì)校驗(yàn)序列進(jìn)行刪余,得到校驗(yàn)序列;③將信息序列和校驗(yàn)序列復(fù)用后輸出編碼序列。在Turbo碼的編碼過(guò)程中,交織器的作用是實(shí)現(xiàn)信息序列的順序重置,若信息序列經(jīng)過(guò)第一個(gè)編碼器編碼后的碼字重量較低,則經(jīng)交織器交織后的信息經(jīng)過(guò)第二個(gè)分量編碼器后輸出高重量碼字。可以大大提高碼字的自由距離。另外,交織器還可大大降低兩個(gè)校驗(yàn)序列之間的相關(guān)性,使得Turbo碼獲得近似隨機(jī)編碼。Turbo碼的性能與交織器密切相關(guān),在實(shí)際應(yīng)用中可采用隨機(jī)交織方式以提高編碼性能。
Turbo碼能獲得優(yōu)異性能的主要原因是采用了迭代譯碼結(jié)構(gòu),如圖4所示。由圖4可見(jiàn),Turbo碼譯碼器由兩個(gè)軟輸入軟輸出(SISO)分量譯碼器構(gòu)成,分別對(duì)應(yīng)兩個(gè)分量編碼器。在迭代譯碼過(guò)程中,分量譯碼器1譯碼輸出由三部分信息之和的形式表示,即:
圖4 Turbo碼譯碼結(jié)構(gòu)
Turbo碼的譯碼算法主要有最大后驗(yàn)概率算法、對(duì)數(shù)形式的最大后驗(yàn)概率算法和軟輸入軟輸出Veterbi(SOVA)算法等。最大后驗(yàn)概率算法性能最優(yōu),但計(jì)算量最大,非常復(fù)雜,SOVA算法根據(jù)編碼格圖尋找一條最優(yōu)路徑,并對(duì)這條路徑上的信息做出最優(yōu)估計(jì),性能相對(duì)較差。SOVA算法的主要優(yōu)點(diǎn)是算法復(fù)雜度低,容易在各種處理器,包括普通PC、DSP和嵌入式CPU中實(shí)時(shí)實(shí)現(xiàn)。
設(shè)水聲通信系統(tǒng)的總有效帶寬為B,其被分成K個(gè)子信道,則IFFT變換后的發(fā)射信號(hào)為:
其中,fc為載波頻率;T為OFDM符號(hào)周期;Tg為插入的保護(hù)間隔;s(k)為發(fā)送符號(hào)序列。
若水聲信道的沖擊響應(yīng)為:
其中,Al和τl分別為第l條路徑的增益和時(shí)延。則接收信號(hào) y(t)為:
其中,w(t)為高斯噪聲信號(hào)。對(duì)上式作FFT變換,得:
其中,z=[z(0),z(1),…,z(K-1)]T為接收序列;s=[s(0),s(1),…,s(K-1)]T為發(fā)送序列;v=[v(0),v(1),…,v(K-1)]T為高斯噪聲序列;H為水聲信道的傳輸矩陣,若水聲信道的傳輸矩陣H已知,則由式(6)可得發(fā)送序列的最佳估計(jì) ?(k)。
實(shí)際工程應(yīng)用中,水聲信道的傳輸矩陣H通常未知,因此,首先應(yīng)對(duì)其進(jìn)行估計(jì)。方法是在子信道中隨機(jī)插入一定數(shù)量的導(dǎo)頻,通信接收機(jī)利用該導(dǎo)頻先估計(jì)出信道的沖擊響應(yīng)h(t),然后再利用式(6)求出信道的轉(zhuǎn)移函數(shù)H。本文采用正交匹配追蹤 (OMP:Orthogonal Matching Pursuit)算法進(jìn)行水聲信道估計(jì),主要步驟為[15]:
(1)初始化
殘差r0=z,索引集S0=,迭代次數(shù)j=0
(2)迭代
步驟 i:根據(jù)(7)式優(yōu)化規(guī)則確定索引 sj(j=1,2,…)。
其中,wm為矩陣W的第m列向量。
步驟 ii:更新索引集 Sj=Sj-1∪{sj}。
其中,Wsj為 N×j矩陣。
步驟iv:新的近似和殘差計(jì)算
若rj的均方值小于某閾值,則終止并輸出估計(jì)結(jié)果;否則轉(zhuǎn)步驟v。
步驟 v:若 j<J,其中 J 為最大迭代次數(shù),轉(zhuǎn)步驟 i,否則終止并輸出估計(jì)結(jié)果。
(3)輸出
水聲通信發(fā)射和接收系統(tǒng)的所有算法都在PC電腦中通過(guò)Visual Studio C++編程實(shí)現(xiàn),模擬信號(hào)的輸入輸出都通過(guò)電腦上的聲卡來(lái)完成。發(fā)射和接收系統(tǒng)屬于同一軟件,即一個(gè)軟件系統(tǒng)即可發(fā)射,也可接收,但在任意時(shí)刻僅處于發(fā)射或接收狀態(tài)之一。為確保系統(tǒng)穩(wěn)定可靠,發(fā)射和接收系統(tǒng)分別安排不同的線程。
發(fā)射系統(tǒng)的硬件部分如圖5所示,主要由普通PC電腦、聲卡、功率放大器和發(fā)射換能器等四部分組成。電腦上完成的操作或算法包括待發(fā)送數(shù)據(jù)的讀入,信道編碼,符號(hào)映射和調(diào)制等。調(diào)制后生成的數(shù)字音頻信號(hào)通過(guò)“waveOutWrite()”函數(shù)寫入聲卡,聲卡根據(jù)預(yù)先設(shè)置的采樣頻率將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),并輸出至功率放大器。經(jīng)功率放大后的信號(hào)激勵(lì)水聲換能器發(fā)射聲波。為確保系統(tǒng)采用OFDM多載波調(diào)制方式時(shí)的信號(hào)不失真,功率放大器應(yīng)采用線性功放,頻率范圍DC~100 kHz即可。水聲換能器采用圓管型壓電陶瓷換能器,目前可提供兩種選擇,一種頻率范圍在13-18 kHz,另外一種頻率范圍在22-30 kHz之間。
圖5 水聲通信發(fā)射系統(tǒng)
Waveout是Windows提供的數(shù)字音頻輸出應(yīng)用接口程序,通過(guò)該接口輸出音頻主要包括如下步驟:①打開音頻輸出,通過(guò)調(diào)用waveOutOpen()函數(shù)打開一個(gè)音頻輸出流,調(diào)用該函數(shù)時(shí),需指明音頻輸出格式和采樣頻率等信息;②寫音頻頭,通過(guò)調(diào)用waveOutPrepareHeader()函數(shù)完成;③寫音頻數(shù)據(jù),通過(guò)調(diào)用waveOutWrite()函數(shù)完成。為確保音頻數(shù)據(jù)輸出的連續(xù)性,設(shè)計(jì)中考慮每一幀數(shù)據(jù)調(diào)用一次waveOutWrite()函數(shù)。數(shù)據(jù)寫完后通過(guò)回調(diào)函數(shù)通知發(fā)送線程寫入新的一幀數(shù)據(jù)。
接收系統(tǒng)的硬件部分如圖6所示,主要由水聽器、放大濾波器、聲卡和普通PC電腦等四部分組成。水聽器采用球形水聽器,在DC~100 kHz范圍接收響應(yīng)平坦,負(fù)責(zé)接收來(lái)自發(fā)射換能器的聲信號(hào)。聲信號(hào)經(jīng)放大濾波后通過(guò)聲卡輸入至電腦。電腦上完成的操作或算法主要包括:待處理水聲信號(hào)的讀入、同步,信道估計(jì)和均衡、解調(diào),信道解碼,數(shù)據(jù)顯示和保存等。
圖6 水聲通信接收系統(tǒng)
聲卡采集到的音頻數(shù)據(jù)通過(guò)Windows提供的應(yīng)用程序接口WaveIn輸入,主要步驟為:①打開音頻輸入,通過(guò)調(diào)用waveInOpen()函數(shù)打開一個(gè)音頻輸入流,需要明確指明輸入音頻格式和采樣頻率等;②添加輸入緩存,通過(guò)調(diào)用 waveInPrepareHeader()和 waveInAddBuffer()函數(shù)完成;③開始輸入,調(diào)用 waveInStart()函數(shù)啟動(dòng)音頻數(shù)據(jù)的輸入。當(dāng)添加的緩存數(shù)據(jù)滿時(shí),回調(diào)函數(shù)通知音頻輸入處理線程取出數(shù)據(jù)。
水聲通信系統(tǒng)的操作界面如圖7所示。主要功能包括:系統(tǒng)通信方式的設(shè)置,待傳輸文件的讀入、發(fā)送,接收數(shù)據(jù)的保存、清除,水聲信道沖擊響應(yīng)的測(cè)試等。系統(tǒng)目前提供FH-4FSK和OFDM多載波兩種通信方式。信道編碼方式包括:無(wú)編碼、Turbo碼(硬)、Turbo碼(軟)和LDPC碼等四種。Turbo碼(硬)指信息經(jīng)硬判后再輸入譯碼器;Turbo碼(軟)指譯碼算法采用軟輸入、軟輸出的Vitebi算法,即SOVA算法[16]。系統(tǒng)采用4FSK調(diào)制方式時(shí),其碼元周期可選擇1、2、4和8 ms等四種,可讓學(xué)生充分了解符號(hào)碼元周期對(duì)通信誤比特率的影響。系統(tǒng)的操作界面直觀簡(jiǎn)單,未經(jīng)訓(xùn)練的學(xué)生五分鐘便可學(xué)會(huì)使用,可以讓學(xué)生在暫短的3個(gè)課時(shí)內(nèi)就熟悉和理解水聲跳頻通信和OFDM多載波調(diào)制通信的基本原理,直觀感受到水聲信道多途的復(fù)雜性。
圖7 水聲通信系統(tǒng)操作界面
將水聲通信技術(shù)應(yīng)用于實(shí)驗(yàn)教學(xué),為“水聲學(xué)實(shí)驗(yàn)”的教學(xué)提供了新的平臺(tái)和空間,豐富了教學(xué)的內(nèi)容和形式。實(shí)驗(yàn)平臺(tái)直觀簡(jiǎn)單、易操作,彌補(bǔ)了水聲學(xué)和通信理論的抽象性。通過(guò)該實(shí)驗(yàn)教學(xué)平臺(tái),學(xué)生不僅能直接了解水聲通信的全過(guò)程,還可加深對(duì)通信原理、水聲學(xué)和水聲換能器等課程的理解。有助于培養(yǎng)學(xué)生的實(shí)踐動(dòng)手能力,激發(fā)他們的學(xué)習(xí)積極性和創(chuàng)造性思維。