如何“绘制”函数/波形以使用 QAM 发送符号?

信息处理 数字通信 海浪 正交 分析信号 基带
2022-02-12 04:50:23

假设您有以下 8QAM 星座图:

8QAM星座图

说,你想发送序列:

001 110 101 000 001

您将如何绘制包含符号的函数/波形?

我理解这一点的问题是:

我知道您使用幅度和相移来定义符号。每个符号都有一个复杂的功能,如下所示:

g(t)=A×ei(ft+ϕ)

(A=幅度,f=频率,ϕ= 阶段)

每个可能的符号都有一个函数。但是如何绘制符号序列(甚至是一个符号)?不是吗eix=cos(x)+i×sin(x)? 我画的是实部还是虚部?

谢谢!

1个回答

基带 QAM 信号很复杂,绘制它的唯一方法是绘制两张图,一张用于同相(实部)分量,一张用于正交(虚部)分量。

但是,通带 QAM 信号是实数,它是一个脉冲状载波,其幅度和相位取决于每个符号。我自己,我会使用 Matlab 或其他一些数值程序“绘制”它。我看不出尝试手工绘制它的意义。

例如,在 Matlab 中,假设 QPSK 并传输三个具有矩形脉冲形状的符号,速率为每秒一个符号,载波为 5 Hz:

t = 0:0.01:2.99;
p = ones(1,100);         % pulse shape
s = [1+1i, -1-1i, 1-1i]; % symbols to transmit
u(1:100:201) = s;
qam_bb = conv(u,p);      % pulse shaping to generate baseband signal
subplot(3,1,1);
plot(t,real(qam_bb)); title('Baseband In-Phase'); axis([0 3 -1.3 1.3]);
subplot(3,1,2);
plot(t,imag(qam_bb)); title('Baseband Quadrature'); axis([0 3 -1.3 1.3]);
qpsk = real(qam_bb.*exp(2*pi*5*t*1i));  % upconvert baseband signal
subplot(3,1,3);
plot(t,qpsk); title ('Passband QPSK');

产生这个情节:

在此处输入图像描述