999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Volterra級數(shù)模型辨識算法的改進研究

2022-02-20 13:06:48吳立勛
電子測試 2022年3期
關(guān)鍵詞:模型系統(tǒng)

吳立勛

(陸軍航空兵學(xué)院航電和兵器工程系,北京,101123)

0 引言

Volterra級數(shù)模型是一種用輸入輸出表示的非線性系統(tǒng)模型,它的輸出是輸入的非線性函數(shù)的線性組合。它是一種典型的非參數(shù)模型,得到了廣大研究者的重視[1]。基于Volterra級數(shù)模型的非線性系統(tǒng)自適應(yīng)辨識問題,使用在線遞推的方法辨識出系統(tǒng)的Volterra級數(shù)核參數(shù)。但是,隨著階數(shù)的增加,Volterra級數(shù)的維數(shù)將呈現(xiàn)指數(shù)形式的增長,辨識的計算量大大增加,影響了這一模型的實際應(yīng)用。為了提高運算效率,本文在研究Volterra級數(shù)模型的非線性系統(tǒng)全解耦辨識算法[2]的基礎(chǔ)上,對這一算法進行了改進。仿真結(jié)果表明,改進后的算法能有效克服Volterra級數(shù)模型辨識中的維數(shù)災(zāi)難問題,易于進行工程實現(xiàn)。

1 Volterra級數(shù)模型全解耦辨識算法

對于單輸入單輸出連續(xù)非時變因果非線性系統(tǒng),其輸入輸出關(guān)系就可用如下的Volterra級數(shù)來描述:

其中u(t),y(t) ∈R,分別是系統(tǒng)的輸入和輸出,yn(t)稱為非線性系統(tǒng)的第 n階輸出,稱為非線性系統(tǒng)的第n階Volterra時域核。

其離散截斷形式:

Volterra級數(shù)模型的全解耦辨識算法有效地避免各階非線性因素間的較強耦合,它將Volterra自適應(yīng)辨識問題看作是一個在低階Volterra偽線性子系統(tǒng)已滿足MMSE(最小均方誤差)準則且其核固定于最佳值條件下使高階偽線性子系統(tǒng)再滿足MMSE準則的約束優(yōu)化問題,實現(xiàn)了真正意義上的全解耦。

在這一過程中采用了LMS自適應(yīng)方法對各階權(quán)向量進行了自適應(yīng)修正,其修正公式如下:

用系統(tǒng)的輸入、輸出觀測數(shù)據(jù)來對非線性系統(tǒng)的Volterra級數(shù)模型進行辨識,就可得到非線性系統(tǒng)的Volterra時域核。

由Volterra級數(shù)模型的離散截斷形式可以看出,隨著階數(shù)的提高和記憶長度的增加,矩陣的維數(shù)將成指數(shù)級的增長,使得辨識計算量大大增加,出現(xiàn)了災(zāi)難性的計算復(fù)雜性。同時,實際的工程應(yīng)用又對計算提出了挑戰(zhàn)性的要求。為了提高模型的辨識精度,記憶長度和階數(shù)往往比較大,一般的計算方法占機時間長。因而尋求一種魯棒性能好、簡便快速、可擴展性強的辨識方法已經(jīng)成為實現(xiàn)該算法的關(guān)鍵。傳統(tǒng)的方法是采用單處理器對Volterra級數(shù)模型的核參數(shù)進行逐級辨識,在階數(shù)較高、記憶長度較長的情況下,將會大大影響計算速度,因而可擴展性不好,給工程實現(xiàn)帶來很大限制。

2 算法的改進

通過上文的分析可見,在對核參數(shù)進行逐階辨識的過程中,采用單個處理器計算量過大,占機時間過長。為了克服這一缺點,可以嘗試進行算法并行化,把計算任務(wù)分給多個處理器同時完成,這們就可以成倍減少占機時間。

2.1 可行性分析

在上面的算法運行過程中,采用對核參數(shù)的逐階辨識計算。第一次計算1階核時,所用的變量都是原始變量,與以后的計算無關(guān),在第一次計算2階核時,除了H1要使用前面的結(jié)果外,其它變量也都是原始變量。同理,第一次計算第3階核時要用到H1和H2的結(jié)果……由此可見,各階核的計算過程中,主要與原始變量和低階核交換數(shù)據(jù)。在一次疊代過程中,由于數(shù)據(jù)有前后依賴關(guān)系,不存在并行的可能性。但是,第二次疊代中的第一階核估算要用到是第一次疊代中的第一階核估算值,第一次疊代中的第二階核估算要用到是第二階核的初值和第一次疊代中的第一階核估算值,與別的中間值無關(guān),它們兩者間沒有數(shù)據(jù)依賴關(guān)系,可以并行執(zhí)行。依次類推,除了第一次疊代中的第一階核估算外,其余各次估算都可以并行進行,存在可并行的空間。

