基于5G系統的打孔LDPC編碼和均勻量化NMS譯碼算法matlab性能仿真

目錄

1.引言

2.算法仿真效果演示

3.數據集格式或算法參數簡介

4.算法涉及理論知識概要

4.1打孔技術

4.2 均勻量化NMS譯碼

5.參考文獻

6.完整算法代碼文件獲得


1.引言

? ? ? ? 在5G通信系統中,信道編碼技術是保障高速率、高可靠性數據傳輸的核心支撐,而低密度奇偶校驗碼(LDPC)憑借其逼近香農極限的性能和可并行譯碼的特性,被3GPP選定為5G NR中 eMBB(增強移動寬帶)場景的核心編碼方案。為了適配不同業務的碼長需求并降低譯碼復雜度,5G 系統中引入了打孔LDPC編碼和均勻量化歸一化最小和(NMS)譯碼算法。

2.算法仿真效果演示

軟件運行版本:

matlab2024b

仿真結果如下(仿真操作步驟可參考程序配套的操作視頻,完整代碼運行后無水印)

3.數據集格式或算法參數簡介

%量化參數
q = 6;
f = 2;
I_max     = 20;% 最大迭代次數
Frames    = 2000;% 最大塊數
MIN_ERR   = 10000;% 最小錯誤數
SNRs      = 0:0.5:3;    % 信噪比范圍
alpha     = 0.797;% 譯碼算法參數
beta      = 0.6;% 譯碼算法參數
B         = 1920;% 信息塊大小
code_rate = 1/2;% 碼率

4.算法涉及理論知識概要

? ? ? ?LDPC碼是一種線性分組碼,由稀疏奇偶校驗矩陣(Parity-Check Matrix,簡稱 H 矩陣)定義,其編碼和譯碼過程均圍繞 H 矩陣展開。5G標準中的LDPC碼在設計上兼顧了靈活性與性能,通過母碼(Mother Code)+ 打孔(Puncturing)?的方式支持可變碼長,滿足從短碼(如控制信道)到長碼(如數據信道)的全場景需求。

