專利名稱:一種可生成指定性能序列編碼器的遺傳編程實現(xiàn)方法
所屬領(lǐng)域本發(fā)明涉及一種可生成指定性能序列編碼器的遺傳編程實現(xiàn)方法。
而在新一代的移動通信技術(shù)中,為了更有效地利用頻率資源,采用了碼分多址技術(shù),這就需要性能很好地滿足特定要求的多址正交碼。同樣在其他方面,比如光通信領(lǐng)域,所要求碼的性能和其它通信方式又不一樣,我們就又需要生成此類碼的方法。
所以,找到一種較為通用的方法,較好地解決生成某種性能的序列這一類問題是有意義的。本發(fā)明找到了能較好的解決此類問題的一種通法,揭示了一種有效地生成此類編碼器的途徑。
目前現(xiàn)有的技術(shù)中,生成某種特定序列的方法一般是通過運用數(shù)論理論來得到,或運用代數(shù)學(xué)的理論來推得。比如偽隨機序列,它常常通過確定性的算法得到,而這個算法是程序員事先知道的,同時這種傳統(tǒng)方法需要隨機數(shù)的種子,所以輸出的隨機數(shù)是可再生的。因此通過確定性的方法得到的數(shù)隨機性能不好。再如,有人用非線性動力學(xué)生成擴頻碼,其性能一般不能達到極限。
總的來說,這些方法的主要缺點是(1)性能一般不能逼近其極限值;(2)生成的碼數(shù)量有限;(3)要解決一個問題,只能量身打造一個專用的方法,沒有通用性。
本發(fā)明的技術(shù)方案為(1)用一系列操作符和操作數(shù)隨機組成N個算式,每一個算式其實就是一個編碼器,其中N稱為群體規(guī)模數(shù);
(2)對每一個編碼器有一個評價指標(biāo),也就是適應(yīng)度值,算出群體中N個個體的適應(yīng)度值,其評價指標(biāo)由用戶指定,且有什么評價指標(biāo)就會生成什么編碼器;(3)以適應(yīng)度值為基礎(chǔ),按照遺傳概率與適應(yīng)度值成正比的準(zhǔn)則算出每一個算式遺傳到下一代的概率。然后對此群體進行遺傳變異操作演化出下一代群體。根據(jù)需要演化一定的代數(shù),將最終群體中適應(yīng)度最高的算式作為最終結(jié)果。
本發(fā)明的兩個實施方案為1)它生成香農(nóng)意義下的最復(fù)雜序列編碼器,它采用的適應(yīng)度準(zhǔn)則為香農(nóng)準(zhǔn)則;2)生成CDMA中的多址正交碼,它采用的適應(yīng)度準(zhǔn)則為在一個碼組中找出自相關(guān)和互相關(guān)值中的最大值y,if y>a,適應(yīng)度值=0(a是一個可調(diào)的值),else適應(yīng)度值=香農(nóng)熵-y(控制0的個數(shù))。
由于采用了具有遺傳變異功能的遺傳編程方法,使本發(fā)明的方法搜索空間范圍很大,從而保證了結(jié)果有很好的性能。
由于遺傳編程的內(nèi)在隨機性,使得通過一次次運行,可以得到性能優(yōu)秀且互不相似的編碼器。
由于適應(yīng)度指標(biāo)可由用戶指定,使得本發(fā)明的應(yīng)用范圍很廣。
由于采用香農(nóng)熵為適應(yīng)度準(zhǔn)則,可以得到信息論的準(zhǔn)則下最復(fù)雜的編碼器,所以此編碼器在信息加密、Monte Carlo隨機模擬、彩票號碼生成等方面有很大的應(yīng)用前景。
由于采用了移動通信中對多址正交碼的要求作為適應(yīng)度準(zhǔn)則,可得到很好的多址正交碼組。
由于此方法的高度適應(yīng)性和通用性,使得本發(fā)明在通信的廣泛領(lǐng)域中有很大的應(yīng)用價值,如衛(wèi)星通信和光通信中各種碼型的生成等。
圖3為本發(fā)明編程實現(xiàn)方法產(chǎn)生的編碼器輸出序列香農(nóng)熵隨著遺傳代數(shù)的變化曲線圖4為本發(fā)明編程實現(xiàn)方法在香農(nóng)準(zhǔn)則下產(chǎn)生的128位隨機序列編碼器輸出序列的自相關(guān)特性曲線圖5為本發(fā)明編程實現(xiàn)方法的多址正交碼自相關(guān)圖
(2)運算符只限于{+,-,*,DIV,MOD},其中DIV是整除運算符。并且,由于要考慮到特殊情況,故規(guī)定n MOD 0=1,n DIV 0=1,這樣無論何時,進化過程都會進行下去。
(3)操作數(shù)只限于{0,1,2,3,j},其中j是編碼器的輸入,可取值是自然數(shù)集,當(dāng)j從1取到N時便得到一個序列,雖然這個序列開始演化時并不只由0,1組成,但演化到一定代數(shù),便會得到只輸出0,1的編碼器。比如我的一個結(jié)果(15代)為(二叉樹的先序遍歷序列)M++Dj+MDj2++MDj+13+Mj2MD+312-*0103M-+j31+++D0j*113M3-Dj213332畫成樹型如
圖1(由于紙面不夠,只能畫出一部分)。
由于我們要對一個編碼器群體進行遺傳變異操作,那么首先我們必須隨機得到M個編碼器(M為群體的人口數(shù)),這是需要解決的的一個問題。
第二步,決定一個個體的適應(yīng)度。這個評判標(biāo)準(zhǔn)是由用戶根據(jù)他們的需要給出的。我們現(xiàn)在以香農(nóng)熵為例來說明。
對每一個樹型編碼器,若沒有輸入節(jié)點J,那么此編碼器輸出是常數(shù),我們將會看到此編碼器輸出序列香農(nóng)熵是零。若有輸入節(jié)點J,那么讓J從1連續(xù)取值到M(我的程序中取為5000),便得到一系列輸出值,將這些值按順序存儲起來。
我應(yīng)用了香農(nóng)準(zhǔn)則(當(dāng)然也可用其他準(zhǔn)則)對定字長(h)的序列,有2h種可能,當(dāng)每一種序列出現(xiàn)的概率相等時,香農(nóng)熵最大,大小為h,即式子Eh=-∑philog2phj達到最大值h。由于我們要優(yōu)化字長小于k(本程序中k取7)的所有序列,故定義適應(yīng)度函數(shù)為Etotal=Σk[-Σphjlog2phj].]]>不難知道,Etotal的香農(nóng)極限值為k(k+1)2]]>。這樣對一個給定的編碼樹就得到它的適應(yīng)度。然后按照“個體被遺傳的概率與它的適應(yīng)度成正比”的法則來選擇被遺傳的個體。隨著代數(shù)的增加,得到的編碼器的輸出序列的香農(nóng)熵會逼近極限值,也就是說,編碼器會在香農(nóng)意義下逼近最優(yōu)。(事實上到第3代時,得到的編碼器的輸出序列熵就達到25以上了,此后隨著代數(shù)的增加,熵以很慢的速度逼近極限值28)第三步,交叉和變異操作得到群體中每一個個體的適應(yīng)度后,就要進行一次遺傳變異操作來得到下一代群體。首先,由于適應(yīng)度標(biāo)志了一個個體對環(huán)境的適應(yīng)程度,適應(yīng)度大的個體對環(huán)境較適應(yīng),它應(yīng)該更容易生存和遺傳到下一代中去。而這樣會帶來一個問題,適應(yīng)度大的個體有可能不被遺傳,而適應(yīng)度小的個體也有可能被遺傳(因為編程實現(xiàn)時是通過隨機數(shù)來實現(xiàn)的),為了保持算法的穩(wěn)定性,我使適應(yīng)度排在前10%的個體一成不變的復(fù)制到下一代中,遺傳變異操作只對10%以后的個體進行。
遺傳變異操作時,先按照如上所述的選擇準(zhǔn)則,選擇一對雙親(parents),也就是說選定了兩棵樹,那么這兩個個體就要進行交配,過程很清楚的顯示在圖2中需要注意的是,圖2(a)箭頭顯示的交叉點的位置也是隨機選擇的,以0.9的概率選擇操作符節(jié)點,以0.1的概率選擇操作數(shù)節(jié)點。此外,由于要減少程序的運行時間,交叉操作時要保證得到的兩棵樹深度不超過15。為了擴大算法的選擇范圍,有時需要進行變異操作,正如現(xiàn)實的自然界中,生物的突變發(fā)生的概率很小,所以我的程序中規(guī)定了個體發(fā)生變異的概率為0.1。
下面具體討論一下變異的具體實現(xiàn)由于一棵樹中節(jié)點有兩種類型,運算符和操作數(shù),那么不難想象變異有兩種可能A.運算符→操作數(shù)B.操作數(shù)→運算符對情況A,原來運算符節(jié)點下的左子樹和右子樹就要被刪除掉。對情況B,變異得到的運算符節(jié)點必須新長出左右子樹,否則就是沒有意義的樹!而由于要減小程序運行的規(guī)模,規(guī)定此情況中只長出兩個操作數(shù)節(jié)點。進一步,變異節(jié)點的選擇和情況B中長出的左右子樹,也是具有隨機性的。
運用此技術(shù)方案的運行結(jié)果正如上文所說,本發(fā)明中,編碼器的適應(yīng)度指標(biāo)是由用戶指定的,用戶可根據(jù)需要自己改動。以下以在香農(nóng)熵準(zhǔn)則下和在第三代移動通信對多址碼的要求下的兩個具體實施方案分別給出運行結(jié)果。
具體實施方案一以香農(nóng)熵為適應(yīng)度標(biāo)準(zhǔn)的運行結(jié)果。
(1)圖3所示為一次運行過程中,群體中性能最好的個體的輸出序列熵隨著遺傳代數(shù)的變化曲線??梢姡惴ǖ氖諗克俣仁呛芸斓?。
(2)下面是與圖3同一次運行中得到的128位隨機序列生成器(中序逆波蘭式)D1M-M+M+DM-2j2*Mj31Mj3j*13D-j13+DjM+M+*+jj1+M+-2jMj3j+j1+jM1+M*Mj311*2j+M+*33Mj3jDjM*13M-2jD+Dj3Dj33*Dj3M32j+M212此編碼器的輸出序列香農(nóng)熵達到27.9以上,在香農(nóng)意義下此編碼器是接近于最復(fù)雜的,而用Matlab軟件提供的隨機數(shù)發(fā)生器香農(nóng)熵只有22左右,而用移位寄存器產(chǎn)生的m序列的香農(nóng)熵小于20。
(3)圖4所示為與圖3同一次運行中利用遺傳編程實現(xiàn)的128位隨機序列編碼器的輸出序列自相關(guān)特性曲線。
具體實施方案二以第三代移動通信中對編碼的要求為適應(yīng)度標(biāo)準(zhǔn)的運行結(jié)果。
本發(fā)明的靈活性很大程度上在于,它能根據(jù)用戶的不同需要生成滿足不同標(biāo)準(zhǔn)的編碼器。比如我們需要輸出序列自相關(guān)旁瓣很小的編碼器,這種編碼器在通信技術(shù)中有廣泛應(yīng)用,主要由于移動通信中抗多徑時延的需要。
通信技術(shù)的目標(biāo)是實現(xiàn)個人通信,但無線頻率資源有限,如何在有限的頻帶中傳輸盡量多的信息,這個技術(shù)問題的解決很大程度上在于編碼的性能。在CDMA技術(shù)中,通過把不同的信號用相互正交的碼組擴頻,然后將這些信號在同一個頻段中發(fā)送。在沒有解碼時這些信號是混疊的,甚至淹沒在噪聲中。然后接收機用相關(guān)器可以在混疊的信號中選出使用特定碼型的信號。在CDMA系統(tǒng)中同一小區(qū)的許多用戶以及相鄰小區(qū)的許多用戶都工作在同一頻率上,因而在頻率的使用效率上來說它是一種最有效的多址方式,但CDMA中的多址干擾仍然對系統(tǒng)的容量起制約作用,因為隨著同時工作用戶的不斷增多,多址干擾電平必然越來越大,當(dāng)增加到一定程度時,接收信號的信噪比將變得無法忍受。
所以設(shè)計出生成一定長度的正交碼組,變得很重要。然而考慮到無線通信信道中存在著嚴(yán)重的多徑效應(yīng),所以我們需要自相關(guān)性能很好的正交碼組。這樣這種碼既可以抗多址干擾,又可以抗多徑時延,將極大改善通信的性能。
事實上正是由于一組碼之間的不完全正交,才有遠近干擾,如果碼的互相關(guān)為零,不同地址碼之間除了太靠近基站而阻塞基站接收,并不對其他用戶造成干擾,就不需要良好的功率控制,系統(tǒng)將簡化許多。
如果碼間的互相關(guān)性只有在對齊時為零,相差一位就不為零,這就限制了SCDMA的性能,因為無線信道中存在多徑傳播。
綜上,我們需要這樣一種性能的多址碼組(1)這類碼的自相關(guān)旁瓣壓得盡量小(2)碼組內(nèi)的任兩組碼,互相關(guān)很小。
(3)碼的密度盡量高。
這樣適應(yīng)度指標(biāo)可以確定為在一個碼組中找出自相關(guān)和互相關(guān)值中的最大值y,if y>a適應(yīng)度值=0(a是一個可調(diào)的值)else適應(yīng)度值=香農(nóng)熵-y(控制0的個數(shù))
以64位的碼組為例,給出一個正交碼組。00000000001000000000000001100000000000000000100100000000100000 (1)0000000001000000000000001100000000000000000001001000000001000000(2)0000000010000000000000011000000000000000000010010000000010000000(3)圖5所示為某個多址正交碼的自相關(guān)圖。此碼組內(nèi)碼與碼的互相關(guān)值控制在0,1之間。
當(dāng)然在實際應(yīng)用中我們需要的碼長度要長得多,達到千位乃至萬位以上。光通信中甚至需要十萬位的低密度碼。只要計算機足夠快,比如說并行機,本發(fā)明也能夠勝任。
權(quán)利要求
1.用遺傳編程的方法生成滿足特定要求的編碼器,其特征在于采用以下方式(1)用一系列操作符和操作數(shù)隨機組成N個算式,每一個算式其實就是一個編碼器,其中N稱為群體規(guī)模數(shù);(2)一個編碼器有一個評價指標(biāo),也就是適應(yīng)度值,算出群體中N個個體的適應(yīng)度值,其評價指標(biāo)由用戶指定,且有什么評價指標(biāo)就會生成什么編碼器;(3)以適應(yīng)度值為基礎(chǔ),按照遺傳概率與適應(yīng)度值成正比的準(zhǔn)則算出每一個算式遺傳到下一代的概率。然后對此群體進行遺傳變異操作演化出下一代群體。根據(jù)需要演化一定的代數(shù),將最終群體中適應(yīng)度最高的算式作為最終結(jié)果。
2.根據(jù)權(quán)利要求1所述的編碼器生成方法,其特征在于生成香農(nóng)意義下的最復(fù)雜序列編碼器,它采用的適應(yīng)度準(zhǔn)則為香農(nóng)準(zhǔn)則。
3.權(quán)力要求1所述的編碼器生成方法,其特征在于生成CDMA中的多址正交碼,它采用的適應(yīng)度準(zhǔn)則為在一個碼組中找出自相關(guān)和互相關(guān)值中的最大值y,if y>a,適應(yīng)度值=0(a是一個可調(diào)的值),else適應(yīng)度值=香農(nóng)熵-y(控制0的個數(shù))。
全文摘要
本發(fā)明公開了一種可生成指定性能序列編碼器的遺傳編程實現(xiàn)方法。用遺傳編程的方法生成滿足特定要求的編碼器,它采用以下方式(1)用一系列操作符和操作數(shù)隨機組成N個算式,每一個算式其實就是一個編碼器,其中N稱為群體規(guī)模數(shù);(2)一個編碼器有一個評價指標(biāo),也就是適應(yīng)度值,算出群體中N個個體的適應(yīng)度值,其評價指標(biāo)由用戶指定,且有什么評價指標(biāo)就會生成什么編碼器;(3)以適應(yīng)度值為基礎(chǔ),按照遺傳概率與適應(yīng)度值成正比的準(zhǔn)則算出每一個算式遺傳到下一代的概率。然后對此群體進行遺傳變異操作演化出下一代群體。根據(jù)需要演化一定的代數(shù),將最終群體中適應(yīng)度最高的算式作為最終結(jié)果。
文檔編號H03M13/00GK1391413SQ0213801
公開日2003年1月15日 申請日期2002年7月26日 優(yōu)先權(quán)日2002年7月26日
發(fā)明者李曦田 申請人:李曦田