主要内容

二元同步通信

二进制对称信道

描述

ndata =二元同步通信(数据、概率)通过二进制输入信号数据通过一个二进制对称信道有指定的错误概率。频道介绍一点错误和过程输入的每个元素数据独立。数据必须一组二进制数或一系列伽罗瓦GF (2)。概率必须是一个标量从0到1。

ndata =二元同步通信(数据、概率streamhandle)接受一个随机流处理生成均匀噪声样本使用兰德。提供一个随机流处理或使用重置(RandStream)功能默认随机流对象允许您生成重复的噪声样本。有关更多信息,请参见RandStream

ndata =二元同步通信(数据、概率、种子)接受一个种子值,初始化随机数生成器,兰德。如果你想产生可重复的噪声样本,然后重置随机流输入之前调用二元同步通信输入或使用相同的种子。

[ndata,犯错]=二元同步通信(___)返回一个数组,其中包含通道错误,使用任何前面的语法。

例子

全部折叠

使用二元同步通信函数,随机矩阵中引入一些错误比特概率为0.15。

z =兰迪([0,1],100100);%随机矩阵新西兰=二元同步通信(z,酒精含量);%二进制对称信道[numerrs, pcterrs] = biterr (z,新西兰)%的数量和比例错误
numerrs = 1509
pcterrs = 0.1509

下面是典型的输出。对于相对小的数据集,错误不是15%的比例在大多数试验。如果矩阵的大小z很大,有些错误比例将接近您所指定的精确概率。

使用二元同步通信函数,随机矩阵中引入一些错误比特概率为0.01。使用维特比解码器解码消息数据。

为维特比译码器定义框架。生成和编码消息数据。

灵(= poly2trellis (3 [4], [4 5 17; 7 4 2]);味精= 1 (10000 1);

创建对象的卷积编码器、维特比译码器和出错率计算器。

hEnc = comm.ConvolutionalEncoder(灵);hVitDec = comm.ViterbiDecoder(灵,“InputFormat”,“硬”,“TracebackDepth”,2,“TerminationMethod”,“截断”);hErrorCalc = comm.ErrorRate;

对消息数据编码。引入一些错误。显示错误的总数。

代码= hEnc(味精);[ncode,犯错]=二元同步通信(代码,. 01);numchanerrs =总和(sum (err))
numchanerrs = 158

解码后的数据的数量并检查错误解码。

dcode = hVitDec (ncode);berVec = hErrorCalc(味精,dcode);数量= berVec (1)
1 = 0.0049
numsyserrs = berVec (2)
numsyserrs = 49

扩展功能

版本历史

之前介绍过的R2006a