欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

瑞利信道下BPSK的误码率

发布时间:2024/8/1 编程问答 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 瑞利信道下BPSK的误码率 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

瑞利信道条件下BPSK的误码率

通信系统

  • sss为随机产生的信号,为0或者1
  • 调制后的信号为xxx,0映射为−Eb-\sqrt{E_b}Eb,1映射为+Eb+\sqrt{E_b}+Eb
  • 高斯白噪声为nnn,满足均值为0,方差为σ2=N02\sigma^2=\frac{N0}{2}σ2=2N0的高斯分布
  • 收到的信号y=hx+ny=hx+ny=hx+n,h用于描述信道,这里的信道是瑞利信道,固h有实部和虚部,且实部和虚部是独立同分布的高斯变量,均值为0,方差为12\frac{1}{2}21(这里的1/2好像是涉及归一化之后的结果,具体原因不太清楚,但是很文章和代码都取的这个,明白的大佬可以在下面附上文章或者解释)
  • 经过解调之后的信号为shs^hsh,也是0或者1的形式

整体举个例子:
发射sss = 0
假设Eb=1\sqrt{E_b}=1Eb=1,调制之后x=−1x=-1x=1
过信道,假设n=0.5n=0.5n=0.5h=1+0.1ih=1+0.1ih=1+0.1i
收到的信号y=hx+n=−0.5−0.1iy=hx+n=-0.5-0.1iy=hx+n=0.50.1i
假设接收端知道hhh
估计xh=y/h=x+nhx^h=y/h=x+\frac{n}{h}xh=y/h=x+hn
解调判决,real(xh)<0=>sh=0real(x^h)<0=>s^h=0real(xh)<0=>sh=0

误码率分析

在BPSK,h=1h=1h=1的情况下,推导的误码率为:
P(e)=12erfc(EbN0)P(e)=\frac{1}{2}erfc(\sqrt\frac{{E_b}}{N_0}) P(e)=21erfc(N0Eb)
推导过程可参考另一篇文章:(没放的话提醒我放链接)
EbN0\frac{E_b}{N_0}N0Eb是之前讨论的信噪比,在瑞利信道的情况下,应该为∣h∣2EbN0\frac{|h|^2E_b}{N_0}N0h2Eb
知道h的情况下,错误概率为
P(e∣h)=12erfc(∣h∣2EbN0)P(e|h)=\frac{1}{2}erfc(\sqrt\frac{{|h|^2E_b}}{N_0}) P(eh)=21erfc(N0h2Eb)
∣h∣2|h|^2h2是实部和虚部的平方再相加,实部和虚部都服从高斯分布,最终这个变量服从卡方分布
Ψ=∣h∣2EbN0\Psi=\sqrt\frac{{|h|^2E_b}}{N_0}Ψ=N0h2Eb,则p(Ψ)=1Eb/N0e−ΨEb/N0p(\Psi)=\frac{1}{E_b/N_0}e^\frac{-\Psi}{E_b/N_0}p(Ψ)=Eb/N01eEb/N0Ψ

最终的错误概率
P(e)=∫0∞12erfc(Ψ)p(Ψ)dΨP(e)=\int_{0}^{\infty}\frac{1}{2}erfc(\Psi)p(\Psi)d\PsiP(e)=021erfc(Ψ)p(Ψ)dΨ
最终求得
P(e)=12(1−Eb/N0Eb/N0+1)P(e)=\frac{1}{2}(1-\frac{E_b/N_0}{E_b/N_0+1})P(e)=21(1Eb/N0+1Eb/N0)

matlab仿真

  • 随机生成发射的01
  • 调制,00映射为−Eb-\sqrt{E_b}Eb,1映射为+Eb+\sqrt{E_b}+Eb
  • 产生信道hhh,噪声nnn
  • 过信道y=hx+ny=hx+ny=hx+n
  • xh=y/h=x+nhx^h=y/h=x+\frac{n}{h}xh=y/h=x+hn
  • 判决,与发射端进行对比,计算误码率
  • 理论值和实际值比较
  • clear N = 10^6 % number of bits or symbols% Transmitter ip = rand(1,N)>0.5; % generating 0,1 with equal probability s = 2*ip-1; % BPSK modulation 0 -> -1; 1 -> 0 Eb_N0_dB = [-3:35]; % multiple Eb/N0 valuesfor ii = 1:length(Eb_N0_dB)n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % Rayleigh channel% Channel and noise Noise additiony = h.*s + 10^(-Eb_N0_dB(ii)/20)*n; % equalizationyHat = y./h;% receiver - hard decision decodingipHat = real(yHat)>0;% counting the errorsnErr(ii) = size(find([ip- ipHat]),2);endsimBer = nErr/N; % simulated ber theoryBerAWGN = 0.5*erfc(sqrt(10.^(Eb_N0_dB/10))); % theoretical ber EbN0Lin = 10.^(Eb_N0_dB/10); theoryBer = 0.5.*(1-sqrt(EbN0Lin./(EbN0Lin+1)));% plot close all figure semilogy(Eb_N0_dB,theoryBerAWGN,'cd-','LineWidth',2); hold on semilogy(Eb_N0_dB,theoryBer,'bp-','LineWidth',2); semilogy(Eb_N0_dB,simBer,'mx-','LineWidth',2); axis([-3 35 10^-5 0.5]) grid on legend('AWGN-Theory','Rayleigh-Theory', 'Rayleigh-Simulation'); xlabel('Eb/No, dB'); ylabel('Bit Error Rate'); title('BER for BPSK modulation in Rayleigh channel');

    总结

    以上是生活随笔为你收集整理的瑞利信道下BPSK的误码率的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。