<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的卷積碼的編/譯碼器設(shè)計(jì)

          基于FPGA的卷積碼的編/譯碼器設(shè)計(jì)

          作者: 時(shí)間:2010-11-30 來(lái)源:網(wǎng)絡(luò) 收藏

            是Elias在1955年最早提出的,稍后,Wozencraft在1957年提出了一種有效譯碼方法,即序列譯碼。Massey在1963年提出了一種性能稍差,但比較實(shí)用的門限譯碼方法,由于這一實(shí)用性進(jìn)展使從理論走向?qū)嵱?。而后Viterbi在1967年提出了最大似然譯碼法,該方法對(duì)存儲(chǔ)器級(jí)數(shù)較小的譯碼很容易實(shí)現(xiàn),并具有效率高、速度快、譯碼器簡(jiǎn)單等特點(diǎn),人們后來(lái)稱其為算法或譯碼,廣泛應(yīng)用于現(xiàn)代通信中。本文主要論述了基于Xilinx公司的的卷積編碼器及相應(yīng)的譯碼器的研究,并在幸存路徑存儲(chǔ)與譯碼輸出判決方面提出了改進(jìn)算法,從而使譯碼器結(jié)構(gòu)得到簡(jiǎn)化。

            1 卷積碼的編碼原理與實(shí)現(xiàn)

            卷積碼是一種重要的前向糾錯(cuò)編碼FEC,用(n,k,m)表示。分組碼不同,其監(jiān)督元與本組的信息元和前若干組的信息元有關(guān)。這種編碼的糾錯(cuò)能力強(qiáng),不僅可糾正隨機(jī)差錯(cuò),而且可糾正突發(fā)差錯(cuò)。卷積碼根據(jù)需要,有不同的結(jié)構(gòu)及相應(yīng)的糾錯(cuò)能力,但都有類似的編碼規(guī)律。卷積碼的編碼器是一個(gè)具有k個(gè)輸入位(端)、n個(gè)輸出位(端),m級(jí)移位寄存器的有限狀態(tài)記憶系統(tǒng)。通常稱為時(shí)序網(wǎng)絡(luò)。其中R=k/n為編碼效率,m為約束長(zhǎng)度。卷積碼編碼原理如圖1所示。

          a.JPG

            卷積編碼充分利用各組信息元之間的相關(guān)性,在誤碼率和復(fù)雜度相同的情況下性能優(yōu)于分組碼,并且最佳譯碼更易實(shí)現(xiàn),因此在通信系統(tǒng)中得到廣泛應(yīng)用。但是卷積碼沒(méi)有嚴(yán)格的代數(shù)結(jié)構(gòu),尚未找到嚴(yán)密的數(shù)學(xué)手段將糾錯(cuò)性能與碼的構(gòu)成有規(guī)律地聯(lián)系起來(lái),目前大都采用計(jì)算機(jī)搜索好碼。通常是(2,1,3)卷積碼,本文以生成多項(xiàng)式G=(111,101)的(2,1,3)卷積碼為例介紹設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。

            設(shè)初始狀態(tài)為SO編碼為00,根據(jù)生成矩陣分別帶入輸入O和輸入1時(shí)得到下一個(gè)狀態(tài)和相應(yīng)輸出。依次代入,可得到如圖2所示的狀態(tài)圖。

          b.JPG


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();