本發(fā)明涉及時變稀疏信道估計技術領域,尤其是一種適用于時變稀疏信道的估計算法。
背景技術:
接收端相干解調技術的有效性在很大程度上依賴于信道沖擊響應估計的準確性。對于寬帶傳輸,以淺海聲通信為例,信道估計的挑戰(zhàn)性在于信道的快時變性和稀疏性。在水聲系統(tǒng)中,聲波的傳輸速度遠遠低于陸地無線通信中電磁波的傳播速度,因而收發(fā)端移動等帶來的多普勒效應更加顯著,具有時變特性,因此,信道呈現(xiàn)嚴重的時間選擇性。對于時變信道,可以近似認為在較短的時間內,信道是線性變化的,因此可以將多普勒效應建模為多普勒擴展因子,其表現(xiàn)為引起信號在時域上的擴展或壓縮。另外,淺海聲信道中大量反射的存在,使得多徑擴展嚴重,然而,多徑中只有少數(shù)路徑的信號能夠被接收端檢測到,其他路徑信號由于多次反射能量幾乎為0。
由于只有較少的信道抽頭不為0,需要跟蹤和估計的路徑數(shù)大大減小,因而估計算法的復雜度就大為減小。利用稀疏信道的特性,基于壓縮感知(compressedsensing,cs)的信道估計算法得到了廣泛的研究?,F(xiàn)有的cs算法大致可以分為兩類:第一類方法是將信道估計問題轉化為優(yōu)化問題,如基追蹤(basispursuit,bp)算法將信道估計建模為稀疏信號重構問題,并利用線性規(guī)劃求解;bp算法的主要缺點是計算復雜度太高,在實際應用中受限。另一類是基于貪婪算法,如匹配追蹤(matchingpursuit,mp)、正交匹配追蹤(orthogonalmatchingpursuit,omp)等。這類算法預先利用可能的參數(shù)(時延和多普勒因子)取值來構造字典,再通過迭代的方式選取字典中與接收信號相關性最大的列來進行信道估計,并且在每次迭代結束時,從接收信號中減去相應的估計分量。
mp算法及其改進算法的不足之處在于其估計精度依賴于字典的大小,估計精度越高則字典的列數(shù)越多,因而計算量也就更大。對于時變信道,mp算法的計算復雜度限制了參數(shù)估計的精度。考慮到mp算法在迭代過程中依次將目標函數(shù)與字典中每一列做相關,使得計算過于復雜,因而本發(fā)明結合智能算法,如人工魚群算法,具有快速搜索的優(yōu)勢,提出了一種人工魚群算法(artificialfishswarmalgorithm,afsa)與omp算法結合的算法,記為afs-omp算法,在降低復雜度的同時提升估計精度。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題在于,提供一種適用于時變稀疏信道的估計算法,能夠降低計算的復雜度,同時提升了估計精度。
為解決上述技術問題,本發(fā)明提供一種適用于時變稀疏信道的估計算法,包括如下步驟:
(1)在問題空間中初始化魚群位置,計算相應的適應度值,將最優(yōu)值及其對應的人工魚位置記錄在公告板中,進入子迭代過程;
(2)選取前l(fā)條人工魚作為sf,其中l(wèi)為路徑數(shù)目;其他人工魚為nf;
(3)sf執(zhí)行局部覓食行為;nf執(zhí)行聚群和追尾行為;
(4)計算每一條人工魚的適應度值,更新公告板,并循環(huán)執(zhí)行子迭代過程直至結束;
(5)從公告板獲取最優(yōu)位置和適應度值,作為一條路徑參數(shù),并入候選集中;用最小二乘法計算各候選列的系數(shù),重構目標信號;
(6)利用剩余信號重新計算人工魚的適應度值,更新公告板,循環(huán)執(zhí)行步驟(5)、(6)直至候選列數(shù)等于路徑數(shù);
(7)若剩余信號能量大于閾值,用估計的路徑參數(shù)作為sf的初值,nf在問題空間隨機初始化;返回至步驟(2),進入新的迭代;
(8)迭代結束,候選集中各列對應的參數(shù)即為路徑時延、多普勒估計值,相應的適應度值即為幅度估計值。
優(yōu)選的,步驟(1)中,問題空間即為路徑參數(shù)可能的取值空間,包括時延和多普勒擴展因子的取值范圍,一般認為最大時延擴展為訓練序列的時間長度,最大多普勒擴展為收發(fā)端最大相對運動速度與載波速度的比值。
優(yōu)選的,步驟(1)中,人工魚p適應度值的計算公式為:
其中r(t)為接收信號,s(t)為訓練序列,xp為人工魚p的位置,
優(yōu)選的,步驟(3)中,sf執(zhí)行的局部覓食行為是:以每個sf的位置{al,τl}(l=1,…,l)為中心點,其中al為多普勒擴展因子,τl為時延;以0.0001為多普勒分辨率,以0.1ms為時延分辨率,選取a′l∈[al-0.0005,al+0.0005],τ′l∈[τl-0.3,τl+0.3](l=1,…,l)為參數(shù),以已知的訓練序列構造字典,接著用omp算法從字典中選取l列,對應的參數(shù)作為sf的位置。
優(yōu)選的,步驟(3)中,nf執(zhí)行的聚群行為是:人工魚p在其視野范圍內有q個同伴,若q>0,計算q個同伴的中心位置xc和相應的適應度值yc,若yc/q>λyp,其中λ為擁擠度因子,則p向xc移動一步;若yc/q≤λyp或q=0,則執(zhí)行覓食行為;覓食行為是指:人工魚p在其視野范圍內隨機選取一個位置,若該位置的適應度值大于當前位置的適應度值,則向該位置移動一步;否則繼續(xù)嘗試,若嘗試次數(shù)大于設定的最大值仍未成功,則隨機移動一步。
優(yōu)選的,步驟(3)中,nf執(zhí)行的追尾行為是:人工魚p在其視野范圍內內有q個同伴,若q>0,找到具有最優(yōu)適應度值的同伴xq,若其適應度值yq滿足yq/q>λyp,則p向xq移動一步,若yq/q≤λyp或q=0,則執(zhí)行覓食行為。
優(yōu)選的,步驟(5)中,重構目標信號的方法是:令候選集為φ,接收信號為r,重構信號r'為
r'=φφ+r
其中,φ+表示對φ進行偽逆操作。
本發(fā)明的有益效果為:本發(fā)明提供的時變稀疏信道估計算法,每一次迭代包含一個子迭代過程和利用估計出的參數(shù)重構信號的過程;在子迭代中,將人工魚劃分為兩類,執(zhí)行不同的行為,使得算法在快速搜索的同時也能局部精確搜索;與omp算法相比,該方案有較快的收斂速度和較高的估計精度,在計算量和估計準確度上均有優(yōu)勢。
附圖說明
圖1為本發(fā)明的時延估計誤差隨信噪比的變化而變化的仿真曲線示意圖。
圖2為本發(fā)明的多普勒擴展因子估計的歸一化均方誤差隨信噪比的變化而變化的仿真曲線示意圖。
圖3為本發(fā)明的信道沖激響應歸一化均方誤差隨信噪比的變化而變化的仿真曲線示意圖。
圖4為本發(fā)明的剩余信號能量比隨信噪比的變化而變化的仿真曲線示意圖。
具體實施方式
為了解決傳統(tǒng)壓縮感知算法用于時變稀疏信道估計時,計算復雜度高、估計精度受限于字典的大小等問題,本發(fā)明提供一種人工魚群算法與omp算法結合的afs-omp算法。該算法以迭代的方式進行,每次迭代包含一個子迭代過程。子迭代中將人工魚劃分為兩類,執(zhí)行不同的行為;子迭代結束時根據(jù)人工魚位置信息估計時變信道參數(shù),重構目標信號。與omp算法相比,afs-omp算法降低計算復雜度的同時提升了估計精度。一種適用于時變稀疏信道的估計算法,包括如下步驟:
(1)在問題空間中初始化魚群位置,計算相應的適應度值,將最優(yōu)值及其對應的人工魚位置記錄在公告板中,進入子迭代過程;
(2)選取前l(fā)條人工魚作為sf,其中l(wèi)為路徑數(shù)目;其他人工魚為nf;
(3)sf執(zhí)行局部覓食行為;nf執(zhí)行聚群和追尾行為;
(4)計算每一條人工魚的適應度值,更新公告板,并循環(huán)執(zhí)行子迭代過程直至結束;
(5)從公告板獲取最優(yōu)位置和適應度值,作為一條路徑參數(shù),并入候選集中;用最小二乘法計算各候選列的系數(shù),重構目標信號;
(6)利用剩余信號重新計算人工魚的適應度值,更新公告板,循環(huán)執(zhí)行步驟(5)、(6)直至候選列數(shù)等于路徑數(shù);
(7)若剩余信號能量大于閾值,用估計的路徑參數(shù)作為sf的初值,nf在問題空間隨機初始化;返回至步驟(2),進入新的迭代;
(8)迭代結束,候選集中各列對應的參數(shù)即為路徑時延、多普勒估計值,相應的適應度值即為幅度估計值。
步驟(1)中,問題空間即為路徑參數(shù)可能的取值空間,包括時延和多普勒擴展因子的取值范圍,一般認為最大時延擴展為訓練序列的時間長度,最大多普勒擴展為收發(fā)端最大相對運動速度與載波速度的比值。
步驟(1)中,人工魚p適應度值的計算公式為:
其中r(t)為接收信號,s(t)為訓練序列,xp為人工魚p的位置,
步驟(3)中,sf執(zhí)行的局部覓食行為是:以每個sf的位置{al,τl}(l=1,…,l)為中心點,其中al為多普勒擴展因子,τl為時延;以0.0001為多普勒分辨率,以0.1ms為時延分辨率,選取al'∈[al-0.0005,al+0.0005],τl'∈[τl-0.3,τl+0.3](l=1,…,l)為參數(shù),以已知的訓練序列構造字典,接著用omp算法從字典中選取l列,對應的參數(shù)作為sf的位置。
步驟(3)中,nf執(zhí)行的聚群行為是:人工魚p在其視野范圍內有q個同伴,若q>0,計算q個同伴的中心位置xc和相應的適應度值yc,若yc/q>λyp,其中λ為擁擠度因子,則p向xc移動一步;若yc/q≤λyp或q=0,則執(zhí)行覓食行為;覓食行為是指:人工魚p在其視野范圍內隨機選取一個位置,若該位置的適應度值大于當前位置的適應度值,則向該位置移動一步;否則繼續(xù)嘗試,若嘗試次數(shù)大于設定的最大值仍未成功,則隨機移動一步。
步驟(3)中,nf執(zhí)行的追尾行為是:人工魚p在其視野范圍內內有q個同伴,若q>0,找到具有最優(yōu)適應度值的同伴xq,若其適應度值yq滿足yq/q>λyp,則p向xq移動一步,若yq/q≤λyp或q=0,則執(zhí)行覓食行為。
步驟(5)中,重構目標信號的方法是:令候選集為φ,接收信號為r,重構信號r'為
r'=φφ+r
其中,φ+表示對φ進行偽逆操作。
發(fā)射信號采用正交頻分復用(orthogonalfrequencydivisionmultiplexing,ofdm)調制技術,令b為信道帶寬,n為子載波個數(shù),則子載波間隔為δf=b/n,一個ofdm符號持續(xù)時間為t=1/δf,每個ofdm符號的循環(huán)前綴時間長度為tg。
令s={s0,s1,…,sn-1}t為發(fā)送數(shù)據(jù)序列,則基帶發(fā)射信號為
式中,q(t)為成形濾波器。如采用矩形脈沖成形器:
經頻率為fc的載波上變頻,得到的帶通信號為:
時變稀疏信道模型為
式中,l為信道抽頭數(shù),δ()為單位沖激函數(shù),al(t)和τl(t)分別為第l條路徑的增益和時延。在一幀信號持續(xù)時間內,假定路徑增益恒定,即:al(t)≈al;且路徑時延可以用該路徑的多普勒擴展因子al表示為
τl(t)=τl-(al-1)t
式中,τl為初始時延。
信號經過上述信道,到達接收端為
式中,
在接收端,進行下變頻,去除循環(huán)前綴并進行ofdm解調,得到第m個子載波上的解調信號ym:
帶入
其中nm為加性噪聲,
定義接收信號向量為r,發(fā)射信號向量為s,噪聲向量為n,則接收信號可以表示為:
r=hs+n
其中信道矩陣h的表達式為
其中,第l條路徑的復數(shù)增益為
λl是一個k×k的對角矩陣,其第k個元素為
γl是一個k×k的非對角矩陣,其非零對角線元素表示子載波間干擾。其(k,m)位置上的元素為
為了消除子載波間干擾對信號解調的影響,采用afs-omp算法進行時變稀疏信道估計。令xp表示人工魚p的位置:
其中p為魚群大小,n為維數(shù)。這里n=2,
則位置xp對應的適應度值為:
其中r(t)為接收信號,s(t)為訓練序列,xp為人工魚p的位置,
定義兩條人工魚xp和xq之間的距離為
人工魚的覓食行為:
令人工魚p的當前位置為xp,其在視野范圍內隨機選取位置xv。如果yv>yp,則該魚將向xv,移動一步,即:
其中δ是步長,這個過程將重復i次直到有一個xv滿足要求;否則,該人工魚將在視野范圍內隨機選取一點。
人工魚的聚群行為:
令xp為人工魚p的當前位置,其視野范圍內有q個同伴,如果q>0,計算這q個同伴的中心位置:
定義λ為擁擠度因子,如果yc/q>λyp,則人工魚p將會向xc移動一步;否則,將執(zhí)行覓食行為。若q=0人工魚也將執(zhí)行覓食行為。
人工魚的追尾行為:
人工魚p的視野范圍內有q個同伴,如果q>0,找到具有最大適應度值yq的同伴xq。若yq/q>λyp,人工魚p將向xq移動一步,若yq/q≤λyp或者q=0,人工魚p將執(zhí)行覓食行為。
詳細的算法步驟如下:
輸入:
發(fā)射信號向量s;接收信號向量r;路徑數(shù)l;閾值ε。
初始化:
設置擁擠度因子λ,視野范圍d,步長δ,嘗試次數(shù)i,最大子迭代次數(shù)kmax,設置t=1。
迭代:
(1)在問題空間內隨機初始化魚群位置xp(p=1,…,p),計算相應的適應度值yp(p=1,…,p),并將最優(yōu)適應度值yopt及其對應的位置xopt記錄到公告板中。
(2)設置計數(shù)器k=1。
(3)選取前l(fā)條人工魚作為sf,執(zhí)行步驟4;其他人工魚為nf,執(zhí)行步驟5。
(4)執(zhí)行局部覓食行為。
(5)執(zhí)行聚群和追尾行為,更新人工魚位置。
(6)計算相應的適應度值并更新公告板。
(7)設置k=k+1,跳轉到步驟3循環(huán)執(zhí)行,直至k>kmax。
(8)設置j=1,候選集
(9)從公告板選擇最優(yōu)位置xopt作為參數(shù)重構訓練序列sj,并入候選集φ=φ∪sj;計算剩余信號re=r-φφ+r。
(10)以re為目標函數(shù),重新計算所有人工魚的適應度值及更新公告板。設置j=j+1,跳轉到步驟9循環(huán)執(zhí)行,直至j>l。
(11)如果||re||2>ε,設置t=t+1,初始化sf的位置為φ中各列對應的參數(shù)局;nf在問題空間隨機初始化;跳轉至步驟2。否則,算法結束。
輸出:
估計參數(shù)對
注:路徑數(shù)l可以在信號同步階段獲得;閾值ε根據(jù)信噪比設定。
圖1—圖4給出了時延估計誤差、多普勒擴展因子估計的歸一化均方誤差、信道沖激響應歸一化均方誤差和剩余信號能量比隨信噪比的變化而變化的仿真曲線,并與omp算法做了比較。其中,時變稀疏信道的參數(shù)設置為:路徑數(shù)l=10,各路徑信號的到達時間隨機分布在0~25ms,且將最小路徑時延設為0。歸一化路徑幅值均勻分布,多普勒擴展因子隨機分布在[1,1.02],精確到4位小數(shù)。采用長度為511的偽隨機序列作訓練序列,且用二進制相移鍵控調制。載波頻率為10khz,采樣率為20khz。對于omp算法,所構造的字典多普勒因子分辨率為1×10-4,時延分辨率為0.1ms,多普勒擴展為0.02,時延擴展為25ms,這也是afs-omp算法的問題空間。
afs-omp算法的參數(shù)設置為:魚群大小為80,擁擠度因子為0.3,視野范圍為[0.005,1.5ms],初始步長為0.2,最大子迭代次數(shù)等于3,最大嘗試次數(shù)等于10,閾值ε根據(jù)信噪比設定,仿真中根據(jù)經驗一般達到一定的迭代次數(shù)即可滿足閾值要求,根據(jù)實驗,取t=8即可。
從仿真圖可見,在所有的實施例中本發(fā)明的性能都明顯優(yōu)于omp算法。在計算復雜度上:設訓練序列長度為kl,對于omp算法,字典中的列數(shù)為n=nanτ,為時延和多普勒網格數(shù)之積。因此,一次迭代的乘積運算為ρ=nkl。為估計出所有路徑的參數(shù),總迭代次數(shù)為l=10,對于本實驗參數(shù),nτ=250,na=200,因而ρ=5×105kl。
而對于afs-omp算法,每一次迭代包含的子迭代過程中,sf執(zhí)行局部覓食的計算量ρ1=ln'anτ'kl,其中l(wèi)=10,n'a=11,nτ'=7。nf執(zhí)行聚群和追尾行為,最差的情況下需要搜索2i次,因而ρ2=kl(p-l)2i。最大子迭代次數(shù)為kmax=3,迭代次數(shù)tmax=8??偟挠嬎懔喀眩?.2×104kl。可見,本發(fā)明的計算復雜度優(yōu)于omp算法。
盡管本發(fā)明就優(yōu)選實施方式進行了示意和描述,但本領域的技術人員應當理解,只要不超出本發(fā)明的權利要求所限定的范圍,可以對本發(fā)明進行各種變化和修改。