MATLAB 帮助中心
使用 M 进制 PSK 方法进行解调
Z = pskdemod(Y,M)
Z = pskdemod(Y,M,phaseoffset)
Z = pskdemod(Y,M,phaseoffset,symorder)
Z = pskdemod(___,Name=Value)
Z = pskdemod(Y,M) 对输入 M-PSK 信号 Y 进行解调。M 指定调制阶数。
Z
Y
M
示例
Z = pskdemod(Y,M,phaseoffset) 指定 M-PSK 星座图的相位偏移。
phaseoffset
Z = pskdemod(Y,M,phaseoffset,symorder) 指定 M-PSK 星座图的符号顺序。
symorder
Z = pskdemod(___,Name=Value) 使用任一上述语法指定可选名称-值参量。例如,pskdemod(Y,M,PlotConstellation=true) 使用调制阶数 M 进行解调并绘制星座图。请在所有其他输入参量后指定名称-值参量。
Name=Value
pskdemod(Y,M,PlotConstellation=true)
全部折叠
比较 PSK 和 PAM 调制方案,以证明 PSK 对相位噪声更敏感。PSK 对相位噪声更敏感,因为 PSK 星座图为圆形,而 PAM 星座图为线性。
指定符号数和调制阶数参数。生成随机数据符号。
len = 10000; M = 16; msg = randi([0 M-1],len,1);
创建一个相位噪声 System object™ 并显示配置的设置。
phasenoise = comm.PhaseNoise(Level=[-70 -80])
phasenoise = comm.PhaseNoise with properties: Level: [-70 -80] FrequencyOffset: [2000 20000] SampleRate: 1000000 RandomStream: 'Global stream'
使用 PSK 和 PAM 调制 msg 以比较这两种方法。
msg
txpsk = pskmod(msg,M); txpam = pammod(msg,M);
对调制信号的相位进行扰动。
rxpsk = phasenoise(txpsk); rxpam = phasenoise(txpam);
创建接收信号的散点图。
scatterplot(rxpsk); title('Noisy PSK Scatter Plot')
scatterplot(rxpam); title('Noisy PAM Scatter Plot')
解调接收到的信号。
recovpsk = pskdemod(rxpsk,M); recovpam = pamdemod(rxpam,M);
计算每种调制方案的符号错误数。PSK 信号中出现的符号错误数大得多。
numerrs_psk = symerr(msg,recovpsk); numerrs_pam = symerr(msg,recovpam); [numerrs_psk numerrs_pam]
ans = 1×2 795 3
生成随机符号。
dataIn = randi([0 3],1000,1);
QPSK 调制数据。
txSig = pskmod(dataIn,4,pi/4);
使信号通过 AWGN 信道。
rxSig = awgn(txSig,10);
解调接收到的信号并计算符号错误数。
dataOut = pskdemod(rxSig,4,pi/4); numErrs = symerr(dataIn,dataOut)
numErrs = 3
设置调制阶数,然后创建一个包含完整星座图点集的数据序列。
M = 8; data = (0:M-1); phaseoffset = 0;
可视化 8-PSK 的符号映射星座图,分别表示格雷编码与二进制编码数据在调制与解调后的结果。
symgray = pskmod(data,M,phaseoffset,'gray',PlotConstellation=true, ... InputType='integer');
mapgray = pskdemod(symgray,M,phaseoffset,'gray',OutputType='integer'); symbin = pskmod(data,M,phaseoffset,'bin'); mapbin = pskdemod(symbin,M,phaseoffset,'bin',PlotConstellation=true, ... OutputType='bit');
M-PSK 调制的输入信号,指定为标量、向量或矩阵。当 Y 是矩阵时,函数独立处理各列。
数据类型: double | single 复数支持: 是
double
single
调制阶数,指定为大于 1 的整数值。
数据类型: double
0
以弧度指定的 PSK 星座图的相位偏移,指定为标量。
'gray'
'bin'
符号顺序,指定为 'gray'、'bin' 或向量。此参量指定函数如何将二进制向量赋给对应的整数。
'gray' - 使用格雷编码顺序。
'bin' - 使用二进制编码顺序。
向量 - 使用自定义符号顺序。向量长度为 M,包含范围 [0, M – 1] 内的唯一值。第一个元素与对应于角度 phaseoffset 的星座图点相关,后续元素按逆时针方向排列。
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
Name1=Value1,...,NameN=ValueN
Name
Value
示例: Z = pskdemod(Y,M,phaseoffset,symorder,OutputType='bit')
Z = pskdemod(Y,M,phaseoffset,symorder,OutputType='bit')
OutputType
'integer'
'bit'
'llr'
'approxllr'
输出类型,指定为 'integer'、'bit'、'llr' 或 'approxllr'。
OutputDataType
'double'
'single'
输出的数据类型,指定为下表中列出的数据类型之一。OutputDataType 的可接受值取决于 OutputType 值。
'int8'
'int16'
'int32'
'uint8'
'uint16'
'uint32'
'logical'
默认值为输入 Y 的数据类型。
要启用此参量,请将 OutputType 设置为 'integer' 或 'bit'。
NoiseVariance
1
噪声方差,指定为以下选项之一:
正标量 - 函数对所有输入元素使用相同的噪声方差值。
正值向量 - 对于输入沿对应的最后一个维度的所有元素,函数使用由向量的每个元素指定的噪声方差。向量长度必须等于输入信号的列数。
解调函数需要复输入信号。在 BPSK 情况下,调制器输出虚部值为零的复信号。如果您向解调器输入实信号,则必须通过将方差值设置为实数值输入信号方差的两倍来表示复信号在实数值输入信号中的噪声功率。
提示
精确 LLR 算法使用有限精度算术计算指数。对于涉及非常大的正或负幅值的计算,精确 LLR 算法生成值的情况如下:
如果噪声方差是非常大的值,则为 Inf 或 -Inf
Inf
-Inf
如果噪声方差和信号功率的值都非常小,则为 NaN
NaN
近似 LLR 算法不计算指数。您可以通过使用近似 LLR 算法来避免 Inf、-Inf 和 NaN 结果。
当您将 OutputType 设置为 'llr' 或 'approxllr' 时,此参量适用。
PlotConstellation
false
true
绘制星座图的选项,指定为逻辑值 0 (false) 或 1 (true)。要绘制星座图,请将 PlotConstellation 设置为 true。
数据类型: logical
logical
M-PSK 解调的输出信号,以标量、向量或矩阵形式返回。此输出的值和维度根据指定的 OutputType 值而变化,如下表所示。
pskdemod
[1] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.
全部展开
此函数支持 GPU 数组输入。有关详细信息,请参阅Accelerate Simulation Using GPUs。
pskdemod 函数增加了对 gpuArray (Parallel Computing Toolbox) 对象处理的支持,以在图形处理单元 (GPU) 上运行代码。
gpuArray
您现在可以:
使用 OutputType 参量指定二进制输出。
使用 symorder 参量指定自定义符号映射。现在默认为 'gray' 符号映射。
使用按位对数似然或近似对数似然算法执行软决策解调
使用 OutputDataType 参量指定所有内置数值数据类型。
使用 PlotConstellation 参量可视化参考星座图。
pskmod
qamdemod
apskdemod
mil188qamdemod
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处