韓海濤,譚力寧,馬紅光,朱曉菲,楊東東
(1.第二炮兵工程大學701教研室,陜西 西安 710025;2.第二炮兵工程大學101教研室,陜西 西安 710025)
Volterra級數是非線性系統建模的重要工具,其Volterra核辨識是一個復雜和困難的問題[1]。Volterra核辨識對激勵信號選擇有嚴格的要求,如果激勵信號選擇不當則激發不出系統的特征,不能準確地對Volterra核進行辨識。傳統Volterra核辨識方法往往采用高斯白噪聲作為系統激勵,通過時域自適應學習的方法來辨識Volterra核,這種方法存在的問題是,首先是產生高斯白噪聲激勵對設備硬件要求比較高,其次辨識出的核是局部有效的[2]。基于多音激勵法的系統辨識為Volterra核辨識提供了一條便捷方法,然而該方法對多音激勵信號的頻域成分的選擇以及相位都有的要求。文獻[3]僅從頻率成分的選擇方面進行了論述,然而多音激勵信號的相位也是一個必須考慮的重要因素,本文擬加入相位因素考慮多音激勵信號的設計問題。
多音激勵信號可以很好地激發出系統的動態特性,是一種廣泛使用的測試激勵信號[4-7]。多音信號是由在一定頻帶范圍內的多個正弦信號疊加產生。但如果沒有合理的選擇相位,多個正弦信號的疊加會造成多音信號在時域上出現很強的波峰,這種現象的出現對系統測試是不利的,一是系統對激勵信號的幅度有限制要求,如果波峰超過系統的響應范圍可能會對系統產生損傷以至于破壞系統結構,還有可能人為的引入一些非線性因素;二是使系統的信噪比SNR(signal-to-noise ratio)下降,使測試容易受測量誤差的影響。測試過程中對于干擾噪聲的敏感性與測試信號的SNR 成反比[8],因此提高測試信號的SNR 是提高測量精度的有效手段。波峰因子CF(crest factor)是衡量多音激勵信號性能的一個重要指標,CF 越大說明多音激勵信號的波峰就越明顯。降低多音激勵信號的CF 可顯著提高信號的SNR,在不改變多音激勵信號頻譜特征的情況下如何降低多音激勵信號的CF 是多音激勵信號設計中面臨關鍵的問題。目前這一問題還沒有得到有效解決,是國內外學者共同探討一個熱點問題[8-13]。
文獻[8]基于無窮范數提出了一種構造多音激勵信號相位的方法,可以有效降低CF;文獻[9]依據多音激勵信號中每個頻率成分的功率,選定該頻率成分的相位及持續的時間,然后將多個時間段的信號疊加來構造多音激勵信號,在一定程度降低了CF;文獻[10]提出了一種時頻域結合的方法來進行多音激勵信號相位的選取,該方法首先從頻域上構造多音激勵信號的頻譜,選定多音信號的頻率成分及初始相位,其次對構造出來的信號頻譜求反傅里葉變換得到時域信號,然后對時域中出現的波峰進行裁剪,并對裁剪后信號作傅里葉變換,校正多音激勵信號的幅度及相位,以此達到降低多音激勵信號CF的目的;文獻[11]采用了多相互補碼對的方法研究了多音信號峰值因子的減少作用;文獻[12-13]將多音激勵信號相位的選擇看成一個求解最優化問題,采用隨機嘗試法和遺傳算法來解決該問題,獲得比較理想的實驗效果。然而目前存在的方法使CF 降低的同時,使多音激勵信號的功率譜有所失真不利于系統辨識。本文以Volterra核辨識的多音激勵設計為目的,從多音激勵信號的頻率成分和相位兩個因素考慮,采用優化遺傳算法方法解決多音激勵信號的相位選擇問題,經實驗結果驗證該方法可以有效降低多音激勵信號的CF,保證信號的功率譜不失真。
對于任意連續的時不變弱非線性動態系統,可以用N階Volterra級數近似描述

式中:yn(t)——系統的第n階輸出響應,hn(τ1,τ2,…,τn)——第n階Volterra時域核,或稱廣義脈沖響應函數。hn(τ1,τ2,…,τn)的多維傅立葉變換為

Hn(ω1,ω2,…,ωn)稱為非線性系統的第n 階Volterra頻域核,或稱為第n階廣義頻率響應函數GFRF(Generalized Frequency Response Function)
K 音的多音激勵信號可用式(4)表示


