目录
💥1 概述
随着通信技术的快速发展,正交幅度调制 ( Quadrature Amplitude Modulation,QAM) 由于具
有高效的频谱利用率和较强的抗噪性能被广泛应用于现代通信系统中[1]。因此,实现对 QAM 信号的调制分类具有一定的应用价值。目前,针对 QAM 信号已经提出了多种识别
算法[2]。 文 献 [3]采 用 K - S ( Kolmogorov -Smirnov) 检验实现了对 3 种 QAM 信号的分类,但该方法要求信噪比已知; 文献[4]采用减法聚类完成了对 QAM 信号的识别,其中如何确定聚类半径是一个难点; 文献[5]通过模糊 C 均值构造出多个特征量,并采用 BP ( Back Propagation) 神经网络对其进行分类,然而该方法对高阶 QAM适应能力较差; 文献[
6]利用信号平均幅度半径作为特征量实现 QAM 信号的识别,但只适应于16QAM 和 64QAM 两种信号。
QAM 调制是通过基带信号对载波的幅值和相位进行联合调制的,所以调制信号中同时携带了相位和幅值信息。
全数字 QAM 调制器主要由解复用模块、星座映射模块、低通滤波模块这三部分组成,调制过程见图 2。
2中 QAM 调制系统的调制步骤如下:
1)输入二进制序列进入解复用器,在解复用器模块中完成帧头检测、系统信息识别、串并转换以及交织编码工作,输出已经完成交织编码的并行信号。
2)并行信号进入星座映射模块,完成矢量信号到星座图的转换,分别输出同相和正交的两路信号。
3)同相和正交的两路信号分别进入数字成型滤波器中,把数字基带脉冲信号滤波成型为接近模拟信号的正弦波。
4)两路经过成型的正弦波和载波信号相乘再进行和路,便完成了基带信号的 QAM 调制过程。
📚2 运行结果
部分代码:
%% SNR affect
% We assume 2sigma^2=1, i.e., noise power is normalized.
SNRlin= 10^(SNR/10);
SNRaff=abs(fading)*sqrt(SNRlin);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (QAMsize==2)||(QAMsize==4)||(QAMsize==16)||...
(QAMsize==64)||(QAMsize==32)
h = modem.qammod('M', QAMsize, 'SymbolOrder', 'Gray','InputType', 'Bit');
elseif (QAMsize==8)
h = modem.pskmod('M', QAMsize, 'SymbolOrder', 'Gray','InputType', 'Bit');
else
error('the modulation size %d is not supported!', QAMsize);
end
NormFactor = sqrt(QAMsize/sum(abs (h.Constellation).^2));
Constellation = NormFactor.*h.Constellation;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
C1 = zeros(1,16); % BPSK Gaussi Hermite
C2 = zeros(16,16); % Two dimensional signals
Capforx = zeros(1,QAMsize);
if (QAMsize==2) % BPSK
SNRaffBPSK = sqrt(2).*SNRaff; % see page 363 of Digital Communications 5th A/sigma
for m=1:16
C1(m)=1/2*(w(m)*(1/sqrt(pi))*log2(2/(1+exp(-2*(sqrt(2)*x(m)+SNRaffBPSK)*SNRaffBPSK)))+...
w(m)*(1/sqrt(pi))*log2(2/(1+exp( 2*(sqrt(2)*x(m)-SNRaffBPSK)*SNRaffBPSK))));
end
InstCap = sum(C1);
elseif (QAMsize==4)||(QAMsize==16)||(QAMsize==64)||(QAMsize==8)||(QAMsize==32)
for xindex = 1:QAMsize
for m1=1:16
for m2=1:16
sumoverxprime = 0;
for xprimeindex=1:QAMsize
sumoverxprime = sumoverxprime + ...
exp(-abs(SNRaff.*(Constellation(xindex)-Constellation(xprimeindex))+x(m1)+sqrt(-1).*x(m2)).^2 ...
+x(m1).^2+x(m2).^2);
end
C2(m1,m2)=1/(pi)*w(m1)*w(m2)*log2(sumoverxprime);
end
end
Capforx(xindex) = sum(sum(C2,1),2);
end
InstCap = log2(QAMsize) - 1/QAMsize *sum (Capforx);
else
error('the modulation size %d is not supported!', QAMsize);
end
%GassianCap = log2(1+SNRaff.^2);
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]葛战,李兵,孙磊,蒋鸿宇,周劼.基于星座图和密集连接网络的QAM信号识别[J].电子信息对抗技术,2023,38(01):43-48.
[2]熊小双.电力载波芯片全数字QAM调制器电路设计[J].现代电子技术,2023,46(08):33-37.DOI:10.16652/j.issn.1004-373x.2023.08.006.