2.2 并行算法的設(shè)計

2.2.1 任務(wù)劃分與負載平衡

并行算法主要是為了減輕維數(shù)過高帶來的繁重的計算任務(wù),因此,可以將整體的任務(wù)進行分解,采用多處理器分別處理。

按照計算過程的功能,將每一階核的估算過程作為一個子任務(wù),分配給不同的處理器進行處理。由于各階核的計算量基本相同,所以各個處理器間能夠達到負載平衡。

2.2.2 同步與通信

為了不改變算法的基本屬性,需要在各個進程中加入通信和同步[4],以協(xié)調(diào)各階的運算運行進度,確保計算高階核時能用到低階核的計算結(jié)果。

通信是在空間上對各并發(fā)執(zhí)行的進程施行數(shù)據(jù)交換。在各階核的估算中,各個階段性子任務(wù)間有數(shù)據(jù)相互依賴關(guān)系,需進行數(shù)據(jù)交換。二階核的計算要用到一階的核值計算結(jié)果,三階核的計算要用到一、二階核值的計算結(jié)果……。這樣,高階子任務(wù)要與所有低階子任務(wù)進行通信。為了避免出現(xiàn)全局通信,將各階核值設(shè)為全局變量,各階核的計算結(jié)果都放在共享存儲器的全局變量中,采用全局讀和全局寫來實現(xiàn)數(shù)據(jù)交換。高階子任務(wù)只需在需要的時間從主存中讀入所需變量即可,無需分別與各低階子任務(wù)進行數(shù)據(jù)交換。

同步是在時間上強使各子進程在某一點必須相互等待。在各子任務(wù)異步執(zhí)行各自程序的過程中,為保證各處理器的正確工作順序,各處理器要實現(xiàn)對共享數(shù)據(jù)的互斥訪問,必須設(shè)置同步點。在進行二階核的估算時,因為要使用一階核的計算結(jié)果,所以要等待第一階核計算結(jié)束,而三階核的估算要使用一、二階核的計算結(jié)果,必須等待第二階核計算結(jié)束(此時一階核已計算結(jié)束,無需檢測一階核的計算進程)……。各階要在計算模型輸出前設(shè)置同步,這樣,不但能保證工作順序的正確性,而且能使在寫各階核變量時,下一階還沒有去讀該核值,以實現(xiàn)對同一全局變量的互斥訪問。

2.2.3 工作方式與任務(wù)映射

為了保證數(shù)據(jù)通信與計算過程的正確性,將每一階核的計算任務(wù)分給一個處理器來完成,當階數(shù)增加時,可以增加處理器數(shù)目。而當記憶長度增加時,只是每個處理器的計算時間增加了,處理器數(shù)目無需增加。

由于在辨識計算的過程中,參數(shù)有前后相互依賴關(guān)系,故采用流水線方式使各個處理器依次進入工作狀態(tài)。最后用先入先出方式結(jié)束工作[5]。其原理如圖1所示:

圖1 流水線原理

與此同時,設(shè)計一個主處理器,它負責(zé)任務(wù)的調(diào)度、指令的發(fā)布、共享變量和各種原始數(shù)據(jù)的存儲。子任務(wù)負責(zé)接受任務(wù)調(diào)度、完成數(shù)據(jù)讀寫、處理及向主進程提交執(zhí)行結(jié)束信息。主進程發(fā)布指令給各處理器,使各處理器分別完成不同的操作,中間結(jié)果存放于局存中。其工作原理如圖2:

圖2 并行算法工作原理

并行算法的工作過程如下:經(jīng)過初始化后,主處理器首先向處理器1發(fā)出指令,處理器1第一次執(zhí)行其程序,其余處理器處于空閑狀態(tài);接到處理器1執(zhí)行完成的信息后,同時向處理器1、2發(fā)出指令,處理器1第2次執(zhí)行計算,同時處理器2第1次執(zhí)行計算,其余處理器處于空閑狀態(tài);在接到其中一個處理器完成信息時,同步等待,在兩個處理器都執(zhí)行完后,向處理器1、2、3同時發(fā)出指令,各自執(zhí)行其程序……。經(jīng)過若干個周期后,所有處理器都于工作狀態(tài),直至迭代結(jié)束,各處理器依次停止工作。

3 仿真實驗

以上所設(shè)計的并行算法與原有算法相比,其區(qū)別在于采用了并行的思想,使各階核值的估算過程可以并行執(zhí)行。而且,對于串行的辨識算法而言,每次核值估算都要進行輸入觀測向量的構(gòu)造,對于并行算法來說,第二階核值的第一次估算,可以直接讀取第一階第一次估算時所構(gòu)造的輸入觀測向量,而不用重復(fù)構(gòu)造,依次類推。對于在單個PC機上設(shè)計并行算法的仿真程序時,可以在第n次構(gòu)造完輸入觀測向量時,完成第一階核的第n次估算,第二階核的第n-1次估算……直至完成所有核的估算,而不用重復(fù)構(gòu)造輸入觀測向量。

