概述
前提概要:在研究MPSK抗噪声性能时,对比各文献的仿真结果,误码率结果非完全一致。若系统基带结构有略微差别(有无编码等),也会导致误码率出现差别。下面记录本人学习过程中,纯MPSK的抗噪声性能。
目录
1、MPSK信号误码率公式
2、根据误码率公式计算的仿真结果(方法一)
3、根据实际QPSK信号计算的仿真结果(方法二)
1、MPSK信号误码率公式
根据曹丽娜《通信原理》,对于任意M进制PSK信号,其误码率公式为
其中,r是输入信号的码元信噪比,即Es/N0;
值得注意的是,每比特的信噪比Eb/E0,与码元信噪比的公式有:
Es/N0=Eb/N0*(log2M*coderate);coderate为编码码率,M为进制数;
上述关于误码率的公式涉及积分,比较复杂,因此在实际应用中,当M足够大时,MPSK误码率公式可以近似写为:
因此erfc(.)表示求相应的互补误差函数,也有资料写为比特误码率相关形式,是等价的。
2、根据误码率公式计算的仿真结果(方法一)
根据上述MPSK的比特误码率公式,相应代码如下:
%% 根据公式算出的M-PSK的误码率曲线
EbN0dB=-10:1:18;
EbN0dBLIN=10.^(EbN0dB/10);
index=1;
mm=2:1:5;
MM=2.^mm;
for i=MM
k=log2(i);
berErr= 1/k*erfc(sqrt(EbN0dBLIN*k)*sin(pi/i));
semilogy(EbN0dB,berErr);
hold on;
index=index+1;
end
axis([-10 18 10^-8 10^0]);grid on;legend('Qpsk','8-psk','16-PSK','32-psk');
QPSK、8PSK、16PSK、32PSK的误码率仿真结果如下。
3、根据实际QPSK信号计算的仿真结果(方法二)
以QPSK信号为例,在实际系统中,包括QPSK调制、AWGN信号、QPSK解调,以及最后的误码率计算,相应代码如下。
%% 调用系统QPSK接口、AWGN接口算出的M-PSK的误码率曲线
EbNo_dB = -10:1:18;
frameLength = 1e6;
M_ = 4; % QPSK
K_ = log2(M_); % coded bits per symbol
R_ = 1; %code rate, information bits per coded bit
infoBitsPerSymbol = K_ * R_;
EsNo_dB = EbNo_dB + 10*log10(infoBitsPerSymbol);
snr_ = EsNo_dB;
b = randi([0,1],frameLength,1);
qpskMod = comm.QPSKModulator('BitInput', true, 'PhaseOffset', pi/4, 'SymbolMapping', 'Gray');
s = qpskMod(b);
for i = 1:length(snr_)
r = awgn(s, snr_(i), 'measured');
% 硬判决
qpskDemodHard = comm.QPSKDemodulator('BitOutput', true,...
'PhaseOffset', pi/4,'SymbolMapping','Gray');
b_hat = qpskDemodHard(r);
[~,berqpsk1(i)]=biterr(b_hat,b);
end
hold on,semilogy(EbNo_dB,berqpsk1,'--o'),grid on,legend('QPSK信号');
代码中做了比特信噪比Eb/No和信噪比SNR的转换:
SNR = EbN0 + 10log10(nBits*coderate) - 10log10(0.5or1 * upfactor);
coderate同样为编码码率,nBits为每个码元中的信息比特数目。
叠加到上图中,qpsk信号的误码率曲线与理论误码率曲线重叠一致。
最后
以上就是纯情红牛为你收集整理的MPSK抗噪声性能对比(即MPSK标准误码率曲线)1、MPSK信号误码率公式2、根据误码率公式计算的仿真结果(方法一)3、根据实际QPSK信号计算的仿真结果(方法二)的全部内容,希望文章能够帮你解决MPSK抗噪声性能对比(即MPSK标准误码率曲线)1、MPSK信号误码率公式2、根据误码率公式计算的仿真结果(方法一)3、根据实际QPSK信号计算的仿真结果(方法二)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复