楊小鋆,李 蠡
(成都信息工程大學 通信工程學院,成都 610225)
正交頻分復用(Orthogonal Frequency Division Multiplexing,OFDM)是一種多載波調制技術.因其具有高帶寬效率、多徑衰落魯棒性的特點,使得它在無線通信領域得以廣泛地應用[1].但目前OFDM 系統仍具有一定缺陷,其中最主要的缺陷就是其峰均比過高.高的峰均比會增大OFDM 系統對功率放大器(High Power Amplifier,HPA)的線性放大要求,會使HPA 工作效率以及ADC/DAC的量化噪聲比受到一定影響.
針對OFDM 系統高峰均比的問題,專家學者們已經提出了一系列的解決方案,包括限幅濾波(CF)、壓擴變換(Companding)、部分傳輸序列(PTS)、選擇性映射(SLM)、星座圖擴展(ACE)等.其中PTS與SLM屬于加擾類技術,它們因不會引起信號畸變且有良好的PAPR 性能在工程中被廣泛應用.該類技術主要思想是首先對OFDM 輸入數據進行加擾后,從中選出PAPR最小的一路信號進行傳輸,從而降低高PAPR 信號出現的概率[2].但由于此類技術需要進行最佳相位因子的全遍歷搜索,所以使得整個系統有很高的計算復雜度,這成為PTS 技術應用于實際系統的巨大阻礙,同時也成為本文研究的重點內容.
為了降低傳統PTS 技術的計算復雜度,文獻[3]提出一種迭代翻轉算法IPTS,在保證PAPR 性能的同時,大幅度降低了計算復雜度.近些年來,為了克服PTS 技術的不足,遺傳算法[4,5]、粒子群算法[6–9]等智能算法也被廣泛應用到PTS的最佳相位因子搜索中來,本文主要針對PSO-PTS 算法進行研究,文獻[10]提出DPSOPTS 算法,該算法有效地降低計算復雜度且擁有較好的PAPR 性能,但DPSO-PTS 算法有種群單一,易陷入局部最優缺陷.針對這一問題,文獻[11]中提出基于種群分類與動態學習因子的DPSO-PTS 改進算法,首先對粒子的適應度進行分類,再依據適應度的好壞調整學習因子.文獻[12]提出用慣性權重線性遞減策略達到全局搜索與局部搜索的平衡,并用漢明距離對速度更新公式進行改進.文獻[13]用劃分主子群與輔助子群的方式來增加種群多樣性.文獻[14]提出一種基于動態離散粒子群優化的PTS 相位系數搜索算法.這些算法較DPSO-PTS 算法相比,PAPR 性能都有或多或少的改善.
本文針對DPSO-PTS的缺陷提出了新的解決方案,首先定義一種新的慣性權重策略來平衡粒子的局部搜索和全局搜索的能力,然后又通過引入對未知空間搜索的變異算子,改進速度更新公式,增大粒子尋優范圍,增強算法的種群多樣性,避免算法早熟而影響最優相位加權因子的搜索,力求得到更優的PAPR 抑制性能.
假設OFDM 系統包含N個子載波,用Xk={X0,X1,X2,···,XN?1}表示OFDM 輸入頻域信號,那OFDM 時域信號序列x(n)可以表示成:

那么OFDM 信號PAPR 定義為:

其中,m ax{|xn|2}表示信號功率的最大值,E{|xn|2}表示信號功率的平均值,PAPR的單位為dB.
一般情況下,用互補累積分布函(Complementary Cumulative Distribution Function,CCDF)來描述PAPR的分布情況,CCDF表示的是峰均比大于某一門限值z的概率,其數學表達式為:

圖1為部分傳輸序列(PTS)技術實現框圖.PTS技術的主要思想是將N個符號的輸入數據塊按一定的規則分割成V個大小相同、連續分布且互不相交的子塊,分割后的數據塊可以表示成:X=[X1,X2,···,XN],然后讓每個分割后的子塊都乘以一個相應的相位因子bv=ejφv,v=1,2,···,V,隨后將處理過的時域子塊序列進行組合,再經過IFFT 變換可以得到候選序列x:

其中,{xv}為PTS.選擇使得PAPR 最小的候選序列進行傳輸:

這樣,最小PAPR 向量的時域信號就可以表示成:

圖1 部分傳輸序列(PTS)技術實現框圖

粒子群算法是種群智能優化算法的一種,它是通過模擬鳥群覓食過程中遷徙和群聚行為而提出的.在PSO 算法中,粒子群中的每個粒子都有對應的位置、速度以及適應度,每個粒子位置都代表所求問題的一個備選解,其速度決定了粒子在搜索空間的飛行方向和距離,而由具體優化目標函數確定的適應度決定著粒子的優劣程度.
粒子群算法首先隨機初始化一群粒子,然后迭代找到最優解.在每次迭代中,粒子都是通過跟蹤兩個極值來更新自己,它們分別是粒子本身搜索到的個體最優解和整個種群的最優解.若假設在D維的搜索空間里隨機產生具有N個粒子的群體,其中在第k次迭代中,第i個粒子在第d維的位置為,速度為,個體最優解為,全局最優解為Gk,則粒子尋優遵循的速度和位置更新公式為:

