M-PSK调制在高斯信道
和Rayleigh衰落信道中的平均误码率性能研究
1. 背景
MPSK - multiple phase shift keying 多进制数字相位调制,乂称多相制,是二相制的推广。它是利用载波的多种不同相位状态来表征数字信息的调制方式,多进制数字相位调制也有绝对相位调制(MPSK)和相对相位调制(MDPSK)两种,在M进制数字相位调制中,四进制绝对移相键控(4PSK, 乂称QPSK)应用较为广泛,它的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低丁线性调制技术。1780年以后,四相绝对移相键控(QPSK歧术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用丁数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。
2. MPSK调制解调基本原理
2.1基本原理
一个MPSKS号码元可以表示为
S k(t) = Acos(o t 斗)k =1,2, ,M
式中:A为常数;队为一组间隔均匀的受调制相位,其值取决丁基带码元的取值。
所以它可以写为
(k-1) k =1,2" , M
通常M取2的某次籍:
M =2k k为正整数
在后面的分析中,为了不失一般性,可令其中的A=1,然后将MPSKW号码元表
示为
S k(t) = cos(o t、k) = a k Cos o t- b k Sin o t
式中:a k =cosB k,b k =sinB k。
上式表明,MPSK言号可以看作是由正弦和余弦两个正交分量合成的信号。
它们的振幅分别是a k和a ,并且a2 + b《=1。这就是说,MPSKI号码元可以看做
是两个特定的MASKS号之和。
2.2 QPSK调制原理框图
2.2.1相乘电路调制
图2— 1 相乘电路产生QPSKt
图中输入基带信号A(t)是二进制不归零双极性码元,它被“申/并转换”电路变成两路码元a和b后,其每个码元的时间是输入码元的的2倍。这两路并行码元分别用以和两路正交载波相乘。
2.2.2 QPSK欠量的产生(b方式)
图2— 2 QPSK矢量的产生
图中a (1)和a(0)分别表示a路信号码元二进制的“ 0”、“1”。b(1)和b(0)分别表示b路信号码元二进制的“ 0”、“1”。这两路信号在相加电路中相加后得到输出欠量是s (t),每个欠量代表2bit,如图中实线所小。
上述二进制信号码元“0”和“1”在相乘电路中与不归零双极性矩形脉冲振幅的关系如下:
二进制码元“ 1”双极性脉冲“ +T ;
二进制码元“ 0”双极性脉冲“ -1 ”。
2.3.1 QPSK解调框图
QPSKW调过程原理图如下图所示:
图2 3 QPSK信号解调原理方框图
由丁QPSK言号可以看做是两个正交2PSK信号的叠加,所以用两路正交的相干载波去解调,可以很容易地分离这两路正交的2PSK信号。相干解调后的两路并行码元a和b,经过并/申变换后,成为申行数据输出。
3. 两种信道中平均误码率的分析推导过程
3.1高斯信道下的平均误码率
MPSK号码元表达式为
S k(t) = cos( 0t、k) = a k cos 0t - b k sin o t
式中:a k = cos°k,b. = sin*
可知,当QPS洌元的相位9k =450时,
a
k = A = 1 2
所以信号码元相当丁是互相正交的2个2PS曲元,其幅度分别为接收信号幅度的1/V2 o另一方面,接收信号和加性局斯白噪声之和为
r(t) = Acos( o t 。n(t)
式中:n(t) =n c(t)cos、t — n s(t)sino c t; n (t)的方差为,噪声的两个
....... ............................... 2 2 2
正交分量的万差为
若把此QPSK言号当作两个2PSK信号分别在两个相干检测器中解调时,只有和2PSK信号同向的噪声才有影响。由丁误码率决定丁各个相干检测器输入的信噪比,而此处的信号功率为接收功率的1/2倍,噪声功率为。;°若输入信号的
信噪比为r,则每个解调器输入端的信噪比将为r/2。因为2PSK?干解调的误码率为
R = — erfc、r
2
其中r为解调器输入端的信噪比,现在用r/2代替r,所以QPSK勺误码率
1
P e = 2 erfc , r 2
1
即正确概率为[1—;erfc而2],因为只有两路正交的相干检测都正确,才能保证QPSie
号的解调输出正确,所以QPSKt号解调错误的概率(即误码率)为
P e =1 _[1 _;erfc.. r 2]2
当M较大时,MPSKI码率公式可以近似写为
P,: erfc(、r sin ——)
M
3.2 Rayleigh衰落信道下的误码率
发送信号一般可以表示为
S(t) =Re[§(t)e j2-fct]
假设存在多条传播路径,以及和每条路径有关的随时间变化的传播延时和衰减因子。接收的带通信号为
X(t) = — 0知"仕)]
其中,口n(t)和L(t)分别为第n条传播路径上接收信号的衰减因子和传播延时。将s(t)代入上式
x(t) =Re{[' :n(t)s[t - n(t)]e—j"cn⑴]e j F} n 由上式可知,等效低通接收信号为
X1(t)=' :n(t)乩t- n(t)]e—j2-fcn(t) n
因为X1 (t)是等效低通信道对等效低通信号S1(t)的响应,所以,等效低通信号可以用如下时变脉冲描述
c( ;t)八:n(t)、[t- n(t)]e—j2fcn(t) n
当脉冲响应c(£t)为零均值复高斯过程时,任何时刻t的包络c(T;t)是瑞利
分布的,该信道就为瑞利衰落信道。
假设信道是频率非选择性的,且是慢衰落的,则信号所有频率分量在通过信道传输时受到相同的衰减和相移,且信道衰减和相移至少在一个信号传输间隔内基本固定不变。因此,若发送信号为S1(t),在一个信号传输间隔内的等效低通接收信号为
x1(t) = : §(t)eT z(t) 0 &t £T
其中,z(t)表示恶化信号的高斯白噪声过程。
假设信号衰落足够慢,以至丁相移*能够从接收信号中无误差的估计出来,
由此可以实现接收信号的相干检测。接收信号可以用一个匹配滤波器来处理信号,固定信道,即固定衰减a ,其差错率为
将上面的差错率改为下面的形式
R = Q .. 2 b
其中,L =、2&b /N0。
将上式作为差错率,其条件是?为固定不变的。为了得到口随机变化时的差错率,必须将RO。)对M的概率密度函数求平■均,既要计算如下积分
Q0
"P b b P b d b
其中,Pb W b )是"为随机变量时L的概率密度函数。
因为a服从瑞利分布,有瑞利分布和#分布的关系可知,口2服从X2分布。口2是具有两个自由度的Z2分布,因此*也是/2分布。由z2分布PDF的表达式可以写出*的PDF表达式
P)b =」e—b/b b - 0
b
其中,%是平均信噪比。E02促a2的平均值。
b 虹E「2
N o
将上式代入P b的表达式进行积分
上面的差错率表达式是假定在慢衰落时得到的,相移估计是无噪的情况下得到的,这是在瑞利衰落时可能得到的最好性能。
4. 仿真
4.1操作过程
把自己编写的function 函数和主函数放在同一个文件夹diaoyonghanshu 中,如下图:
?diaoyonghanshu
Name
研cm_sm32.m
'QPSK_System_BER_SiiTiLilationirn rayleigh.m
打开Matlab,在current folder 中打开文件夹diaoyonghanshu添加两个function 函数,如下图:
Editor - D:\DriversBackup\diaoyonghanshu\cm_sm32.m
PS CH SIL
% CM_SK3发现误码和误符号的概率
% snr_in_dB的给定值,信号以曲为单位的信噪比* counter=Q:
ntuiLof symbolerror=0:
nuitiofbiterror^O :
'Editor - D:\DnversBdciajp\diaoyonghan5hu\rayleigh.m
I I留[pb_rayleighj ps_rayleigh]=rayleigh(5nr_in_dB)
3% CJl_S>□发现误屈和误符号的概率
4-% snr_in_dB的给定值,信号以dB为单位的信嗓比。
5- count er=0 :
6- nwnofsymbolerror-0:
7- rumofbit error=0:
然后在Matlab中运行QPSK_System_BER_Simulation.m得到高斯信道和Rayleigh衰落信道波形图。
4.2仿真结果
File Edit. View Insert Tools Desktop Window Help
□ a J -K c?c x- a aE) ■ a
信噪比(响
5. 结论
1. 高斯信道和瑞利衰落信道的误码率对比,由图可知瑞利衰落信道下的误码率比高斯信道下的误码率高。
2. 随着信噪比的增大,高斯信道和瑞利衰落信道的误码率均降低。
3. 相同信噪比时,高斯信道和瑞利衰落信道的实际误码率比理论情况下的误码率局。
参考文献
[1] .樊昌兴.通信原理(第六版)[M].北京:国防工业出版社,2006: 196-213
[2] .万永革.数字信号处理的MA TLAB实现[M].北京:北京科学出版社
附录一:
function [pb,ps]=cm_sm32(snr_in_dB)
% [pb,ps]=cm_sm32(snr_in_dB)
% CM_SM3公现误码和误符号的概率
% snr_in_dB的给定值,信号以dB为单位的信噪比。
counter=0;
numofsymbolerror=0;
numofbiterror=0;
while (numofbiterror<100) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
N=10000; E=1; snr=10A (snr_in_dB/10); sgma=sqrt(E/snr)/2; s00=[1 0]; s01=[0 1]; s11=[-1 0]; s10=[0 -1]; % generation of the data source for i=1:N,
temp=rand; if (temp<0.25), dsource1(i)=0; dsource2(i)=0; elseif (temp<0.5), dsource1(i)=0; dsource2(i)=1; elseif (temp<0.75),
dsource1(i)=1; dsource2(i)=0; else
dsource1(i)=1; dsource2(i)=1; end; end;
%检测和计算误差的概率
for i=1:N,
%在检测所接收的信号,对于第i 个符号,方法是: n=sgma*randn(1,2);
% 正态分布,方差
if ((dsource1(i)==0) & (dsource2(i)==0)),
r=s00+n;
elseif ((dsource1(i)==0) & (dsource2(i)==1)),
r=s01+n;
elseif ((dsource1(i)==1) & (dsource2(i)==0)),
r=s10+n; else
r=s11+n; end;
%相关指标如下计算
c00=dot(r,s00); c01=dot(r,s01); c10=dot(r,s10); c11=dot(r,s11); %在第i 个符号的判定为下一次 c_max=max([c00,c01,c10,c11]);
if (c00==c_max), decis1=0; decis2=0; elseif (c01==c_max), decis1=0; decis2=1; elseif (c10==c_max), decis1=1; decis2=0; else decis1=1; decis2=1; end;
%增加错误计数器,如果决定是不正确的
symbolerror=0;
%每个符号的能量 %信噪比 %噪声方差 %信号映射 % 0和1之间均匀分布的随机变量 %概率小于1/4时,源极输出为“00”
%概率小于1/2时,源极输出为"01"
%概率小于3/4时,源极输出为"10"
%其余,源极输出为”11”,与星座图对应
if (decis1~=dsource1(i)), numofbiterror=numofbiterror+1; symbolerror=1; end; if (decis2~=dsource2(i)), numofbiterror=numofbiterror+1; symbolerror=1; end;
if (symbolerror==1), numofsymbolerror=numofsymbolerror+1; end;
end;
counter=counter+1; end
ps=numofsymbolerror/(N*counter); %误信率 pb=numofbiterror/(2*N*counter);
% 误码率
附录二:
function [pb_rayleigh,ps_rayleigh]=rayleigh(snr_in_dB) % [pb_rayleigh,ps_rayleigh]=rayleigh(snr_in_dB) % CM_SM3发现误码和误符号的概率
% snr_in_dB 的给定值,信号以dB 为单位的信噪比。 counter=0;
numofsymbolerror=0; numofbiterror=0;
while (numofbiterror<100)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dsource1(i)=1; dsource2(i)=1; end; end;
for i=1:N,
% the received signal at the detection, for the ith symbol,is: m=raylrnd(0.7); n=sgma*randn(1,2);
% 正态分布,方差
N=10000; E=1;
snr=10A (snr_in_dB/10); sgma=sqrt(E/snr)/2;
s00=[1 0]; s01=[0 1]; s11=[-1 0]; s10=[0 -1]; % generation of the data source for i=1:N,
temp=rand; if (temp<0.25),
dsource1(i)=0; dsource2(i)=0; elseif (temp<0.5),
dsource1(i)=0; dsource2(i)=1; elseif (temp<0.75),
dsource1(i)=1; dsource2(i)=0; else
%每个符号的能量 %信噪比 %噪声方差 %信号映射
% 0和1之间均匀分布的随机变量 %概率小于1/4时,源极输出为"00" %概率小于1/2时,源极输出为"01" %概率小于3/4时,源极输出为"10" %否则为"11”
if ((dsource1(i)==0) & (dsource2(i)==0)), r=m*s00+n; elseif ((dsource1(i)==0) & (dsource2(i)==1)), r=m*s01+n; elseif ((dsource1(i)==1) & (dsource2(i)==0)), r=m*s10+n; else r=m*s11+n; end; % The correlation metrics are computed below c00=dot(r,s00); c01=dot(r,s01); c10=dot(r,s10); c11=dot(r,s11); %相关指标如下计算c_max=max([c00,c01,c10,c11]); if (c00==c_max), decis1=0;
decis2=0; elseif (c01==c_max), decis1=0; decis2=1; elseif (c10==c_max), decis1=1; decis2=0; else decis1=1; decis2=1; end;
%如果决定是不正确的,增加错误计数器symbolerror=0;
if (decis1~=dsource1(i)), numofbiterror=numofbiterror+1; symbolerror=1; end;
if (decis2~=dsource2(i)), numofbiterror=numofbiterror+1; symbolerror=1; end;
if (symbolerror==1), numofsymbolerror=numofsymbolerror+1; end; end; couter=counter+1; end ps_rayleigh=numofsymbolerror/N; %误信率
pb_rayleigh=numofbiterror/(2*N); % 误码率
附录三:% QPSK System Simulation %QPSK 系统仿真echo on
%仿真信噪比范围 %理论计算信噪比范围
SNRindB1=0:0.5:6; SNRindB2=0:0.1:6; for i=1:length(SNRindB1),
[pb,ps]=cm_sm32(SNRindB1(i)); smld_bit_err_prb(i)=pb; smld_symbol_err_prb(i)=ps; disp([ps,pb]); echo off; end; echo on
for i=1:length(SNRindB1),
[pb_rayleigh,ps_rayleigh]=rayleigh(SNRindB1(i));
%高斯信道下的模拟位和符号错误率
%瑞利信道下的模拟位 和符号错误率
smld_bit_err_prb_rayleigh(i)=pb_rayleigh;
smld_symbol_err_prb_rayleigh(i)=ps_rayleigh; disp([ps_rayleigh,pb_rayleigh]);
echo off;
end; echo on;
for i=1:length(SNRindB2),
SNR=exp(SNRindB2(i)*log(10)/10);
theo_err_prb(i)=0.5*erfc(sqrt(SNR));
x=1-sqrt(SNR./(1+SNR)); theo_err_prb_rayleigh(i)=x/2;
echo off;
end; echo on;
% Plotting commands follow grid on semilogy(SNRindB1,smld_bit_err_prb,'*'); hold on
semilogy(SNRindB1,smld_symbol_err_prb,'o'); hold on
semilogy(SNRindB2,theo_err_prb); hold on
semilogy(SNRindB2,theo_err_prb_rayleigh,'r'); hold on
semilogy(SNRindB1,smld_bit_err_prb_rayleigh,'r*');
%信噪比
%高斯信道的理论误码率
%瑞利信道下的理论误码率 %作图
hold on
semilogy(SNRindB1,smld_symbol_err_prb_rayleigh,'ro');
xlabel('信噪比(dB)');
ylabel('误码/符号率');
legend('bit error probability','symbol error probability','theory error probability');
title('BER performance of QPSK transmission scheme under AWGN and Rayleigh fading channel');