[發明專利]一種viterbi譯碼回溯深度動態改變的方法有效
| 申請號: | 201910925519.3 | 申請日: | 2019-09-27 |
| 公開(公告)號: | CN110708140B | 公開(公告)日: | 2022-04-01 |
| 發明(設計)人: | 劉華東;黃立新 | 申請(專利權)人: | 廣州粒子微電子有限公司 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00;H03M13/23 |
| 代理公司: | 北京中索知識產權代理有限公司 11640 | 代理人: | 胡大成 |
| 地址: | 510663 廣東省廣州*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 viterbi 譯碼 回溯 深度 動態 改變 方法 | ||
本發明提供一種viterbi譯碼回溯深度動態改變的方法,每次只做設定大小的trellis長度,然后回溯輸出一個bit。隨后再移動一個bi做trellis,再回溯輸出一個bit,依次滑動窗口的方式,逐個窗口輸出一個bit值。本發明的回溯方法大大節省了內存空間,節省了成本,而且性能更優于傳統方法,使得誤碼率更低了。本發明對芯片及嵌入式產品開發的意義重大。
技術領域
本發明涉及通信領域Viterbi譯碼算法實現方法,尤其涉及一種viterbi譯碼回溯深度動態改變的方法。
背景技術
信道編碼是現代通信系統廣泛采用的一種差錯控制措施。利用將“數據序列”轉變成“更好的序列”產生冗余比特,這些冗余比特可以用于檢測錯誤和糾正錯誤。咬尾卷積碼是信道編碼中最為重要的一類。
Viterbi(維特比算法)是對咬尾卷積編碼進行譯碼方法之一,它的限制長度為7,編碼速率為1/3,使用碼塊的最后6bit信息來初始化6個編碼移位寄存器。Viterbi算法其實就是多步驟每步多選擇模型的最優選擇問題,其在每一步的所有選擇都保存了前續所有步驟到當前步驟當前選擇的最小值(或者最大值)以及當前代價的情況下前繼步驟的選擇。依次計算完所有步驟后,通過回溯的方法找到最優選擇路徑。例如(3,1,7)咬尾卷積碼在使用Viterbi算法進行譯碼時,在每一時間內,要遍歷64種狀態,如此大的運算量對終端的處理速度提出了很高的要求。首先計算每個待譯碼的bit對應64種狀態的PM值(path metric,路徑度量值),同時保存每個狀態的trellis值。然后找出最優的PM值,即64狀態中找出最大PM值,最后從待譯碼的末尾往前逐個回溯輸出每個bit值,現有技術的trellis和回溯的深度是固定的。
這種方法效率低,對通信帶來的時延很大,僅適用于低速、小容量、對實時性要求低的通信系統。但是,隨著通信技術的發展,低速、小容量的通信顯然不能滿足人們的需求,人們更希望速率高、實時性好的通信系統。
發明內容
有鑒于此,為了解決現有技術的問題,本發明提供一種viterbi譯碼回溯深度動態改變的方法,可以動態改變trellis與回溯的深度,也就是不需要對所有的待譯碼的bit一次性做完trellis,再一次性回溯輸出每個bit值。
本發明是通過以下技術方案實現的:
根據本發明的第一種方案:一種viterbi譯碼回溯深度動態改變的方法,包括以下步驟:
步驟1、初始化參數;
步驟2、根據初始化參數做設定bit深度的下限值的trellis;
步驟3、找出最優的PM值作為最優路徑;
步驟4、從找到的最優路徑開始回溯做的trellis深度,回溯完只輸出第一個譯碼比特;
步驟5、檢查是否所有bit都完成譯碼,如果是則結束;如果否則接著向前移動一個bit,隨后重復步驟2至步驟5,直到所有bit都完成譯碼。
在上述方案的基礎上,在步驟1和步驟2之間還包括預做設定數量bit的trellis的步驟,作為本發明的第二方案。
優選的,上述第二方案中,預做設定數量bit的trellis時,不保存trellis值。
優選的,上述第二方案中,所述設定數量bit為80bit。
作為上述兩個方案的更進一步,所述的初始化參數,包括申請內存空間、設置回溯深度。
作為上述兩個方案的更進一步,所述的回溯深度是一個范圍值,設定的深度越深,占用的內存越大。
作為上述兩個方案的更進一步,所述的回溯深度下限值為40bit,上限值為80bit。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州粒子微電子有限公司,未經廣州粒子微電子有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910925519.3/2.html,轉載請聲明來源鉆瓜專利網。





