前言
数字频带信号通常也称为数字调制信号,其信号频谱通常是带通型的,适合于在带通型信道中传输。数字调制是将基带数字信号变换成适合带通型信道传输的一种信号处理方式,正如模拟通信中的一样,可以通过对基带信号的频谱搬移来适应信道特性,也到同样的目的可以采用频率调制、相位调制的方式来达到同样的目的。
本文将主要通过 Matlab 来学习多进制的调制解调方式,包括 QPSK、OQPSK,并分析和仿真这些调制系统在 AWGN 信道下的性能。
一、MASK(一维信号)
1、MASK 简介
MASK 信号将 M 进制数字符号一一映射为 M 个幅度值不同的波形,可以写成如下形式:
这里 {
} 与M进制符号一一对应,一般
,且
,
,
是基带成形信号。
2、MASK 矢量表示
其中,
,(
),
,
,这里
。
因此,MASK信号可以用一维信号空间中的点(星座)表示,如下图示意了 8ASK 的星座图。
PAM 信号星座
二、MPSK(二维信号)
1、MPSK 简介
MPSK 信号将 M进制符号与 M 个载波相位一一对应,可以写成如下形式:
2、MPSK 矢量表示
其中:
,
,
,
,
,
因此,MPSK 可以用二维空间中的星座点表示,下图示意了 QPSK 调制的星座图
QPSK 信号星座(M=4)
三、MQAM(二维信号)
1、MQAM 简介
用载波的不同幅度、相位对应 M 进制符号,则可以得到 QAM (正交幅度调制)信号,可以写成:
其等效基带信号为
。
2、MQAM 信号的矢量表示
取正交函数:
,
则:
因此,
可以用二维空间中的星座点
表示,若
,
当 M=16,
,得到典型的 16QAM 星座图如下图所示:
16QAM 信号星座
四、正交 MFSK(M维信号)
1、正交 MFSK 简介
用不同频率的余弦载波波形一一对应 M 进制符号,则得到 MFSK 信号,其信号可写成:
其等效基带信号为
,为了保证这 M 个信号互相正交,要求最小的
2、M 进制正交信号的矢量表示
M 进制正交信号可以表示为:
这里,
,
,所以,
可以用点(
)、(
)、(
)…(
)
表示,两点之间的最小距离
五、MATLAB 仿真
场景:设信道加性高斯白噪声的双边功率谱密度为
,发送信号平均每符号能量
,利用 MATLAB ,通过仿真的方法仿真 QPSK 系统在 AWGN 信道下的性能
思路:利用 MATLAB ,可以通过蒙特卡罗仿真的方式得到 MPSK 系统的误码率,如下图所示
MPSK 等效基带系统在无码间干扰 AWGN 信道下性能仿真框图
1、MATLAB 源码
代码语言:javascript复制%MPSK系统系统的仿真
clear all;
close all;
M=4; %QPSK
EsN0dB = 3:0.5:10;
EsN0 = 10.^( EsN0dB/10 );
Es = 1;
N0 = 10.^( -EsN0dB/10 );
sigma = sqrt(N0/2);
error = zeros(1,length(EsN0dB));
s_data = zeros(1,length(EsN0dB));
for k=1:length(EsN0dB)
error(k)=0;
s_data(k) = 0;
while error(k)<1000
%产生信源 1,2,3,4均匀分布
d = ceil( rand(1,10000)*M );
%调制成QPSK信号(复基带形式)
s = sqrt(Es)*exp(j*2*pi/M*(d-1));
%加入信道噪声(复噪声)
r = s sigma(k)*( randn(1,length(d)) j*randn(1,length(d)) );
%判决
for m=1:M %计算距离
rd(m,:) = abs( r - sqrt(Es)*exp(j*2*pi/M*(m-1)) );
end
for m=1:length(s) %判决距离最近的点
dd(m) = find( rd(:,m) == min(rd(:,m)) );
if dd(m)~=d(m)
error(k) = error(k) 1;
end
end
s_data(k) = s_data(k) 10000;
end
% drawnow
% semilogy(EsN0dB, error./(s_data eps)); hold on;
end
Pe = error./s_data;
%理论计算的误码率结果
Ps = erfc( sqrt(EsN0)*sin(pi/M) );
semilogy(EsN0dB,Pe,'b*-'); hold on;
semilogy(EsN0dB,Ps,'rd-');
xlabel('Es/N0(dB)'); ylabel('误码率');
legend('仿真结果','理论计算结果');
2、仿真及结果
从上图可以看到,仿真结果与理论计算结果的误码率曲线基本重合。