-
引言
低密度奇偶校驗(Low Density Parity Check Code,LDPC)碼是一類具有稀疏校驗矩陣的線性分組碼,不僅有逼近Shannon限的良好性能,而且譯碼復雜度較低, 結構靈活,是近年信道編碼領域的研究熱點,目前已廣泛應用于深空通信、光纖通信、衛星數字視頻和音頻廣播等領域。LDPC碼已成為第四代通信系統(4G)強有力的競爭者,而基于LDPC碼的編碼方案已經被下一代衛星數字視頻廣播標準DVB-S2采納。
編碼器實現指標分析
作為前向糾錯系統的重要部分,設計高速率低復雜度LDPC碼編譯碼器成為提高系統性能的關鍵。對LDPC碼來說,其編碼復雜度相對較大,編碼器的設計與實現是首要任務,也是譯碼器設計與實現的前提,有著十分重要的作用。
編碼速率與復雜度是評價LDPC編碼器好壞的重要指標。考慮高清晰度電視(HDTV)標準在分辨率為1920×1080,幀率為60幀/s,每個像素以24比特量化時,總數據率在2Gb/s的數量級。采用MPEG-2壓縮,要求數據率大約在20~40Mb/s。
編碼器設計思路
設LDPC碼檢驗矩陣為H、生成矩陣為G 。傳統的編碼方法是利用生成矩陣G直接進行編碼。由于G并不具有稀疏性,直接編碼的復雜度與碼長N的平方成正比。本文的編碼器采用RU編碼算法。該算法通過對交換校驗矩陣行列的位置,保持矩陣的稀疏性,利用交換行列后的校驗矩陣進行編碼,有效降低了編碼的復雜度。經過行列交換的校驗矩陣具有近似下三角形式,如圖1所示。
圖1 交換校驗矩陣
設信息序列為s,碼字為C利用圖1的矩陣可對信息序列s進行編碼。碼字分為三部分:C=(s,p1,p2),其中s是信息比特序列,長度為k;p1和p2是校驗比特序列,長度分別為g和N-k-g。校驗比特序列p1、p2計算公式如下:
編碼流程如圖2所示。
圖2 編碼流程圖
設計LDPC編碼器的時候注意:在RU算法中,對校驗矩陣進行行列交換,轉化為近似下三角形式稱為編碼預處理過程。給定一個校驗矩陣,編碼預處理過程和矩陣的計算只需要做一次,所以可先用軟件完成。實際的編碼計算通過硬件實現。這樣做有利于提高編碼硬件實現的效率。
LDPC碼編碼器實現
LDPC碼編碼器硬件結構
基于RU算法的LDPC編碼實現過程主要是計算p1、p2的過程。設計編碼器時,為了提高編碼速度,將可以同時計算的步驟作并行處理,得到編碼器的硬件結構如圖3所示。
圖3 LDPC碼編碼器結構
圖3中A、B、C、E分別代表圖1中相應的矩陣,F代表Φ矩陣。從圖3可知,LDPC編碼器主要由緩沖器(buffer)、矩陣向量乘法器(MVM)、矩陣加法器(VA)、前向迭代運算器(FS)、向量合成器(CWG)等運算單元以及存儲各個矩陣相關信息的存儲器組成。因為前向迭代運算基本上是矩陣與向量的乘法計算,所以矩陣向量乘法是LDPC編碼過程最核心的單元。
分析圖3可知,編碼過程中,Cs與As的計算是同時進行的,其他的操作都是串行進行的。由于行列交換保持了矩陣的稀疏性,所以與A、B、C、E矩陣的相關運算是稀疏矩陣的運算,存儲矩陣所需的空間少同時實現的復雜度低和運算速度快。Φ是g×g的矩陣,由于在編碼預處理過程中保證了g盡量小,所以與Φ矩陣相關的運算也是比較快的。
LDPC碼編碼器復雜度
表1和表2描述了編碼器計算校驗序列p1、p2的流程及相應的復雜度。
表1 p1的計算
表2 p2的計算
從表1和表2可知RU算法的復雜度與N+g2成正比,g越小,編碼復雜度越低。所以對校驗矩陣進行行列交換時,使g盡量小是進一步降低編碼復雜度的關鍵。
表1中序號2與表2中序號4的操作涉及到下三角矩陣T。由于T-1也是下三角矩陣,為了降低復雜度,可采用前向迭代進行計算。例如:假設Qx=y,Q為下三角矩陣,求x。計算過程如下:
編碼器核心模塊——矩陣向量乘法器(MVM)的實現矩陣與矩陣的乘法運算以及前向迭代運算實質上都是矩陣與向量的乘法。下面舉例說明矩陣向量乘法器硬件實現的過程:
假設,對于LDPC編碼器,如何有效率地存儲各個矩陣的信息是降低復雜度的關鍵。下面給出一種矩陣存儲的方案:矩陣存儲器中記錄“1”在行中的位置以及對應行行重,如表3所示。例如矩陣X第3行的“1”元素,在行中的位置為“0”,該行的行重為1。由于LDPC編碼過程中使用的矩陣大多是稀疏矩陣,所以采用該矩陣存儲方案能比較有效地利用存儲的空間并有利于矩陣與向量乘法的快速實現。
矩陣X每行中“1”的位置可看作選擇向量s相應元素的地址索引,將選擇的所有元素相加作和,即完成X中某行與向量的運算。由于涉及的運算都是二進制加法,相加作和操作可以作如下簡化:根據矩陣每行“1”的位置選擇向量s的元素。統計被選擇的元素中“1”的個數,若結果為奇數則說明相加的結果為“1”,否則說明相加的結果為“0”。判斷結果為奇數或者偶數可由其二進制形式的末位是“1”或者“0”得到。通過設置兩個計數器分別計算各行行重和選擇的向量s相應位置的元素中“1”的個數,即可實現乘法單元的運算。
矩陣向量乘法器的硬件結構如圖4所示。
圖4 矩陣向量乘法器的硬件結構
從圖4可知矩陣向量乘法器包括以下六個部分:調度單元(Scheduler),產生各模塊單元的使能信號;緩存單元(Info_buffer),對輸入信息序列進行緩存處理;存儲器控制單元(Rom_ctrl),產生存儲器的地址信號;“1”位置存儲器(Rom_num),存儲矩陣各行“1”的位置;行重存儲器,存儲矩陣相應各行行重;乘法單元(Multipler),進行向量乘法運算,最后輸出碼字。
矩陣向量乘法器仿真結果驗證
在Quartus II環境下,實現output=Xs,得到如圖5所示時序圖。
圖5 output="Xs仿真時序圖"
圖5中“en”是使能信號,“clock”是時鐘信號,addr_num、addr_wei分別為兩個存儲器的地址信號,info_seq是輸入信息信號,rece是信息信號經過緩存后的輸出信號,num_t是“1”在各行的位置信息,row_wei_t是相應各行的行重,output是矩陣與向量相乘的結果。由圖5可知,output=[1 1 1],信號輸出有一個時鐘周期的延時,仿真結果正確。
編碼器方案驗證與優缺點分析
本文利用FPGA實現了基于RU算法的編碼器設計實現。在Quartus II軟件環境下對LDPC編碼器進行仿真,使用Stratix系列EP1s25F672I7芯片,對碼長為504的碼字進行編碼。編碼器占用約9%的邏輯單元,約5%的存儲單元,綜合后時鐘頻率達到120MHz,數據吞吐率達到33Mb/s,基本符合編碼器設計的要求。該編碼器結構是一種通用的設計方案,可以應用于各種不同的LDPC編碼中,但由于其采用通用的編碼算法,實現的復雜度高于某些特殊結構的LDPC碼編碼器,比如準循環LDPC碼。另外通過優化時序和編碼結構,可以進一步提高本文的編碼器的編碼速度。
利用FPGA實現基于RU算法編碼器(LDPC編碼器)的設計
- FPGA(591969)
- 編碼器(131223)
相關推薦
800Mbps準循環LDPC碼編碼器的FPGA實現
800Mbps準循環LDPC碼編碼器的FPGA實現引言低密度校驗碼腸 ,碼 由于其接近香農限的糾錯性能,使得其成為當前信道編碼的研究熱點。 碼面臨的一個關鍵問題是其較高的編碼復雜度和編碼時延。 形耐
2012-08-11 11:44:45
編碼器應用問題
我想做一個裝置,配置是這樣:編碼器安裝在滾輪的一端,一個傳感器,當傳感器觸發on時,對編碼器反饋的脈沖進行采集,傳感器off時停止采集,然后把得到的脈沖數傳給計算機,請問資深專業人士,有什么方法去實現這樣的功能,或者有什么樣的電路板可以實現這樣的功能,謝謝。
2014-01-17 23:55:37
編碼器掃盲,帶你了解編碼器的原理和應用
、絕對式以及混合式三種。增量式編碼器:增量式編碼器是直接利用光電轉換原理輸出三組方波脈沖A、B和Z相;A、B兩組脈沖相位差90度,從而可方便的判斷出旋轉方向,而Z相為每轉一個脈沖,用于基準點定位。它
2019-10-13 08:00:00
編碼器模式的實現
編碼器模式的實現編碼器模式默認使用定時器的通道1和通道2,通道3和通道4不能使用。以下為編碼器模式的配置,編碼器線數為1024,檢測雙通道的上升沿。 HAL_TIM_Encoder_Start
2021-08-16 08:12:54
編碼器的實現
編碼器的實現 H.264視頻編碼器的實現有多種方法,不過大部分都是進行移植、優化的操作。H.264代碼要在DSP的軟件平臺CCS環境下運行,需要注意幾個問題:如配置文件、庫文件的改動、數據類型
2011-08-10 14:54:09
編碼器的分類
一、編碼器的分類根據檢測原理,編碼器可分為光學式、磁式、感應式和電容式,根據其刻度方法及信號輸出形式,可分為增量式、絕對式以及混合式三種。1、增量式編碼器 增量式編碼器是直接利用光電轉換原理輸出三
2022-01-20 06:47:46
編碼器的型號?
誰對編碼器有了解,在示波器上拆下兩個旋鈕編碼器,外觀是一模一樣的,就是有一種有循環檔位一個沒有,再拆開以后發現里面不太一樣,想在網上買這兩種但不知道該怎么選型號
2021-11-18 15:21:43
編碼器的奇葩問題,求大神解答
用定時器捕獲調試編碼器,同樣的程序,有的編碼器就可以檢測到脈沖(并且一切正常,說明程序沒有問題),有的編碼器就檢測不到,可是我用外部中斷寫的程序,一點問題都沒有,說明也不是編碼器的問題,求大神賜教,這是什么問題呢?(可能是兼容性?)
2015-10-24 21:11:30
編碼器的結構域工作原理是什么?伺服電機與編碼器的工作是什么?
伺服電機的種類有哪些?伺服電機主要的作用是什么?編碼器的結構域工作原理是什么?編碼器的分類和特點有哪些?伺服電機與編碼器的工作是什么?
2021-06-28 08:11:44
編碼器飛車
為什么在使用同步機做自整定的時候,整定的角度有時候偏差會比較大,會出現飛車現象。而更改編碼器后可以正常整定。請問編碼器什么情況下會導致這樣的問題。另外,斷電測試時候,編碼器會損壞的原因有哪些?(電源穩定)
2018-09-07 14:40:40
什么是線性編碼器
`線性編碼器是什么呢,首先我們要先了解一下編碼器什么,編碼器就是把數據利用一定的原理,把數據編輯整理,進而轉換成能利用通訊采集的信號的一種設備。這里我們一般認為編碼器就是普通的光電編碼器,光電編碼器
2019-12-17 11:22:04
什么是脈沖編碼器?訪問脈沖編碼器的設備
脈沖編碼器簡介脈沖編碼器是利用光學、磁性或機械接點的方式感測位置,并將位置信息轉換為電子信號后輸出的傳感器。其輸出的電子信號一般被用作控制位置時的回授信號。脈沖編碼器按照工作原理可分為增量式和絕對式
2021-03-29 06:12:47
光柵編碼器有什么分類?
光柵編碼器可分為兩大類,一是旋轉編碼器,用于轉角、轉速的測量;二是直尺型編碼器,用于直線位移、運動速度的測量。在旋轉編碼器中,又可分為絕對式編碼器和增量式編碼器。
2019-10-18 09:03:30
單片機讀取光柵編碼器角度的方法是什么?
增量式編碼器工作原理是什么?增量式編碼器的結構是由哪些部分組成的?光電旋轉編碼器使用方法是什么?單片機讀取光柵編碼器角度的方法是什么?
2021-06-30 07:29:18
怎么實現labview控制編碼器
我想實現這樣的效果:先讀取編碼器上的角度值,然后連續發相位相差90度的脈沖去改變角度值(也就是用程序控制編碼器的旋鈕)并且不斷讀取編碼器上的值,我是用PCI-6221(37Pin)采集卡的,求各位大神幫幫忙。。。。。
2013-07-22 17:25:38
急!怎么實現labview 程序控制編碼器
我想實現這樣的效果:先讀取編碼器上的角度值,然后連續發相位相差90度的脈沖去改變角度值(也就是用程序控制編碼器的旋鈕)并且不斷讀取編碼器上的值,我是用PCI-6221(37Pin)采集卡的,求各位大神幫幫忙。。。。。
2013-07-23 08:21:13
旋轉編碼器是如何工作的?
旋轉編碼器是一種經過驗證的流行解決方案,用于測量旋轉軸的速度,運動方向或位置。有幾種不同的類型,主要的兩種是絕對編碼器和增量編碼器。是如何工作的?有什么不同?如何為應用選擇合適的類型?
2021-01-01 07:46:31
是選擇光編碼器還是磁編碼器
選擇光編碼器還是磁編碼器可靠的編碼器,必須保證每次轉過相同的角度發出同樣數量的脈沖。光編碼器光收發器和旋轉碼盤比磁編碼器的芯片更容易損壞。磁編碼器幾乎沒有運動部件。而光編碼器靠著脆弱的機構來獲取
2021-06-28 11:35:40
步進電機和編碼器控制問題請教
帶編碼器的步進電機,電機在工作的情況下有時會出現電機自身的步數和編碼器測得的步數不一致的情況!以編碼器測得的步數和電機自身的步數對比,調整電機步數,有時會出現調整后的電機位置與預設位置不符現象,(步進電機步數準確,編碼器不準確?)問下有什么辦法解決沒?
2018-05-09 22:37:31
磁編碼器和光電編碼器的未來
15年左右行業內開始掀起風磁編碼器替代光電編碼器,而且在22年的時候國內幾家磁編發展迅速取得了很大的成績,可是23年開始隨著光電編碼成本的下調技術的革新,又有客戶回歸到用光電的技術。
是不是現在達到一個平衡點了?還是說磁編還有突破的空間?
2023-09-26 13:03:43
采用FPGA增量式編碼器實現接口設計
,不宜實現小型化。增量式光電編碼器不具有計數和接口電路,一般輸出A、B、Z脈沖信號,價格較低,在實際工程中比較常用。文中設計了一個基于FPGA的簡單且精度高的接口電路,其結構簡單、性能可靠。具有濾波
2019-06-10 05:00:08
基于IEEE802.16e的LDPC編碼器設計與實現
提出了一種基于IEEE802.16e的具有線性編碼復雜度的LDPC碼的硬件編碼器結構,并且在TSMC的0.18?滋m工藝庫的最惡劣情況下,通過Design Compiler工具綜合可以達到385MHz的速度。
2010-07-06 16:59:2823
基于FPGA的AVS-P2熵編碼器設計
本文重點研究了AVS-P2熵編碼器的算法、結構以及利用FPGA實現的若干關鍵問題,給出了詳細的塊變換系數熵編碼器硬件結構,并通過了仿真驗證。實現中提出了一種新的2D-VLC碼表存儲
2010-08-06 16:37:3824
一種輸出格式可控的多碼率LDPC編碼器實現
一種輸出格式可控的多碼率LDPC編碼器實現
0 引 言
目前,LDPC碼已廣泛應用于深空通信、光纖通信、數字音視頻廣播等領域。由于有著較Turbo碼更優秀的性能,
2009-11-25 09:56:431379
PCM編碼器,PCM編碼器是什么意思
PCM編碼器,PCM編碼器是什么意思
優先編碼器:
上述機械式按鍵編碼電路雖然比較簡單,但當同時按下兩個或更多個鍵時,其輸出將是
2010-03-08 16:27:552243
基于增量式編碼器的去毛刺算法實現
分析機械式增量型編碼器的毛刺產生機理,結合編碼器有效旋轉波形和幾種毛刺波形的特點,提出一種新的去毛刺算法,在編碼器的相位超前輸出端的下降沿,判斷一次相位滯后端的輸
2011-09-07 14:59:5480
基于FPGA增量式編碼器的接口設計
分析了光電編碼器4倍頻原理,提出了一種基于可編程邏輯器件FPGA對光電增量式編碼器輸出信號4倍頻、鑒相、計數的具體方法,它對提高編碼器分辨率與實現高精度、高穩定性的信號檢測
2011-11-03 15:13:1675
基于IEEE802.16e標準的LDPC編碼器設計與實現
根據IEEE802.16e標準中對LDPC碼的定義,利用FPGA對編碼器進行了實現。所采用的算法使用了線性復雜度編碼,降低了邏輯資源占用量,并提高了編碼速度。
2011-12-07 14:06:1433
光電編碼器分類
光電編碼器主要有增量式編碼器、絕對式編碼器、混合式絕對值編碼器、旋轉變壓器、正余弦伺服電機編碼器等,其中增量式編碼器、絕對式編碼器、混合式絕對值編碼器屬于數字量編碼器,旋轉變壓器、正余弦伺服電機編碼器屬于模擬量編碼器。
2018-10-21 10:32:2914397
伺服電機編碼器原理_伺服電機編碼器種類
伺服電機編碼器是安裝在伺服電機上用來測量磁極位置和伺服電機轉角及轉速的一種傳感器,從物理介質的不同來分,伺服電機編碼器可以分為光電編碼器和磁電編碼器,另外旋轉變壓器也算一種特殊的伺服編碼器,市場上使用的基本上是光電編碼器,不過磁電編碼器作為后起之秀,有可靠,價格便宜,抗污染等特點,有趕超光電編碼器的趨勢。
2019-11-07 09:18:539467
使用FPGA實現MELP語音壓縮編碼器的詳細資料說明
基于CPU軟核模塊算法IP的方法對一個1.6Kb/s類MELP語音壓縮編碼算法進行了實現,并將整個語音壓縮編碼器在FPGA上進行了整體驗證,實驗結果說明本文給出的語音壓縮編碼器的實現結構是可行
2021-01-22 15:08:3817
編碼器參數_編碼器型號說明
編碼器一種很常見的人機交互信息輸入元器件, 主要分為兩大類一類是光電編碼器一類是接觸式的編碼器,今天主要跟大家分享一下接觸式旋轉編碼器型號以及 命名規則。
2021-02-19 15:15:5328524
編碼器怎么使用_編碼器調試方法
消防工程施工中,給報警設備編碼是基礎工作。有些沒有接觸過消防安裝工程的人對如何使用編碼器給設備編碼感到困惑。本文章為您提供消防設備設備編碼器編碼的步驟。
2021-02-19 15:28:4728246
增量式編碼器和絕對值編碼器選哪個?
增量式編碼器和絕對值編碼器哪個好? 編碼器是伺服系統上的重要組成部分,可以發送脈沖給驅動器,用于運動位置的矯正,實現閉環控制。目前,常見的伺服編碼器類型有增量式編碼器以及絕對值編碼器兩種,它們哪個
2023-03-19 23:30:032562
什么是編碼器?編碼器有哪些作用?
的作用。通過對生產裝備或機器人的位移和角度等數據的傳感和處理,可以實現自動化控制和調整,提高生產效率和品質。編碼器也可以幫助工程師研究和改善系統運行,優化設計并提高生
2023-03-13 17:44:184734
增量型編碼器與絕對值編碼器
增量型編碼器與絕對值型編碼器怎么選擇?在進行編碼器選擇時,增量型編碼器和絕對值型編碼器是兩種常見的選擇。增量型編碼器是一種基于脈沖計數的編碼器,通常由光電編碼器和霍爾編碼器組成。這種編碼器的主要優點
2023-05-08 11:28:331341
編碼器種類及型號
編碼器種類及型號:最常見的編碼器類型是旋轉編碼器和線性編碼器。旋轉編碼器通常用于測量機器人的關節位置,以及測量車輛和船只的轉向角度。線性編碼器通常用于測量運動平臺的位置和速度。旋轉編碼器和線性編碼器可以分為絕對式和增量式編碼器。絕對式編碼器可以直接讀取位置信息,而增量式編碼器則需要計算位置信息。
2023-05-18 11:15:003459
編碼器是什么?編碼器有哪些分類及應用
編碼器是什么?編碼器有哪些分類及應用;編碼器是什么?在數字信號處理和通信系統中,編碼器是一種重要的設備,用于將原始數據轉換為字符序列或二進制碼序列。編碼器是一種可以同時測量物體位置和方向的蒿精度
2023-05-18 11:08:473137
伺服電機編碼器
伺服電機編碼器 伺服電機編碼器是安裝在伺服電機上用來測量磁極位置和伺服電機轉角及轉速的一種傳感器,從物理介質的不同來分,伺服電機編碼器可以分為光電編碼器和磁電編碼器,另外旋轉變壓器也算一種特殊的伺服
2023-06-26 14:01:01900
磁性編碼器和光電編碼器的比較
伺服電機編碼器是一種關鍵的反饋裝置,用于測量和控制電機的轉速和位置。在選擇伺服電機編碼器時,常常面臨一個選擇:使用磁電編碼器還是光電編碼器。接下來將從幾個關鍵方面比較這兩種類型的編碼器,以幫助您做出更明智的選擇。
2024-01-18 10:29:02464
編碼器好壞怎么判斷,編碼器原理
編碼器(Encoder)是將輸入數據轉化為特定編碼表示的一種技術。對于不同類型的編碼器,評判其好壞可以從多個方面進行考量,包括編碼質量、速度、模型結構等。 編碼器的原理主要基于自動編碼器
2024-01-23 10:58:07415
評論
查看更多