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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的卷積編譯碼器的設計與實現(xiàn)

          基于FPGA的卷積編譯碼器的設計與實現(xiàn)

          作者: 時間:2010-11-22 來源:網絡 收藏


          4 譯碼器設計中改進和優(yōu)化算法
          本文采取狀態(tài)路徑和判決比特同時存儲,在表示狀態(tài)信息的比特前加上1位判決比特來表示相應狀態(tài)的輸入支路的譯碼信息,因此,譯碼器在回溯時就可直接輸出判決比特作為譯碼器的輸出,降低了譯碼器的判決難度,節(jié)省了存儲回溯路徑所需要的內存,從而降低了譯碼器結構復雜性。
          本設計中譯碼器在計算所有狀態(tài)的路徑量度的同時進行路徑存儲,從而大大提高了譯碼速度。路徑量度是指每個狀態(tài)的2條輸入支路和2條輸出支路,路徑存儲指的是狀態(tài)存儲以及相應的譯碼判決比特存儲。該結構的譯碼器對每一個狀態(tài)都具有獨立的處理單元,彼此互補影響,并行工作,提高了譯碼速度。對于(2,1,3)碼,一個時鐘需要進行2x2x2m=32次路徑量度計算和2m=8次4比特存儲操作。充分發(fā)揮了擁有大量LCS和RAM的優(yōu)勢。
          在網格圖中,隨著狀態(tài)的改變,每個狀態(tài)的輸出支路的路徑量度逐漸增加,造成存儲資源壓力增大,設計中在每次進行路徑量度計算時,將該狀態(tài)的量度值與上次剩余路徑量度的最小值做差后進行保存,以達到減小存儲器空間的需求。對于編碼效率為1/2的碼,以上差值最大不超過2m,因此,路徑量度的量化寬的為1b(2m)。對于(2,1,3)碼,存儲路徑量度的寄存器位寬為lb(2×3)=3。

          5 驗證仿真
          本設計采用Xilinx公司的ISE 9.2i為開發(fā)平臺,選用的是Xilinx Virtex 4 為開發(fā)芯片用于設計和驗證所提出的卷積編碼和維特比(Veterbi)譯碼算法。
          5.1 卷積編碼器
          如圖6所示,clk為時鐘信號,reset為復位信號,din為輸入信號,out_1,out_2為編碼后得到的并行碼字序列??煽闯觯狠斎氪a元為“101010111011 000100011011111111100……”經過編碼得到編碼結果為“1101000100010010101000101011001101110011101001010101010 10101011”結果正確。

          本文引用地址:http://www.ex-cimer.com/article/191469.htm

          23z.jpg
          5.2 Verterbi譯碼器
          Vertrbi譯碼器仿真波形如圖7所示,rev[1:0]為輸入譯碼器的接收序列,clk為時鐘信號,rst為復位信號,enable為使能信號,h_out為譯碼器輸出序列??煽闯觯鹤g碼輸出碼元為“10101011101100010001101111111l100……”。結果正確。

          6 結束語
          通過對卷積編碼原理與維特比譯碼算法的深入研究,在理解傳統(tǒng)實現(xiàn)方法的基礎上提出適合存儲器和獨立運算單元豐富的特點的優(yōu)化算法,有效地提高了譯碼器的處理速度,簡化了譯碼器的復雜程度。


          上一頁 1 2 3 下一頁

          關鍵詞: FPGA 卷積 編譯碼器

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();