李 濛,吳呈瑜,占 敖
(浙江理工大學(xué) 信息學(xué)院, 杭州 浙江 310018)
頻移鍵控信號(hào)(Frequency Shift Keying,FSK)[1]具有產(chǎn)生方法簡(jiǎn)單、易于實(shí)現(xiàn)、可以異步傳輸和抗噪聲能力強(qiáng)的性能,使得多進(jìn)制頻移鍵控(Multiple Frequency Shift Keying,MFSK)信號(hào)在無線通信中得到廣泛的應(yīng)用[2]。
目前對(duì)MFSK信號(hào)的解調(diào)方法主要包括快速傅里葉變換 (Fast Fourier Transform,FFT)[3]、短時(shí)傅里葉變化 (Short-Time Fourier Transform,STFT)[4]以及小波變化[5]解調(diào)算法。文獻(xiàn)[6]中FFT解調(diào)器方案是根據(jù)同相(I)和正交(Q)樣本組成的接收信號(hào)輸入FFT后,通過選取FFT輸出中可選功率最大的位置,對(duì)信號(hào)進(jìn)行解調(diào),但該方法的復(fù)雜度較高,信號(hào)處理效率較低。文獻(xiàn)[7]中基于STFT是通過求解信號(hào)的能量系數(shù),根據(jù)其序列的極大值點(diǎn)對(duì)應(yīng)著時(shí)頻能量來對(duì)信號(hào)進(jìn)行解調(diào),但抗噪性能較差且只對(duì)低階的MFSK信號(hào)效果較好。文獻(xiàn)[8]基于小波變化對(duì)信號(hào)進(jìn)行解調(diào)是通過對(duì)小波脊線提取進(jìn)而得到信號(hào)的瞬時(shí)頻率,但小波變化存在小波尺度盲點(diǎn)、抗噪聲性能差等問題。文獻(xiàn)[9]中MFSK正交解調(diào)方案通過對(duì)瞬時(shí)速率的抽樣判決完成對(duì)信號(hào)的解調(diào),但沒有對(duì)高噪聲的信號(hào)進(jìn)行進(jìn)一步處理,抗噪能力較弱。近幾年有采用神經(jīng)網(wǎng)絡(luò)[10-14]對(duì)信號(hào)進(jìn)行解調(diào),效果較好,但該方法需要大量數(shù)據(jù),且僅針對(duì)特定訓(xùn)練的信號(hào)效果較好。
本文通過MFSK信號(hào)I、Q兩路的正交特性和頻域特性對(duì)信號(hào)的信號(hào)同步、調(diào)制碼識(shí)別和進(jìn)制識(shí)別進(jìn)行了研究:通過對(duì)信號(hào)不同頻率點(diǎn)處的功率譜峰值進(jìn)行檢測(cè)判決完成了信號(hào)同步;通過信號(hào)的正交特性進(jìn)而對(duì)信號(hào)斜率進(jìn)行提取,再根據(jù)信號(hào)斜率構(gòu)建差值序列并建立解調(diào)的數(shù)學(xué)模型,完成了調(diào)制進(jìn)制M的識(shí)別和調(diào)制碼的解調(diào)。本文的算法復(fù)雜度較低且僅呈線性增長(zhǎng),有著較高的信號(hào)處理速率和較廣應(yīng)用前景。
MFSK是一種可用多個(gè)不同的載波頻率代表多種數(shù)字信息的調(diào)制方式[15],其表達(dá)式為:
(1)
式中,A0為信號(hào)幅度,g(n-m)表示基帶信號(hào),am∈{1,2,3,…,M}為發(fā)送的數(shù)據(jù),Δω為載波頻率間隔。通過將接收的MFSK信號(hào)相干解調(diào)處理后,可以得到兩路正交的I、Q信號(hào),如式(2)所示:
(2)
根據(jù)式(2)中的SI(n)和SQ(n),進(jìn)一步建立優(yōu)化模型求解信號(hào)所有碼元數(shù)的實(shí)際信號(hào)和設(shè)定信號(hào)之間的最小頻率誤差,設(shè)定H為頻率誤差,以信號(hào)頻率的取值范圍為約束條件,則該優(yōu)化模型可表示為:
|A0sin(akω)-SI(t+(k-1)N:t+k·N)|
s.t.a1 (3) 式中,L為信號(hào)的總碼元數(shù),ak為信號(hào)第k個(gè)碼元所發(fā)送的數(shù)據(jù),SQ和SI為信號(hào)的同向和正交分量,t為信號(hào)的起始點(diǎn),N為信號(hào)的碼元長(zhǎng)度。 上述問題是一個(gè)含離散變量的非凸非線性規(guī)劃問題,難以獲得其最優(yōu)解[16],在實(shí)際問題中,信號(hào)長(zhǎng)度往往很長(zhǎng),調(diào)制進(jìn)制也會(huì)出現(xiàn)16、32等較高的階的情況,會(huì)進(jìn)一步增加問題求解的復(fù)雜度。本文通過對(duì)上述問題進(jìn)行簡(jiǎn)化,求解該問題的次優(yōu)解,進(jìn)而減少計(jì)算的復(fù)雜度和計(jì)算量。 本文首先計(jì)算信號(hào)起始點(diǎn)位置,再根據(jù)信號(hào)的正交性對(duì)式(3)中的優(yōu)化問題進(jìn)行簡(jiǎn)化并求其次優(yōu)解,具體如下: ① 信號(hào)同步:首先將MFSK信號(hào)通過FFT變化進(jìn)行信號(hào)同步,找到信號(hào)的起始點(diǎn)t。 ② 信號(hào)解調(diào):通過I、Q兩路信號(hào)的相位正交性得到信號(hào)的斜率,根據(jù)信號(hào)斜率構(gòu)建差值序列對(duì)信號(hào)進(jìn)行建模解調(diào),求解出該問題的次優(yōu)解。 假設(shè)接收到信號(hào)的采樣率為FS,碼速率為C,此時(shí)碼元長(zhǎng)度N=Fs/C,通過FSK信號(hào)和FFT的原理可知,通過對(duì)長(zhǎng)度為N的信號(hào)進(jìn)行FFT,可以得到當(dāng)前碼元的頻率值。并根據(jù)得到頻率值進(jìn)行判決可以完成信號(hào)同步,以下是進(jìn)行信號(hào)同步的步驟,假設(shè)數(shù)據(jù)的起始位置計(jì)為t: ① 讀取t到t+N的數(shù)據(jù),進(jìn)行FFT; ② 計(jì)算出所得功率譜中最大值max(A)及最小值min(A),并設(shè)定需要進(jìn)行判決的門限D(zhuǎn)=max(A)/min(A); ③ 當(dāng)?shù)玫降拈T限D(zhuǎn)小于一個(gè)設(shè)定值,并且此時(shí)的最大值max(A)大于一個(gè)設(shè)定的門限,將其判定為有效信息; ④ 找到當(dāng)前頻率譜中最大的兩個(gè)值,t值遞增,當(dāng)頻率譜中這兩個(gè)值最接近時(shí),此時(shí)t處于符號(hào)的中間位置,在向前移動(dòng)半個(gè)碼元,即可得到信號(hào)的起始位置。 首先將MFSK信號(hào)的I、Q兩路信號(hào)SI、SQ進(jìn)行反正切運(yùn)算得到信號(hào)的斜率Sv: (4) (5) Sv(x)=pωx,x∈(-kπ/2,kπ/2),k=1,2,3…,n, (6) 其中,p∈{a1,a2,a3,…,aM}為發(fā)送的數(shù)據(jù)。 考慮到實(shí)際系統(tǒng)中反正切運(yùn)算量較大,且在FPGA中也難以直接實(shí)現(xiàn),通過式(7)改進(jìn)算法來簡(jiǎn)化計(jì)算過程[9]: (7) 通過式(6)可以看出不同頻率的信號(hào)對(duì)應(yīng)不同的斜率,通過對(duì)相鄰的兩斜率值求差,可得不同頻率信號(hào)的斜率差值d(k): (8) 由于不同頻率的信號(hào)對(duì)應(yīng)不同的斜率,可以通過斜率差值的數(shù)量確定MFSK信號(hào)的調(diào)制進(jìn)制M。將得到的M個(gè)差值通過式(8)構(gòu)建差值序列R1~RM,再將信號(hào)的斜率Sv通過式(9)進(jìn)行求差,得到整段信號(hào)的斜率差值Sc,并對(duì)Sc進(jìn)行低通濾波以減少高頻噪聲的影響,最后建立以頻率誤差H最小化為目標(biāo),以差值序列的取值范圍為約束的優(yōu)化模型。 Rk=d(k)·IN,1, (9) Sc=Sv(n+1)-Sv(n), (10) (11) 其中,IN,1是長(zhǎng)度為碼元長(zhǎng)度N的單位矩陣,Sc(t+(i-1)·N:t+i·N)為信號(hào)的第i個(gè)碼元。 對(duì)于上述優(yōu)化問題,根據(jù)式(8)所得斜率差值,設(shè)定不同的門限值,進(jìn)行門限判決進(jìn)而求解出每個(gè)碼元的頻點(diǎn)。對(duì)信號(hào)一個(gè)長(zhǎng)度為N的碼元進(jìn)行求解的時(shí)間復(fù)雜度為O(N),對(duì)L個(gè)碼元的信號(hào)建立模型求解的總計(jì)時(shí)間復(fù)雜度為O(LN),算法復(fù)雜度僅呈線性增長(zhǎng)。 通過解決式(9)的問題,可確定Sv中每段信號(hào)所處的頻點(diǎn),最后再根據(jù)MFSK調(diào)制映射對(duì)照關(guān)系解出比特信息。 首先設(shè)定W初始值為0,截取W~W+N信號(hào)進(jìn)行FFT,當(dāng)功率譜中最大值和最小值的比值不符合判決門限時(shí),W不斷遞增,直到功率譜中最大的兩個(gè)值之差最小時(shí),可得信號(hào)的起始點(diǎn)為W-N/2,再通過反正切運(yùn)算得到信號(hào)的斜率,并構(gòu)建差值序列對(duì)信號(hào)進(jìn)行建模解調(diào),算法實(shí)現(xiàn)的具體流程如圖1所示。 圖1 算法實(shí)現(xiàn)程序流程框圖Fig.1 Algorithm implementation program flow diagram 算法實(shí)現(xiàn)的偽代碼如算法1所示,首先將FFT變化后信號(hào)中的最大值result和次大值result1提取出來,并設(shè)定判決門限set1和set2,當(dāng)滿足判決門限時(shí)且result與result1差值最小時(shí),得到信號(hào)起始點(diǎn)為W-N/2,再通過反正切運(yùn)算得到信號(hào)斜率Sv,并求得信號(hào)的斜率差值d(k),最后根據(jù)斜率差值,設(shè)定不同的門限值,進(jìn)行門限判決進(jìn)而求解出每個(gè)碼元的頻點(diǎn)。 算法 1 解調(diào)算法輸入:接收信號(hào)S,I路信號(hào)SI,Q路信號(hào)SQ,碼元長(zhǎng)度N輸出:Rn碼元頻點(diǎn)1:functionDemodulation(S,SI,SQ,N)2: W ←03: while1 do4: W ←W+15: c ←min(result)/ 106: result ←FFT(S/(W+(k-1)N:W+N×k),N)7: result1 ←result[find(result =max(result))] = null8: set1←4×mean(result)/min(result)9: set2←5×mean(result)10: D ←max(result)/min(result) 11: ifD < set1 and max(result) > set2 then12: if max(result)-max(result) < cthen13: t ←W-N/214: Break15: end if16: end if17: m ←018: R ←019: L ←length(S)/N20: Sv ←arctan(SI/SQ)21: fork=0 →length(Sv)-1 do22: d(k) ←Sv(k+1)-Sv(k)23: end for24: fori=1 →L do25: ifR≠(∑t+N×ik=t+N×(i-1)d(k)/N) then26: m ←m+127: R(m)←(∑t+N×ik=t+N×(i-1)d(k)/N28: end if29: end for30: for i=1 →Ldo31: fork=1 →mdo32: H(k) ←R(k)-d(t+N×(i-1),t+N×i)33: end for 34: Rn(i) ←min(H)35: end for36: returnRn 為比較本文算法以及文獻(xiàn)[17]的算法,設(shè)置仿真參數(shù)如表1所示。 表1 仿真參數(shù)設(shè)置Tab.1 Simulation parameter settings 同時(shí)設(shè)置實(shí)驗(yàn)如下:通過Matlab仿真生成2FSK、4FSK、8FSK、16FSK信號(hào),信號(hào)的先驗(yàn)信息保持一致,均采用加性的高斯白噪聲,信噪比為1 dB步進(jìn)到12 dB,每個(gè)不同信噪比下均進(jìn)行200次蒙特卡羅試驗(yàn),分別使用文獻(xiàn)[17]算法、傳統(tǒng)相干解調(diào)[18]和本文算法進(jìn)行計(jì)算。仿真不同進(jìn)制下的解調(diào)誤碼率,三種算法的誤碼率曲線如圖2~圖5所示。 圖2 2FSK性能對(duì)比Fig.2 2FSK performance comparison 圖3 4FSK性能對(duì)比Fig.3 4FSK performance comparison 圖4 8FSK性能對(duì)比Fig.4 8FSK performance comparison 圖5 16FSK性能對(duì)比Fig.5 16FSK performance comparison 由圖2~圖5可以看出,本文算法在實(shí)驗(yàn)過程中有良好的穩(wěn)定性和準(zhǔn)確性。在低信噪比(<6 dB)時(shí),斜率差值誤差較大,導(dǎo)致無法正確地設(shè)置判決門限,誤碼率較高;在高信噪比(>6 dB)時(shí),2FSK、4FSK、8FSK和16FSK的解調(diào)正確率都可以達(dá)到90%以上,且表現(xiàn)出很高的穩(wěn)定性,解調(diào)性能優(yōu)于傳統(tǒng)的小波解調(diào)和相干解調(diào)算法。當(dāng)面對(duì)一個(gè)未知的信號(hào)時(shí),基于小波變化的解調(diào)算法無法事先確定好尺度因子的選擇。因此,可以認(rèn)為本文算法所需先驗(yàn)知識(shí)更少,本文算法也更加適用于MFSK信號(hào)的解調(diào)[19]。 本文提出了一種基于正交MFSK信號(hào)的解調(diào)算法,首先利用MFSK信號(hào)在功率譜中的能量聚集性,對(duì)功率譜頻率的峰值進(jìn)行檢測(cè)判決來完成信號(hào)同步,然后利用信號(hào)的正交性對(duì)信號(hào)斜率進(jìn)行提取,最后根據(jù)信號(hào)斜率構(gòu)建差值序列并建立解調(diào)的數(shù)學(xué)模型,完成了調(diào)制進(jìn)制M的識(shí)別和調(diào)制碼的解調(diào)。本文算法復(fù)雜度較低且僅呈線性增長(zhǎng),仿真結(jié)果表明,有較為理想的處理性能和較高的運(yùn)行效率,適于工程實(shí)現(xiàn)。2 MFSK信號(hào)解調(diào)模型
2.1 信號(hào)同步
2.2 信號(hào)解調(diào)
2.3 算法的實(shí)現(xiàn)


3 仿真實(shí)驗(yàn)及結(jié)果分析





4 結(jié)束語