【问题标题】:QPSK function operation/MATLABQPSK函数运算/MATLAB
【发布时间】:2018-06-28 22:13:40
【问题描述】:

QPSK 调制它应该为每个符号使用 2 位,但是无论我使用 pskmod 还是 comm.QPSKModulator,我仍然得到与位相同数量的符号。难道我做错了什么?功能有问题吗?提前致谢。

M=4;
n=64;
m=log2(M);
x=round(rand(n*m,1));
mod = comm.QPSKModulator;
xmod1 = mod(x);
xmod=pskmod(x,M,pi/M,'gray');

Variables in Workspace

【问题讨论】:

    标签: matlab function telecommunication phase modulation


    【解决方案1】:

    pskmod 函数需要一个由 symbols 组成的输入,这些输入是在0、...、M-1 范围内的数字,而不是位。也就是说,它将符号调制为复数值,但不进行从位到符号的映射。这也是comm.QPSKModulator 对象的默认行为。

    要将位到符号映射作为调制器的一部分,从而使用位形式的输入,请将comm.QPSKModulator 对象的BitInput 属性设置为@987654327 @。这可以在创建对象时直接完成,通过将输入 'BitInput', true 传递给构造函数:

    modQPSK = comm.QPSKModulator('BitInput', true);
    xmod1 = modQPSK(x);
    

    另外,请注意我已经更改了对象的名称以避免隐藏内置函数mod

    【讨论】:

      猜你喜欢
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 2015-09-20
      相关资源
      最近更新 更多