其中,i=1,2,···,N,d=1,2,···,D.w為慣性權重,c1和c2被 稱為學習因子,一般取c1=c2=2,r1和r2是(0,1)之間的偽隨機數.
由于粒子群算法主要是針對連續問題提出的,為了將粒子群算法用于求解離散空間極值問題,有人在此基礎上提出了一種二進制離散粒子群算法(Discrete Particle Swarm Optimization,DPSO).DPSO 算法流程圖如圖2所示.
DPSO 算法的粒子速度更新保持式(7)不變,而粒子位置更新公式變為:


圖2 DPSO 算法流程圖
雖然DPSO 算法已具有良好的尋優性能,但DPSO算法有易于早熟,往往不能得到全局最優解缺陷.對此本文在傳統DPSO的基礎上進行了改進,首先由于慣性權重是決定DPSO 算法搜索能力好壞的一個重要參數,它可以調整算法全局搜索能力和局部搜索能力之間的平衡.
有人曾提出用基于線性遞減策略的離散粒子群(LDPSO)算法來進行部分傳輸序列的最佳相位因子的搜索.典型線性遞減策略計算公式為:

其中,k表示當前迭代次數,T為最大的迭代次數,wmax為w最大值,wmin為w最小值.此算法在搜索前期,w值較大,側重全局搜索能力,有助于跳出局部極小值.隨著迭代次數增加,w不斷減小,算法局部搜索能力增強,利于算法的收斂.
雖然LDPSO 算法中w的變化符合粒子的總體運行方向,但算法也要考慮到粒子的實際運行情況.因此,這里提出基于進化速度-聚集度策略的動態離散粒子群(DDPSO)算法,DDPSO 算法w的變化是根據粒子進化速度和粒子的聚集程度實時進行調整的.
首先粒子進化速度會在一定程度上影響粒子搜索能力,若粒子的進化速度較快,應增大w的值,保持粒子的大范圍搜索能力.相反的若粒子進化速度較慢,應減小w的值,增強粒子的局部搜索能力.若設F(Gk)為第k次迭代的全局最佳解Gk的適應度,則粒子進化速度kv可以定義為:

其次粒子聚集度反映了粒子的集中程度,若粒子比較集中,易陷入局部最優,應增大w的值,若粒子比較分散,應減小w的值,應適當減小粒子搜索空間.這里設為當前所有粒子適應度的平均值,則粒子聚集度ka可以定義為:

基于以上考慮,基于動態變化慣性權重策略的離散粒子群算法w的計算公式可表示為:

其中,wini為初始值,wkv和wka是用來調節進化速度kv和粒子聚集度ka的參數.
為了更好控制DPSO 算法的整體搜索能力,避免算法脫離實際運行和粒子低能或失效的問題.本文結合LDPSO和DDPSO 算法的優點,并引入權重參數λ1和λ2,將兩者進行結合來確定w的值,計算公式如下:

其中,λ1,λ2∈[0,1],且λ1+λ2=1,通過調整λ1和λ2的值來控制LDPSO 算法和DDPSO 算法對慣性權重w值的影響程度,所以λ1和λ2的取值將直接影響到算法的收斂效率,λ1的取值過大會使算法的慣性權重策略退化成線性慣性權重策略,取值過小則退化成動態變化慣性權重策略.
為了增強種群的多樣性,避免出現早熟收斂現象,本文又借鑒遺傳算法變異的思想,結合文獻[15]將變異算法融入進來,使得粒子尋優范圍得以擴大.因此將式(7)速度更新公式替換成:
一天,“包子西施”的老板來找平老板,說:“生意不好,當時租房訂一年合同,現在才三個月,還沒到期,你家生意好,把門面房轉租給你,請平老板幫忙。”

其中,R為解空間隨機位置,r3∈(0,1)偽 隨機數,ρ為對未知世界的好奇系數,一般設置 ρ=2.
傳統PTS 算法中對最優相位因子的搜索采取的是遍歷搜索的方式,其計算復雜度非常高,這對實時性要求高的系統會產生偌大的影響.而離散粒子群可避開遍歷搜索,可以有效地降低計算復雜度,本文提出的改進算法還解決了傳統離散粒子群算法易于早熟收斂,往往不能收斂到全局最優的缺陷.在本文提出的改進DPSO-PTS 算法中,相位因子集合{1,?1}分別映射為{1,0},粒子適應度函數為:

