基於VHDL語言的卷積碼編解碼器的設計

2020-11-25 電子產品世界
1 引言

數字信息在有噪信道中傳輸時,會受到噪聲幹擾的影響,誤碼總是不可避免的。為了在已知信噪比的情況下達到一定的誤碼率指標,在合理設計基帶信號,選擇調製、解調方式,並採用頻域均衡或時域均衡措施的基礎上,還應採用差錯控制編碼等信道編碼技術,使誤碼率進一步降低。卷積碼和分組碼是差錯控制編碼的2種主要形式,在編碼器複雜度相同的情況下,卷積碼的性能優於分組碼,因此卷積碼幾乎被應用在所有無線通信的標準之中,如GSM ,IS95和CDMA2000的標準中。

目前,VHDL語言已成為EDA領域首選的硬體設計語言,越來越多的數字系統設計使用 VHDL語言來完成。原因是通過VHDL描述的硬體系統「軟核」便於存檔,程序模塊的移植和AS C設計源程序的交付更為方便。因此,他在IP核的應用等方面擔任著不可或缺的角色。在某擴頻通信系統中,我們使用VHDL語言設計了(2,1,6)卷積碼編解碼器,並經過了在FPGA晶片上的驗證實驗。

2 卷積編碼器

卷積碼通常記作(n0,k0,m),其編碼效率為k0/n0,m稱為約束長度。(n0 ,k0,m)卷積碼可用k0個輸入、n0個輸出、輸入存儲為m的線性有限狀態移位寄存器及模2加法計數器電路來實現,卷積碼的編碼方法有3種運算方式:離散卷積法;生成矩陣法;多項式乘積法。此外,卷積碼的編碼過程還可以用狀態圖、碼樹圖和網格圖來描述。本文設計的編碼器考慮到硬體電路的實現,選擇了多項式乘積法。本系統所選卷積編碼器如圖1所示,該卷積編碼器為(2,1,6)自正交卷積編碼器。

3 大數邏輯解碼器

卷積碼的解碼可分為代數解碼與概率解碼2類。大數邏輯解碼器是代數解碼最主要的解碼方法,他既可用於糾正隨機錯誤,又可用於糾正突發錯誤,但要求卷積碼是自正交碼或可正交碼。 本文所選(2,1,6)系統自正交卷積碼的大數邏輯解碼器如圖2所示。

圖2中,I端輸入信息碼元,P端輸入校驗碼元。解碼器把接收到的R(D)中的每一段信息元送入編碼器中求出本地檢驗元,與其後面收到的檢驗元模2加。若兩者一致,則求出的伴隨式分量si為0,否則為1。把加得的值送入伴隨式寄存器中寄存。當接收完7個碼段後開始對第 0碼段糾錯,若此時大數邏輯門的輸出為1,則說明第0碼 段的信息元有錯。這時正好第0子組的信息元移至解碼器的輸出端,從而糾正他們。同時,糾錯信號也反饋至伴隨式 寄存器修正伴隨式,以消去此錯誤對伴隨式的影響。如果大數判決門沒有輸出,則說明第0子組的信息元沒有錯誤,這時從編碼器中直接把信息元輸出 。

4卷積碼編解碼器的VHDL設計

4.1VHDL設計的優點與設計方法

與傳統的自底向上的設計方法不同,VHDL設計是從系統的總體要求出發,採用自頂向下( toptodown)的設計方法。其程序結構特點是將一項工程 設計(或稱設計實體),分成外部(即埠)和內部(即功能、算法)。在對一個設計實體定義了外部埠後,一旦內部開發完成,其他的設計就可以直接調用這個實體。

本設計所用VHDL設計平臺是Altera的MAX+PlusⅡ EDA軟體。MAX+PlusⅡ界面友好,使用便捷;他支持VHDL,原理圖,V語言文本文件,以及波形與EDIF等格式的文件作為設計輸入;並支持這些文件的任意混合設計;具有門級仿真器,可以進行功能仿真和時序仿真,能夠產生精確地仿真結果;支持除APEX20K,APXⅡ,Mercury,Excalibur和Stratix系列之外的所有Altera FPGA/CPLD大規模邏輯器件。設計中採用的FPGA器件是Altera的FLEX系列晶片FLEX 10K20。用MAX+PlusⅡ軟體進行VHDL設計的過程是:

