




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程名稱: 信息論與編碼 課程設計題目: 循環碼的編碼和譯碼程序設計 指導教師: 系 別: 專 業: 學 號: 姓 名: 合 作 者 完成時間: 成績: 評閱人: 一、實驗目的:1、通過實驗了解循環碼的工作原理。2、深刻理解RS 碼構造、RS 編譯碼等相關概念和算法。二、實驗原理1、RS循環碼編譯碼原理與特點設C使某線性分組碼的碼字集合,如果對任,它的循環移位也屬于C,則稱該碼為循環碼。該碼在結構上有另外的限制,即一個碼字任意循環移位的結果仍是一個有效碼字。其特點是:(1)可以用反饋移位寄存器很容易實現編碼和伴隨式的計算;(2)由于循環碼有很多固有的代數結構,從而可以找到各種簡單使用的譯碼辦法
2、。如果一個線性碼具有以下的屬性,則稱為循環碼:如果n元組是子空間S的一個碼字,則經過循環移位得到的也同樣是S中的一個碼字;或者,一般來說,經過j次循環移位后得到的也是S中的一個碼字。RS碼的編碼系統是建立在比特組基礎上的,即字節,而不是單個的0和1,因此它是非二進制BCH碼,這使得它處理突發錯誤的能力特別強。碼長:信息段: (t為糾錯符號數)監督段:最小碼段:最小距離為d的本原RS碼的生成多項式為:g(x)=(x-)(x-2)(x-3)(x-d-2)信息元多項式為:m(x)=m0+m1x+m2x2+mk-1xk-1循環碼特點有:1)循環碼是線性分組碼的一種,所以它具有線性分組的碼的一般特性,且
3、具有循環性,糾錯能力強。2)循環碼是一種無權碼,循環碼編排的特點為相鄰的兩個數碼之間符合卡諾中的鄰接條件,即相鄰數碼間只有一位碼元不同,因此它具有一個很好的優點是它滿足鄰接條件,沒有瞬時錯誤(在數碼變換過程中,在速度上會有快有慢,中間經過其他一些數碼形式,即為瞬時錯誤)。3)碼字的循環特性,循環碼中任一許用碼經過牡環移位后,所得到的碼組仍然是許用碼組。對所有的i=0,1,2,k-1,用生成多項式g(x)除,有: (27)式中是余式,表示為: (28)因此,是g(x)的倍式,即是碼多項式,由此得到系統形式的生成矩陣為: (29) 它是一個kn階的矩陣。同樣,由G=0可以得到系統形式的一致校驗矩陣
4、為: (210) 已知(7,4)循環碼的生成多項式和校驗多項式分別為:,。寫得其生成矩陣和校驗矩陣分別為: 2、編碼原理:有信息碼構成信息多項式,其中最高冪次為k-1;用乘以信息多項式m(x),得到的,最高冪次為n-1,該過程相當于把信息碼(,)移位到了碼字德前k個信息位,其后是r個全為零的監督位;用g(x)除得到余式r(x),其次數必小于g(x)的次數,即小于(n-k),將此r(x)加于信息位后做監督位,即將r(x)于相加,得到的多項式必為一碼多項式。1)有信息碼構成信息多項式m(x)=mk-1xk-1+m0其中高冪次為k-1。2)用xn-k乘上信息多項式m(x),得最高冪次為n-1,做移位
5、。3)用g(x)除xn-km(x)和到余式r(x)。編碼過程流程圖:3、譯碼原理:1) 有接收到的y(x)計算伴了隨式s(x)。2) 根據伴隨式s(x)找出對應的估值錯誤圖樣。3) 計算c(x)=y(x)+e(x),得估計碼字。若c(x)= c(x),則譯碼正確,否則錯誤。由于g(x) 的次數為n - k 次,g(x) 除E(x) 后得余式(即伴隨式)的最高次數為n-k-1次,故S(x) 共有2n-k 個可能的表達式,每一個表達式對應一個錯誤格式。可以知道(7,4)循環碼的S(x) 共有2(7-4) = 8個可能的表達式,可根據錯誤圖樣表來糾正(7,4)循環碼中的一位錯誤。解碼過程流程圖:初始
6、化否存儲c(x)由S(x)確定錯誤圖樣E(x)S(x)=0,無誤碼誤碼由R(x)確定S(x):糾錯4、糾錯能力:由于循環碼是一種線性分組碼,所以其糾檢錯能力與線性分組碼相當。而線性分組碼的最小距離可用來衡量碼的抗干擾能力,那么一個碼的最小距離就與它的糾檢錯能力有關。定理: 對于任一個線性分組碼,若要在碼字內(1) 檢測個錯誤,要求碼的最小距離;(2) 糾正個錯誤,要求碼的最小距離;(3) 糾正個錯誤同時檢測個錯誤,則要求;循環碼的譯碼分檢錯譯碼與糾錯譯碼兩類。在無記憶信道上,對碼字c,差錯圖案和接收向量的多項式描述為 定義的伴隨多項式為 由于所以 由此可見,則一定有差錯產生,或說滿足的差錯圖樣
7、產生,它滿足。循環碼的檢錯譯碼即是計算并判斷是否為0三、實驗分析1、實驗測試結果,包括譯碼結果、誤碼率與信噪比之間的關系、生成多項式理想狀態下,對信號隨機的提取,編碼器輸入為1000001110001000,通過encode函數后,因為加入了監督碼,信號變得復雜密集,編碼輸出為1011000101001110110001011000通過譯碼輸出為1000001110001000,與編碼輸入一致。說明循環碼的檢錯和糾錯能力性能好。輸出多項式為:g(x)=(x+a) (x+a2) (x+a3)=a6+a5x+a4x+a3x2+ a3x +a2x+x3以randint函數重新做一個輸入信號并進行編碼
8、,結果與上例相似,輸入與輸出一致。由上面所有的圖可以發現,編碼器輸入信號并不完全相同,因為對信號的提取是隨機的,所以碼元也是隨機的,信號經過編碼器后,因為要加入監督碼,所以波形變得更加密集了。信號經過譯碼后,波形和編碼器輸入信號大致相同,說明循環碼的檢錯和糾錯能力可以。信噪比與誤碼率的關系比較,從圖中可看出,當信噪比在20以內時,誤碼率相對比較大,最高達到0.45以上,而當SNR大于后,信噪比保持很穩定。下面是誤碼率的數字顯示:2、實驗過程遇到的問題及解決方法剛開始并沒有注意到運用循環碼時可用上簡便的Matlab自帶函數,一直苦惱怎么進行糾錯編碼及解碼,然后查找資料,收集了與循環碼相關的函數(
9、部分如下:)1)encode函數 功能:編碼函數 語法:code=encode(msg,N,K,method,opt)說明:用method指定的方法完成糾錯編碼。其中msg代表信息碼元,是一個K列矩陣,N是編碼后的碼字長度;K是信息位的長度;opt是有些編碼方式需要的參數。2)decode函數 功能:譯碼函數 語法:msg=decode(code,N,K,method,opt1,opt2,opt3,opt4); 說明:這個函數對接收到的碼字進行譯碼,恢復出原始的信息,譯碼參數和方式必須和編碼時采用的嚴格相同。它對接收到的碼字,按method指定的方式進行譯碼;opt1,opt4是可選項的參數。
10、3)cyclpoly函數 功能:生成循環碼的生成多項式。 語法:p=cyclpoly(N,K); p=cyclpoly(N,K,fd_flag);說明:從p=cyclpoly(N,K)中可找到一個給定碼長N和信息位長度K生成多項式p,注意不是任意給定一個多項式都可以作為生成多項式。4)randint函數 功能:引起一致地分布的任意整數矩陣 語法:out = randint(m) out = randint(m,n) out = randint(m,n,rg) out = randint(m,n,rg,state)在進行誤碼率與信噪比之間的關系編程后,Matlab一直顯示其后才發現原來沒有對加噪
11、后的信號進行整形輸出,于是加入for循環以四舍五入對信號進行整形設定。for i=1:100 for a=1:k+1 if noisycode(i,a)<0.5 noisycode(i,a) = 0; else noisycode(i,a) = 1; end endend四、RS碼在現代通信系統中的應用RS編碼起源于1960年MIT Lincoln實驗室,經歷了數十年的發展,RS碼成為了研究最詳盡,分析最透徹,應用最廣泛,研究成果最多的碼類之一。、在井下通信中的應用:由于井下空間小,供電系統布置受到很大局限,電磁干擾現象也很嚴重,通過選擇合適的信道編碼方式是抗干擾措施之一,可有效消除干擾
12、,而由于RSce糾正t個m位的二進制錯誤會符號,而不管這t個錯誤會符號是連續出現的還是離散出現,因此RS很適用于存在突發錯誤信道中,如井下工作,對系統碼率的降低和可靠性的提高起重要作用。井下采煤機與通信系統的硬件框圖、RS碼在PDS水聲通信技術的應用水聲通信技術信道是隨機時變空變的,其多途擴展產生的碼間干擾直接影響到了水聲通信的質量。而RS是一種擴展的非二進制BCH碼,具有與PDS通信相結合的優勢。、RS 碼在無線高保真音頻傳輸系統中的應用在無線音頻傳輸中, 如果傳輸的數據出現誤碼, 則會在播放時出現噪聲或者嘯叫聲, 所以想要確保得到高保真的音頻, 控制無線傳輸的誤碼率是必須的, 通常采用重傳
13、和糾錯編碼兩種方法。重傳機制對無線信道的帶寬要求更高, 這里采用RS 糾錯編碼的方法來控制誤碼率。五、實驗程序1、循環碼編碼與解碼Matlab源程序(實驗以(7,4)循環碼進行分析)m = 3; n = 2m-1; %定義碼長k = n-m; %信息位長msg = randint(k*4,1,2); %隨機提取信號,引起一致地分布的任意整數矩陣subplot(2,2,1)stem(msg)title('編碼器輸入信號')p=cyclpoly(n,k) %循環碼生成多項式,n=7,k=4code = encode(msg,n,k,'cyclic',p); %編碼函
14、數,對信號進行差錯編碼subplot(2,2,2)stem(code)title('編碼器輸出信號')recode=decode(code,n,k,'cyclic',p) %對信號進行譯碼,對接收到的碼字進行譯碼,恢復出原始的信息,譯碼參數和方式必須和編碼時采用的嚴格相同subplot(2,2,3)stem(recode)title('譯碼器輸出信號')t=-1:0.01:1;x=recode; %將recode賦值給x,并進行長度與fft設定N=length(x);fx=fft(x);df=100/N;n=0:N/2;f=n*df;subplo
15、t(2,2,4);plot(f,abs(fx(n+1)*2/N); grid;title('頻譜圖')2、誤碼率與信噪比之間的關系程序(以(3,2)循環碼進行測試)m = 2; n = 2m-1; %定義碼長k = n-m; %信息位長Fs=40; %系統采樣頻率Fd=1; %碼速率N=Fs/Fd;M=2; %進制數for SNRpBit=1:100;%信噪比SNR=SNRpBit/log2(M);%制造100個信息組,每組k位msg = randint(100,k,0,1);code = encode(msg,n,k,'cyclic/binary');%加入噪
16、聲%在已調信號中加入高斯白噪聲noisycode=awgn(code,SNR-10*log10(0.5)-10*log10(N),'measured','dB');%將浮點數轉化為二進制,波形整形過程for i=1:100 for a=1:k+1 if noisycode(i,a)<0.5 noisycode(i,a) = 0; else noisycode(i,a) = 1; end endend%譯碼newmsg = decode(noisycode,n,k,'cyclic');%計算誤碼率number,ratio=biterr(new
17、msg,msg);result(SNRpBit)=ratio;disp('The bit error rate is',num2str(ratio);end%不同信噪比下循環碼經過加性高斯白噪聲信道的誤碼率figure(1)stem(result);title('循環碼在不同信噪比下的誤碼率')legend('誤碼率','*')xlabel('信噪比');ylabel('在加性高斯白噪聲下的誤碼率');六、實驗感想 好像在做這個實驗時,一直拖一直拖,到最后都快沒時間了才查資料看例子,在這次基于MATLAB的通信原理課程設計中,通過查找了大量的循環碼理論知
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省大同市渾源縣第七中學校2024-2025學年高一下學期第三次月考 數學試題(含解析)
- 小學語文試題及答案
- 藝術課程試題及答案
- 政策變革中的利益相關者試題及答案
- 西方民主制度的短期與長期影響試題及答案
- 機電工程自動化設備識別試題及答案
- 西方政治制度與地方治理的案例研究試題及答案
- 時事熱點對軟件設計師的影響試題及答案
- 社區參與在政策制定中的作用試題及答案
- 機電工程綜合能力提升策略及試題與答案
- 慢性病照護智慧樹知到期末考試答案2024年
- 湖南省常德市臨澧縣2022-2023學年三年級下學期期末語文試卷
- 交投國企招聘筆試真題答案
- 基于PLC的電梯控制系統設計
- 學生不愛寫作業分析報告
- 樓宇電氣系統安全檢查表
- 鋼支撐(鋼管)強度及穩定性驗算
- JGJ 355-2015(2023年版) 鋼筋套筒灌漿連接應用技術規程
- 口暴服務流程
- 帶式輸送機-畢業設計
- 干部履歷表(中共中央組織部2015年制)
評論
0/150
提交評論