算法具體實現步驟為:
① 參數初始化.設置粒子個數N、慣性權重w、學習因子c1,c2等參數;隨機初始化粒子群位置,i=1,2,···,N,d=1,2,···,D和速度v1id,i=1,2,···,N,d=1,2,···,D;
② 計算并比較每個粒子適應度f,得到初始個體極值和全局極值G1;
③ 根據式(15)計算w,根據式(16)和式(9)分別更新粒子速度和位置;
④ 更新個體極值和全局極值;
⑤ 若當前迭代次數小于預設迭代次數T,重復③和④,否則退出循環并執行⑥;
⑥ 將迭代得到的全局極值作為PTS 算法的相位因子,通過式(6)得到具有最小PAPR的OFDM 信號進行傳輸,算法結束.
圖3為本文算法與其他幾種不同算法的CCDF 性能曲線對比圖.當CCDF=10?3且迭代次數為20 時,原始信號的PAPR 值為10.82 dB,次優IPTS 算法的PAPR值為8.05 dB,DPSO-PTS 算法的PAPR 值為7.06 dB,文獻[12]提出的MDPSO-PTS 算法的PAPR 值為6.96 dB,本文所提算法的PAPR 值為6.8 dB,傳統PTS 算法的PAPR 值6.77 dB,本文所提算法較原始信號、次優IPTS、DPSO-PTS、文獻[12]的MDPSO-PTS 相比,分別優化了4.02 dB、1.25 dB、0.26 dB、0.16 dB,較傳統PTS 算法相比差了0.03 dB,但傳統PTS 算法計算復雜度比本文算法計算復雜度要高出許多.

圖3 不同算法的CCDF 性能曲線對比
圖4為本文算法、傳統PTS 算法以及DPSO-PTS算法在不同迭代次數下的CCDF 性能曲線.從仿真結果可以看出,本文所提算法能很好地改善系統的PAPR.在CCDF=10?3處,在相同的迭代次數下,本文算法PAPR性能優于DPSO-PTS 算法,稍差于傳統PTS 算法.

圖4 不同算法在不同迭代次數下的CCDF 性能曲線
由表1具體數據可以看出本文算法PAPR 性能隨著迭代次數的增加而有所提升,在迭代次數為5、10、20、30 時,本文算法較DPSO-PTS 算法相比,分別優化了0 dB、0.1 dB、0.26 dB、0.28 dB.同時也可以看出DPSO-PTS 算法經過10 次迭代后就收斂了,而本文算法在30 次迭代時才基本收斂,說明本文算法在一定程度上有效解決了DPSO-PTS 算法易陷于局部最優解的問題.但在實際系統中,建議算法迭代次數為20 次最佳,犧牲極小部分的PAPR 性能,可以避免多余的計算量.

表1 不同迭代次數下各個算法的PAPR 比較(單位:dB)
圖5為本文算法、傳統PTS 算法以及DPSO-PTS算法在不同粒子數下的CCDF 性能曲線.從仿真結果可以看出算法的PAPR 抑制性能會受到粒子數的影響.在CCDF=10?3處,當迭代次數為20 且粒子數popNum=[10,20,30]時,本文算法較DPSO-PTS 算法相比,分別優化了0.23 dB、0.12 dB、0.05 dB.也可以看出本文算法隨著粒子數的增加PAPR性能改善不太明顯,而粒子數會增加復雜度,因此算法粒子數為10 最為合適.

圖5 不同算法在不同粒子數下的CCDF 性能曲線
圖6為本文算法、傳統PTS 算法以及DPSO-PTS算法在不同學習因子下的CCDF 性能曲線對比圖.由圖可看出,在不同學習因子下,本文算法的PAPR 抑制性能都優于DPSO-PTS 算法,DPSO-PTS 算法受學習因子的影響較大,本文算法受其影響較小,考慮是慣性權重和學習因子雙重作用的緣故.

圖6 不同算法在不同學習因子下的CCDF 性能曲線
圖7為本文算法在不同權重參數下的CCDF 性能曲線.由圖中可以看出,本文算法在λ1=0.6情況下表現出更加優秀的PAPR 抑制性能,也解釋了本文算法以線性遞減慣性權重策略為主,以動態慣性權重策略為輔的原因.

圖7 在不同權重參數下的CCDF 性能曲線
圖8為本文算法在不同分割方式下的CCDF 性能曲線.由仿真結果可以看出隨機分割的PAPR 性能最佳,但隨機分割的計算復雜度很高,隨機-交織分割方式與隨機分割方式相比,PAPR 性能雖差了0.1 dB,但是計算復雜度要低很多,所以本文前面采用的隨機-交織分割方式進行仿真.
圖9為所提算法與其他幾種算法的誤碼率性能比較圖.由圖可知,本文所提算法與原始信號、傳統PTS、傳統DPSO-PTS 這幾種算法相比,誤碼率性能幾乎相同,說明本文算法不會產生多余的信號失真.

圖8 在不同分割方式下的CCDF 性能曲線

圖9 誤碼率性能比較
針對傳統 PTS 算法計算復雜度高的問題,本文提出一種基于新的慣性權重策略和變異算子的改進DPSO算法,此算法w值的確定同時考慮了粒子的總體運行方向和粒子的實際運行情況,在此基礎上還引入變異算子增強算法種群多樣性.其可以快速且準確地找出最優的相位因子,得到具有較小的PAPR的OFDM 信號.仿真結果表明,在誤碼率基本不變的情況下,本文算法與IPTS、傳統DPSO-PTS 等算法相比,擁有更好的PAPR 性能,與傳統 PTS 算法相比,PAPR 性能略微下降,但其計算復雜度會有明顯改善,且相位因子集合W和分塊數V越大改善效果會更加明顯.