主要内容

comm.ErrorRate

计算输入数据的比特或符号误码率

描述

comm.ErrorRate对象比较来自发射器的输入数据与来自接收器的输入数据,并将错误率作为运行统计数据进行计算。为了获得错误率,该对象将不相等的数据元素对的总数除以来自一个源的输入数据元素的总数。

计算错误率:

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

  2. 调用带有参数的对象,就像调用函数一样。

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

创建

描述

例子

errorRate= comm.ErrorRate创建一个错误率计算器系统对象™。此对象通过将接收到的数据与发送的数据进行比较,计算接收到的数据的错误率。

例子

errorRate= comm.ErrorRate (的名字价值属性使用一个或多个名称-值参数。例如,ReceiveDelay = 5指定接收数据落后于传输数据5个样本。

属性

全部展开

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

如果属性是可调,您可以随时更改其值。

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

接收数据滞后于传输数据的样本数,指定为非负整数。使用此属性将样本对齐,以便在传输和接收的输入数据向量中进行比较。

数据类型:

对象在比较开始时忽略的数据样本数,指定为非负整数。使用此属性可忽略两个输入信号的瞬态行为。

数据类型:

要考虑的样本,指定为以下值之一。

  • 整个框架—将接收到的所有数据样本与发送帧的数据样本进行比较

  • 自定义-设置样本在进行比较时要考虑的指标CustomSamples财产

  • 输入端口-设置样本在进行比较时要考虑的指标印第安纳州输入

数据类型:字符|字符串

比较数据时要考虑的样本指标,指定为正整数或正整数的列向量。默认值是一个空向量,它对应于使用接收帧中的所有样本的对象。

依赖关系

要启用此属性,请设置样品财产自定义

数据类型:

启用重置输入,指定为逻辑1真正的)或0).

数据类型:逻辑

使用

描述

例子

y= errorRate (tx处方统计传输和接收数据向量之间的差异数tx而且处方,分别。

例子

y= errorRate (tx处方印第安纳州基于样本索引计算传输和接收数据向量之间的差异数量印第安纳州.要启用此语法,请设置样品财产输入端口

y= errorRate (___重置方法时重置错误计数重置输入为非零值。要启用此语法,请设置ResetInputPort财产1真正的).

输入参数

全部展开

传输数据向量,指定为标量或列向量。

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

接收的数据向量,指定为标量或列向量。

请注意

如果指定tx处方Input作为标量,对象将此值与其他输入的所有元素进行比较。如果将两个输入指定为向量,则它们必须具有相同的大小和数据类型。

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

比较数据时要考虑的样本指标,指定为正整数或正整数的列向量。

依赖关系

要启用此输入,请设置样品财产输入端口

数据类型:|

重置错误计数,指定为逻辑1真正的)或0).若要重置对对象调用之间的错误计数,请将此属性设置为非零值。

依赖关系

要启用此输入,请设置ResetInputPort财产1真正的).

数据类型:|逻辑

输出参数

全部展开

发送和接收数据之间的差值,作为表单的列向量返回RN年代,在那里

  • R是错误率

  • N是错误的数量吗

  • 年代是否比较了样本的数量

数据类型:

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

例子

全部折叠

创建两个二进制向量并确定错误统计。

创建一个误码率计数器对象。

errorRate = com . errorRate;

创建一个二进制数据向量。

Tx = [1 0 1 0 1 0 1 0 1 0]';

在第一个和最后一个位引入错误。

Rx = tx;Rx (1) = ~ Rx (1);Rx(结束)= ~ Rx(结束);

计算发送和接收数据之间的差值。

y = errorRate(tx,rx);

显示误码率。

y (1)
Ans = 0.2000

显示错误数。

y (2)
Ans = 2

显示用于比较的样本总数。

y (3)
Ans = 10

创建一个8-DPSK调制器和解调器对,工作于二进制数据。

dpskModulator = comm.DPSKModulator(...ModulationOrder = 8, BitInput = true);dpskDemodulator = comm.DPSKDemodulator(...ModulationOrder = 8, BitOutput = true);

创建一个错误率计算器,计算由差分调制引起的三位(一个符号)瞬态。

= com . errorRate (...ComputationDelay = 3 =样品“输入端口”);

计算并显示指定样本指数的10帧的误码率。

BER = 0 (10,1);Ind = (1:3:96)';I = 1:10 tx = randi([0 1],96,1);%生成二进制数据modData = dpskModulator(tx);%调节rxSig = awgn(modData,7);%通过AWGN通道rx = dpskDemodulator(rxSig);%解调y = errorRate(tx,rx,ind);%计算错误统计BER(i) = y(1);保存误码率数据结束的误码率
数量=10×10.0645 0.0952 0.0947 0.0945 0.0943 0.0890 0.0852 0.0863 0.0941 0.0940

扩展功能

版本历史

在R2012a中介绍

另请参阅

功能