(1)用Text Editor編寫VHDL程序。
(2)用Compiler編譯VHDL程序。
(3)用Waveform Editor,Simulater仿真驗證VHDL程序。
(4)用Timing Analyzer進行晶片的時序分析。
(5)用Floorplan Editor安排晶片管腳位置。
(6)用Programer下載程序至晶片FLEX10K20。

在實際的開發過程中,以上個步驟需反覆進行,直至將既定的VHDL設計通過所有的測試為止 。

4.2卷積編碼器VHDL頂層建模(top level)及系統 功能仿真

4.2.1卷積編碼器各功能模塊及頂層建模埠的VHDL描述

LIBRARY IEEE;

用MAX+PlusⅡ編譯後生成的編碼器圖形符號如圖3所示。

4.2.2卷積編碼器VHDL頂層建模的VHDL仿真波形

卷積編碼器VHDL仿真波形如圖4所示。仿真前設置輸入信息序列datain=「1111」,速率為32 kP/s,對應時鐘為31. 25μs。仿真結果表明,卷積編碼輸出dataout =「1111101 0010000000001」,相應速率為64 kP/s,與理論分析結果一致。

4.3卷積解碼器VHDL頂層建模的VHDL埠描述

4.3.1卷積解碼器各功能模塊及頂層建模埠的VHDL描述

LIBRARY IEEE;

用MAX+PlusⅡ編譯後生成的解碼器圖形符號如圖5所示。

4.3.2卷積解碼器VHDL頂層建模的VHDL仿真波形

卷積解碼器VHDL仿真波形如圖6所示。其中待解碼信元datain=「11111010010000000001」 ,速率為64kP/s,對應時鐘為15.625μs。仿真結果表明,解碼信元輸出dataout =「111 1」,相應速率為32kP/s。實際仿真還驗證了當卷積解碼器輸入的待解碼信元中有錯碼時的糾錯情況,與理論分析結果一致。

5結語

將通過仿真的VHDL程序下載到FPGA晶片FLEX10K20上,並在實際擴頻系統中用於差錯控制 ,取得了較為滿意的效果。

參考文獻

[1]王新梅,肖國鎮.糾錯碼—原理與方法[M].西安:西安電子科技大學出版社,2001.

[2]褚振勇,翁木雲.FPGA設計及應用[M]. 西安:西安電子科技大學出版社,2002.

[3]潘 松,王國棟.VHDL實用教程[M].成都:電子科技大學出版社,2 000 

