|
近幾年來,PC的各項技術得到了迅速發(fā)展。CPU的計算速度、內(nèi)存容量都大幅度提高,已經(jīng)完全可以滿足對常規(guī)通信信號的實時解調。本文正是基于這種思想,拋開DSP器件,以多媒體電腦為硬件平臺,實現(xiàn)對2FSK信號的實時解調, 系統(tǒng)框圖如所示。 接收機輸出的基帶信號經(jīng)PC聲卡采樣后得到離散化的數(shù)字序列,對信號的采樣可調用Windows API函數(shù)對聲卡進行控制,包括抽樣頻率、緩存大小、每次讀入的字節(jié)數(shù)等。解調軟件是本文討論的重點,它完成對信號的數(shù)字化實時解調和譯報等功能。其數(shù)字化解調模型如所示。
載波頻率估計 載波頻率估計有頻域和時域兩種方法,本文采用頻域估計法。首先,對輸入的離散數(shù)字序列x(k)進行FFT(k=0,1,2,...,N-1),得到頻譜序列X(n)(這里n=0,1,2,...,N-1),由于實信號的FFT具有對稱性,取X(n)的左半邊(n=0,1,2,...,N/2-1),其頻譜如3圖所示,2FSK信號有兩個載波頻率f1,f2。顯然,可以從頻譜中求出一個值作為對其中一個載頻的估計,假設為f1,但無法確定f2,因為它不一定是次大值。故進一步將頻譜序列X(n)離散化,即 X(n)=X(n), X(n)≥VT; X(n)=0,X(n)<VT 其中,VT為離散化時的門限值。離散化后的頻譜如所示。在f1與f2之間存在若干個0值,因此,可以利用這若干個0值將f1、f2劃分在不同的區(qū)間內(nèi),分別在各自的區(qū)間內(nèi)求出值,即為對載頻的估計。
碼元速率估計 碼元速率的估計也有頻域估計和時域估計兩種方法,本文采用頻域估計法。從頻譜上分析,數(shù)字調制信號的功率譜一般都具有滾降的特點,如所示。令ω1=ω-ω0,則 P(ω1)=P0Sa2(ω/2fB) 當ω1=±2πfB時,P(ω1)=0,兩過零點的寬度B=ω0 +2πfB-(ω0-2πfB),碼元速率為fB=B/4π。這是理想情況,但由于實際信號受躁聲等影響,兩過零點的寬度值同上面的分析值有很大的誤差,因而需要對以上方法進行改進。引起誤差的主要原因在于噪聲對兩個零點附近低幅值頻率的影響相對于ω0附近高幅值頻率來講太顯著,故可以把頻譜寬度向ω0附近集中。當ω1=±πfB時,P(ω1)=≈0.4P0,此式表明,在信號功率譜上,由點的0.4倍所對應的頻譜寬度 ω0+πfB-(ω0-πfB)=2πfB,若用Hz作單位,其數(shù)值等于碼元速率fB,此即為對碼元速率的估計。
帶通濾波器 對于2FSK信號,本文采用二階無限沖激響應濾波器。為提高運算速度和實時性能,濾波器采用迭代算法。設濾波器的輸出序列為y(k), 其中k=0,1,2,...,N-1,則:wwwwwwwww
式中,a=1/2tg(ω0/2fS),ω0為帶通濾波器的中心頻率,fS為聲卡的抽樣頻率,Q為帶通濾波器的品質因數(shù),用來調整濾波器的通帶寬度。 包絡檢波器 包絡檢波器實際上由平方器接低通濾波器,再接相減器組成。由帶通濾波器出來的兩路信號,經(jīng)平方后加到兩個低通濾波器上,并將其輸出送到相減器,相減后的信號變成一路雙極性信號,然后送到碼元恢復模塊進行判決。這里,低通濾波器仍然采用二階無限沖激響應濾波器,其迭代算法如下:
碼元恢復 本文采用數(shù)字鎖相環(huán)軟件算法實現(xiàn)對碼元的恢復。對包絡檢波器輸出的每個樣點記數(shù),記數(shù)長度由碼元速率和抽樣頻率決定,即記數(shù)長度=抽樣頻率/碼元速率。當樣點計數(shù)達到計數(shù)長度時,輸出該碼元(1或0)。為使輸出碼元時刻在碼元寬度的中間,該算法應有反饋機制。我們定義一個計數(shù)變量,當包絡檢波器輸出的樣點值發(fā)生變化時(由正到負,或由負到正),如果計數(shù)變量不處于碼元寬度的中間位置(計數(shù)寬度的一半),則調整計數(shù)變量。若計數(shù)變量大于計數(shù)長度的一半,則計數(shù)變量減小某個值;若計數(shù)變量小于計數(shù)長度的一半,則計數(shù)變量增加某個值,這樣就能保證在碼元寬度的中間時刻輸出碼元。設計數(shù)變量為V,計數(shù)長度為C,反饋量為a,前一個樣點為X0,其算法流程圖如。
實時譯報 碼元恢復模塊輸出的信號再經(jīng)實時譯報軟件就可以正確譯出報文內(nèi)容。這里以RTTY信號為例,給出其譯報算法。 RTTY信號是異步串行傳輸信號,其編碼實際上是國際二號碼,即五單位碼。5位代表一個字符,其前后封裝分別用1位(邏輯“0”)起始位和1位或2位(邏輯“1”)停止位。在譯碼時,首先等待一個下降沿,然后再等待0.5位,并檢測此刻樣點值是否依然為0,以確定起始位。如果不成功,則重新等待下降沿。檢測到一個有效的起始位后就可以讀連續(xù)5位的符號位,檢測停止位(連續(xù)一個或2位的高電平),如果停止位檢測失敗,則放棄此字符,等待一個新的起始位。其算法流程圖如所示。
實驗測試結果 測試系統(tǒng)框圖參見上文系統(tǒng)框圖。這里接收機輸出的RTTY信號的兩個載頻分別為2040Hz和2850Hz,碼元速率為50波特,聲卡的抽樣頻率為8000Hz。測試波形圖及輸出報文如所示,其中a為接收機輸出RTTY信號經(jīng)聲卡抽樣后的波形,b、c分別為兩路帶通濾波器的輸出波形,d為包絡檢波器的輸出波形,e為輸出的碼元,f為輸出的報文內(nèi)容。 |