無速率編碼傳輸系統(tǒng)中基于q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法
【專利摘要】本發(fā)明公開了一種無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法。即利用ACK反饋信息以估計信道狀態(tài),通過一張策略表,決定在當(dāng)前信道狀態(tài)下所應(yīng)采用的策略,從而使發(fā)送端能夠隨信道變化主動自適應(yīng)地調(diào)整傳輸幀長。在無速率編碼傳輸中,該方法先通過之前傳輸?shù)那闆r估計當(dāng)前信道所處狀態(tài),再根據(jù)信道狀態(tài)輸出策略,決定此次發(fā)送端需要連續(xù)發(fā)送的編碼包數(shù)目。發(fā)送端將編碼包發(fā)送出去以后檢測信道,將是否收到ACK這一信息反饋給該方法,使其更新對當(dāng)前信道情況的估計并對下一次發(fā)送策略做出不同的調(diào)整。該方法充分利用了信道反饋信息,使傳輸幀長隨信道環(huán)境的變化而主動自適應(yīng)地變化,從而充分發(fā)揮了無速率碼的信道自適應(yīng)性。
【專利說明】無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域的信道編碼和傳輸技術(shù),具體涉及一種無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸巾貞長主動自適應(yīng)調(diào)整方法。
【背景技術(shù)】
[0002]通信系統(tǒng)的基本目的在于將信息由信源高效、可靠、安全地傳送到信宿。有擾通信信道中的噪聲會不可避免地對傳輸信息產(chǎn)生不同程度的干擾,從而可能降低通信可靠性。所以通信系統(tǒng)設(shè)計的核心問題就是在存在隨機噪聲的信道中如何克服干擾,減小信息傳輸?shù)牟铄e,同時又保證信息傳輸?shù)男?。為了克服信道中各種噪聲的干擾,人們提出了糾錯編碼的方法以實現(xiàn)可靠傳輸。在香農(nóng)以前,人們都認(rèn)為增加信道的信息傳輸速率總要引起錯誤概率的增加,認(rèn)為要使錯誤概率為零,則傳輸速率只能為零。1948年,香農(nóng)建立了信息論,為糾錯編碼的研究指明了方向。香農(nóng)提出,對每個信道可以根據(jù)它的噪聲干擾特性計算出它的容量C,所有低于信道容量C的速率R均是可達(dá)的,即當(dāng)R〈C時,總存在一系列碼,當(dāng)碼長η —c?時,最大誤碼概率趨于O。這一理論創(chuàng)造性的顛覆了關(guān)于人們對于通信的認(rèn)識,而尋找能夠?qū)嶋H應(yīng)用的逼近香農(nóng)極限的編碼方案也就成了糾錯編碼理論的最終目標(biāo)。
[0003]自信道編碼定理提出以來,如何構(gòu)造一個逼近信道容量限的實用編碼成了眾多研究學(xué)者竟相研究的課題,并逐漸形成信息論的一個重要分支——信道編碼理論。幾十多年來,通過眾多學(xué)者,特別是有關(guān)數(shù)學(xué)和信息論學(xué)術(shù)界的研究人員五十多年的共同努力,目前已經(jīng)取得了很多成果。如已經(jīng)相當(dāng)成熟的線性分組碼,編碼器有記憶的卷積碼,1993年由Berror, Glavieux和Thitimajashia提出的與香農(nóng)極限只差幾個分貝的Turbo碼,之后出現(xiàn)的另一種可以逼近香農(nóng)極限的低密度校驗碼LDPC碼等。
[0004]然而這些信道編碼在設(shè)計時,通常先根據(jù)信道狀態(tài)信息估計信道參數(shù),根據(jù)信道參數(shù)設(shè)計一個碼率固定為R的信道糾錯編碼(由k個輸入符號得到η個輸出符號,則碼率為R = k/n)。當(dāng)估計的信道參數(shù)大于實際的信道參數(shù)時,雖然可以實現(xiàn)可靠傳輸,但是造成了傳輸?shù)睦速M,因為此時可以使用更高碼率的信道糾錯編碼;當(dāng)估計的信道參數(shù)小于實際的信道參數(shù)時,不能實現(xiàn)可靠傳輸,此時需要更低碼率的信道糾錯編碼。而且很多時候,信道還是隨時變化或者無法提前判斷的,這個時候這些傳統(tǒng)的編碼就顯得難以應(yīng)付。于是出現(xiàn)了碼率可變的無速率碼。對于無速率碼,由原始數(shù)據(jù)產(chǎn)生的編碼數(shù)據(jù)包是隨著編碼過程而源源不斷產(chǎn)生的,根據(jù)譯碼的需要可多可少,只要保證能成功譯碼即可。實際傳輸?shù)拇a率取決于實際發(fā)送的編碼包數(shù)目,而需要發(fā)送的編碼包數(shù)目則取決于當(dāng)時的信道狀況。
[0005]無速率碼具有三個重要屬性:I)自適應(yīng)鏈路速率適配:其最終速率決定于信道特性,不需要在傳輸前估計信道特性而固定碼率,實際傳輸?shù)拇a率取決于當(dāng)時的信道狀況。2)無速率屬性(流屬性):發(fā)送端可以源源不斷的輸出編碼包,形成一個可以無限延續(xù)的編碼包流,而沒有任何速率約束;3)桶積水效應(yīng):接收端不斷收集編碼包,收集到足夠多的編碼包即能恢復(fù)出所有原始數(shù)據(jù)包。正是由于無速率碼的三個重要屬性,使其在廣播信道,認(rèn)知,網(wǎng)絡(luò)傳輸,反饋代價較大的通信場合等各個方面具有廣泛的應(yīng)用前景。
[0006]目前關(guān)于無速率碼在實際系統(tǒng)中的應(yīng)用,主要集中在物理層以上的傳輸。而對于在物理層采用無速率編碼傳輸?shù)膽?yīng)用幾乎是一片空白,尤其是在信道不斷變化的通信環(huán)境下。雖然無速率碼具有信道自適應(yīng)性,但是在傳輸中也會受到信道資源和傳輸時延的限制。從接收端的角度來講,無速率碼的譯碼復(fù)雜度隨著碼長的增加而非線性增長,因此參與譯碼的不同碼長會導(dǎo)致不同的譯碼延遲。當(dāng)接收端正處于一輪譯碼期間,那么新收到的編碼符號并不能立即參與譯碼,而是只有在此輪譯碼不成功的情況下才能夠參與下一輪譯碼。如果此次譯碼成功,則多收到的編碼符號造成了信道資源的浪費,降低了傳輸效率。也即盡管無速率碼具有信道自適應(yīng)性,為保證充分利用信道資源,減少不必要的譯碼延時,在無速率碼的傳輸過程中,需要盡量避免發(fā)送冗余的情況。
[0007]因此,如果接收端接收到的編碼碼長過短,由于其譯碼成功的概率較低,難以避免發(fā)送一定數(shù)量的新的編碼符號,這樣就導(dǎo)致上述弊端。然而,如果發(fā)送端連續(xù)發(fā)送的編碼碼字長度過長,雖然可以保證譯碼成功的概率,但同樣會導(dǎo)致譯碼延時增大,造成傳輸機會的浪費以及系統(tǒng)有效吞吐率的降低。故而在無速率碼傳輸中仍需要一種調(diào)節(jié)機制以主動調(diào)整傳輸碼率,從而充分地發(fā)揮無速率碼的信道自適應(yīng)性。
[0008]解決上述調(diào)節(jié)機制的問題可以借鑒機器學(xué)習(xí)的理論。無線通信中有很多問題可以轉(zhuǎn)化為需要學(xué)習(xí)控制策略以使累積回報最大化的問題,而適當(dāng)?shù)哪P娃D(zhuǎn)換會使得機器學(xué)習(xí)領(lǐng)域的算法在無線通信與傳輸問題上獲得很好的效果。其中,Q學(xué)習(xí)是機器學(xué)習(xí)領(lǐng)域的一種增強學(xué)習(xí)方法,著重解決的是一個能夠感知環(huán)境的自治機器人,怎樣通過學(xué)習(xí)選擇能達(dá)到其目標(biāo)的最優(yōu)動作。當(dāng)機器人在其環(huán)境中做出每一個動作時,會接收到懲罰或者獎勵信息,而機器人的任務(wù)就是從這個非直接的,有延遲的回報中學(xué)習(xí)以便后續(xù)的動作產(chǎn)生最大的累計回報。Q學(xué)習(xí)算法則用于在機器人未知其動作和對應(yīng)的回報的先驗知識的情況下,從延遲的回報中獲得最優(yōu)控制策略。
[0009]Q學(xué)習(xí)算法可以類比于一個策略函數(shù)逼近問題,這個函數(shù)將狀態(tài)映射到動作。然而該算法與其他函數(shù)逼近問題不同之處在于:1)延遲回報:在增強學(xué)習(xí)中,訓(xùn)練信息并不是直接可得,而是通過執(zhí)行一個動作獲得一個立即回報值來間接學(xué)習(xí)的,因此策略學(xué)習(xí)過程中要進(jìn)行時間信用分配。2)探索:學(xué)習(xí)過程經(jīng)常會面臨一個權(quán)衡問題,為了保證學(xué)習(xí)的全面性,需要以一定概率探索未知信息。3)終生學(xué)習(xí):與分離的策略函數(shù)逼近不同,終生學(xué)習(xí)可以利用時間和狀態(tài)上的冗余來減小樣本復(fù)雜度。
[0010]目前的調(diào)節(jié)碼率的算法包括傳輸碼率預(yù)先可選的ARQ和減小了隨機性的修正后的ARQ,以及線性濾波算法和動態(tài)規(guī)劃算法。其中線性濾波算法的基本原理是在發(fā)送端維持一個相對穩(wěn)定的變量,減少信道的變化對發(fā)送端連續(xù)發(fā)送子幀數(shù)目的策略的影響以保證收斂;動態(tài)規(guī)劃算法則是在當(dāng)前接收端譯碼性能已知的情況下選擇能使估計系統(tǒng)效率最佳的選項。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的目的是根據(jù)無速率碼的自適應(yīng)鏈路速率適配屬性、流屬性和桶積水效應(yīng),設(shè)計一種具有較高的吞吐率效率的無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法。
[0012]本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的。
[0013]無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法為:先根據(jù)接收端的反饋信息獲取當(dāng)前信道信息并判斷信道所屬狀態(tài)S,再根據(jù)策略函數(shù)n (S)決定下一次連續(xù)發(fā)送的子幀數(shù)目,假設(shè)在發(fā)送端發(fā)送新的數(shù)據(jù)包之前估計信道狀態(tài)為S',其中發(fā)送端的處理步驟如下:
[0014]I)發(fā)送端取數(shù)據(jù)包,進(jìn)行無速率編碼產(chǎn)生數(shù)量充足的編碼包,然后將編碼包拆分并分別封裝成子幀;
[0015]2)根據(jù)Q學(xué)習(xí)策略函數(shù)的輸出,得到應(yīng)該連續(xù)發(fā)送的子幀數(shù)目),并將n (s')個子幀連續(xù)發(fā)送出去;
[0016]3)進(jìn)入CS狀態(tài)檢測信道信號,如果接收到ACK則進(jìn)入步驟4);如果檢測ACK超時則進(jìn)入步驟5);
[0017]4)根據(jù)記錄下來的π (s')和是否收到ACK反饋,得到更新后的信道狀態(tài)為S,并對在信道狀態(tài)S,下連續(xù)發(fā)送n (S')個子幀進(jìn)行Q學(xué)習(xí),準(zhǔn)備下一次數(shù)據(jù)包的發(fā)送,返回步驟I);
[0018]5)發(fā)送該數(shù)據(jù)包的Λ個冗余子幀,得到更新后的信道狀態(tài)為S,并對在信道狀態(tài)s'下連續(xù)發(fā)送π (s')個子幀進(jìn)行Q學(xué)習(xí),更新策略值π (s' ) - π (Si ) + Λ,返回步驟3);
[0019]接收端的處理步驟如下:
[0020]6)接收端在接收到數(shù)據(jù)包的子幀后,對數(shù)據(jù)包進(jìn)行無速率譯碼,若譯碼成功,則檢測到信道空閑時反饋ACK ;否則,等待新的子幀加入譯碼。
[0021]無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法中的步驟4)、步驟5)中所述的更新后的信道狀態(tài)為s包括:利用ACK信號是否超時的信息來更新對信道狀態(tài)的估計,通過調(diào)整相關(guān)參數(shù)以進(jìn)一步逼近實際信道情況;
[0022]由于無速率碼的桶積水效應(yīng),接收端在收集到超過譯碼門限數(shù)目的編碼包之后即可恢復(fù)出原始數(shù)據(jù)包,設(shè)接收端連續(xù)接收到的子幀數(shù)目為η,在固定的信道狀態(tài)下,不同大小的η對應(yīng)著不同大小的成功譯碼概率,并且這個概率隨著η的增大而單調(diào)遞增。因此,在某個特定信道狀態(tài)下,接收端的譯碼性能用一個函數(shù)來表示。將子幀數(shù)目η看作一個隨機變量,那么這個函數(shù)就表征為這個隨機變量的累積分布函數(shù)f (η),即,對一個特定的η = N,f (N)表示當(dāng)接收端收到的子幀數(shù)目η < N時能夠譯碼成功的概率,用加權(quán)重的高斯隨機變量累積分布函數(shù)g(n)來逼近f (η),其中權(quán)重因子由α來表示,則f (η)用g(n)的均值μ和方差σ來完全表征。不同的信道狀態(tài)對應(yīng)不同的累積分布函數(shù)f(n),也即不同的信道狀態(tài)s用不同的μ和σ來區(qū)分,就得到一個狀態(tài)函數(shù)Υ =利用ACK是否超時的信息對信道進(jìn)行學(xué)習(xí)這個問題就可以轉(zhuǎn)化為用加權(quán)重的高斯隨機變量累積分布函數(shù)來近似當(dāng)前信道狀態(tài)下接收端的譯碼性能。
[0023]假設(shè)有內(nèi)部變量count, sumq, sumsq以及權(quán)重因子α,sample為更新信道狀態(tài)的算法輸入,則更新信道狀態(tài)的算法運行步驟如下:
[0024]I)初始化μ和O ,可賦以任意正數(shù),初始化內(nèi)部變量,權(quán)重因子α = 0.8, count=I, sumq = μ , sumsq = sumq2+ μ 2 ;
[0025]2)發(fā)送端連續(xù)發(fā)送π (s')個子幀后,進(jìn)入CS狀態(tài)檢測ACK。如果檢測到ACK信號,貝1J算法輸入sample = Ji (s');如果檢測超時,賦值sample = n (s' )+1 ;
[0026]3)對內(nèi)部變量進(jìn)行更新count = α.count+1
[0027]sumq = α.sumq+sample, sumsq = a.sumsq+sample2 ;
[0028]4) μ ' = sumq/count, σ ' 2 = sumsq/count-μ ' 2
[0029]5)則新的信道狀態(tài)可根據(jù)〃 =來確定。進(jìn)行下一次發(fā)送時,更新s' — s,返回步驟2)。
[0030]無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法中步驟2)、步驟4)、步驟5)中所述的Q學(xué)習(xí)方法以及策略輸出包括:發(fā)送端在發(fā)送一個新的數(shù)據(jù)包之前會利用Q學(xué)習(xí)的策略來決定需要連續(xù)發(fā)送的子幀數(shù)目,以及根據(jù)ACK信號是否超時對當(dāng)前信道狀態(tài)進(jìn)行Q學(xué)習(xí),在當(dāng)前信道狀態(tài)下,以概率P選擇在該狀態(tài)下能夠使接收端成功譯碼的最佳子幀數(shù)目,同時也以概率1-P擇比較小的子幀數(shù)目,以保證更加準(zhǔn)確地估計信道狀態(tài),以及更有效地利用信道資源。
[0031]在狀態(tài)可區(qū)分的前提下,根據(jù)Q學(xué)習(xí)的基本原理,根據(jù)不同狀態(tài)存儲一張策略表Q (s,η),表的行表示狀態(tài)S,列表示所有可取的子幀數(shù)目η,表項的值表示在狀態(tài)s下連續(xù)發(fā)送η個子幀所收到的回報,這個回報由兩部分組成,一個是發(fā)送一定數(shù)目子幀以后的即時回報r,一個是經(jīng)過折算因子Y折算過的累計回報,而算法的目標(biāo)之一就是最大化累計回報以期整個傳輸獲得最大吞吐量。
[0032]假設(shè)P為介于(0,I)的值,表示在一次策略選擇中選取已知狀態(tài)下的最佳子幀數(shù)目的概率,則Q學(xué)習(xí)方法以及策略輸出的運行步驟如下:
[0033]I)初始化Q (s, η)的表項為0,s '為任意狀態(tài),由Y = φ{(diào)μ\σ')確定,其中μ ' , ο 1可賦值任意正數(shù)在此例中,μ ' = 5, ο 1 = 0.5 ;
[0034]2)根據(jù)信道狀態(tài)s',找到表Q (s,η)中s'對應(yīng)的行;
[0035]3)生成一個介于(0,1)的隨機數(shù)random,如果random < P,進(jìn)入步驟4);否則進(jìn)入步驟5);
[0036]4)將表Q(s,η)中s'對應(yīng)的行中存有最大值的表項對應(yīng)的η記為amax,并作為策略輸出值n (s')給發(fā)送端;進(jìn)入步驟6);
[0037]5)設(shè)表Q(s,η)中s'對應(yīng)的行中存有最大值的表項對應(yīng)的η為amax,選取amax_l作為策略值n (s')給發(fā)送端;
[0038]6)發(fā)送端連續(xù)發(fā)送π (s')個子幀;
[0039]7)發(fā)送端進(jìn)入CS狀態(tài)檢測ACK。如果檢測到ACK信號,賦值內(nèi)部變量r =100, fail_flag = O ;如果檢測超時,賦值 r = O, fail_flag = I ;
[0040]8)學(xué)習(xí)當(dāng)前信道狀態(tài),由s = δ (s',(s'))確定信道當(dāng)前所處的狀態(tài)s,找到表Q(s, η)中s對應(yīng)的行,對表項Q(s',(s'))進(jìn)行更新,賦值為r+YmaxQ(s,:);
[0041]9)如果fail_flag = I,發(fā)送端繼續(xù)發(fā)送Δ個冗余,并更新s' — s,
[0042]n (s' ) — π (s' ) + Δ,返回步驟 7);否則 s' —s,返回步驟 2)。
[0043]本發(fā)明與現(xiàn)有技術(shù)相比具有的有益效果:
[0044]本發(fā)明針對無速率碼的信道自適應(yīng)性,發(fā)明了一種無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法。該調(diào)整方法利用Q學(xué)習(xí)算法的特點對信道情況進(jìn)行跟蹤學(xué)習(xí),并為發(fā)送端提供適應(yīng)當(dāng)前信道的最佳傳輸碼率的信息,主動自適應(yīng)調(diào)整發(fā)送端發(fā)送的子幀數(shù)目,與其他現(xiàn)有技術(shù)相比,基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法能夠充分利用信道,具有更高的吞吐率效率和更低的系統(tǒng)開銷。
[0045]說明書附圖
[0046]圖1是無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法在無速率編碼傳輸中的示意圖;
[0047]圖2是用高斯分布隨機變量累積分布函數(shù)來逼近無速率碼傳輸?shù)慕邮斩俗g碼性能的不意圖;
[0048]圖3是無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法的算法流程圖;
[0049]圖4是無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與其他傳輸碼率自適應(yīng)調(diào)整方法的性能比較示意圖,包括ARQ算法,修正后的ARQ算法,以及線性濾波算法;
[0050]圖5是無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與其他算法在平穩(wěn)信道下收斂情況的比較示意圖,包括線性濾波算法和動態(tài)規(guī)劃算法;
[0051]圖6是時變信道下無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與線性濾波算法的性能比較示意圖;
[0052]圖7是時變信道下無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與動態(tài)規(guī)劃算法的性能比較示意圖;
【具體實施方式】
[0053]以下結(jié)合附圖進(jìn)一步說明本發(fā)明。
[0054]無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法為:如圖1所示,發(fā)送端先根據(jù)接收端的反饋信息獲取當(dāng)前信道信息并判斷信道所屬狀態(tài)S,再根據(jù)策略函數(shù)n (S)決定下一次連續(xù)發(fā)送的子幀數(shù)目,假設(shè)在發(fā)送端發(fā)送新的數(shù)據(jù)包之前估計信道狀態(tài)為S',其中發(fā)送端的處理步驟如下:
[0055]I)發(fā)送端取數(shù)據(jù)包,進(jìn)行無速率編碼產(chǎn)生數(shù)量充足的編碼包,然后將編碼包拆分并分別封裝成子幀;
[0056]2)根據(jù)Q學(xué)習(xí)策略函數(shù)的輸出,得到應(yīng)該連續(xù)發(fā)送的子幀數(shù)目),并將n (s')個子幀連續(xù)發(fā)送出去;
[0057]3)進(jìn)入CS狀態(tài)檢測信道信號,如果接收到ACK則進(jìn)入步驟4);如果檢測ACK超時則進(jìn)入步驟5);
[0058]4)根據(jù)記錄下來的π (s')和是否收到ACK反饋,得到更新后的信道狀態(tài)為S,并對在信道狀態(tài)S,下連續(xù)發(fā)送n (S')個子幀進(jìn)行Q學(xué)習(xí),準(zhǔn)備下一次數(shù)據(jù)包的發(fā)送,返回步驟I);
[0059]5)發(fā)送該數(shù)據(jù)包的Λ個冗余子幀,得到更新后的信道狀態(tài)為S,并對在信道狀態(tài)s'下連續(xù)發(fā)送π (s')個子幀進(jìn)行Q學(xué)習(xí),更新策略值π (s' ) - π (Si ) + Λ,返回步驟3);
[0060]接收端的處理步驟如下:
[0061]6)接收端在接收到數(shù)據(jù)包的子幀后,對數(shù)據(jù)包進(jìn)行無速率譯碼,若譯碼成功,則檢測到信道空閑時反饋ACK ;否則,等待新的子幀加入譯碼。
[0062]無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法中的步驟4)、步驟5)中所述的更新后的信道狀態(tài)為s包括:利用ACK信號是否超時的信息來更新對信道狀態(tài)的估計,通過調(diào)整相關(guān)參數(shù)以進(jìn)一步逼近實際信道情況;
[0063]由于無速率碼的桶積水效應(yīng),接收端在收集到超過譯碼門限數(shù)目的編碼包之后即可恢復(fù)出原始數(shù)據(jù)包,設(shè)接收端連續(xù)接收到的子幀數(shù)目為n,在固定的信道狀態(tài)下,不同大小的η對應(yīng)著不同大小的成功譯碼概率,并且這個概率隨著η的增大而單調(diào)遞增。因此,在某個特定信道狀態(tài)下,接收端的譯碼性能用一個函數(shù)來表示。將子幀數(shù)目η看作一個隨機變量,那么這個函數(shù)就表征為這個隨機變量的累積分布函數(shù)f (η),即,對一個特定的η = N,f (N)表示當(dāng)接收端收到的子幀數(shù)目η < N時能夠譯碼成功的概率,用加權(quán)重的高斯隨機變量累積分布函數(shù)g(n)來逼近f (η),其中權(quán)重因子由α來表示,則f (η)用g(n)的均值μ和方差σ來完全表征。如圖2所示,用參數(shù)μ =8.3, σ =0.5的高斯隨機變量的累積分布函數(shù)g(n)逼近f (η),能夠充分表述接收端的譯碼性能。不同的信道狀態(tài)對應(yīng)不同的累積分布函數(shù)f (η),也即不同的信道狀態(tài)s用不同的μ和σ來區(qū)分,就得到一個狀態(tài)函數(shù)^ = φ{(diào)μ,σ),利用ACK是否超時的信息對信道進(jìn)行學(xué)習(xí)這個問題就可以轉(zhuǎn)化為用加權(quán)重的高斯隨機變量累積分布函數(shù)來近似當(dāng)前信道狀態(tài)下接收端的譯碼性能。
[0064]假設(shè)有內(nèi)部變量count, sumq, sumsq以及權(quán)重因子α,sample為更新信道狀態(tài)的算法輸入,則更新信道狀態(tài)的算法運行步驟如下:
[0065]I)初始化μ和σ ,可賦以任意正數(shù),初始化內(nèi)部變量,權(quán)重因子α =0.8,count=I, sumq = μ , sumsq = sumq2+ μ 2 ;
[0066]2)發(fā)送端連續(xù)發(fā)送π (s')個子幀后,進(jìn)入CS狀態(tài)檢測ACK。如果檢測到ACK信號,貝1J算法輸入sample = Ji (s');如果檢測超時,賦值sample = n (s' )+1 ;
[0067]3)對內(nèi)部變量進(jìn)行更新count = α.count+1
[0068]sumq = α.sumq+sample, sumsq = a.sumsq+sample2 ;
[0069]4) μ ' = sumq/count, σ ' 2 = sumsq/count-μ ' 2
[0070]5)則新的信道狀態(tài)可根據(jù).s'= ^(W)來確定。進(jìn)行下一次發(fā)送時,更新s' —S,返回步驟2)。
[0071]無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法中步驟2)、步驟4)、步驟5)中所述的Q學(xué)習(xí)方法以及策略輸出包括:發(fā)送端在發(fā)送一個新的數(shù)據(jù)包之前會利用Q學(xué)習(xí)的策略來決定需要連續(xù)發(fā)送的子幀數(shù)目,以及根據(jù)ACK信號是否超時對當(dāng)前信道狀態(tài)進(jìn)行Q學(xué)習(xí),在當(dāng)前信道狀態(tài)下,以概率P選擇在該狀態(tài)下能夠使接收端成功譯碼的最佳子幀數(shù)目,同時也以概率1-P擇比較小的子幀數(shù)目,以保證更加準(zhǔn)確地估計信道狀態(tài),以及更有效地利用信道資源。
[0072]在狀態(tài)可區(qū)分的前提下,根據(jù)Q學(xué)習(xí)的基本原理,根據(jù)不同狀態(tài)存儲一張策略表Q (s,η),表的行表示狀態(tài)S,列表示所有可取的子幀數(shù)目η,表項的值表示在狀態(tài)s下連續(xù)發(fā)送η個子幀所收到的回報,這個回報由兩部分組成,一個是發(fā)送一定數(shù)目子幀以后的即時回報r,一個是經(jīng)過折算因子Y折算過的累計回報,而算法的目標(biāo)之一就是最大化累計回報以期整個傳輸獲得最大吞吐量。
[0073]假設(shè)p為介于(0,I)的值,表示在一次策略選擇中選取已知狀態(tài)下的最佳子幀數(shù)目的概率,在此例中取P = 0.7,則Q學(xué)習(xí)方法以及策略輸出的運行步驟如下:
[0074]I)初始化Q (s,η)的表項為0,s '為任意狀態(tài),由= φ{(diào)μ\σ )確定,其中
μ ' , ο 1可賦值任意正數(shù)在此例中,μ ' = 5, ο 1 = 0.5 ;
[0075]2)根據(jù)信道狀態(tài)s',找到表Q (s,η)中s'對應(yīng)的行;
[0076]3)生成一個介于(0,1)的隨機數(shù)random,如果random < P,進(jìn)入步驟4);否則進(jìn)入步驟5);
[0077]4)將表Q(s,η)中s'對應(yīng)的行中存有最大值的表項對應(yīng)的η記為amax,并作為策略輸出值n (s')給發(fā)送端;進(jìn)入步驟6);
[0078]5)設(shè)表Q(s,η)中s'對應(yīng)的行中存有最大值的表項對應(yīng)的η為amax,選取amax_l作為策略值n (s')給發(fā)送端;
[0079]6)發(fā)送端連續(xù)發(fā)送π (s')個子幀;
[0080]7)發(fā)送端進(jìn)入CS狀態(tài)檢測ACK。如果檢測到ACK信號,賦值內(nèi)部變量r =100, fail_flag = O ;如果檢測超時,賦值 r = O, fail_flag = I ;
[0081]8)學(xué)習(xí)當(dāng)前信道狀態(tài),由s = δ (s',Ji (s'))確定信道當(dāng)前所處的狀態(tài)S,找到表Q(s, η)中s對應(yīng)的行,對表項Q(s',(s'))進(jìn)行更新,賦值為r+YmaxQ(s,:);
[0082]9)如果fail_flag = I,發(fā)送端繼續(xù)發(fā)送Δ個冗余,并更新s1 s,
[0083]n (s' ) π (sf ) + Δ,返回步驟 7);否則 s' —s,返回步驟 2)。
[0084]將以上算法以流程圖表示見圖3。
[0085]圖4是無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與其他傳輸碼率自適應(yīng)調(diào)整方法的性能比較示意圖,包括ARQ算法,修正后的ARQ算法,以及線性濾波算法??梢钥闯龌赒學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法優(yōu)于其他方法,將系統(tǒng)開銷降低到10%以內(nèi),從而將系統(tǒng)性能提高到90 %以上,尤其是在時變信道下,性能尤佳。
[0086]圖5是無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與其他方法在平穩(wěn)信道下收斂情況的比較示意圖,包括線性濾波算法和動態(tài)規(guī)劃算法,可見在平穩(wěn)信道下三種算法都能收斂,產(chǎn)生較低的系統(tǒng)開銷,相較線性濾波算法,基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)算法和動態(tài)規(guī)劃算法具有更快的收斂速度。
[0087]圖6是時變信道下無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法與線性濾波算法的性能比較示意圖,圖7是時變信道下該方法與動態(tài)規(guī)劃算法的性能比較示意圖,可以得出在時變信道下該方法與其他方法相較具有較優(yōu)的收斂速度和較低的系統(tǒng)開銷,從而充分利用了信道,具有極高的吞吐率效率。
【權(quán)利要求】
1.一種無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸巾貞長主動自適應(yīng)調(diào)整方法,其特征在于,先根據(jù)接收端的反饋信息獲取當(dāng)前信道信息并判斷信道所屬狀態(tài)S,再根據(jù)策略函數(shù)H (S)決定下一次連續(xù)發(fā)送的子幀數(shù)目,假設(shè)在發(fā)送端發(fā)送新的數(shù)據(jù)包之前估計信道狀態(tài)為S',其中發(fā)送端的處理步驟如下: 1)發(fā)送端取數(shù)據(jù)包,進(jìn)行無速率編碼產(chǎn)生數(shù)量充足的編碼包,然后將編碼包拆分并分別封裝成子幀; 2)根據(jù)Q學(xué)習(xí)策略函數(shù)的輸出,得到應(yīng)該連續(xù)發(fā)送的子幀數(shù)目η(s'),并將η (s')個子巾貞連續(xù)發(fā)送出去; 3)進(jìn)入CS狀態(tài)檢測信道信號,如果接收到ACK則進(jìn)入步驟4);如果檢測ACK超時則進(jìn)入步驟5); 4)根據(jù)記錄下來的η(s')和是否收到ACK反饋,得到更新后的信道狀態(tài)為S,并對在信道狀態(tài)s,下連續(xù)發(fā)送n (s')個子幀進(jìn)行Q學(xué)習(xí),準(zhǔn)備下一次數(shù)據(jù)包的發(fā)送,返回步驟I); 5)發(fā)送該數(shù)據(jù)包的Λ個冗余子幀,得到更新后的信道狀態(tài)為s,并對在信道狀態(tài)s'下連續(xù)發(fā)送n (s')個子幀進(jìn)行Q學(xué)習(xí),更新策略值n (s' ) — Ji(s' ) + Λ,返回步驟3); 接收端的處理步驟如下: 6)接收端在接收到數(shù)據(jù)包的子幀后,對數(shù)據(jù)包進(jìn)行無速率譯碼,若譯碼成功,則檢測到信道空閑時反饋ACK ;否則,等待新的子幀加入譯碼。
2.根據(jù)權(quán)利要求1所述的無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸幀長主動自適應(yīng)調(diào)整方法,其特征在于其特征在于步驟4)、步驟5)中所述的更新后的信道狀態(tài)為s包括:利用ACK信號是否超時的信息來更新對信道狀態(tài)的估計,通過調(diào)整相關(guān)參數(shù)以進(jìn)一步逼近實際信道情況; 由于無速率碼的桶積水效應(yīng),接收端在收集到超過譯碼門限數(shù)目的編碼包之后即可恢復(fù)出原始數(shù)據(jù)包,設(shè)接收端連續(xù)接收到的子幀數(shù)目為η,在固定的信道狀態(tài)下,不同大小的η對應(yīng)著不同大小的成功譯碼概率,并且這個概率隨著η的增大而單調(diào)遞增。因此,在某個特定信道狀態(tài)下,接收端的譯碼性能用一個函數(shù)來表示。將子幀數(shù)目η看作一個隨機變量,那么這個函數(shù)就表征為這個隨機變量的累積分布函數(shù)f (η),即,對一個特定的η = N,f (N)表示當(dāng)接收端收到的子幀數(shù)目N時能夠譯碼成功的概率,用加權(quán)重的高斯隨機變量累積分布函數(shù)g(n)來逼近f (η),其中權(quán)重因子由α來表示,則f (η)用g(η)的均值μ和方差σ來完全表征。不同的信道狀態(tài)對應(yīng)不同的累積分布函數(shù)f (η),也即不同的信道狀態(tài)s用不同的μ和O來區(qū)分,就得到一個狀態(tài)函數(shù)s = σ),利用ACK是否超時的信息對信道進(jìn)行學(xué)習(xí)這個問題就可以轉(zhuǎn)化為用加權(quán)重的高斯隨機變量累積分布函數(shù)來近似當(dāng)前信道狀態(tài)下接收端的譯碼性能。 假設(shè)有內(nèi)部變量count, sumq, sumsq以及權(quán)重因子a,sample為更新信道狀態(tài)的算法輸入,則更新信道狀態(tài)的算法運行步驟如下: 1)初始化μ和σ,可賦以任意正數(shù),初始化內(nèi)部變量,權(quán)重因子α = 0.8, count = I,sumq = μ , sumsq = sumq2+ μ 2 ; 2)發(fā)送端連續(xù)發(fā)送π(s')個子幀后,進(jìn)入CS狀態(tài)檢測ACK。如果檢測到ACK信號,則算法輸入sample = Ji (s');如果檢測超時,賦值sample = Ji (s' )+1 ; 3)對內(nèi)部變量進(jìn)行更新count= α.count+1
sumq = α.sumq+sample, sumsq = a.sumsq+sample2 ;
4)μ ' = sumq/count, σ ' 2 = sumsq/count-μ ' 2 5)則新的信道狀態(tài)可根據(jù)=來確定。進(jìn)行下一次發(fā)送時,更新s' —S,返回步驟2)。
3.根據(jù)權(quán)利要求1或2所述的無速率編碼傳輸系統(tǒng)中基于Q學(xué)習(xí)的傳輸巾貞長主動自適應(yīng)調(diào)整方法,其特征在于步驟2)、步驟4)、步驟5)中所述的Q學(xué)習(xí)方法以及策略輸出包括:發(fā)送端在發(fā)送一個新的數(shù)據(jù)包之前會利用Q學(xué)習(xí)的策略來決定需要連續(xù)發(fā)送的子幀數(shù)目,以及根據(jù)ACK信號是否超時對當(dāng)前信道狀態(tài)進(jìn)行Q學(xué)習(xí),在當(dāng)前信道狀態(tài)下,以概率P選擇在該狀態(tài)下能夠使接收端成功譯碼的最佳子幀數(shù)目,同時也以概率1-P選擇比較小的子幀數(shù)目,以保證更加準(zhǔn)確地估計信道狀態(tài),以及更有效地利用信道資源。 在狀態(tài)可區(qū)分的前提下,根據(jù)Q學(xué)習(xí)的基本原理,根據(jù)不同狀態(tài)存儲一張策略表Q (s,η),表的行表示狀態(tài)S,列表示所有可取的子幀數(shù)目η,表項的值表示在狀態(tài)s下連續(xù)發(fā)送η個子幀所收到的回報,這個回報由兩部分組成,一個是發(fā)送一定數(shù)目子幀以后的即時回報r,一個是經(jīng)過折算因子Y折算過的累計回報,而算法的目標(biāo)之一就是最大化累計回報以期整個傳輸獲得最大吞吐量。 假設(shè)P為介于(0,I)的值,表示在一次策略選擇中選取已知狀態(tài)下的最佳子幀數(shù)目的概率,則Q學(xué)習(xí)方法以及策略輸出的運行步驟如下: 1)初始化Q(s,η)的表項為0,s'為任意狀態(tài),由Y = p(y,cr')確定,其中μ ',σ '可賦值任意正數(shù)在此例中,μ ' = 5,O ' = 0.5 ; 2)根據(jù)信道狀態(tài)s',找到表Q(s,η)中s'對應(yīng)的行; 3)生成一個介于(0,I)的隨機數(shù)random,如果random< P,進(jìn)入步驟4);否則進(jìn)入步驟5); 4)將表Q(s,n)中s'對應(yīng)的行中存有最大值的表項對應(yīng)的η記為amax,并作為策略輸出值n (s')給發(fā)送端;進(jìn)入步驟6); 5)設(shè)表Q(s,η)中s'對應(yīng)的行中存有最大值的表項對應(yīng)的η為amax,選取amax_l作為策略值n (s')給發(fā)送端; 6)發(fā)送端連續(xù)發(fā)送π(s')個子幀; 7)發(fā)送端進(jìn)入CS狀態(tài)檢測ACK。如果檢測到ACK信號,賦值內(nèi)部變量r= 100, fail_flag = O ;如果檢測超時,賦值r = O, fail_flag = I ; 8)學(xué)習(xí)當(dāng)前信道狀態(tài),由S=δ (s' , π (Si ))確定信道當(dāng)前所處的狀態(tài)s,找到表Q(s, η)中s對應(yīng)的行,對表項Q(s',(s'))進(jìn)行更新,賦值為r+YmaxQ(s,:); 9)如果fail_flag= I,發(fā)送端繼續(xù)發(fā)送Δ個冗余,并更新s' — s, π (s' ) — Ji (s' ) + Λ,返回步驟7);否則s' —s,返回步驟2)。
【文檔編號】H04L1/00GK104168087SQ201410389314
【公開日】2014年11月26日 申請日期:2014年8月8日 優(yōu)先權(quán)日:2014年8月8日
【發(fā)明者】張朝陽, 張婧, 屠坤, 張華滋, 楊瀟翔, 付攀玉 申請人:浙江大學(xué)