相關焦點

  • 分組碼和卷積碼的區別 詳解分組碼和卷積碼
    本文主要是關於分組碼和卷積碼的相關介紹,並著重闡述了分組碼和卷積碼不同特性。 卷積碼 卷積碼是1955年由Elias等人提出的,是一種非常有前途的編碼方法。我們在一些資料上可以找到關於分組碼的一些介紹,分組碼的實現是將編碼信息分組單獨進行編碼,因此無論是在編碼還是解碼的過程中不同碼組之間的碼元無關。
  • 藍牙音頻編解碼器解釋:比較'無損'與'有損'壓縮
    這很重要,因為藍牙音頻壓縮因編解碼器而異。有一種常見的誤解,即由於其壓縮方法,藍牙音頻永遠不會像有線一樣好,但事實並非如此。一些編解碼器允許有損,而其他編解碼器允許完全無損的音頻流。那麼讓我們談談編解碼器。
  • 基於VHDL的MTM總線主模塊有限狀態機設計
    摘要:為了能夠更簡潔嚴謹地描述MTM總線的主模塊有限狀態機的狀態轉換,同時減少FPGA晶片功耗,提高系統穩定性,文中在分析MTM總線結構和主模塊有限狀態機模型的基礎上,基於VHDL語言採用「單進程」式對該有限狀態機進行了設計,並在QuartusⅡ開發軟體中實現了對語言代碼的編譯及程序的時序仿真和功能仿真
  • 為文本摘要模型添加注意力機制:採用LSTM的編解碼器模型實現
    摘要是自然語言處理領域中最具挑戰性和最有趣的問題之一。它是一個從多種文本資源(如書籍、新聞文章、博客文章、研究論文、電子郵件和tweet)中生成簡潔而有意義的文本摘要的過程。現在,隨著大量的文本文檔的可用性,摘要是一個更加重要的任務。那麼有哪些不同的方法呢?
  • Beam Search、GREEDY DECODER、SAMPLING DECODER 解碼器工作原理
    在設計時使用了解碼器的來完成文字的生成。當我們描述了每個解碼器的工作原理時,我發現當它們被可視化時,更容易理解它們。圖像標註任務流程圖與翻譯模型類似,我們的圖像字幕模型通過輸入圖像張量和特殊的句首標記(即)來啟動字幕生成過程。這個模型生成了我們單詞的概率分布(實際上是logits)。橙色方框顯示解碼算法的選擇,幫助我們選擇使用哪個單詞。
  • 基於VHDL和QuartusⅡ的數字電子鐘設計與實現
    摘要:採用FPGA進行的數字電路設計具有更大的靈活性和通用性,已成為目前數字電路設計的主流方法之一。本文給出一種基於FPGA的數字鐘設計方案。該方案採用VHDL設計底層模塊,採用電路原理圖設計頂層系統。
  • Google發布視頻解碼器「蟻丘(Anthill)」,讓VP8支持硬體
    如何把WebM視頻技術嵌入網頁一直是Google面臨的重大問題之一,Google昨天發布的新版VP8視頻編解碼器「蟻丘(Anthill)」有望解決這一問題。 WebM項目工程部經理稱這個VP8解碼器叫做H1,現在叫做蟻丘,採用了免版稅的寄存器傳遞語言(RTL)。H1硬體解碼器能耗低,生成視頻質量高,幾乎無需CPU時鐘周期。1080p視頻編碼速度可達30幀每秒,720p視頻可達60幀每秒。 VP8的主要競爭對手是H.264,也就是 MPEG-4 AVC,廣泛用於攝像頭和個人電腦,但受到專利許可的限制。
  • Survey | 基於生成模型的分子設計
    這種基於「試錯」的創新方法往往成本高昂且少有成效,一種新材料的研發可能需要數十億美元的投資和長達20年的時間。分子的反向設計方法與傳統方法不同的是,其不再從結構推導性質,而是預先選擇屬性參數,通過結構和屬性之間的反向映射來推斷出滿足這些屬性的未知分子。
  • 科學家發明了一種「神經解碼器」,可以將大腦活動轉化為語言
    讀心術機器的想法可能會讓很多人感到震驚,但一種能將大腦活動轉化為語言的新設備,可能是那些失去聲音功能的病人走向生命線的第一步。結果是一個神經解碼器,它可以接收連續的大腦信號,將它們轉換成虛擬聲道中的物理運動,然後解碼這些運動,創造出與語音大致匹配的合成句子。這個系統並不完美。
  • 基於OFDM的水聲通信系統設計
    2 基於OFDM 的高速水聲通信2.1 系統框圖OFDM水聲通信系統的實現過程如圖1所示。卷積碼由於具有良好的糾錯性能成為本方案的首選。目前,在許多通信系統中都有應用,(2,1,7)碼是首選的使用Viterbi解碼的標準卷積碼,具有使相關通信系統的誤碼率達到最小,且能克服相位誤差。2.5 基於導頻的信道估計由於許多信道不能直接傳送基帶信號,所以為了更好地適應信道,大多數的實際通信系統都要採用調製技術。調製方式不同,對應的解調方式也就不同。
  • ACL論文 | 深度學習大神新作,神經網絡的自然語言翻譯應用
    要回答這一問題,我們分析一個基於注意的編碼器解碼器,在四個語言對——En-Cs、En-De、En-Ru 和 En-Fi——中,帶有子字等級的編碼器,以及一個字符等級的解碼器,使用 WMT』 15 的平行語料庫。我們的實驗證明,帶有字符等級解碼器的模型在所有四個語言對上,表現都優於帶有子字等級解碼器的模型。
  • 支持108種語言:Google翻譯為啥這麼好用?
    混合模型和數據挖掘器這些技術中的第一個是翻譯模型體系結構——一種混合體系結構,包含在Lingvo(用於序列建模的TensorFlow框架)中實現的Transformer編碼器和遞歸神經網絡(RNN)解碼器。在機器翻譯中,編碼器通常將單詞和短語編碼為內部表示,然後解碼器將其用於生成所需語言的文本。
  • 各大公司IC設計筆試試題
    與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設計開發周期短、設計製造成本低、開發工具先進、標準產品無需測試、質量穩定以及可實時在線檢驗等優點 3、什麼叫做OTP片、掩膜片,兩者的區別何在?(仕蘭微面試題目) 4、你知道的集成電路設計的表達方式有哪幾種?(仕蘭微面試題目) 5、描述你對集成電路設計流程的認識。
  • 汽車解碼器 輕鬆解開車鎖密碼
    在這家店鋪中,解碼器種類繁多,根據車輛品牌不同,價格也從幾百到幾千元不等。其中一款叫做「智能解碼器升級版」的解碼器售價2300元,商家稱:「可以解本田、現代、藍鳥、比亞迪、馬自達、起亞等多款汽車的原裝遙控,方便快捷。」
  • 基於VHDL的數字溼度計研究
    摘要:溼度計是一種常用的檢測儀器,文中利用FPGA器件與HS1101溼度傳感器設計實現了一種簡易的數字溼度計,用於檢測室內溼度。該溼度計具有結構簡單、測量準確性高、穩定性好等優點。
  • C語言-(第一章)程序設計和C語言
    什麼是電腦程式為了使計算機執行一系列的操作,必須實現編好一條條指令,輸入到計算機。所謂程序,就是一組計算機能識別和執行的指令。每一條指令使計算機執行特定的操作。什麼是計算機語言人和人之間交流需要語言,人和計算機交流也需要語言。這就需要創造一種計算機和人都能識別的語言,這就是計算機語言。計算機語言經歷了三個發展階段。機器語言:計算機工作基於二進位,從根本上說,計算機只能識別和接受0和1組成的指令。
  • 基於FPGA的OFDM系統設計與實現
    在本文的幀同步信號提取電路的建模與設計中,是以7位巴克碼識別器作為幀同步碼組的。在同步系統處於捕獲階段時,設置自動判決門限為7;在幀同步建立以後,則把判決門限降為6,這樣做的目的一方面是減少假同步的概率,另一方面是為了減少漏同步的概率。
  • 基於C語言的設計流優化語音識別晶片結構設計
    本文從可復用和優化晶片空間的角度出發介紹語音識別晶片結構設計的種種考慮,其思路有利於開發一系列其它語音識別晶片。        新加坡Columns公司在可攜式語音控制產品應用中起步較早,其中一個產品是執行歐元與其他歐洲貨幣之間進行兌換的「語音控制歐洲貨幣兌換器」。歐元兌換器的設計要求包括:1. 功率小,電池壽命至少為1年;2.
  • BERT模型:自然語言處理最新裡程碑完整詳解!
    與BERT模型相似的預訓練語言模型例如問答、命名實體識別、自然語言推理、文本分類等在許多自然語言處理任務中發揮著重要作用。BERT是一種基於微調的多層雙向變換器編碼器。首先介紹下該變換器的架構,這一點尤為重要。什麼是變換器(Transformer)?
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。語音信號特徵向量採用mel頻率倒譜係數mfcc(mel frequency cepstrum coeficient的提取,mfcc參數是基於人的聽覺特性的,他利用人聽覺的臨界帶效應[3],採用mel倒譜分析技術對語音信號處理得到mel倒譜係數矢量序列,用mel倒譜係數表示輸入語音的頻譜。