式中:Yn(jωM)——yn(t)的傅里葉變換中頻率成為ωM的分量,φ(ωM)——Hn(ω1,ω2,…,ωn)的相位,angle——提取相位的函數。
波峰因子CF 定義為



Volterra核辨識的多音激勵信號必須要滿足兩個條件,如式(8),條件一是同一階核對應輸出的頻率成分沒有重復,條件二是θi在0到π選取合適的值以使CF 最小

關于Volterra核辨識多音激勵信號頻率成分的選擇問題,已經在文獻[3]中進行了論述,本節主要針對多音激勵的相位的選取問題進行討論。Schroeder法[9]是最早提出的降低多音激勵信號波峰因子的方法,后來的改進方法都是按此方法的思路進行設計。
Schroeder法是一種有效的多音激勵信號相位的選取方法,可以使CF 得到很大幅度地降低,設計出來信號如式(9)所示



式中:T——周期,N——多音激勵信號r(t)頻率成分的個數,tk可按式(11)計算

那么r(t)瞬時相位為

由式(10)和r(t)的連續性可得

可以看出Schroeder法的特點是對多音激勵的頻率和幅度都有確定要求,即頻率和幅度不能隨意選取。這一特點也是該方法的缺陷,顯然通過這種方式設計的多音信號不能用于Volterra頻域核辨識。
2.2.1 遺傳算法
遺傳算法(genetic algorithm,GA)是將生物學的遺傳進化原理和最優化技術相結合的產生,它以自然選擇和遺傳理論為基礎,將生物進化過程中適者生存規則與群體內部的染色體的隨機信息交換相結合的高效全局尋優搜索算法[14]。GA 將待解決問題的參數按照一定規則編碼,由若干基因組成一個染色體,對群體進行選擇、交叉和變異運算,經過多次重復迭代直至得到最后的優化結果。遺傳算法需要解決以下問題:
一是編碼問題,即如何將待求解的問題用一定編碼規則來表達,這是GA 理論的基礎,基本的編碼形式有二進制碼、格雷碼、浮點數碼、多參數級別聯編碼及多參數交叉編碼等,編碼應滿足完備性、健全性和非冗余性等規范。二是選擇算子的實現問題,選擇算子是在群體中選擇生命力強(即適應度高)的個體產生新群體的過程,這樣使群體中適應度高的個體得到保留和發展,適應度低的個體逐漸被淘汰。選擇算子應恰當,如果選擇不當會導致算法早熟。三是交叉算子的實現問題,交叉算子是以較大的概率從群體中抽選兩個個體的染色體,交換染色體的某個或某些位,該算子決定了GA的全局搜索能力。交叉運算包括交叉點位置的確定問題和部分基因交換的實現問題兩個方面的內容。交叉運算可分單點交叉、兩點交叉、多點交叉、均勻交叉與算術交叉。單點交叉與兩點交叉的實現如圖1所示。三是變異算子的實現問題,該算子是以一個小概率對個體染色體編碼串上的某個或某些位值進行突然改變。變異是產生新個體的有效手段,其可以有效改善遺傳算法的局部搜索能力和維持群體的多樣性;四是是適應度函數的實現問題,其適應度決定個體遺傳到下一代的概率。適應度函數是評價群體中各個個體在優化算法中能達到或接近最優解的優良程度,其設計應滿足單值、連續、非負、最大化、合理、一致性、計算量小及通用性強等原則。
此外還應合理的選擇GA的控制參數如:群眾規模N、編碼長度、交叉概率Pc和變異概率Pm等,這些控制參數的選擇決定著GA的性能。群體規模N的大小直接影響到遺傳算法的收斂性或計算效率,一般在10~200之間選取,交叉概率Pc一般取值范圍為0.4~0.99,變異概率Pm一般取值范圍為0.0001~0.1。
2.2.2 算法設計
基于多音激勵的非線性系統的Volterra核辨識,首先需要確定多音激勵信號的頻帶范圍,通常的做法是對待辨識的非線性系統進行掃頻分析,確定系統有效頻率響應范圍;其次在帶寬響應范圍內以同一階輸出頻率成分不重合作為選擇標準進行頻率搜索,設搜索出的頻率成分組成的集合為WM;最后確定WM中每一個頻率分量的相位,使WM對應多音激勵信號的CF 達到最小。

