• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            基于MATLAB的循環(huán)碼實驗報告

            更新時間:2024-02-15 18:31:24 閱讀: 評論:0

            2024年2月15日發(fā)(作者:能源專業(yè))

            基于MATLAB的循環(huán)碼實驗報告

            課程名稱: 信息論與編碼

            課程設(shè)計題目:

            循環(huán)碼的編碼和譯碼程序設(shè)計

            指導(dǎo)教師:

            系 別: 專 業(yè):

            學(xué) 號: 姓 名:

            合 作 者

            完成時間:

            成績: 評閱人:

            一、實驗?zāi)康模?

            1、通過實驗了解循環(huán)碼的工作原理。

            2、深刻理解RS 碼構(gòu)造、RS 編譯碼等相關(guān)概念和算法。

            二、實驗原理

            1、RS循環(huán)碼編譯碼原理與特點

            設(shè)C使某移位C(1)線性分組碼的碼字集合,如果對任C?(cn?1,cn?2,?,c0)?C,它的循環(huán)碼為循環(huán)碼。

            ?(cn?2,cn?3,?c0,cn?1)也屬于C,則稱該該碼在結(jié)構(gòu)上有另外的限制,即一個碼字任意循環(huán)移位的結(jié)果仍是一個有效碼字。其特點是:(1)可以用反饋移位寄存器很容易實現(xiàn)編碼和伴隨式的計算;(2)由于循環(huán)碼有很多固有的代數(shù)結(jié)構(gòu),從而可以找到各種簡單使用的譯碼辦法。

            如果一個線性碼具有以下的屬性,則稱為循環(huán)碼:如果n元組c?{c0,c1,?,cn?1}是子空間S的一個碼字,則經(jīng)過循環(huán)移位得到的c(1)?{cn?1,c0,?,cn?2}也同樣是S中的一個碼字;或者,一般來說,經(jīng)過j次循環(huán)移位后得到的c(j)?{cn?j,cn?j?1,?,cn?1,c0,c1,?,cn?j?1}也是S中的一個碼字。

            RS碼的編碼系統(tǒng)是建立在比特組基礎(chǔ)上的,即字節(jié),而不是單個的0和1,因此它是非二進(jìn)制BCH碼,這使得它處理突發(fā)錯誤的能力特別強(qiáng)。

            碼長:n?2?1

            信息段:k?n?2t (t為糾錯符號數(shù))

            監(jiān)督段:2t?n?k

            最小碼段:d?2t?1

            最小距離為d的本原RS碼的生成多項式為:g(x)=(x-α)(x-α2)(x-α3)…(x-αd-2)

            信息元多項式為::m(x)=m0+m1x+m2x2+…+mk-1xk-1

            循環(huán)碼特點有:

            1)循環(huán)碼是線性分組碼的一種,所以它具有線性分組的碼的一般特性,且具有循環(huán)性,糾錯能力強(qiáng)。

            2)循環(huán)碼是一種無權(quán)碼,循環(huán)碼編排的特點為相鄰的兩個數(shù)碼之間符合卡諾中的鄰接條件,即相鄰數(shù)碼間只有一位碼元不同,因此它具有一個很好的優(yōu)點是它滿足鄰接條件,沒有瞬時錯誤(在數(shù)碼變換過程中,在速度上會有快有慢,中間經(jīng)過其他一些數(shù)碼形式,即為瞬時錯誤)。

            3)碼字的循環(huán)特性,循環(huán)碼中任一許用碼經(jīng)過牡環(huán)移位后,所得到的碼組仍然是許用碼組。

            m

            對所有的i=0,1,2,……k-1,用生成多項式g(x)除xn?k?i,有:

            n?k?i?ai(x)g(x)?bi(x) (2—7)

            x式中bi(x)是余式,表示為:

            bi(x)?bi,n?k?1xn?k?1??bi,1x?bi,0 (2—8)

            因此,xn?k?i?b(x)是g(x)的倍式,即xn?k?1?bi(x)是碼多項式,由此得到系統(tǒng)形式的生?10?0bk?1,n?k?1?bk?1,1bk?1,0?成矩陣為:

            ?01?0bk?2,n?k?1?bk?2,1bk?x,0??G????????????

            ??0000b?bb0,n?k?10,10,0??

            (2—9)

            它是一個k?n階的矩陣。

            同樣,由G?HT=0可以得到系統(tǒng)形式的一致校驗矩陣為:

            ?bk?1,n?k?1bk?2,n?k?1???

            ??H?bk?1,1bk?2,1

            ?

            bk?2,0?bk?1,0?b0,n?k?1????b0,1b0,01?00???????0?10??0?01? (2—10)

            已知(7,4)循環(huán)碼的生成多項式和校驗多項式分別為:g(x)?x3?x?1,h(x)?x4?x2?x?1。寫得其生成矩陣和校驗矩陣分別為:

            ?1011000??0101100?

            ?G???0010110?

            ??0001011??

            ?1110100??H??0111010????0011101??2、編碼原理:

            k?1m(x)?mx???m0,其中最高冪次為k-1;

            k?1有信息碼構(gòu)成信息多項式n?k用x乘以信息多項式m(x),得到的xn?km(x),最高冪次為n-1,該過程相當(dāng)于把信息碼(mk?1,mk?2,……,m1,m0)移位到了碼字德前k個信息位,其后是r個全為零的監(jiān)

            督位;

            n?kxm(x)得到余式r(x),其次數(shù)必小于g(x)的次數(shù),即小于(n-k)用g(x)除,將此r(x)加于n?kxm(x)相加,得到的多項式必為一碼多項式。 信息位后做監(jiān)督位,即將r(x)于

            1)有信息碼構(gòu)成信息多項式m(x)=mk-1xk-1+``````m0

            其中高冪次為k-1。

            2)用xn-k乘上信息多項式m(x),得最高冪次為n-1,做移位。

            3)用g(x)除xn-km(x)和到余式r(x)。

            編碼過程流程圖:

            3、譯碼原理:

            1) 有接收到的y(x)計算伴了隨式s(x)。

            2) 根據(jù)伴隨式s(x)找出對應(yīng)的估值錯誤圖樣。

            3) 計算c^(x)=y(x)+e^(x),得估計碼字。若c^(x)= c(x),則譯碼正確,否則錯誤。

            由于g(x) 的次數(shù)為n - k 次,g(x) 除E(x) 后得余式(即伴隨式)的最高次數(shù)為n-k-1次,故S(x) 共有2n-k 個可能的表達(dá)式,每一個表達(dá)式對應(yīng)一個錯誤格式。可以知道(7,4)循環(huán)碼的S(x) 共有2(7-4) =

            8個可能的表達(dá)式,可根據(jù)錯誤圖樣表來糾正(7,4)循環(huán)碼中的一位錯誤。

            解碼過程流程圖:

            存儲c(x)

            糾錯c(x)?E(X)?R(X)

            S(x)=0,無誤碼誤否

            由S(x)確定錯誤圖樣E(x)

            由R(x)確定S(x):錯誤!未找到引用源。

            初始化

            4、糾錯能力:

            由于循環(huán)碼是一種線性分組碼,所以其糾檢錯能力與線性分組碼相當(dāng)。而線性分組碼的最小距離可用來衡量碼的抗干擾能力,那么一個碼的最小距離就與它的糾檢錯能力有關(guān)。

            定理: 對于任一個(n,k)線性分組碼,若要在碼字內(nèi)

            (1) 檢測個錯誤,要求碼的最小距離d?e?1;

            (2) 糾正個錯誤,要求碼的最小距離d(3) 糾正個錯誤同時檢測?2t?1;

            個錯誤,則要求d?t?e?1;

            循環(huán)碼的譯碼分檢錯譯碼與糾錯譯碼兩類。在無記憶信道上,對碼字c,差錯圖案e和接收向量r的多項式描述為

            r(x)?c(x)?e(x)

            定義r(x)的伴隨多項式為s(x)

            s(x)?r(x)(modg(x))

            由于c(x)?s0?s1x?s2x???sr?1x?a(x)g(x)?0(modg(x)),所以

            2r?1

            s(x)由此可見,s(x)?e(x)(modg(x))

            ?0則一定有差錯產(chǎn)生,或說滿足e(x)(modg(x))?0的差錯圖樣e(x)產(chǎn)生,它滿足e(x)(modg(x))?0。

            循環(huán)碼的檢錯譯碼即是計算s(x)并判斷是否為0

            三、實驗分析

            1、實驗測試結(jié)果,包括譯碼結(jié)果、誤碼率與信噪比之間的關(guān)系、生成多項式

            理想狀態(tài)下,對信號隨機(jī)的提取,編碼器輸入為1000,

            通過encode函數(shù)后,因為加入了監(jiān)督碼,信號變得復(fù)雜密集,

            編碼輸出為1110

            通過譯碼輸出為1000,與編碼輸入一致。說明循環(huán)碼的檢錯和糾錯能力性能好。

            輸出多項式為:g(x)=(x+a) (x+a2) (x+a3)=a6+a5x+a4x+a3x2+ a3x +a2x+x3

            以randint函數(shù)重新做一個輸入信號并進(jìn)行編碼,結(jié)果與上例相似,輸入與輸出一致。

            由上面所有的圖可以發(fā)現(xiàn),編碼器輸入信號并不完全相同,因為對信號的提取是隨機(jī)的,所以碼元也是隨機(jī)的,信號經(jīng)過編碼器后,因為要加入監(jiān)督碼,所以波形變得更加密集了。信號經(jīng)過譯碼后,波形和編碼器輸入信號大致相同,說明循環(huán)碼的檢錯和糾錯能力可以。

            信噪比與誤碼率的關(guān)系比較,從圖中可看出,當(dāng)信噪比在20以內(nèi)時,誤碼率相對比較大,最高達(dá)到0.45以上,而當(dāng)SNR大于20后,信噪比保持很穩(wěn)定。下面是誤碼率的數(shù)字顯示:

            2、實驗過程遇到的問題及解決方法

            剛開始并沒有注意到運(yùn)用循環(huán)碼時可用上簡便的Matlab自帶函數(shù),一直苦惱怎么進(jìn)行糾錯編碼及解碼,然后查找資料,收集了與循環(huán)碼相關(guān)的函數(shù)(部分如下:)

            1)encode函數(shù)

            功能:編碼函數(shù)

            語法:code=encode(msg,N,K,method,opt)

            說明:用method指定的方法完成糾錯編碼。其中msg代表信息碼元,是一個K列矩陣,N是編碼后的碼字長度;K是信息位的長度;opt是有些編碼方式需要的參數(shù)。

            2)decode函數(shù)

            功能:譯碼函數(shù)

            語法:msg=decode(code,N,K,method,opt1,opt2,opt3,opt4);

            說明:這個函數(shù)對接收到的碼字進(jìn)行譯碼,恢復(fù)出原始的信息,譯碼參數(shù)和方式必須和編碼時采用的嚴(yán)格相同。它對接收到的碼字,按method指定的方式進(jìn)行譯碼;opt1,…,opt4是可選項的參數(shù)。

            3)cyclpoly函數(shù)

            功能:生成循環(huán)碼的生成多項式。

            語法:p=cyclpoly(N,K);

            p=cyclpoly(N,K,fd_flag);

            說明:從p=cyclpoly(N,K)中可找到一個給定碼長N和信息位長度K生成多項式p,注意不是任意給定一個多項式都可以作為生成多項式。

            4)randint函數(shù)

            功能:引起一致地分布的任意整數(shù)矩陣

            語法:out = randint(m)

            out = randint(m,n)

            out = randint(m,n,rg)

            out = randint(m,n,rg,state)

            在進(jìn)行誤碼率與信噪比之間的關(guān)系編程后,Matlab一直顯示

            其后才發(fā)現(xiàn)原來沒有對加噪后的信號進(jìn)行整形輸出,于是加入for循環(huán)以四舍五入對信號進(jìn)行整形設(shè)定。

            for i=1:100

            for a=1:k+1

            if noisycode(i,a)<0.5

            noisycode(i,a) = 0;

            el

            noisycode(i,a) = 1;

            end

            end

            end

            四、RS碼在現(xiàn)代通信系統(tǒng)中的應(yīng)用

            RS編碼起源于1960年MIT Lincoln實驗室,經(jīng)歷了數(shù)十年的發(fā)展,RS碼成為了研究最詳盡,分析最透徹,應(yīng)用最廣泛,研究成果最多的碼類之一。

            1、在井下通信中的應(yīng)用:由于井下空間小,供電系統(tǒng)布置受到很大局限,電磁干擾現(xiàn)象也很嚴(yán)重,通過選擇合適的信道編碼方式是抗干擾措施之一,可有效消除干擾,而由于RSce糾正t個m位的二進(jìn)制錯誤會符號,而不管這t個錯誤會符號是連續(xù)出現(xiàn)的還是離散出現(xiàn),因此RS很適用于存在突發(fā)錯誤信道中,如井下工作,對系統(tǒng)碼率的降低和可靠性的提高起重要作用。

            井下采煤機(jī)與通信系統(tǒng)的硬件框圖

            2、RS碼在PDS水聲通信技術(shù)的應(yīng)用

            水聲通信技術(shù)信道是隨機(jī)時變空變的,其多途擴(kuò)展產(chǎn)生的碼間干擾直接影響到了水聲通信的質(zhì)量。而RS是一種擴(kuò)展的非二進(jìn)制BCH碼,具有與PDS通信相結(jié)合的優(yōu)勢。

            3、RS 碼在無線高保真音頻傳輸系統(tǒng)中的應(yīng)用

            在無線音頻傳輸中, 如果傳輸?shù)臄?shù)據(jù)出現(xiàn)誤碼, 則會在播放時出現(xiàn)噪聲或者嘯叫聲, 所以想要確保得到高保真的音頻, 控制無線傳輸?shù)恼`碼率是必須的, 通常采用重傳和糾錯編碼兩種方法。重傳機(jī)制對無線信道的帶寬要求更高, 這里采用RS 糾錯編碼的方法來控制誤碼率。

            五、實驗程序

            1、循環(huán)碼編碼與解碼Matlab源程序(實驗以(7,4)循環(huán)碼進(jìn)行分析)

            m = 3;

            n = 2^m-1; %定義碼長

            k = n-m; %信息位長

            msg = randint(k*4,1,2); %隨機(jī)提取信號,引起一致地分布的任意整數(shù)矩陣

            subplot(2,2,1)

            stem(msg)

            title('編碼器輸入信號')

            p=cyclpoly(n,k) %循環(huán)碼生成多項式,n=7,k=4

            code = encode(msg,n,k,'cyclic',p); %編碼函數(shù),對信號進(jìn)行差錯編碼

            subplot(2,2,2)

            stem(code)

            title('編碼器輸出信號')

            recode=decode(code,n,k,'cyclic',p) %對信號進(jìn)行譯碼,對接收到的碼字進(jìn)行譯碼,恢復(fù)出原始的信息,譯碼參數(shù)和方式必須和編碼時采用的嚴(yán)格相同

            subplot(2,2,3)

            stem(recode)

            title('譯碼器輸出信號')

            t=-1:0.01:1;

            x=recode; %將recode賦值給x,并進(jìn)行長度與fft設(shè)定

            N=length(x);

            fx=fft(x);

            df=100/N;

            n=0:N/2;

            f=n*df;

            subplot(2,2,4);

            plot(f,abs(fx(n+1))*2/N); grid;

            title('頻譜圖')

            2、誤碼率與信噪比之間的關(guān)系程序(以(3,2)循環(huán)碼進(jìn)行測試)

            m = 2;

            n = 2^m-1; %定義碼長

            k = n-m; %信息位長

            Fs=40; %系統(tǒng)采樣頻率

            Fd=1; %碼速率

            N=Fs/Fd;

            M=2; %進(jìn)制數(shù)

            for SNRpBit=1:100;%信噪比

            SNR=SNRpBit/log2(M);

            %制造100個信息組,每組k位

            msg = randint(100,k,[0,1]);

            code = encode(msg,n,k,'cyclic/binary');

            %加入噪聲

            %在已調(diào)信號中加入高斯白噪聲

            noisycode=awgn(code,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');

            %將浮點數(shù)轉(zhuǎn)化為二進(jìn)制,波形整形過程

            for i=1:100

            for a=1:k+1

            if noisycode(i,a)<0.5

            noisycode(i,a) = 0;

            el

            noisycode(i,a) = 1;

            end

            end

            end

            %譯碼

            newmsg = decode(noisycode,n,k,'cyclic');

            %計算誤碼率

            [number,ratio]=biterr(newmsg,msg);

            result(SNRpBit)=ratio;

            disp(['The bit error rate is',num2str(ratio)]);

            end

            %不同信噪比下循環(huán)碼經(jīng)過加性高斯白噪聲信道的誤碼率

            figure(1)

            stem(result);

            title('循環(huán)碼在不同信噪比下的誤碼率')

            legend('誤碼率','*')

            xlabel('信噪比');

            ylabel('在加性高斯白噪聲下的誤碼率');

            六、實驗感想

            好像在做這個實驗時,一直拖一直拖,到最后都快沒時間了才查資料看例子,在這次基于MATLAB的通信原理課程設(shè)計中,通過查找了大量的循環(huán)碼理論知識和MATLAB仿真應(yīng)用的書籍之后,開始調(diào)試程序,并進(jìn)一步了解MATLAB編程的關(guān)鍵字的運(yùn)用,查閱資料之后進(jìn)行不斷的修正和更改,得出最終的結(jié)果。

            這次MATLAB課程設(shè)計不僅僅加深了對課程理論知識的了解,并更加熟悉了計算機(jī)語言,軟件的應(yīng)用。并讓我了解,學(xué)習(xí)知識不僅僅只在課本上,還有更多更廣的渠道獲得更寬廣的知識。

            七、參考文獻(xiàn)

            [1]徐明遠(yuǎn),邵玉斌 MATLAB仿真在通信與電子工程中的應(yīng)用.西安:西安電子科技大學(xué)學(xué)出版社,2005.6

            [2]唐向宏,岳恒立,鄭雪峰 MATLAB及在電子信息類課程中的應(yīng)用(第二版).北京:電子工業(yè)出版社,2009.6

            基于MATLAB的循環(huán)碼實驗報告

            本文發(fā)布于:2024-02-15 18:31:24,感謝您對本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1707993084266948.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:基于MATLAB的循環(huán)碼實驗報告.doc

            本文 PDF 下載地址:基于MATLAB的循環(huán)碼實驗報告.pdf

            上一篇:RS糾錯算法
            下一篇:返回列表
            標(biāo)簽:編碼   譯碼   錯誤   信號   進(jìn)行
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 全部av―极品视觉盛宴| 国产精品福利自产拍在线观看| 亚洲AV小说在线观看| 国产av不卡一区二区| 免费 国产 无码久久久| 日韩深夜福利视频在线观看| 国产二区三区不卡免费| 亚洲第一福利网站在线观看| 久久综合狠狠综合久久| 熟女无套高潮内谢吼叫免费| 亚洲男人AV天堂午夜在| 亚洲熟妇av一区二区三区宅男| 国产午夜福利在线观看播放| 污网站在线观看视频| 欧美寡妇xxxx黑人猛交| 国内精品伊人久久久久影院对白| 99re热精品视频中文字幕不卡| 肥臀浪妇太爽了快点再快点 | 国产精品久久久久影院色| 男人的天堂av一二三区| 亚洲欧美日韩国产四季一区二区三区| 国产区二区三区在线观看| 国产成人AV国语在线观看| 国产成人久久精品77777综合| 亚洲 制服 丝袜 无码| 亚洲中文字幕第二十三页| 国产一级精品在线免费看| 91免费精品国偷自产在线在线| 日韩美女视频一区二区三区| 亚洲中文字幕第二十三页| 亚洲av成人网人人蜜臀| 高清dvd碟片 生活片| 久久精品人妻无码一区二区三区| 波多野结衣高清一区二区三区 | 人妻有码av中文字幕久久琪| 国内精品久久人妻无码网站| 亚洲一区二区三区av链接| 国产成AV人片久青草影院| 三年的高清电影免费看| 亚洲综合在线日韩av| chinese熟女老女人hd视频 |