文档

wlanBCCDecode

卷积解码输入数据

描述

例子

y= wlanBCCDecode (信谊卷积解码输入信谊在指定位置使用二进制卷积码(BCC).BCC是IEEE中定义的®802.11™-2012章节18.3.5.6和20.3.11.6。

y= wlanBCCDecode (信谊decType维特比译码算法的译码类型。

例子

y= wlanBCCDecode (信谊tDepth维特比译码算法的回溯深度。

例子

y= wlanBCCDecode (信谊decTypetDepth指定解码类型和回溯深度。decType而且tDepth以后可以按任何顺序摆放吗

例子

全部折叠

通过使用速率为1/2的BCC解码两个已编码的软比特流。

创建数据位序列。

dataBits = randi([0 1],100,1,“int8”);

解析IEEE®802.11™-2012节20.3.11.5和IEEE®802.11ac™-2013节22.3.10.5.2中定义的数据位。全国矿工工会是已编码流的数量。

numES = 2;parsedData =重塑(dataBits,numES,[]).';

bcc编码解析的序列。

encodedData = wlanBCCEncode(parsedData,“1/2”);

将编码位转换为软位(即LLR解调)。

demodData = double(1-2*encodedData);

bcc -解码解调数据。

decodedData = wlanBCCDecode(demodData,“1/2”);

离开已解码的数据。

deparsedData =重塑(decodedData.',[],1);

验证解码后的数据是否与原始数据相匹配。

isequal (dataBits deparsedData)
ans =逻辑1

通过使用速率为3/4的BCC和回溯深度为60来解码软位序列。

创建数据位序列。

dataBits = randi([0 1],300,1);

bcc编码比特序列。

encodedData = wlanBCCEncode(dataBits,3/4);

将编码位转换为软位(即LLR解调)。

demodData = 1-2*encodedData;

bcc -解码解调的比特。

tDepth = 60;decodedData = wlanBCCDecode(demodData,3/4,tDepth);

验证解码后的数据是否与原始数据相匹配。

isequal (dataBits decodedData)
ans =逻辑1

通过使用速率为3/4的BCC和45的回溯深度来解码一个硬位序列。

创建数据位序列。

dataBits = randi([0 1],300,1,“int8”);

bcc编码比特序列。

encodedData = wlanBCCEncode(数据,“2/3”);

对已编码的位执行硬BCC解码。指定回溯深度为45。

tDepth = 45;decodedBits = wlanBCCDecode(encodedData,“2/3”“硬”, tDepth);

验证解码后的位与原始位是否匹配。

isequal (dataBits decodedBits)
ans =逻辑1

输入参数

全部折叠

输入要解码的符号序列,指定为整数的数字矩阵。列的数量必须是编码流的数量。每个流都是单独编码的。当decType“软”或者没有指定,信谊一定是对数似然比的实矩阵。正值表示逻辑上的0,负值表示逻辑上的1。

数据类型:|int8

二进制卷积码(BCC)的码率,指定为标量、字符数组或字符串标量。必须是等于1/2、2/3、3/4或5/6的数值,或者字符向量或字符串标量等于“1/2”“2/3”“3/4”,或“5/6”

例子:“3/4”

数据类型:|字符|字符串

二进制卷积码(BCC)的解码类型,指定为字符向量或字符串标量。它可以是“硬”对于硬输入维特比算法,或者“软”为软输入维特比算法,没有任何量化。

数据类型:字符|字符串

维特比译码算法的回溯深度,指定为小于或等于输入符号个数的正整数信谊

例子:y = wlanBCCDecode(sym,'1/2','hard',50)

数据类型:

输出参数

全部折叠

二进制卷积解码输出,作为整数的二进制矩阵返回。的行数y等于输入的行数信谊乘以,四舍五入到下一个整数。的列数y等于的列数信谊

数据类型:int8

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

另请参阅

|

在R2017b中引入