圖1 交叉運算
以CF 最小化作為目標函數,如果多音激勵含有K個頻率分量,那么可將CF 看成含有K個變量的函數,如式(7)所示,θi(i=1,…,K)在0到π 之間取值使CF的取值最小。將變量θi按一定規則進行編碼,形成一個基因,將K個基因組合在一體形成一個染色體。隨機生成一個種群,群體的規模為N,該群體按照選擇、交叉、變異等運算進行進化,該流程可用圖2表示。

圖2 遺傳算法實現流程
基于Volterra 核的多音激勵信號設計可按以下步驟實現:
步驟1 對待測試系統進行掃頻分析確定有效頻率響應范圍B,在B 內通過文獻[3]提出的方法搜索多音激勵信號的頻率成分,頻率成分組成的集合為WM,如果WM頻率成分的個數為K,確定式(7)中變量的個數為K,轉到步驟2;
步驟2 確定遺傳算法的控制參數,如群眾規模N、編碼規則、交叉概率Pc和變異概率Pm,轉到步驟3;
步驟3 初始種群由式(7)中每個變量在0到π 之間隨機取值產生。后面種群的規模和個體差異均由進化規律決定,轉到步驟4;
步驟4 以式(8)中條件二作為目標函數,對種群進行適應度評價。按編碼規范進行編碼,對種群中每個個體進行編碼,多個變量對應的編碼組合形成染色體;
步驟5 根據每個個體適應度,對種群進行選擇操作。為了提高整體和局部搜索能力,分別對群體進行交叉和變異操作,轉到步驟6;
步驟6 算法進化是否滿足收斂條件,或者進化次數是否滿足設定的次數,如果滿足條件則輸出結果,反之轉到步驟3。
通過兩次實驗驗證本文提出的方法,實驗一為仿真實驗,和文獻[3]提出的設計方法進行了對比;實驗二是通過對一非線性模擬電路的多音激勵信號進行設計,驗證提出方法的有效性。
實驗1Schroeder法設計的多音激勵信號如式(9)所示,假設有16個諧波分量,如式(14)所示

如果將θk都設為0,得到多音激勵信號和功率譜如圖3所示,從圖3(a)中可以看出相位為0時,激勵信號產生尖峰很大,達到2.5V,經計算CF為5.101;采用Schroeder法,按照式(13)選擇θk,得到信號和其功率譜如圖4所示,從圖4(a)中可以看出激勵信號平滑,產生的波峰比較小,CF為1.620,但從圖4(b)中可以看出,與圖3(b)比較,Schroeder法設計出多音激勵信號功率譜失真嚴重;如果采用本文提出的遺傳算法得到的結果如圖5所示,從圖5(a)可以看出產生的多音激勵信號沒有產生很強波峰,信號比較平滑,CF為1.247,圖5(b)與圖3(a)相比較可以功率譜幾乎沒有失真。從而可以看出本文提出的方法在降低CF的同時,信號功率譜沒有失真,從而驗證了該方法的有效性。


實驗2 圖6為一非線性模擬電路,u為輸入激勵信號,流過R1電流為i1,流過R2的電流為i2,由于R2與C1并聯,它們兩端的電壓同為u1,u1為系統輸出,非線性電阻R2的伏安特性為:i2=0.001(u1+5u12),電路對u 幅度要求為5V。

圖5 遺傳算法設計多音激勵信號及其功率譜

圖6 非線性模擬電路
采用文獻[3]提出的方法設計出多音激勵信號的頻率,結果為WM={11,511,1013,1517,2025,2553,3093}Hz,WM中每個頻率分量幅度選為1,采用本文提出方法進行相位選擇,優化出的相位為{-1.693,-3.008,2.548,0.744,-0.456,0.277,-3.086}rad,未經優化的激勵信號如圖7(a)所示,其幅度已經超過5V,對應的CF為3.300,優化過的激勵信號如圖7(b)所示,幅度控制在了4幅度以內,對應的CF為2.133。
從系統的輸入輸出數據辨識Volterra核,辨識結果的準確度依賴于激勵信號的選擇。多音激勵下的Volterra核辨識是一種簡單易行的方法,然而關于多音激勵如何選擇問題,目前還沒有得到有效解決。本文在多音激勵信號頻率成分選擇的基礎上,提出一種基于遺傳算法的相位優化方法,在保證多音激勵信號功率譜不失真的情況下可以有效的降低的波峰因子。實驗驗證了所提方法的有效性。該方法可廣泛應用于系統辨識及動態特性測試,具有重要的應用價值。

