主要内容

comm.gpu.PSKDemodulator

与GPU解调使用多状态相移键控方法

描述

GPU PSKDemodulator使用多状态对象解调输入信号相移键控(M-PSK)方法。

请注意

使用这个对象时,您必须安装一个并行计算工具箱™执照和获得一个适当的GPU。更多关于gpu,看到GPU计算(并行计算工具箱)

一个基于gpu的系统对象™接受典型的MATLAB®使用创建的数组或对象gpuArray类。一个基于gpu的系统对象支持输入信号双或单精度的数据金宝app类型。输出信号继承了其数据类型从输入信号。

  • 如果输入信号是MATLAB数组,系统对象处理CPU和GPU之间的数据传输。输出信号是一个MATLAB数组。

  • 如果输入信号gpuArray,数据仍然在GPU上。是一个输出信号gpuArray。当对象是给定一个gpuArray,计算完全发生在GPU,没有数据传输发生。通过gpuArray参数提供了提高性能通过减少模拟时间。有关更多信息,请参见建立数组GPU(并行计算工具箱)

解调信号,使用相移键控调制:

  1. 定义和设置您的相移键控解调对象。看到建设

  2. 调用一步解调信号的属性comm.gpu.PSKDemodulator。的行为一步是特定于每个对象在工具箱。

请注意

从R2016b开始,而不是使用一步定义的方法来执行操作系统对象,您可以调用对象的参数,就好像它是一个函数。例如,y =步骤(obj, x)y = obj (x)执行相同操作。

建设

H = comm.gpu.PSKDemodulator返回一个基于gpu的解调系统对象,H。这个对象解调使用多状态的输入信号相移键控(M-PSK)方法。

H = comm.gpu.PSKDemodulator(名称、值)创建一个基于gpu的M-PSK解调器对象,H,指定的属性设置为指定的值。您可以指定额外的名称-值对参数在任何顺序(Name1 Value1,…,的家)

H = comm.gpu.PSKDemodulator (M,阶段,名称,值)创建一个基于gpu的M-PSK解调器对象,H,ModulationOrder属性设置为,PhaseOffset属性设置为阶段和其他指定属性名称设置为指定的值。阶段值参数。指定一个值参数,您还必须指定所有前值参数。你可以在任何顺序指定参数名称-值对。

属性

ModulationOrder

分信号星座

指定的数量分星座是一个积极的信号,整数标量。默认值是8

PhaseOffset

阶段的零的星座

指定的零的点的相位抵消星座,弧度,一个真正的标量。默认的是π/ 8。

BitOutput

输出数据位

指定比特的输出由团体或整数符号值。当你设定这个属性为true,一步法输出位的值的列向量长度等于log2 (ModulationOrder)乘以解调的符号。当你设定这个属性为false,一步法输出一个列向量,向量包含等于输入数据长度整数之间价值观的象征0ModulationOrder- - - - - -1。默认的是假的。

SymbolMapping

星座编码

指定如何将对象映射一个整数或一组log2 (ModulationOrder)相应的标志位二进制|灰色的|自定义。默认值是灰色的。当你设定这个属性灰色的,对象使用一个Gray-encoded信号星座。当你设定这个属性二进制整数m(0≤≤米ModulationOrder1)映射到复杂的价值。此值表示为exp (j *PhaseOffset+ j * 2 *π* m /ModulationOrder)。当你设定这个属性自定义中定义的,该对象使用的信号星座CustomSymbolMapping财产。

CustomSymbolMapping

自定义编码星座

指定一个自定义的星座符号映射向量。默认值是0:7。这个属性必须是一个行或列向量的大小ModulationOrder具有独特的整数值范围在[0,ModulationOrder1]。数据类型的值必须是双。这个向量的第一个元素对应的星座点0 +的一个角PhaseOffset与后续的元素,逆时针运行。最后一个元素对应的星座点2π/角ModulationOrder+PhaseOffset。这个属性设置时适用SymbolMapping自定义属性。

DecisionMethod

解调决策方法

指定对象使用的决策方法之一艰难的决定|对数似比|近似对数似比。默认值是艰难的决定。当您设置DecisionMethod为false,解调对象总是执行困难的决定。这个属性设置时适用BitOutput属性为true。

VarianceSource

源噪声的方差

指定的源噪声方差之一财产|输入端口。默认值是财产。这个属性设置时适用BitOutput财产真正的DecisionMethod财产对数似比近似对数似比

方差

指定噪声的方差作为一个积极的,真正的标量。默认值是1。如果这个值非常小(即。,SNR is very high), then log-likelihood ratio (LLR) computations may yield Inf or -Inf. This occurs because the LLR algorithm computes the exponential value of very large or very small numbers using finite precision arithmetic. In such cases, use approximate LLR is recommended because its algorithm does not compute exponentials. This property applies when you set theBitOutput属性为true,DecisionMethod财产对数似比近似对数似比,VarianceSource财产财产。这个属性是可调的。

OutputDataType

数据类型的输出

当你设定这个属性完整的精度,输出信号从输入信号继承它的数据类型。

方法

星座 计算或情节理想信号星座
一步 解调使用多状态相移键控方法
常见的系统对象
释放

允许系统对象属性值的变化

算法

GPU相移键控解调系统对象使用相同的算法comm.PSKDemodulator系统对象。有关详细信息,请参阅解码算法。

例子

传输一个LDPC-encoded QPSK-modulated通过AWGN信道比特流。然后解调、解码和计数错误。

16-PSK调制和解调

传输一个LDPC-encoded QPSK-modulated通过AWGN信道比特流。

创建一个基于gpu的相移键控调制系统对象。

hMod = comm.gpu.PSKModulator(16日“PhaseOffset”π/ 16);

创建一个基于gpu的AWGN信道信噪比的系统对象15。

hAWGN = comm.gpu.AWGNChannel (“NoiseMethod”,信号噪声比(信噪比)的,“信噪比”15);

创建一个基于gpu的相移键控解调系统对象。

hDemod = comm.gpu.PSKDemodulator(16日“PhaseOffset”π/ 16);

创建一个错误率计算器系统对象。

hError = comm.ErrorRate;

传输一帧数据包含50个符号。

counter = = gpuArray 1:10 0的数据。兰迪([0 hMod。调制Order-1], 50, 1);

运行仿真通过一步法处理数据。

modSignal =步骤(hMod、数据);noisySignal =步骤(hAWGN modSignal);receivedData =步骤(hDemod noisySignal);errorStats =步骤(hError,收集(数据),收集(receivedData));结束

计算出错率的结果。

流('出错率= % f \ nNumber错误= % d \ n ',errorStats errorStats (1), (2))

GPU相移键控解调

创建GPU相移键控调制器和解调器。

gpuMod = comm.gpu.PSKModulator;gpuDemod = comm.gpu.PSKDemodulator;

生成随机数据符号。调整数据。

txData =兰迪([0 7],1000,1);txSig = gpuMod (txData);

通过一个AWGN信道传递信号。

rxSig = awgn (txSig, 20);

解调接收到的信号。

rxData = gpuDemod (rxSig);

确定符号错误的数量。

numSymErrors = symerr (txData rxData)
numSymErrors = 736

引用

[1]Proakis约翰·G。数字通信。第四。纽约:麦格劳希尔,2001。

扩展功能

版本历史

介绍了R2012a