差錯控制設計論文_第1頁
差錯控制設計論文_第2頁
差錯控制設計論文_第3頁
差錯控制設計論文_第4頁
差錯控制設計論文_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

而其監(jiān)督元個數(shù)和信息元個數(shù)之比定義為冗余度。因為,所以,。顯然,編碼的冗余度越大,編碼效率越低。也就是說,通信系統(tǒng)可靠性的提高是以降低有效性(即編碼效率)來換取的。差錯控制編碼的關鍵之一就是尋找一種好的編碼方法,即在一定的差錯控制能力的要求下,使得編碼效率盡可能的高,同時譯碼方法盡可能的簡單。2.2.2抗干擾能力與最小碼距的關系最小碼距與糾/檢錯能力間有著密切的關系,它們之間的關系為:圖2-3碼距與檢錯和糾錯能力間的關系(1)檢測個隨機錯誤,要求最小碼距為:(2.2)可用幾何圖形簡要證明(2.2)式。設一個碼組A位于O點。若碼組A中發(fā)生一個錯碼,則可認為A的位置將移動至以O點為圓心,以1為半徑的圓上某點,但其位置不會超出此圓。若碼組A中發(fā)生兩位錯碼,則其位置不會超出以O點為圓心,以2為半徑的圓。依此類推,若碼組A中發(fā)生位錯碼,則其位置不會超出以O點為圓心,以為半徑的圓。如圖2-3(a)所示,若要檢測位錯碼,則最小碼距至少應不小于,即。因為時,碼組集合中的其它碼字均在以A為圓心、以為半徑的圓外,所以就能和錯碼區(qū)別開。(2)在一個碼組內(nèi)要想糾正位誤碼,要求最小碼距為(2.3)此式可以用圖2-3(b)來說明。圖中碼組A和B間的距離為。碼組A或B若發(fā)生不多于位錯碼時,則其位置均不會超出以為半徑,以原位置為圓心的圓。只要這兩圓不相交,則就不會發(fā)生混淆,碼字落在那個圓內(nèi)就可判為對應碼字,所以它能夠糾正錯碼。此時,兩圓不相交的最小距離為,故最小碼距應大于等于,即。(3)在一個碼組內(nèi)要想糾正位誤碼,同時檢測出位誤碼(),要求最小碼距為(2.4)在這種情況下,若接收碼組與某一許用碼組間的距離在糾錯能力范圍內(nèi),則將按糾錯方式工作;若與任何許用碼組間的距離都超過,則按檢錯方式工作??捎脠D2-3(c)來說明。若設檢錯能力為,則當碼組A中存在個錯碼時,該碼組與任一許用碼組的距離至少應有,否則將進入許用碼組B的糾錯能力范圍內(nèi),而被糾為B。綜上所述,要提高編碼的糾、檢錯能力,不能僅靠簡單地增加監(jiān)督碼元位數(shù)(即冗余度),更重要的是要加大最小碼距(即碼組之間的差異程度),而最小碼距的大小與編碼的冗余度是有關的,最小碼距增大,碼元的冗余度就增大。但當碼元的冗余度增大時,最小碼距不一定增大。因此,一種編碼方式具有檢錯和糾錯能力的必要條件是信息編碼必須有冗余,而充分條件是碼元之間要有一定的碼距。另外,檢錯要求的冗余度比糾錯要低。信道編碼中兩個最主要的參數(shù)是最小碼距與編碼效率。一般說來,這兩個參數(shù)是相互矛盾的,編碼的檢、糾錯能力越強,最小碼距就越大,而編碼效率就越小。所以,糾錯編碼的任務就是構造出編碼效率一定時,最小碼距盡可能大的碼;或最小碼距一定時,而編碼效率盡可能大的碼。2.3差錯控制編碼的分類根據(jù)編碼方式和不同的衡量標準,差錯控制編碼有多種形式和類別。下面我們簡單地介紹幾種主要分類。(1)根據(jù)編碼功能可分為檢錯碼、糾錯碼和糾刪碼三種類型,只能完成檢錯功能的碼叫檢錯碼;具有糾錯能力的碼叫糾錯碼;而糾刪碼既可檢錯也可糾錯。(2)按照信息碼元和附加的監(jiān)督碼元之間的檢驗關系可以分為線性碼和非線性碼。若信息碼元與監(jiān)督碼元之間的關系為線性關系,即監(jiān)督碼元是信息碼元的線性組合,則稱為線性碼。反之,若兩者不存在線性關系,則稱為非線性碼。(3)按照信息碼元和監(jiān)督碼元之間的約束方式可分為分組碼和卷積碼。在分組碼中,編碼前先把信息序列分為位一組,然后用一定規(guī)則附加位監(jiān)督碼元,形成位的碼組。監(jiān)督碼元僅與本碼組的信息碼元有關,而與其它碼組的信息碼元無關。但在卷積碼中,碼組中的監(jiān)督碼元不但與本組信息碼元有關,而且與前面碼組的信息碼元也有約束關系,就像鏈條那樣一環(huán)扣—環(huán);所以卷積碼又稱連環(huán)碼或鏈碼。(4)系統(tǒng)碼與非系統(tǒng)碼。在線性分組碼中所有碼組的位信息碼元在編碼前后保持原來形式的碼叫系統(tǒng)碼,反之就是非系統(tǒng)碼。系統(tǒng)碼與非系統(tǒng)碼在性能上大致相同,而且系統(tǒng)碼的編、譯碼都相對比較簡單,因此得到廣泛應用。(5)糾正隨機錯誤碼和糾正突發(fā)錯誤碼。顧名思義,前者用于糾正因信道中出現(xiàn)的隨機獨立干擾引起的誤碼,后者主要對付信道中出現(xiàn)的突發(fā)錯誤。從上述分類中可以看到,一種編碼可以具有多樣性,本章主要介紹糾正隨機錯誤的二進制線性分組碼。線性分組碼在計算機通信中,信源輸出的是由“0”和“1”組成的二進制序列,在分組碼中,該二元信息序列被分成碼元個數(shù)固定的一組組信息,每組信息的碼元由k位二進制碼元組成,則共有2k個不同的組合,即不同的信息。信道編碼器就是要對這2k個不同的信息用2k個不同的碼組(或碼字)表示,2k個碼組的位數(shù)是一樣的。假設為n,且n>k,則這2k個碼組的集合就被稱作為分組碼。簡單地說,將信息碼進行分組,然后為每組信息碼附加若干位監(jiān)督碼元的編碼方法得到的碼集合稱為分組碼。為討論方便,我們把由k位二進制碼元構成2k個信息碼組用矩陣D表示,則由n位二進制碼元組成的分組碼中就必須有2k個不同的碼組才能代表2k個信息,把這2k個不同的碼組用矩陣C表示,則D和C必須一一對應。因為n>k,所以,在一個n位碼組中,有n-k個不代表信息的碼元,這些碼元被稱為監(jiān)督碼元或校驗碼元。顯然,如果上述分組碼每個碼組之間沒有關系的話(彼此獨立),則對于大的k值或n值(信息碼或分組碼的碼長很大),編碼設備會極為復雜,因為編碼設備必須儲存2k個碼長為n的碼組。因此,我們需要構造碼組之間有某種關系的分組碼,以降低編碼的復雜性,線性分組碼就是滿足這一條件的一種分組碼。3.1線性分組碼的基本概念所謂線性分組碼就是一種長度為n,其中2k個許用碼組(代表信息的碼組)中的任意兩個碼組的模2和仍為一個許用碼組的分組碼?;蛘哒f,可用線性方程組表述碼規(guī)律性的分組碼。這種長度為n,有2k個碼組的線性分組碼我們稱為線性(n,k)碼(或(n,k)線性碼)。分組碼中的每個碼組可用向量來表示,即,其中前位為信息位,后位為監(jiān)督位。其結構如圖2-2所示。所謂線性碼是碼字集中的元(碼字)之間的任意線性組合仍然是合法的碼字,即是線性組合運算封閉的碼字集。線性分組碼是一類奇偶校驗碼,它可以由(n,k)形式表示,編碼器將一個k比特信息分組(信息矢量)轉變?yōu)橐粋€更長的由給定元素符號集組成的n比特編碼分組,當這個符號集包含兩個元素(0和1),與二進制相對,稱為二進制編碼。分組碼是對每段k位長的信息組,以一定規(guī)則增加r=n-k個檢驗元,組成長為n的序列:,稱這個序列為碼字。在二進制情況下,信息組總共有個(q進制為個),因此通過編碼器后,相應的碼字也有個,稱這個碼字集合為(n,k)分組碼。n長序列的可能排列總共有種。稱被選取的個n重為許用碼組,其余個為禁用碼組。對于長度為n的二進制分組碼,可以表示成(n,k),通常用于前向糾錯。在分組碼中,監(jiān)督位加到信息位之后,形成新碼,在編碼中,k個信息位,被編為n位長度,(n-k)個監(jiān)督碼的作用是實現(xiàn)檢錯和糾錯。線性分組碼是一種群碼,對于模2加運算具有以下性質(zhì):(1)滿足封閉性:即任意兩個許用碼組之和仍為一許用碼組,這種性質(zhì)也成為自閉率;(2)有零元:所有信息元和監(jiān)督元均為零的碼組,稱為零碼,即。任一碼組與零碼相運算其值不變,即,(3)有負元:線性分組碼中的任一碼組即是它自身的負元,即。(4)滿足結合律:即。(5)滿足交換律:。(6)線性分組碼的最小碼距等于非零碼的最小碼重,即(3.1)在線性分組碼還具有以下特點:(1);(2);(3)碼字的重量或全部為偶數(shù),或奇數(shù)重量的碼字數(shù)等于偶數(shù)重量的碼字數(shù)。3.2線性分組碼編碼設計原理線性碼是一種分組碼,而線性分組碼的編碼過程可以分為以下兩個步驟:首先,把信息序列按照一定的長度分割成為若干信息碼組,每組由k位組成;然后,編碼器按照既定的由線性方程組規(guī)定的線性規(guī)則,將信息碼組變換成為n(n>k)重碼字,其中r=n-k個附加碼元是線性運算產(chǎn)生的。在編碼的過程中,首先將數(shù)據(jù)每k個比特分為一組,記作m,成為信息組。然后將長度為k的信息組進行映射運算,即編碼??梢缘玫揭粋€n比特構成的碼字,這樣的分組碼成為(n,k)碼。分組碼的一個重要特性就是它的碼元僅與當前編碼的信息序列相關,而與過去的信息序列無關,故此也可以說分組編碼器是無記憶的[7]。如果中的n個元素都可以用m中的k個元素的線性組合形成,我們將它稱為線性分組碼。線性分組碼的編碼過程可以描述成一個矢量和一個矩陣的成績的結果。即:(3.2)其中G是由k個n維矢量構成的矩陣,m是信息序列分組,c是編碼得到的n維編碼輸出。根據(jù)公式(3.2)得碼字c可以表示為。而矩陣G稱為編碼生成矩陣,形式為:(3.3)有了生成矩陣后,則可根據(jù)輸入的信息位和生成矩陣相乘得到編碼矩陣即:(3.4)其中C為編碼后結果,I為信息矩陣,G為生成矩陣。對于線性分組碼而言,信息元與監(jiān)督元之間的關系可以用一組線性方程來表示。設線性分組碼的碼字為,其中前位為信息位,后位為監(jiān)督位。下面以(7,3)碼為例來描述線性分組碼的編碼原理。在(7,3)線性分組碼中,碼長,信息元的個數(shù),則監(jiān)督元的個數(shù)。(7,3)碼的每一個碼組可寫成,其中為信息位,為監(jiān)督位。它們之間的監(jiān)督關系可用線性方程組描述為:(3.5)表3-1(7,3)線性分組碼因為信息元個數(shù),所以只有8種許用碼組??捎杀O(jiān)督方程(3.5)寫出許用碼組,如表3-1所示。1生成矩陣對(3.5)式進行改寫,各位碼元與信息位之間的關系為:(3.6)將式(3.6)用矩陣表示(3.7)或(3.8)記,,(3.9)則式(3.7)和(3.8)分別可簡記為(3.10)(3.11)其中,稱為生成矩陣,是一個階的矩陣。的行數(shù)是信息元的個數(shù),列數(shù)是碼長。為階的單位方陣,其行數(shù)是信息元的個數(shù);為階的矩陣,其行數(shù)是信息元的個數(shù),列數(shù)是元的個數(shù)。根據(jù)(3.11)式,由信息位和生成矩陣就可以產(chǎn)生全部碼組??蓪⑵淅碚撏茝V到任意線性分組碼。對于一個線性分組碼而言,生成矩陣是一個階的矩陣,也可分為兩部分,即(3.12)其中,(3.13)是一個階矩陣;為階單位方陣。把具有形式的生成矩陣稱為典型生成矩陣。非典型形式的生成矩陣經(jīng)過運算一定能化為典型矩陣。(n,k)線性分組碼完全由生成矩陣G的k行元素決定,即任意一個分組碼碼組都是G的線性組合。而(n,k)線性碼中的任何k個線性無關的碼組都可用來構成生成矩陣,所以,生成矩陣G的各行都線性無關。如果各行之間是線性相關的,就不可能由G生成2k個不同的碼組了。其實,G的各行本身就是一個碼組。如果已有k個線性無關的碼組,則可用其直接構成G矩陣,并由此生成其余碼組。綜上所述,由于可以用一個k×n階矩陣G生成2k個不同的碼組,因此,編碼器只需儲存G矩陣的k行元素(而不是一般分組碼的2k碼組),就可根據(jù)信息向量構造出相應的一個分組碼碼組(或根據(jù)信息碼矩陣構造出相應的一個分組碼矩陣),從而降低了編碼的復雜性,并提高了編碼效率。2監(jiān)督矩陣將方程(3.5)式移項,可得到四個相互獨立的監(jiān)督方程組:(3.14)將式(3.14)可用矩陣表示為(3.15)或(3.16)記,,為的轉置,(3.17)則式(3.15)可簡記為(3.18)或(3.19)其中,表示的轉置。被稱為監(jiān)督矩陣,或校驗矩陣。只要監(jiān)督矩陣給定,編碼時監(jiān)督位和信息位的關系就完全確定了。由(3.17)式可看出,的行數(shù)就是監(jiān)督關系式的數(shù)目,它等于監(jiān)督位(監(jiān)督元)的數(shù)目4,列數(shù)是碼長7。監(jiān)督矩陣的每行中“1”的位置表示相應碼元之間存在的監(jiān)督關系。例如,的第一行1111000表示監(jiān)督位是由信息位之和決定的。式(3.17)中的矩陣可以分成和兩部分。其中,是一個階矩陣;為4階單位方陣;3表示信息位(信息元)個數(shù),4表示監(jiān)督位(監(jiān)督元)個數(shù)。(3.19)式說明線性分組碼中任一碼組與校驗矩陣H的轉置相乘,其結果為位全零向量,因此,用校驗矩陣檢查二元序列是不是給定分組碼中的碼組非常方便,“校驗”之名由此而來??蓪⑵淅碚撏茝V到任意線性分組碼。對于一個線性分組碼而言,監(jiān)督矩陣是一個階的矩陣,也可分為兩部分,即(3.20)其中,(3.21)是一個階矩陣;為階單位方陣。把具有形式的監(jiān)督矩陣稱為典型監(jiān)督矩陣。根據(jù)典型監(jiān)督矩陣和信息碼元很容易算出各監(jiān)督碼元。非典型形式的監(jiān)督矩陣經(jīng)過運算一定能化為典型矩陣。由代數(shù)理論可知,監(jiān)督矩陣的各行應該是線性無關的,否則將得不到個線性無關的監(jiān)督關系式,也得不到個獨立的監(jiān)督位。若一矩陣能寫成典型陣形式,那么其各行一定是線性無關的。3監(jiān)督矩陣和生成矩陣間的關系由上面的推導可知,生成矩陣與監(jiān)督矩陣之間有一一對應關系。由于的每一行都是碼字,因此它必然滿足公式(3.18),即所以,(3.22)其中,為階零矩陣;為模2加。只有當時,式(3.22)才為零。因此,生成矩陣可以寫成(3.23)(3.24)由此可見,只要知道生成矩陣,就可以得到監(jiān)督矩陣,反之也亦然。所以線性分組碼由生成矩陣或監(jiān)督矩陣來完全確定。3.3線性分組碼譯碼設計原理監(jiān)督矩陣與(n,k)碼的任何一個許用碼字進行相乘的結果必等于0,即如果C=mG是任一(n,k)碼字,則必有C與H的轉置矩陣的乘機為0。若不屬于許用碼字,或有傳輸差錯,且差錯位數(shù)在(n,k)碼糾錯能力內(nèi),則運算的結果將為非0值,此時,可以糾錯或檢錯重發(fā)。當編碼矩陣與生成矩陣的轉置矩陣相乘時,若當其中的一位編碼出現(xiàn)了差錯,則會有七種情況,則根據(jù)這些情況列出錯碼矩陣如下:(3.25)而這些情況正好是和校驗子有某種對應關系的,根據(jù)這些對應關系可以進行相關編程。若編程檢測到了那一位錯誤可以根據(jù)下式:A=B+E(3.26)對接收到的信息進行改正求出正確的編碼,從而再提去更正后的接收序列的前四位來提取信息位,以至獲得信息矩陣I。其中A為糾錯輸出碼序列,E為錯碼矩陣,B為信道輸出碼。由前面的討論可以看出,若某一碼字為許用碼組,則必然滿足式(3.19)。利用這一關系,接收端就可以用接收到的碼組和事先與發(fā)端約定好的監(jiān)督矩陣相乘,看是否為零。若滿足條件,則認為接收正確;反之,則認為傳輸過程中發(fā)生了錯誤,進而設法確定錯誤的數(shù)目和位置。假設發(fā)送碼組為,接收碼組為。由于發(fā)送碼組在傳輸?shù)倪^程中會受到干擾,致使接收碼組與發(fā)送碼組不一定相同。因此,定義發(fā)送碼組和接收碼組之差為(3.27)是傳輸中產(chǎn)生的錯碼行矩陣,即(3.28)其中,(3.29)若,表示該位接收碼元無誤;若,則表示該位接收碼元有誤。是一個由“1”和“0”組成的行矩陣,它反映誤碼狀況,被稱為錯誤圖樣。例如,若發(fā)送碼組,接收碼組,顯然B中有一個錯誤。由(3.27)可得錯誤圖樣為。可見,的碼重就是誤碼的個數(shù),因此的碼重越小越好。另外,式(3.27)也可以改寫為(3.30)當接收端接收到碼組時,可用監(jiān)督矩陣進行校驗,即將接收碼組代入式(3.19)進行驗證。若接收碼組中無錯碼,即,則。即把代入式(3.19)后該式仍然成立,則有(3.31)當接收碼組有誤時,即,則。即把代入式(3.19)后該式不成立,則有。我們定義(3.32)將代入式(3.32)中,可得(3.33)其中,是一個維的行向量,被稱為校正子,或伴隨式。式(3.33)標明伴隨式S與錯誤圖樣E之間有確定的線性變換關系,而與發(fā)送碼組A無關。所以,可以采用伴隨式S來判斷傳輸中是否發(fā)生了錯誤。若伴隨式S與錯誤圖樣E之間一一對應,則伴隨式S將能代表錯碼發(fā)生的位置。例如,,,則,把(3.17)式的代入(3.32)式,可得。為了進一步分析碼組中不同碼元發(fā)生一位錯碼的情況,仍以表3-1中的(7,3)線性分組碼為例,來描述伴隨式與錯誤圖樣之間的對應關系。如表3-2所示。從表3-2可以看出:發(fā)生一位錯誤時,與監(jiān)督矩陣的列一一對應。如發(fā)生錯誤,則與監(jiān)督矩陣的最后一列相同;發(fā)生錯誤,則與監(jiān)督矩陣的倒數(shù)第二列相同,以此類推。故接收端可以根據(jù)這種關系糾正一位錯誤。對于線性分組碼,有中不同的形式,可代表種錯誤圖樣。為了指明單個錯誤的位置,必須要求:(3.34)注意:若傳輸過程中錯碼的位置不止一位時,可能與表3-2中所列的任意一種都不同,這時系統(tǒng)只能檢錯而不能糾錯,并根據(jù)不同系統(tǒng)的要求將該碼組丟棄或重發(fā)。此時,也有可能正好與發(fā)生一位錯誤時的某種伴隨式相同,這樣經(jīng)糾錯后反而“越糾越錯”。在傳輸過程中,發(fā)送碼組的某幾位發(fā)生錯誤后成為另一許用碼組,這種情況接收端無法檢測,稱這種為不可檢測的錯誤。不過從統(tǒng)計學的觀點來看,這種情況出現(xiàn)的概率要小得多,可忽略。從以上分析可以得到線性分組碼的譯碼過程為:(1)根據(jù)接收碼組計算其伴隨式;(2)根據(jù)伴隨式找出對應的錯誤圖樣,并確定誤碼位置;(3)根據(jù)錯誤圖樣和得到正確的碼組。3.4線性分組碼的差錯控制流程圖初始化產(chǎn)生碼元線性編碼初始化產(chǎn)生碼元線性編碼模擬信道差錯率運算器輸出結果運算結果存儲模塊線性解碼第4章循環(huán)碼循環(huán)碼是線性分組碼的一個重要分支。循環(huán)碼有許多特殊的代數(shù)性質(zhì),基于這些性質(zhì),循環(huán)碼有較強的糾錯能力(即它既能糾正獨立的隨機錯誤又能糾正突出錯誤),而且其編碼和譯碼電路很容易用移位寄存器實現(xiàn),因而在FEC系統(tǒng)中得到了廣泛的應用。4.1循環(huán)碼的基本概念循環(huán)碼是線性分組碼的一種,所以它具有線性分組碼的一般特性,除此之外還具有循環(huán)性。循環(huán)碼的編碼和解碼設備都不太復雜,且檢(糾)錯能力強。它不但可以檢測隨機的錯誤,還可以檢錯突發(fā)的錯誤。(n,k)循環(huán)碼可以檢測長為n-k或更短的任何突發(fā)錯誤,包括首尾相接突發(fā)錯誤。循環(huán)碼是屬于無權碼,循環(huán)碼的編排特點是在相鄰的兩個數(shù)碼之間符合卡諾圖中的鄰接條件,即相鄰兩個數(shù)碼之間只有一位碼元不同。由于數(shù)碼轉換的速度回有快有慢,中間會經(jīng)過一些其它的數(shù)碼形式,故稱此為瞬時錯誤。而循環(huán)碼的優(yōu)點就是沒有瞬時錯誤,循環(huán)碼是相鄰的兩個數(shù)碼之間僅有一位碼元不同的方式,這樣滿足臨接條件,故而循環(huán)碼不會產(chǎn)生瞬時錯誤[8]。循環(huán)碼的最大特點就是碼字的循環(huán)性:循環(huán)碼中的任一許用碼組在經(jīng)過循環(huán)移位之后,所得到的碼組依然是許用碼組。形象的說就是若為一循環(huán)碼組,則、、……還是許用碼組。也就是說,不論是左移還是右移,也不論移多少位,仍然是許用的循環(huán)碼組。設碼長為n的循環(huán)碼表示為:(4.1)其中為二進制數(shù),通常把碼組中各碼元當做二進制的系數(shù),即把上式(4.1)中長為n的各個分量看做多項式:(4.2)上式的各項系數(shù),則碼字與碼多項式一一對應,這種多項式中,x僅表示碼元位置的標記,因此我們并不關心x的取值,這種多項式稱為碼多項式。用生成多項式(4.2)式除,得到:(4.3)上式中是余式,其表示為:(4.4)而+是碼多項式,由此可得循環(huán)碼的系統(tǒng)形式的生成矩陣為:G=(4.5)若是循環(huán)碼中的一個許用碼組,對它左循環(huán)移位一次,得到也是一個許用碼組,移位i次得到還是許用碼組。不論右移或左移,移位位數(shù)多少,其結果均為循環(huán)碼組。(7,3)循環(huán)碼有兩個循環(huán)圈,如圖4-1(a)所示。其中,編號為1的全零碼組自成循環(huán)圈,其碼重為;另一個是剩余碼組組成的循環(huán)圈,其碼重為。(6,3)循環(huán)碼的循環(huán)圈有四個,如圖4-2(b)所示。(6,3)循環(huán)碼構成了碼重分別為0、2、4和6的循環(huán)圈。由圖3-4可得,同一循環(huán)圈上的碼字具有相同的碼重。圖4-1(a)(7,3)循環(huán)碼的循環(huán)圈圖4-1(b)(6,3)循環(huán)碼的循環(huán)圈為了便于用代數(shù)理論分析循環(huán)碼,可以將循環(huán)碼的碼字用代數(shù)多項式來表示,把這個表示碼字的代數(shù)多項式稱為碼多項式。把碼長的碼組可表示為(4.6)在碼多項式中,變量x稱為元素,其冪次對應元素的位置,它的系數(shù)即為元素的取值(我們不關心x本身的取值),系數(shù)之間的加法和乘法仍服從模2規(guī)則。4.1.1循環(huán)碼多項式的按模運算下面我們來介紹多項式的按模運算。如果一個多項式被另一個n次多項式除,得到一個商式和一個次數(shù)小于n的余式,即(4.7)可記作為:(4.8)則稱作為在模運算下,。4.1.2循環(huán)碼的生成多項式和生成矩陣我們在前面已經(jīng)講過,循環(huán)碼屬于線性分組碼,它除了具有循環(huán)特性外,還具有線性分組碼的特性。所以,如果能夠找到k個不相關的已知碼宇,就能構成線性分組碼的生成矩陣G。根據(jù)循環(huán)碼的循環(huán)特性,可由一個碼字的循環(huán)移位得到其他非0碼字。在(n,k)循環(huán)碼的個碼多項式中,取前位皆為0的碼多項式(次數(shù)為),再經(jīng)次左循環(huán)移位,共得到k個碼多項式:)。由于這k個碼多項式是相互獨立的,可作為碼生成矩陣的k行來構成此循環(huán)碼的生成矩陣,即(4.9)由式(4.9)可知,碼的生成矩陣一旦確定,那么碼也就確定了。這就說明,(n,k)循環(huán)碼可由它的一個次碼多項式來確定,稱為碼的生成多項式。在(n,k)循環(huán)碼中,碼的生成多項式有如下的性質(zhì):(1)是一個常數(shù)項不為0的次碼多項式。在循環(huán)碼中,除全“0”碼字外,再沒有連續(xù)k位均為“0”的碼字,即連“0”的長度最多只有位。否則,經(jīng)過若干次的循環(huán)移位后將得到k個信息碼元全為“0”、而監(jiān)督碼元不為“0”的碼字,這對線性碼來說是不可能的。因此是一個常數(shù)項不為0的次碼多項式。(2)是碼組集合中惟一的次多項式。如果存在另一個次碼多項式,假設為,根據(jù)線性碼的封閉性,那么也必為一個碼多項式。由于和的次數(shù)相同,它們的和式的次項系數(shù)為0,那么是一個次數(shù)低于次的碼多項式,即連“0”的個數(shù)多于。顯然這與前面的結論是矛盾的,所以是惟一的次碼多項式。(3)所有碼多項式都可被整除,而且任一次數(shù)不大于的多項式乘都是碼多項式。根據(jù)線性分組碼編碼器的輸入、輸出和生成矩陣的關系(3.11)式。可設為k個信息碼元,為該(n,k)循環(huán)碼的生成矩陣,則相應的碼多項式為:(4.10)式中,是次數(shù)不大于的個碼多項式;是個信息碼元的多項式。(4)(n,k)循環(huán)碼的生成多項式是的一個次因式。由于是一個次的多項式,所以為一個n次多項式。由于生成多項式本身就是一個碼字,由式(3.42)可知,在模運算下仍為一個碼字,所以,(4.11)由于次多項式本身就是一個許用碼組,故為一個n次多項式。由于等式左端的分子和分母都是n次多項式,所以,則(4.12)由式(4.9)可知,任意循環(huán)碼的多項式都是的倍式,即(4.13)(4.14)可見,(n,k)循環(huán)碼的生成多項式是的一個次因式。這一結論為我們尋找循環(huán)碼的生成多項式指出了方向。即,循環(huán)碼的生成多項式應該是的一個次因式。所以,可以構成的所有長度為的(7,k)循環(huán)碼如表4-1所示。依據(jù)這表4-1,可選擇適當?shù)囊蚴絹硇纬缮啥囗検?,這樣就可以構成我們所需要的循環(huán)碼。表4-1長度的幾種循環(huán)碼的生成多項式一般地,這樣得到的生成矩陣不是典型矩陣,可以通過初等行變換將它化為典型矩陣。4.2循環(huán)碼編碼設計原理在編碼時,首先要根據(jù)給定的(n,k)值選定生成多項式,即從的因子中選出一個次多項式作為。然后利用所有碼多項式均能被整除這一特點來進行編碼。設為信息碼多項式,其次數(shù)小于k。用乘以,得到的的次數(shù)必定小于n。再用除得到余式。的次數(shù)小于的次數(shù),即小于。將此余式加于信息位之后作為監(jiān)督位,即將與相加,得到的多項式必定是一碼多項式。因為碼多項式能被整除,且商的次數(shù)不大于。根據(jù)上述原理,編碼步驟可歸納如下:(1)根據(jù)給定的(n,k)值和對糾錯能力的要求,選定生成多項式,即從的因式中選定一個次多項式作為。(2)用信息碼元的多項式表示信息碼元。例如信息碼元為110,它相當于。(3)用乘以,得到。這一運算實際上是在信息位的后面附加了個“0”。例如,信息碼多項式為時,,它相當于1100000。(4)用除得到商式和余式。即(4.15)例如,選定,則(4.16)則上式相當于(4.17)(5)編出的碼字為(4.18)在上例中的碼字為,它就是表4-1中第7碼組。上述幾個編碼步驟可以用除法電路來實現(xiàn)。除法電路由個移位寄存器、多個模2加法器和一個雙刀雙擲開關K構成。假設生成多項式為:(4.19)如果,說明對應的移位寄存器的輸出端有一個模2加法器(即有連線);如果,說明對應的移位寄存器的輸出端沒有一個模2加法器。4.3循環(huán)碼譯碼設計原理根據(jù)接收端譯碼目的的不同(檢錯還是糾錯),循環(huán)碼的譯碼原理與實現(xiàn)方法有所不同。糾錯碼的譯碼是該碼能否得到實際應用的關鍵問題,因為譯碼器通常要比編碼器復雜得多。因此,對糾錯碼的研究大都集中在譯碼的算法上。在循環(huán)碼中,由于任一發(fā)送碼組多項式都能被生成多項式整除,因此可以利用接收碼組能否被所整除來判斷接收碼組是否出差錯。當傳輸中未發(fā)生錯誤時,接收碼組與發(fā)送碼組相同,即,接收碼組必定能被整除;若碼組在傳輸中發(fā)生錯誤,則,被除時可能除不盡??梢?,循環(huán)碼譯碼器的核心仍是一個除法電路和緩沖移位寄存器,另外,需要指出的是,當接收碼組中有錯碼時,也有可能被所整除,但這時的錯碼就不能被檢出了,這種錯誤被稱為不可檢錯誤。不可檢錯誤中的錯碼數(shù)必定超過了這種編碼的檢錯能力[15]。在接收端為糾錯而采用的譯碼方法比檢錯時復雜。為了能夠糾錯,要求每個可糾正的錯誤圖樣必須與一個特定余式有一一對應關系。只有這樣,才可能從余式中唯一地決定錯誤圖樣,從而糾正錯碼。因此,糾錯可按下述步驟進行:(1)用生成多項式除接收碼組,得出余式;(2)按余式用查表法,或由接收到的碼多項式計算伴隨式;(3)由校正子確定其錯誤圖樣,這樣就可確定錯碼的位置。(4)利用可得到糾正錯誤后的原發(fā)送碼組。上述(1)、(2)步運算較為簡單,與檢錯碼時的運算相同。第(4)步也較為簡單。因而,糾錯譯碼器的復雜性主要取決于第(3)步。由(4.25)式可知,用接收碼多項式除以生成多項式得到的余式,就是循環(huán)碼的伴隨式,這就可以簡化伴隨式的計算。同時,由于循環(huán)碼的伴隨式)與循環(huán)碼—樣,也具有循環(huán)移位特性(即某碼組循環(huán)移位i次的伴隨式,等于原碼組伴隨式在除法電路中循環(huán)移位i次所得到的結果)。因此,對于只糾正—位錯誤碼元的譯碼器而言,可以針對接收碼組中單個錯誤出現(xiàn)在首位的錯誤圖樣及其相應的伴隨式來設計組合邏輯電路。然后利用除法電路中移位寄存器的循環(huán)移位去糾正任何位置上的單個錯誤。4.4循環(huán)碼的差錯控制流程圖(n,k)循環(huán)碼編碼流程圖如圖4-2所示。初始化初始化確定余式確定余式r(x):確定確定A(x):儲存A(x)儲存A(x)圖4-2循環(huán)碼編碼流程圖編碼為(n,k)循環(huán)碼的譯碼流程圖如圖4-3所示。初始化初始化由由R(x)確定S(x)的余式。S(x)=QUOTESS(x)=0,無誤碼誤碼否由S由S(x)確定錯誤圖樣E(x)糾錯糾錯C(x)=E(x)+R(x)存儲C(x)存儲C(x)第5章基于Matlab差錯控制技術仿真及結果分析5.1線性分組碼差錯控制仿真在實現(xiàn)線性分組碼差錯控制編碼技術仿真時,其可以分為以下幾個大步驟:a.產(chǎn)生二進制碼元;b.進行線性分組編碼;c.經(jīng)過模擬信道;d.進行譯碼;e.進行對原碼與經(jīng)過模擬信道的碼進行差錯率運算;f.得到線性碼的信號誤碼率與信道差錯率之間的曲線圖,仿真完成并對得到了結果進行分析。5.1.1(7,3)線性分組碼的差錯控制仿真(1)當輸入n=7,k=3時可得到如下圖5-1所示,當信噪比=9時,且生成矩陣時信息序列從(000)到(111)在Matlab界面運行,輸入信號與輸出信號的關系如圖5-1,第二行可以看出在信息序列經(jīng)過信道后會產(chǎn)生錯誤,但是經(jīng)過糾錯后,輸出的序列得到了糾正,從而輸出了正確的序列。圖5-1(7,3)線性分組碼對于碼組長度為7、信息碼元為3位、監(jiān)督碼元為4=7-3位的分組碼,滿足≥7,則構造出糾正錯誤的線性碼,有上圖可知當輸入的信息序列為010時,編碼后的序列為0100111,譯碼后的序列為010。當輸入的信息序列為100時,編碼后的序列為1001110,譯碼后的序列為100。(2)當信噪比=9時,且生成矩陣時信息序列從(000)到(111)在Matlab界面運行,輸入信號與輸出信號的關系如圖5-2,第二行可以看出在信息序列經(jīng)過信道后會產(chǎn)生錯誤,但,輸出的序列不能得到糾正,從而輸出了錯誤的序列。圖5-2(7,3)線性分組碼由下圖5-3得到信噪比與經(jīng)過差錯控制后仿真系統(tǒng)的誤碼率坐標曲線圖。通過對普通線性碼信道差錯控制編碼條件下的誤碼率與信噪比之間的關系比較可以看出,信噪比越大,系統(tǒng)的碼誤碼率得到了明顯的改善,其誤碼率明顯下降圖5-3(7,3)信噪比與誤碼率曲線圖由上圖我們可以看出,當SNR=0時,BER=0.310;當SNR=2時,BER=0.130;當SNR=4時,BER=0.092;當SNR=6時,BER=0.064;當SNR=8時,BER=0.009;當SNR=10時,BER=0.003。我們得出以下結論:信噪比越大誤碼率越小。5.1.2(7,4)線性分組碼的差錯控制仿真(1)當n=7,k=4時可得到如下圖5-4所示,且信噪比=9時,且生成矩陣時信息序列從(000)到(111)在Matlab界面運行,輸入信號與輸出信號的關系如圖5-4,第二行可以看出在信息序列經(jīng)過信道后會產(chǎn)生錯誤,但是經(jīng)過糾錯后,輸出的序列得到了糾正,從而輸出了正確的序列。圖5-4(7,4)線性分組碼對于碼組長度為7、信息碼元為4位、監(jiān)督碼元為3=7-4位的分組碼,滿足≥7,則構造出糾正錯誤的線性碼,有上圖可知當輸入的信息序列為1001時,編碼后的序列為1001110,譯碼后的序列為1001。當輸入的信息序列為0011時,編碼后的序列為0011101,譯碼后的序列為0011。(2)當n=7,k=4時可得到如下圖5-5所示,且信噪比=9時,且生成矩陣時信息序列從(000)到(111)在Matlab界面運行,輸入信號與輸出信號的關系如圖5-5,第二行可以看出在信息序列經(jīng)過信道后會產(chǎn)生誤碼,但,輸出的序列不能得到糾正,從而輸出了的序列與輸入的序列不一致。圖5-5(7,4)線性分組碼由下圖5-6可知,隨著(7,4)線性分組碼信噪比的增加,誤碼率會隨之變小,說明誤碼率與信噪比成反比。圖5-6(7,4)信噪比與誤碼率曲線圖由上圖我們可以看出,當SNR=1時,BER=0.180;當SNR=3時,BER=0.100;當SNR=5時,BER=0.074;當SNR=7時,BER=0.463;當SNR=9時,BER=0.006。我們得出以下結論:信噪比越大誤碼率越小。5.1.3(6,3)線性分組碼的差錯控制仿真(1)當n=6,k=3時可得到如下圖5-4所示,且信噪比=9時,且生成矩陣時信息序列從(000)到(111)在Matlab界面運行,輸入信號與輸出信號的關系如圖5-7,第二行可以看出在信息序列經(jīng)過信道后會產(chǎn)生錯誤,但是經(jīng)過糾錯后,輸出的序列得到了糾正,從而輸出了正確的序列。圖5-7(6,3)線性分組碼由下圖5-7可以看出,對于碼組長度為6、信息碼元為4位、監(jiān)督碼元為3=6-3位的分組碼,滿足≥6,則構造出糾正錯誤的線性碼,有上圖可知當輸入的信息序列為010時,編碼后的序列為010011,譯碼后的序列為010。當輸入的信息序列為011時,編碼后的序列為011101,譯碼后的序列為011。當n=6,k=3時可得到如下圖5-4所示,且信噪比=9時,且生成矩陣時信息序列從(000)到(111)在Matlab界面運行,輸入信號與輸出信號的關系如圖5-7,r≥3能糾正一位誤碼,檢測到兩位誤碼。運用MATLAB語言進行編程,可以較明顯的知道編碼的過程和譯碼時出現(xiàn)的錯誤,碼字的最小距離是3時,可以糾正一位錯誤,當輸入特定的兩位錯誤時,該碼字還可以糾正這兩位錯誤。圖5-8(6,3)線性分組碼由下圖5-9得到信噪比與經(jīng)過差錯控制后仿真系統(tǒng)的誤碼率坐標曲線圖。通過對普通線性碼信道差錯控制編碼條件下的誤碼率與信噪比之間的關系比較可以看出,信噪比越大,系統(tǒng)的碼誤碼率得到了明顯的改善,其誤碼率明顯下降。圖5-9(6,3)信噪比與誤碼率曲線圖由上圖我們可以看出,當SNR=0時,BER=0.280;當SNR=2時,BER=0.130;當SNR=4時,BER=0.092;當SNR=6時,BER=0.075;當SNR=8時,BER=0.007;當SNR=10時,BER=0.003。我們得出以下結論:信噪比越大誤碼率越小。5.2循環(huán)碼差錯控制仿真在完成了線性分組碼差錯控制編碼仿真后,接下來便要來做循環(huán)碼差錯控制編碼仿真,同樣的在實現(xiàn)循環(huán)碼差錯控制編碼技術仿真上可以分為以下幾個大步驟:a.產(chǎn)生二進制碼元;b.對其進行循環(huán)碼編碼;c.經(jīng)過模擬信道;d.進行譯碼;e.輸出譯碼結果,仿真完成。5.2.1(7,3)循環(huán)碼的差錯控制仿真當n=7,k=3時,信息序列從(000)到(111)在Matlab界面運行,由圖可以看出當循環(huán)碼輸入信息序列為110,經(jīng)過編碼后的序列為1101101,在經(jīng)過信道的傳輸和譯碼得到的信息序列仍為110。圖5-10(7,3)循環(huán)碼從而得出用編出的碼字譯碼,沒有錯誤,正確譯出原碼。驗證了譯碼程序的正確性。5.2.2(7,4)循環(huán)碼的差錯控制仿真由圖5-11所示,當n=7,k=4時,信息序列從(000)到(111)在Matlab界面運行,由圖可以看出當循環(huán)碼當輸入信息序列為1101,經(jīng)過編碼后的序列為1101001,在經(jīng)過信道的傳輸和譯碼得到的信息序列仍為1001。第二位發(fā)生錯誤。圖5-11(7,4)循環(huán)碼從而得出用編出的碼字譯碼時,發(fā)生了錯誤,當最小碼距小于2t+1時,系統(tǒng)不能糾正錯誤,沒有正確譯出原碼。5.2.3(6,3)循環(huán)碼的差錯控制仿真當n=6,k=3時,息序列從(000)到(111)在Matlab界面運行,由圖可以看出當循環(huán)碼輸入信息序列為10110,經(jīng)過編碼后的序列為10110101,在經(jīng)過信道的傳輸和譯碼得到的信息序列仍為10110。圖5-12(6,3)循環(huán)碼從而得出我們用編出的碼字譯碼,沒有錯誤,正確譯出原碼。譯碼器輸出的信息序列與原序列一致??偨Y在線性分組碼差錯控制編碼技術仿真結果中可以明顯的觀察到采用了信道編碼即差錯控制后,系統(tǒng)的誤碼率明顯下降,信號傳輸?shù)臏蚀_率明顯有所提升。同樣的在循環(huán)碼差錯控制編碼技術仿真結果中也可以明顯的觀察到采用了信道編碼即差錯控制后,系統(tǒng)的誤碼率明顯的下降,信號傳輸?shù)臏蚀_率提高。再將兩種信道編碼方式所得到的系統(tǒng)仿真圖進行比較,可以得到對于不同的信息傳輸環(huán)境循環(huán)碼差錯控制編碼與線性分組碼差錯控制編碼的差錯可控效率是不相同的。由此可見,不同的差錯控制編碼方式會產(chǎn)生不同的差錯可控效果,即選擇一種有效的編碼方式對于提高數(shù)通信系統(tǒng)的傳輸可靠性至關重要。在做本設計的過程中,我深深地感受到了自己所學到知識的有限,明白了只學好課本上的知識是不夠的,要通過圖書館和互聯(lián)網(wǎng)等各種渠道來擴充自己的知識。在此過程中我們曾經(jīng)遇到過問題。但是我們沒有沮喪。在老師的幫助下,進一步培養(yǎng)了我們一絲不茍的科學態(tài)度和不厭其煩的耐心。在此過程中我們互相討論互相合作,使得我們的實驗得以順利完成,體會到了合作的力量,感受到了1+1>2。所有的這些心得會對我以后的學習和工作有幫助作用。參考文獻[1]官宗琪.移動通信中的差錯控制技術[J].硅谷,2008,(12):14-17.[2]Tommyoberg.調(diào)制檢測與編碼[M].何英姿,尚勇,陳江譯.北京:電子工業(yè)出版社,2002.78-225.[3]RodgerE.Zimer,WilliamH.Tranter.PrinciplesofCommunications-System,ModulationandNoise(FifthEdition)[M].北京:高等教育出版社,2001.130-155.[4]樊昌信,徐炳祥.通信原理[M].北京:國防工業(yè)出版社,1990.77-92.[5]樂光新.數(shù)據(jù)通信原理[M].北京:人民郵電出版社,1988.151-183.[6]BerrouGlavieux.NearShannonlimiterror-correctingcodinganddecoding[C].NewYork:FirstPress,1993.10.[7]江曉林,楊明極.通信原理[M].哈爾濱:哈爾濱工業(yè)大學出版社,2010.45-131.[8]郭文彬.通信原理-基于Matlab的計算機仿真[M].北京:北京郵電大學出版社,2006.23-133.[9]徐明遠,邵玉斌.Matlab仿真在通信與電子工程中的應用[M].西安:西安電子科技大學出版社,2005.147-163.[10]鄧華.Matlab通信仿真及應用實例詳解[M].北京:人民郵電出版社,2005.55-72.[11]張照明,劉政波,劉斌等.應用Matlab實現(xiàn)信號分析處理[C].北京:科學出版社,2006.[12]MKSimon,C.Wang.DifferentialdetectionofGaussianMSKmobileradioenvironment[J]IEEETrans.Veh.Techno,1984,307-320.[13]鄭君里,應啟絎,楊為理.信號與系統(tǒng)[M].北京:高等教育出版社,2000.155-178.[14]徐守時.信號與系統(tǒng)理論方法和應用[M].合肥:中國科學技術大學出版,1999.42-76.[15]高俊斌.Matlab語言與程序設計[M].武漢:華中理工大學出版社,1998.66-82.附錄1源程序代碼程序1:(n.k)線性分組碼程序%%%產(chǎn)生信源信號m=[];x=reshape(m,length(m)/k,k)A=reshape(x',1,10000);figure(1)subplot(511)stairs(A);title('輸入的信息序列');axis([190-12]);%%%分組編碼G=[1001110;0100111;0011101;];%設置編碼矩陣X=mod(x*G,2)%進行編碼,生成編碼后的碼組X=X';n=length(m)/k*n;X=reshape(X,1,n);figure(1)subplot(512)stairs(X);title('進入譯碼器的序列');axis([1150-12]);X=bi2de((reshape(X,2,n/2))','left-msb')%二進制數(shù)組轉十進制%%%產(chǎn)生QPSK信號h=modem.pskmod(4);%產(chǎn)生調(diào)制句柄,相位偏移默認為0y=modulate(h,X);%對信號進行調(diào)制P=[];%%%%加入高斯白噪聲SNR=9z=awgn(y,SNR);g=modem.pskdemod(4);%%%QPSK解調(diào)z=demodulate(g,z);z=de2bi(z,2,'left-msb');z=z';z=reshape(z,1,n);z=reshape(z,n,n/n);z=z';%%%解碼X1=decode(z,n,k,'linear',G)X2=reshape(X1',1,84);figure(1)subplot(513)stairs(X2);title('譯碼器輸出譯碼結果');axis([190-12]);計算誤碼率forSNR=0:10z=awgn(y,SNR);g=modem.pskdemod(4);z=demodulate(g,z);z=de2bi(z,2,'left-msb');z=z';z=reshape(z,1,n);z=reshape(z,n,n/n);z=z';X=decode(z,n,k,'linear',G);[N,p]=biterr(x,X);P=[Pp];end%%%繪制誤碼率圖形SNR=0:10;semilogy(SNR,P,'linewidth',2);title('基于(n,k)線性分組碼編碼的信號誤碼率')xlabel('信噪比SNR');ylabel('誤碼率BER');axis([01010^-31]);gridon;程序2:(n,k)循環(huán)碼程序u=[1001];%信息序列,左邊低位,右邊高位e=[00010001];%干擾信號,左邊低位,右邊高位%編碼L=length(u);%信息序列序列長度a2=ceil(L/k);%利用上取整求信息序列分組個數(shù)a4=a2*k-L;%高位補零的個數(shù)u1=[u,zeros(1,a4)];%對序列的高位進行補零,使得序列長度為k的整數(shù)倍fori=1:a2%將輸入序列按每組k位進行分組forj=1:ku2(i,j)=u1((i-1)*k+j);endendx=[zeros(1,(n-k)),1];%x^(n-k)g=cyclpoly(n,k);%生成多項式fori=1:a2%將分好組的每個序列進行編碼a=gfconv(u2(i,:),x);%x^(n-k)*u[q,m1]=gfdeconv(a,g);%m1=x^(n-k)*umodga1=n-k-length(m1);%補零長度m=[m1,zeros(1,a1)];%補零使得m1長度為n-kc1(i,:)=[m,u2(i,:)];%構造編碼序列endc2=c1';c=reshape(c2,a2*n,1);%矩陣轉為列向量c=c';%譯碼:L1=length(e);es=[e,zeros(1,(n*a2-L1))];%對輸入的干擾進行高位補零,達到編碼輸出長度fori=1:a2%將干擾按長度n進行分組forj=1:nes1(i,j)=es((i-1)*n+j);endendfori=1:a2y(i,:)=gfadd(c1(i,:),es1(i,:));%譯碼器的輸入endy1=y';y1=reshape(y1,n*a2,1);y1=y1';a6=[zeros(1,n-1),1];%構造x^(n-1)[q1,a5]=gfdeconv(a6,g);%a5=x^(n-1)modg%求錯誤圖樣過程:比較a5=x^(n-1)modg是否與x^(i-1)*ymodg相等%當相等時,可以得到第n-i+1位發(fā)生錯誤,從而得到錯誤圖樣forj=1:a2fori=1:na7=[zeros(1,i-1),1];%x^(i-1)a8=gfconv(y(j,:),a7);%x^(i-1)*y[q2,s]=gfdeconv(a8,g);%s=x^(i-1)*ymodgq3=gfsub(a5,s);ifq3==0breakendende1(j,:)=[zeros(1,n-i),1,zeros(1,i-1)];%錯誤圖樣ende2=e1';e2=reshape(e2,n*a2,1);e2=e2';cs=gfadd(e1,y);%y+e1=cs得到譯碼結果cs=cs';cs=reshape(cs,a2*n,1);%將譯碼結果用行向量表示cs=cs';%輸出:figure()subplot(511)stairs(c);axis([08-12]);title('輸入編碼序列');subplot(512)stairs(y1);axis([08-12]);title('譯碼器的輸入');subplot(513)stairs(e2);axis([08-12]);title('錯誤圖樣');subplot(514)stairs(cs);axis([08-12]);title('譯碼器輸出譯碼結果');附錄2文獻翻譯英文:CombinedPowerControlandError-ControlCodinginMulticarrierDS-CDMASystemsJikDongKim,SangWuKim,SeniorMember,IEEE,andYoungGilKim,Member,IEEEAbstract—Weproposetruncatingthetransmissionpowerforsymbolswithlowchannelgain,andtaggingerasuresonthecorrespondingsymbolsatthereceiver.Themotivationisthatsymbolswithlowchannelgainarehighlylikelytobeinerrorandyet,iftransmitted,consumetheenergyresourceandgenerateinterferencetootherusers.Truncatingthepowerforthosesymbolshastheeffectofreducingtheinterferencetootherusersandallocatingmorepoweronsymbolswithhighchannelgain(therebyreducingtheerrorprobability).Sinceblockcodescancorrecttwiceasmanyerasuresaserrors,thecodedperformancecanbeimprovedbyproperlycombiningthepowercontrolwiththeerror-controlcoding.Inthisletter,weanalyzetheperformanceoftheReed–Solomon-codedmulticarrierdirect-sequencecode-divisionmultiple-accesssystemswithtwopower-controlschemes.Weshowthattheprobabilityofincorrectdecodingcanbesignificantlyimprovedbyproperlycombiningthepowercontrolwiththeerrorcontrolcoding.IndexTerms—direct-sequencecode-divisionmultiple-access(DS-CDMA),error-controlcoding,multicarrier,powercontrol.I.INTRODUCTIONTRADITIONALLY,thepowercontrolandtheerror-controlcodinghavebeenusedindividuallyinmitigatingchannelimpairments.Thepowercontrolmaintainsaconstantsignal-to-noiseratio(SNR)/signal-to-interferenceratio(SIR)forallsymbols,andtheerror-controlcodingcorrectstheerror.However,whentheerror-controlcodingisemployed,thereceivedSNR/SIRneednotbeequallymaintainedforallsymbols,becauseacertainnumberofsymbolerrorsthatarewithinthecorrectioncapabilityofacodecanbecorrectedregardlessofthereceivedSNR/SIRforthosesymbols.Thismotivatesustoconsiderredistributingthepowerresourceamongthecodesymbolsinsuchawayastominimizetheprobabilityofincorrectdecoding.Inthisletter,weproposeacombinedpowercontrolanderror-controlcodinginmulticarrierdirect-sequencecode-divisionmultiple-access(DS-CDMA)systems.Thetransmissionpoweriscontrolledinsuchawaythatchannelfadingineachsubchanneliscompensatedforonlywhenthechannelgainsinallsubchannelsareaboveaprescribedcutofffadedepth;otherwise,nopowerisallocatedforthecorrespondingsymbols(i.e.,powertruncation),anderasuresaregeneratedatthereceiver.Themotivationforthiscombinedtechniqueisthatthesymbolswithlowchannelgainarehighlylikelytobeinerrorandyet,iftransmitted,consumetheenergyresourceandgenerateinterferencetootherusers.Truncatingthepowerforthosesymbolshastheeffectofreducingtheinterferencetootherusersandallocatingmorepoweronsymbolswithhighchannelgain(therebyreducingtheerrorprobability).Sinceblockcodescancorrecttwiceasmanyerasuresaserrors[1],thecodedperformancecanbeimprovedbyproperlycombiningthepowercontrolwiththeerror-controlcoding.Thenumberoferrorsanderasuresinacodeworddependsonthecutofffadedepth.Thepowertruncationwillresultinareductionofthemultiuserinterference,therebyreducingthesymbolerrorprobability.However,thesymbolerasureprobability(duetothepowertruncation)willbeincreasedasisincreased.Ifissettoohigh,thereceivermayerasetoomanysymbolsthatareindeedcorrect.Thus,weexpectthatthereexistsanoptimumthresholdthatminimizestheprobabilityofincorrectdecoding.Wewillinvestigatetheoptimumintermsofthenumberofusersand.Wewillshowthattheprobabilityofincorrectdecodingcanbesignificantlyreducedbyapropercombinationofpowercontrolanderror-controlcoding.Severaltechniquesforgeneratingerasureshavebeenproposedinthepast.In[2]and[3],theconstellationisdividedintotwodecisionregions,“good”and“bad.”Ifthedemodulatoroutputfallsintothebadregion,wherethecorrespondingsymbolishighlylikelytobeunreliable,anerasureisgeneratedforthatoutput.Otherwise,thereceiverperformstheconventionalharddecisionbasedonthedemodulatoroutput.In[4]–[6],erasuresaregeneratedforsymbolswhosechannelgainsarebelowagiventhreshold.Thesetechniquesdonotemploythepowercontrolingeneratingtheerasure.Inthisletter,wewillcomparetheperformanceofthosetechniqueswiththeproposedcombinedpowercontrolanderror-controlcodingtechnique.MulticarrierDS-CDMAcanprovideresiliencetofrequency-selectivefadingchannelsbytransmittinghigh-bit-ratedataintomultiplelow-ratedatastreams.Thishastheadvantageofenablingthereceiveddatastreamstoappearasflat-fadeddatastreamsoneachsubcarrier.Recently,themulticarriertechniqueshavebeenconsideredinvariousindoorandmobilecommunicationsystems[7],[8].Also,themulticarriersystemcansuppressthenarrowbandinterferenceandrequiresalowerchiprate,sincethechipdurationofthemulticarriersystemisMtimesthatofthesingle-carriersystem[8].Inotherwords,themulticarriersystemrequiresalowerspeedandaparalleltypeofsignalprocessing,incontrasttoafast,serialtypeofsignalprocessinginthesingle-carrierRAKEreceiver.(a)(b)Therestofthispaperisorganizedasfollows.SectionIIdescribesthesystemmodel.ThesystemperformanceisanalyzedinSectionIII.NumericalresultsanddiscussionsarepresentedinSectionIV.ConclusionsaregiveninSectionV.II.SYSTEMMODELWeconsideramulticarrierDS-CDMAsystemwithKactivetransmitterscommunicatingwithacommonreceiver(basestation).TheblockdiagramsofthetransmitterandreceiverareshowninFig.1.Eachpacketofdataisencodedbyan(n,k)extendedReed–Solomon(RS)codeoverGF(Q),wherenisequaltoQandisapoweroftwo.Inordertorandomizeerrorbursts,anidealinterleaver/deinterleaverisassumed.Acodesymbol(Q-ary)isconvertedintoM(=)parallelbits,andeachbitisspreadbyarandomsequence.ThesubstreamsaremodulatedonMsubcarrierswithacarrierspacingthatprovidesnonoverlappingsubbands.Thesubchannelsareassumedtoexperienceanindependentflatfading.Thisassumptioncanbejustifiedbychoosingthenumberofsubcarriersandthebandwidthofeachsubband,suchthatthecarrierspacingbetweenadjacentsubcarriers,,isgreaterthanthecoherencebandwidth,,andthedelayspreadislessthanthechipdurationofeachsubchannel.Forarigorousjustification,thereaderisreferredto[8].Letbethechannel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論