圖7 關于Volterra核辨識的多音激勵信號設計
[1]HAN Haitao,MA Hongguang,Li Fei,et al.Research on nonlinear system based on output frequency response function[J].Journal of Engineering Design,2011,18(5):373-377(in Chinese).[韓海濤,馬紅光,李飛,等.基于系統輸出頻率響應函數的非線性系統研究[J].工程設計學報,2011,18(5):373-377.]
[2]MA Hongguang,HAN Chongzhao,KONG Xiangyu,et al.The GFRF identification model of radar fuze receiver[J].Journal of System Simulation,2004,16(6):1143-1146(in Chinese).[馬紅光,韓崇昭,孔祥玉,等.基于電路仿真的接收機中頻放大器的GFRF模型[J].系統仿真學報,2004,16(6):1143-1146.]
[3]HAN Haitao,MA Hongguang,HAN Kun,et al.Multitone stimulus signal design for identifying Volterra frequency domain kernels[J].Journal of Engineering Design,2012,19(2):123-127(in Chinese).[韓海濤,馬紅光,韓琨,等.關于Volterra頻域核辨識的多音激勵信號設計[J].工程設計學報,2012,19(2):123-127.]
[4]LUO Hui,WANG Youren,LIN Hua,et al.Test stimulus optimization design of analog circuit based on random periodic stimulus function[J].Acta Electronica Sinica,2011,39(8):1950-1954(in Chinese).[羅慧,王友仁,林華,等.任意周期激勵函數的模擬電路測試激勵優化設計[J].電子學報,2011,39(8):1950-1954.]
[5]JIANG Yuanyuan,WANG Youren,CUI Jiang,et al.Analog circuit test stimuli optimal method based on fault detectable analysis and genetic algorithm[J].Application Research of Computers,2011,28(3):930-934(in Chinese).[姜媛媛,王友仁,崔江,等.基于故障可診性與遺傳算法的模擬電路測試激勵優化方法[J].計算機應用研究,2011,28(3):930-934.]
[6]LUO Hui,WANG Youren,CUI Jiang,et al.Evolutionary generation of multi-tone sine stimulus for analog circuits based on fault distinguishable analysis[J].Journal of Astronautics,2011,32(9):2051-2058(in Chinese).[羅慧,王友仁,崔江,等.基于故障可診斷性的模擬多音正弦測試信號進化生成[J].宇航學報,2011,32(9):2051-2058.]
[7]Steve Temme,Pascal Brunet.A new method for measu-ring distortion using a multitone stimulus and noncoherence[J].Journal of Audio Engineering Society,2008,56(3):176-188.
[8]Patrick Guillaume,Johan Schoukens,Rik Pintelon,et al.Crestfactor minimization using nonlinear Chebyshev approximation methods[J].IEEE Transactions on Instrumentation and Measurement,1991,40(6):982-989.
[9]Schroeder M.Synthesis of low-peak-factor signals and binary sequences with low autocorrelation[J].IEEE Transactions on Information Theory,1970,16(1):85-89.
[10]Edwin Van Der Ouderaa,Johan Schoukens,Jean Renneboog.Peak factor minimization using a time-frequency domain swapping algorithm[J].IEEE Transactions on Instrumentation and Measurement,1988,37(1):145-147.
[11]YAN Biao,WANG Haiyang,ZHU Yihuan.Multiphase complementary codes and their effect on reducing crestfactor of multitone signals[J].Journal of Electronic Measurement and Instrument,2007,21(2):49-53(in Chinese).[顏彪,王海洋,朱一歡.多相互補碼及其對多音頻信號峰值因子的減少作用[J].電子測量與儀器學報,2007,21(2):49-53.]
[12]MENG Xiaofeng,ZHANG Fengjun,FU Luping.A study on numerical synthesis of low-peak-factor multisine signals[J].Chinese Journal of Scientific Instrument,2002,23(5):515-517(in Chinese).[孟曉風,張鳳均,付魯平.低波峰因數多頻正弦信號數字合成算法的研究[J].儀器儀表學報,2002,23(5):515-517.]
[13]Aadrew Horner,James Beauchamp.A genetic algorithm-based method for synthesis of low peak amplitude signals[J].Journal of Audio Engineering Society,1996,99(1):433-443.
[14]LEI Yingjie,ZHANG Shanwen,LI Xuwu.Genetic algorithm toolbox and its application MATLAB[M].Xi’an:Xi’an Electronic and Science University Press,2006:1-30(in Chinese).[雷英杰,張善文,李續武.MATLAB 遺傳算法工具箱及應用[M].西安:西安電子科技大學出版社,2006:1-30.]