主要内容

使用 MATLAB 函数的散点图和眼图

此示例说明如何通过使用眼图和散点图可视化信号行为。该示例使用通过平方根升余弦 (RRC) 滤波器的 QPSK 信号。

散点图

设置 RRC 滤波器、调制方案和绘图参数。

span = 10;          % Filter span
rolloff = 0.2;      % Rolloff factor
sps = 8;            % Samples per symbol
M = 4;              % Modulation alphabet size
k = log2(M);        % Bits/symbol
phOffset = pi/4;    % Phase offset (radians)
n = 1;              % Plot every nth value of the signal
offset = 0;         % Plot every nth value of the signal, starting from offset+1

使用 rcosdesign 函数创建滤波器系数。

filtCoeff = rcosdesign(rolloff,span,sps);

为大小为 M 的字母表生成随机符号。

rng default
data = randi([0 M-1],5000,1);

应用 QPSK 调制。

dataMod = pskmod(data,M,phOffset);

对调制数据进行滤波。

txSig = upfirdn(dataMod,filtCoeff,sps);

计算过采样 QPSK 信号的 SNR。

EbNo = 20;
snr = EbNo + 10*log10(k) - 10*log10(sps);

向发射信号添加 AWGN。

rxSig = awgn(txSig,snr,'measured');

应用 RRC 接收滤波器。

rxSigFilt = upfirdn(rxSig, filtCoeff,1,sps);

对滤波后的信号进行解调。

dataOut = pskdemod(rxSigFilt,M,phOffset,'gray');

使用 scatterplot 函数显示滤波前后信号的散点图。您可以看到,接收滤波器改进了性能,因为星座图更接近理想值。前 span 个符号和后 span 个符号表示两次滤波运算的累积延迟。在生成散点图之前,这些符号会从两个滤波后的信号中去除。

h = scatterplot(sqrt(sps)*txSig(sps*span+1:end-sps*span),sps,offset);
hold on
scatterplot(rxSigFilt(span+1:end-span),n,offset,'bx',h)
scatterplot(dataMod,n,offset,'r+',h)
legend('Transmit Signal','Received Signal','Ideal','location','best')

Figure Scatter Plot contains an axes object. The axes object with title Scatter plot, xlabel In-Phase, ylabel Quadrature contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Transmit Signal, Received Signal, Ideal.

眼图

显示两个符号周期内发射信号眼图的 1000 个点。

eyediagram(txSig(sps*span+1:sps*span+1000),2*sps)

Figure Eye Diagram contains 2 axes objects. Axes object 1 with title Eye Diagram for In-Phase Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents In-phase. Axes object 2 with title Eye Diagram for Quadrature Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents Quadrature.

显示接收信号眼图的 1000 个点。

eyediagram(rxSig(sps*span+1:sps*span+1000),2*sps)

Figure Eye Diagram contains 2 axes objects. Axes object 1 with title Eye Diagram for In-Phase Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents In-phase. Axes object 2 with title Eye Diagram for Quadrature Signal, xlabel Time, ylabel Amplitude contains an object of type line. This object represents Quadrature.

我们看到,由于 AWGN 的存在,接收信号眼图开始呈现闭合状态。此外,滤波器的长度有限,这也导致信号行为不理想。

另请参阅

|

主题