分析通信系统的误码率(BER)性能

分析通信系统的误码率(BER)性能

描述

BER分析器应用程序将BER计算为每位能量与噪声功率谱密度之比(Eb/ N0)的函数。使用此应用程序,您可以:

绘制理论BER与Eb/ N0的估计值和上限。

使用半分析技术绘制BER与Eb/ N0的关系图。半分析技术通过结合仿真和分析来估计BER性能。当系统错误率较小时,例如<10–6,请使用此技术。

通过使用MATLAB估计BER性能®功能和Simulink的®模型。

打开BER分析器应用

1、MATLAB Toolstrip:在“应用程序”选项卡上的“信号处理和通信”下,单击应用程序图标。

2、MATLAB命令提示符:输入bertool。

理论图

生成AWGN中16-QAM链路的BER性能的理论估计。

打开BER Analysis应用程序。

将Eb/ N0范围指定为0:10。

将“调制类型”设置为QAM,将“调制顺序”设置为16。

通过单击Plot绘制BER曲线。

半解析图

使用半解析技术为具有矩形脉冲的QPSK链路绘制BER。

打开BER Analysis应用程序。

在“半分析”选项卡上,设置以下参数:

1、将调制顺序设置为4。

2、将“每个符号的样本数”参数设置为8。

3、将发送信号和接收信号参数设置为rectpulse(pskmod([0:3 0],4),8)。要使用半解析技术,符号数必须超过ML,其中M是调制阶数,L是脉冲响应长度。脉冲响应为1,因此至少需要五个符号。

4、将分子指定为ones(8,1)/8。这些系数指定了每个符号具有八个样本的理想积分器。

通过单击绘制BER与Eb/ N0曲线。

蒙特卡罗模拟

使用自定义MATLAB函数模拟BER。

打开BER Analysis应用程序。

在“蒙特卡洛”选项卡上,将Eb/ N0范围指定为1:.5:6。

要绘制估计的BER值,请单击“运行”以运行仿真。

在“理论”选项卡上,将Eb/ N0范围指定为1:6,并将“调制阶数”设置为4。

通过选择卷积复选框启用卷积编码。

通过单击Plot绘制BER曲线的上限。

Eb/N0range—评估BER的Eb/ N0值的范围0:18(默认)|向量

以dB为单位指定Eb/ N0值的范围,在该范围内评估BER。范围向量中的值必须是实数。

例:5:10

Channel type—评估BER的通道类型AWGN(默认)|Rayleigh|Rician

指定评估BER的通道类型。在Rayleigh和Rician选项对应于平坦衰落信道。

Modulation type—通信链接的调制类型PSK(默认)|DPSK|OQPSK|PAM|QAM|FSK|MSK|CPFSK

指定通信链路的调制类型。

Modulation order—通信链接的调制顺序2(默认)|4|8|16|32|64

指定通信链路的调制顺序。

Differential encoding—输入数据的差分编码Off(默认)|On

指定是否对输入数据序列进行差分编码。

Demodulation type—解调类型Coherent|Noncoherent

指定是否使用Coherent或Noncoherent解调。仅当“调制”类型为FSK或时,此参数才可用MSK。

Channel coding—用于估计BER的通道编码None(默认)|Convolutional|Block

指定用于估计理论BER的信道编码类型。

Synchronization—同步错误Perfect synchronization(默认)|Normalized timing error|RMS phase noise level

指定解调过程中的同步错误。此参数只有当调制类型是PSK与调制阶数是2。

当同步的Normalized timing error,指定的标准化误差从一个实数0来0.5。

当同步是RMS phase noise level,指定RMS相位噪声作为非负实数。

Decision method—解码决策方法Hard(默认)|Soft

指定用于解码接收到的数据的方法。这些条件之一存在时,此参数可用:

通道编码设置为卷积

通道编码设置为“块”,编码类型为General

Trellis—卷积码网格poly2trellis(7,[171 133])(默认)|结构体

将卷积码网格指定为结构变量。您可以使用poly2trellis函数生成此结构。仅当Channel编码参数为时,此参数才可用Convolutional。

Coding type—指定块编码类型General(默认)|Hamming|Golay|Reed-Solomon

指定在BER评估中使用的分组代码。

N—码字长度正整数

将代码字长度指定为正整数。

K—消息长度正整数

指定消息长度为正整数,使得ķ小于Ñ。

dmin—最小代码距离正整数

将(N,K)块代码的最小距离指定为正整数。此参数可当编码类型是General。

Samples per symbol—每个符号的样本16(默认)|正整数

将每个符号的样本数指定为正整数。

Transmitted signal—传输的样本序列rectpulse(step(comm.BPSKModulator, [0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0].'), 16)(默认)|向量

将传输序列指定为实数或复数列向量。

数据类型:double

复数支持:是

Received signal—接收的样品序列rectpulse(step(comm.BPSKModulator, [0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0].'), 16)(默认)|向量

将接收到的序列指定为实数列或复数列向量。

数据类型:double复数支持:是

Numerator—接收滤波器系数的分子ones(16,1)/16(默认)|标量|向量

将接收滤波器系数的分子指定为向量。

Denominator—接收滤波器系数的分母1(默认)|标量|向量

将接收滤波器系数的分母指定为向量。

蒙特卡洛

Simulation MATLAB file or Simulink model— BER模拟字符向量的文件名

指定包含仿真代码的MATLAB文件或Simulink模型的名称。

BER variable name—包含BER模拟数据字符向量的变量的名称

指定包含BER模拟数据的MATLAB工作区变量的名称。

Number of errors—模拟停止前测得的错误数100(默认)|正整数

指定在模拟停止之前必须测量的错误数。通常,测量到的100个误差足以产生准确的BER估计。

Number of bits—模拟停止前已处理的位数1e8(默认)|正整数