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(并行计算工具箱)。
解调信号,使用相移键控调制:
请注意
从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属性设置为阶段
和其他指定属性名称设置为指定的值。米
和阶段
值参数。指定一个值参数,您还必须指定所有前值参数。你可以在任何顺序指定参数名称-值对。
属性
|
分信号星座 指定的数量分星座是一个积极的信号,整数标量。默认值是 |
|
阶段的零的星座 指定的零的点的相位抵消星座,弧度,一个真正的标量。默认的是π/ 8。 |
|
输出数据位 指定比特的输出由团体或整数符号值。当你设定这个属性为true,一步法输出位的值的列向量长度等于log2 (ModulationOrder)乘以解调的符号。当你设定这个属性为false,一步法输出一个列向量,向量包含等于输入数据长度整数之间价值观的象征 |
|
星座编码 指定如何将对象映射一个整数或一组log2 (ModulationOrder)相应的标志位 |
|
自定义编码星座 指定一个自定义的星座符号映射向量。默认值是 |
|
解调决策方法 指定对象使用的决策方法之一 |
|
源噪声的方差 指定的源噪声方差之一 |
|
指定噪声的方差作为一个积极的,真正的标量。默认值是 |
|
数据类型的输出 当你设定这个属性 |
算法
的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。