下面以改進后的并行算法的思想為基礎(chǔ),設(shè)計Matlab程序?qū)λ惴ㄟM行驗證。

設(shè)非線性系統(tǒng)由以下方程給出:

系統(tǒng)輸入使用隨機白噪聲信號,采用二階Volterra級數(shù)模型對該未知非線性系統(tǒng)進行建模。Volterra級數(shù)的記憶長度為3,學(xué)習(xí)因子取值為:μ1=0.03, μ2=0.006。

以下是該算法對一、二階核的部分辨識結(jié)果與真值的比較:

表1 辨識結(jié)果與真值對照表

由所得數(shù)據(jù)可以看出,辨識結(jié)果與真值非常接近,達到了較高的辨識精度。

圖3是h1(0)、h2(0,0)的收斂曲線,只需經(jīng)過約150次迭代,兩個核參數(shù)都可達到穩(wěn)定狀態(tài)。

圖3 h1(0)、h2(0,0)的收斂曲線(并行算法)

由于該并行算法是對串行算法的直接并行,未改變原算法的基本屬性,所以,各方面性能繼承了原算法的優(yōu)點,與串行算法有著同樣的穩(wěn)態(tài)精度和收斂速度,且穩(wěn)態(tài)收斂過程平穩(wěn),表明該并行算法具有良好的實用性。

表2中列出了兩種算法的仿真運行時間。為了獲得兩種算法在同等條件下的比較,在同一Matlab窗口下運行兩個程序,分別用tic命令啟動秒表計時器,用toc命令讀取秒表計時器,以得到各自的運行時間。由表2中可以看出,在Matlab程序下,并行算法比串行算法平均節(jié)省時間19.92%。

表2 仿真時間對比

按照這一算法思想所編的并行程序,在并行機上運行時將會更大程度地節(jié)省時間,這對于提高算法的在線運行速度非常有效。

猜你喜歡
模型系統(tǒng)
一半模型
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产精品欧美激情| 日本欧美视频在线观看| 国产一级裸网站| 免费观看成人久久网免费观看| 国产三级毛片| 久久夜色精品| 亚洲免费人成影院| 在线播放国产一区| 国模沟沟一区二区三区| 天天摸夜夜操| 国产亚洲视频在线观看| 国内熟女少妇一线天| 国产超碰一区二区三区| 亚洲无码一区在线观看| 亚洲最大综合网| 国产一二视频| YW尤物AV无码国产在线观看| 福利在线不卡| 国产第一色| 日本妇乱子伦视频| 99视频有精品视频免费观看| 国产99热| 亚洲精品va| 少妇人妻无码首页| 九九热视频在线免费观看| 免费国产小视频在线观看| 少妇高潮惨叫久久久久久| 亚洲一区二区三区在线视频| 日韩av手机在线| 激情综合网激情综合| 亚洲一区二区三区麻豆| 色婷婷亚洲十月十月色天| 国产白浆一区二区三区视频在线| 高清无码一本到东京热 | 国产老女人精品免费视频| 欧美黑人欧美精品刺激| 国产又大又粗又猛又爽的视频| 国产人前露出系列视频| 日韩A∨精品日韩精品无码| 日韩欧美国产成人| 亚洲天堂区| 久草性视频| 色综合久久88色综合天天提莫| …亚洲 欧洲 另类 春色| 国产迷奸在线看| 欧洲亚洲一区| 2019年国产精品自拍不卡| 日本成人精品视频| 亚洲国产综合精品一区| jijzzizz老师出水喷水喷出| 亚洲人成网线在线播放va| 亚洲精品麻豆| 国产欧美综合在线观看第七页 | 国产超碰一区二区三区| 亚洲香蕉在线| 国产一区二区色淫影院| 精品久久综合1区2区3区激情| AV不卡国产在线观看| 97综合久久| 国产精品分类视频分类一区| 幺女国产一级毛片| 伊人网址在线| 一边摸一边做爽的视频17国产| 欧美一级高清免费a| 久久久波多野结衣av一区二区| 91视频精品| 日本爱爱精品一区二区| 日韩第一页在线| 久久永久视频| 午夜精品久久久久久久2023| 无码人中文字幕| 精品亚洲欧美中文字幕在线看 | 福利片91| 国模极品一区二区三区| 久久精品人人做人人爽| 亚洲欧美激情另类| 欧美日韩国产在线观看一区二区三区 | 日韩午夜伦| 亚洲天堂高清| 亚洲综合久久成人AV| a级毛片在线免费| 国产在线视频二区|