我需要编写一个 MATLAB 函数来估计解调 16-QAM 的最佳初始采样点。
我可以通过查看眼图来做到这一点,即眼睛“张开”的点,但这可以在 MATLAB 中完成吗?
我需要编写一个 MATLAB 函数来估计解调 16-QAM 的最佳初始采样点。
我可以通过查看眼图来做到这一点,即眼睛“张开”的点,但这可以在 MATLAB 中完成吗?
只需对 QAM 信号(可能在匹配滤波之后)进行成帧,就可以创建眼图,其中帧长度是每个 QAM 符号的样本数。在 MATLAB 中,这非常简单:
x = output_of_matched_filter;
N = number_of_samples_per_symbol;
eye = reshape(x,N,[]);
% "eye" now is a two-dimensional matrix, with each column containing one trace
% to plot on the eye diagram. you can then plot all of the traces with:
plot(eye);
注意:调用reshape
要求 的长度x
是 的倍数N
。如果还没有,则需要对数组进行切片以使其为真:
nsyms = floor(length(x)/N);
eye = reshape(x(1:nsyms*N),N,nsyms);