? ? ? ? 5G LDPC的母碼采用準循環(Quasi-Cyclic, QC)結構,其H矩陣由多個子矩陣塊組成,形式如下:

    ? ? ? ?Hpc?為校驗置換矩陣(Parity-Check Permutation Matrix),維度為Z×K(Z為擴展因子,K為信息位長度),用于實現基礎校驗功能;

    Hbg?為背景矩陣(Base Graph),5G定義了兩種背景矩陣(BG1和BG2):

    BG1適用于長碼(信息位長度?K≥640),側重高速率傳輸;

    BG2適用于短碼(K<640),側重低時延場景。

    ? ? ? ?背景矩陣由循環移位子矩陣(Circulant Submatrix)構成,每個子矩陣為單位矩陣經循環移位s位后的矩陣(s=?1?表示全零矩陣),這種結構可大幅降低編碼復雜度。

    4.1打孔技術

    ? ? ? ?打孔是指在母碼編碼后,人為刪除部分校驗位(或信息位),僅傳輸剩余比特,接收端通過補零(或預設值)恢復完整碼長后再譯碼的技術。5G LDPC中打孔的核心目的是:

    靈活適配碼長:通過刪除母碼的部分校驗位,生成比母碼短的碼長,避免為每個碼長設計獨立編碼器;

    提升碼率:刪除校驗位會使碼率?R=k/n(k為信息位,n為編碼后長度)提高,適配高吞吐量需求;

    優化性能:通過選擇刪除 “冗余度低” 的校驗位,在碼率提升的同時盡可能減少性能損失。

      ? ? ? ?5G標準中,打孔位置的選擇遵循結構化規則,以保證譯碼性能的穩定性。對于母碼生成的校驗位,按 “重要性” 排序后刪除最不重要的部分:

      ? ? ? ?校驗位的重要性由其在 H 矩陣中的 “連接度”(與信息位的連接數)決定,連接度越高的校驗位對譯碼可靠性影響越大,優先保留;

      ? ? ? ?打孔后的碼長需滿足?母碼(p為打孔位數),且碼率R需在5G規定的范圍內(如 0.25~0.93)。

      例如,當母碼碼長為8192、碼率0.5時,若需生成碼率0.8的碼字,可通過打孔刪除8192×(1?0.5/0.8)=3072個校驗位,僅傳輸 5120 個比特。

      4.2 均勻量化NMS譯碼

      ? ? ? ?在實際硬件中,LLR和消息的精度會影響譯碼性能和存儲資源。5G系統采用均勻量化技術,將連續的消息值映射到有限的離散電平(如4bit或6bit量化):

      ? ? ? ?均勻量化可大幅減少存儲和計算資源(如 6bit量化比浮點精度減少約80%的存儲需求),同時通過優化量化比特數(5G中推薦4~6bit),可將性能損失控制在0.2dB以內。

      5.參考文獻

      [1]盧黎明.低復雜度5G-NR LDPC碼編譯碼器設計與FPGA實現[D].北京郵電大學,2023.

      [2]王博遠.基于5G LDPC碼的散射自適應調制編碼應用技術研究[D].中國電子科技集團公司電子科學研究院,2021.

      6.完整算法代碼文件獲得

      完整程序見博客首頁左側或者打開本文底部

      V

      本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
      如若轉載,請注明出處:http://www.pswp.cn/diannao/91846.shtml
      繁體地址,請注明出處:http://hk.pswp.cn/diannao/91846.shtml
      英文地址,請注明出處:http://en.pswp.cn/diannao/91846.shtml

      如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

      相關文章

      基于Java標準庫讀取CSV實現天地圖POI分類快速導入PostGIS數據庫實戰

      目錄 前言 一、天地圖POI分類簡介 1、數據表格 2、分類結構 二、從CSV導入到PG數據庫 1、CSV解析流程 2、數據轉換及入庫 3、入庫成果及檢索 三、總結 前言 在之前的博客中&#xff0c;曾經對高德地圖和百度地圖的POI分類以及使用PostGIS數據庫來進行管理的模式進行了詳…

      人-AI交互中的信息論不同于傳統的信息論,其信息的增量≠不確定性的減量

      在人機交互&#xff08;Human-AI Interaction, HAI&#xff09;領域&#xff0c;信息論的應用確實與傳統的信息論有所不同。這種差異主要源于人機交互HAI中信息的復雜性、動態性以及人類認知的特點。1. 傳統信息論的核心概念傳統信息論由克勞德香農&#xff08;Claude Shannon&…

      K8s 通過 Scheduler Extender 實現自定義調度邏輯

      1. 為什么需要自定義調度邏輯 什么是所謂的調度? 所謂調度就是指給 Pod 對象的 spec.nodeName 賦值 待調度對象則是所有 spec.nodeName 為空的 Pod 調度過程則是從集群現有的 Node 中為當前 Pod 選擇一個最合適的 實際上 Pod 上還有一個平時比較少關注的屬性&#xff1a;…

      7.19 換根dp | vpp |滑窗

      lcr147.最小棧通過兩個棧 維護實現class MinStack { public:stack<int> A, B;MinStack() {}void push(int x) {A.push(x);if(B.empty() || B.top() > x)B.push(x);}void pop() {if(A.top() B.top())B.pop();A.pop();}int top() {return A.top();}int getMin() {retur…

      以太坊的心臟與大腦:詳解執行客戶端(EL)與共識客戶端(CL)

      好的&#xff0c;各位技術同道&#xff0c;歡迎再次光臨我的博客。在上一篇文章中&#xff0c;我們聊了如何搭建一個以太坊測試節點&#xff0c;并提到了節點需要同時運行“執行客戶端”和“共識客戶端”。很多朋友對此表示了濃厚興趣&#xff0c;想深入了解這兩者究竟是什么&a…

      Debian-10,用glibc二進制預編譯包,安裝Mysql-5.7.44 筆記250716

      Debian-10,用glibc二進制預編譯包,安裝Mysql-5.7.44 筆記250716 &#x1f4e6; 一步腳本 #!/bin/bash### 安裝依賴 apt install -y libaio1 libnuma1 libncurses5### 下載MySQL-5.7.44 的 glib二進制包: mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz ,(如果不存在) mkdir…

      用邏輯回歸(Logistic Regression)處理鳶尾花(iris)數據集

      # 導入必要的庫 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from…

      華大北斗TAU1201-1216A00高精度雙頻GNSS定位模塊 自動駕駛專用

      在萬物互聯的時代&#xff0c;您還在為定位不準、信號丟失而煩惱嗎&#xff1f;TAU1201-1216A00華大北斗高精度定位模塊TAU1201是一款高性能的雙頻GNSS定位模塊&#xff0c;搭載了華大北斗的CYNOSURE III GNSS SoC 芯片&#xff0c;該模塊支持新一代北斗三號信號體制&#xff0…

      堅持繼續布局32位MCU,進一步完善產品陣容,96Mhz主頻CW32L012新品發布!

      在全球MCU市場競爭加劇、國產替代加速的背景下&#xff0c;嵌入式設備對核心控制芯片的性能、功耗、可靠性及性價比提出了前所未有的嚴苛需求。為適應市場競爭&#xff0c;2025年7月16日&#xff0c;武漢芯源半導體正式推出基于CW32L01x系列低功耗微控制器家族的全新成員&#…

      用線性代數推導碼分多址(CDMA)

      什么是碼分多址 碼分多址&#xff1a;CDMA允許多個用戶同時、在同一頻率上傳輸數據。它通過給每個用戶分配唯一的、相互正交的二進制序列來實現區分。用戶的數據比特被這個碼片序列擴展成一個高速率的信號&#xff0c;然后在接收端通過相同的碼片序列進行相關運算來回復原數據 …

      mac 配置svn

      1.查看brew的版本&#xff1a;brew install subversion2.安裝brew命令&#xff1a;bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"3.把路徑添加到path環境變量&#xff1a;echo export PATH"/opt/homebrew/b…

      使用 .NET Core 的原始 WebSocket

      在 Web 開發中&#xff0c;后端存在一些值得注意的通信協議&#xff0c;用于將更改通知給已連接的客戶端。所有這些協議都用于處理同一件事。但鮮為人知的協議很少&#xff0c;鮮為人知的協議也很少。今天&#xff0c;將討論 WebSocket&#xff0c;它在開發中使用最少&#xff…

      編程實現Word自動排版:從理論到實踐的全面指南

      在現代辦公環境中&#xff0c;文檔排版是一項常見但耗時的工作。特別是對于需要處理大量文檔的專業人士來說&#xff0c;手動排版不僅費時費力&#xff0c;還容易出現不一致的問題。本文將深入探討如何通過編程方式實現Word文檔的自動排版&#xff0c;從理論基礎到實際應用&…

      力扣經典算法篇-25-刪除鏈表的倒數第 N 個結點(計算鏈表的長度,利用棧先進后出特性,雙指針法)

      1、題干 給你一個鏈表&#xff0c;刪除鏈表的倒數第 n 個結點&#xff0c;并且返回鏈表的頭結點。 示例 1&#xff1a;輸入&#xff1a;head [1,2,3,4,5], n 2 輸出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 輸入&#xff1a;head [1], n 1 輸出&#xff1a;[] 示例 3&…

      VIT速覽

      當我們取到一張圖片&#xff0c;我們會把它劃分為一個個patch&#xff0c;如上圖把一張圖片劃分為了9個patch&#xff0c;然后通過一個embedding把他們轉換成一個個token&#xff0c;每個patch對應一個token&#xff0c;然后在輸入到transformer encoder之前還要經過一個class …

      【服務器與部署 14】消息隊列部署:RabbitMQ、Kafka生產環境搭建指南

      【服務器與部署 14】消息隊列部署&#xff1a;RabbitMQ、Kafka生產環境搭建指南 關鍵詞&#xff1a;消息隊列、RabbitMQ集群、Kafka集群、消息中間件、異步通信、微服務架構、高可用部署、消息持久化、生產環境配置、分布式系統 摘要&#xff1a;本文從實際業務場景出發&#x…

      LeetCode中等題--167.兩數之和II-輸入有序數組

      1. 題目 給你一個下標從 1 開始的整數數組 numbers &#xff0c;該數組已按 非遞減順序排列 &#xff0c;請你從數組中找出滿足相加之和等于目標數 target 的兩個數。如果設這兩個數分別是 numbers[index1] 和 numbers[index2] &#xff0c;則 1 < index1 < index2 <…

      【C# in .NET】19. 探秘抽象類:具體實現與抽象契約的橋梁

      探秘抽象類:具體實現與抽象契約的橋梁 在.NET類型系統中,抽象類是連接具體實現與抽象契約的關鍵橋梁,它既具備普通類的狀態承載能力,又擁有類似接口的行為約束特性。本文將從 IL 代碼結構、CLR 類型加載機制、方法調度邏輯三個維度,全面揭示抽象類的底層工作原理,通過與…

      Apache RocketMQ + “太乙” = 開源貢獻新體驗

      Apache RocketMQ 是 Apache 基金會托管的頂級項目&#xff0c;自 2012 年誕生于阿里巴巴&#xff0c;服務于淘寶等核心交易系統&#xff0c;歷經多次雙十一萬億級數據洪峰穩定性驗證&#xff0c;至今已有十余年發展歷程。RocketMQ 致力于構建低延遲、高并發、高可用、高可靠的分…

      永磁同步電機控制算法--弱磁控制(變交軸CCR-VQV)

      一、原理介紹CCR-FQV弱磁控制不能較好的利用逆變器的直流側電壓&#xff0c;造成電機的調速范圍窄、效率低和帶載能力差。為了解決CCR-FQV弱磁控制存在的缺陷&#xff0c;可以在電機運行過程中根據工況的不同實時的改變交軸電壓給定uq?的值&#xff0c;實施 CCR-VQV弱磁控制。…