主要内容

comm.LDPCDecoder

解码二进制低密度校验码

描述

comm.LDPCDecoderSystem object™使用信念传播算法解码二进制LDPC码,作为解调后的软判决输出(接收比特的对数似然比)输入到目标。该目标解码一般的二进制LDPC码,其中奇偶校验矩阵中没有模式假设。有关更多信息,请参见信仰传播解码

解码ldpc编码的信号。

  1. 创建comm.LDPCDecoder对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

例子

ldpcdecoder= comm.LDPCDecoder创建二进制LDPC解码器System对象。该节点根据指定的奇偶校验矩阵执行LDPC译码。

ldpcdecoder= comm.LDPCDecoder (奇偶校验设置ParityCheckMatrix财产奇偶校验并创建LDPC解码器System对象。的奇偶校验属性的描述必须指定输入ParityCheckMatrix财产。

ldpcdecoder= comm.LDPCDecoder (___的名字价值使用一个或多个名称-值对设置属性,以及来自任何前面语法的输入。例如,comm.LDPCDecoder(“DecisionMethod”、“软决定”)配置LDPC解码器System对象使用软判决方法解码数据,并输出数据类型的对数似然比.将每个属性名用引号括起来。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

奇偶校验矩阵,指定为稀疏(N- - - - - -K)———Nbinary-valued矩阵。N接收信号的长度必须在范围(0,231).K非编码消息的长度是否必须小于N.最后一个(N- - - - - -K)奇偶校验矩阵的列必须是伽罗瓦域2阶的可逆矩阵,女朋友(2).

你也可以将奇偶校验矩阵指定为两列非稀疏索引矩阵,的行和列索引1在奇偶校验矩阵中稀疏(我(:1),我(:,2),1)

此属性接受数字数据类型。当您将此属性设置为稀疏二进制矩阵时,此属性还接受逻辑数据类型。

默认值使用dvbs2ldpc功能配置半率LDPC编码的稀疏奇偶校验矩阵,如DVB-S中规定的。2标准。

例子:dvbs2ldpc (R,“指数”)配置DVB-S的索引矩阵。2标准,R是码率,和“指标”的输出格式dvbs2ldpc类的行和列索引定义为两列双精度矩阵1S在奇偶校验矩阵中。

数据类型:|逻辑

输出值格式,指定为以下值之一:

  • “信息部分”—对象输出aK-by-1列向量,只包含信息——接收到的对数似然比向量的一部分。K为未编码消息的长度。

  • “整个码字”—对象输出anN-乘1列向量包含整个对数似然比向量。N为接收信号的长度。

    NK必须与(N- - - - - -K)———K奇偶校验矩阵。

数据类型:字符

用于解码的判定方法,指定为以下值之一:

  • “艰难的决定”—输出数据类型的解码数据逻辑

  • “软的决定”—对象输出数据类型的对数似然比

数据类型:字符

迭代终止的条件,指定为以下值之一:

  • “最大迭代数”—在指定的迭代次数之后解码结束MaximumIterationCount财产。

  • “奇偶校验满意”—解码在满足所有奇偶校验后终止。如果不满足所有的奇偶校验,解码将在指定的迭代次数之后终止MaximumIterationCount财产。

数据类型:字符

解码迭代的最大次数,指定为正整数。

数据类型:

执行的迭代的输出次数,指定为真正的.若要输出执行的迭代次数,请将此属性设置为真正的

数据类型:逻辑

输出最终奇偶校验,指定为真正的.若要输出最终计算的奇偶校验,请将此属性设置为真正的

数据类型:逻辑

使用

描述

例子

y= ldpcdecoder (x使用基于默认奇偶校验矩阵的LDPC码解码输入数据。

ynumiter) = ldpcdecoder (x返回已解码的数据,y,以及执行的迭代次数,numiter.要使用此语法,请设置NumIterationsOutputPort财产真正的

y奇偶校验) = ldpcdecoder (x返回已解码的数据,y,以及最后的奇偶校验,奇偶校验.要使用此语法,请设置FinalParityChecksOutputPort财产真正的

ynumiter奇偶校验) = ldpcdecoder (x返回已解码的数据、执行的迭代次数和最终的奇偶校验。要使用此语法,请设置NumIterationsOutputPortFinalParityChecksOutputPort属性真正的

输入参数

全部展开

对数似然比,指定为N-by-1列向量,包含解调的软判决输出。N为LDPC码字调制前的比特数。每个元素都是接收比特的对数似然比。元素值更有可能是0如果对数似然比为正。第一个K元素对应于信息——输入消息的一部分。

数据类型:

输出参数

全部展开

已解码的数据,作为列向量返回。的DecisionMethod属性指定对象输出的是硬决策还是软决策(log-likelihood ratio)。

  • 如果OutputValue属性设置为“信息部分”,输出只包含信息——接收到的对数似然比向量的一部分。

  • 如果OutputValue属性设置为“整个码字”,输出包括整个对数似然比向量。

数据类型:|逻辑

已执行的解码迭代次数,返回为正整数。

依赖关系

要启用此输出,请设置NumIterationsOutputPort财产真正的

译码输入LDPC码后的最终奇偶校验,返回为N-K) 1列向量。N为LDPC码字调制前的比特数。K为未编码消息的长度。

依赖关系

要启用此输出,请设置FinalParityChecksOutputPort财产真正的

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

通过AWGN信道传输ldpc编码、qpsk调制的比特流。解调和解码接收的信号。计算接收未编码和ldpc编码信号的错误统计信息。

定义模拟变量。为LDPC编码器、LDPC解码器、QPSK调制器和QPSK解调器创建System对象。

M = 4;调制顺序(QPSK)信噪比= (0.25,0.5,0.75,1.0,1.25);numFrames = 10;ldpcEncoder = comm.LDPCEncoder;ldpcDecoder = comm.LDPCDecoder;pskMod = comm.PSKModulator (M,“BitInput”,真正的);pskDemod = comm.PSKDemodulator (M,“BitOutput”,真的,“DecisionMethod””“近似对数似然比);pskuDemod = comm.PSKDemodulator (M,“BitOutput”,真的,“DecisionMethod”“艰难的决定”);errRate = 0(1、长度(信噪比));uncErrRate = 0(1、长度(信噪比));

对于每个信噪比设置和所有帧,计算未编码和ldpc编码信号的错误统计信息。

ii = 1:length(snr) ttlErr = 0;ttlErrUnc = 0;pskDemod。Variance = 1/10^(snr(ii)/10);%使用当前信噪比设置方差counter = 1:numFrames data = logical(randi([0 1],32400,1));发射和接收未编码信号数据mod_uncSig = pskMod(数据);rx_uncSig = awgn (mod_uncSig,信噪比(ii),“测量”);demod_uncSig = pskuDemod (rx_uncSig);numErrUnc = biterr(数据、demod_uncSig);ttlErrUnc = ttlErrUnc + numErrUnc;%发送和接收LDPC编码信号数据encData = ldpcEncoder(数据);modSig = pskMod (encData);rxSig = awgn (modSig,信噪比(ii),“测量”);demodSig = pskDemod (rxSig);rxBits = ldpcDecoder (demodSig);numErr = biterr(数据、rxBits);ttlErr = ttlErr + numErr;结束ttlBits = numFrames *长度(rxBits);uncErrRate (ii) = ttlErrUnc / ttlBits;errRate (ii) = ttlErr / ttlBits;结束

绘制未编码和ldpc编码数据的错误统计数据。

uncErrRate情节(信噪比,信噪比,errRate)传说(的未编码的“LDPC编码”)包含(“信噪比(dB)”) ylabel (“方方面面”

图中包含一个坐标轴。轴线包含2个线型对象。这些对象表示Uncoded, LDPC编码。

算法

全部展开

该对象使用信念传播算法(也称为消息传递算法)执行LDPC解码。

参考文献

罗伯特·G·加拉格低密度奇偶校验码.麻省理工学院出版社,1963年。

扩展功能

介绍了R2012a