信噪比SNR与误码率、噪声概率密度以及中断概率及matlab代码

**

信噪比SNR与误码率、噪声概率密度以及中断概率及matlab代码

信噪比SNR的matlab仿真
一、信噪比SNR

**
信噪比(SIGNAL NOISE RATIO,SNR or S/N),即放大器的输出信号的功率与同时输出的噪声功率的比值(有效信号的能量与噪音的能量之比),常常用dB表示。设备的信噪比越高表明它产生的杂音越少。
假设瑞利衰落信道中的接收信号的形式为: y=hx+n;
在这里插入图片描述


clear all;
close all;
%误码率曲线的绘制
SNR=1:1:20;%信噪比变化范围
snr=10.^(SNR/10);%将信噪比转化成直角坐标
N=1000000;%仿真点数
M=2;%进制数
x=randi([0,1],1,N); %产生随机信号
y=pskmod(x,M);%调用matlab自带的psk调制函数
 
for i=1:length(SNR);
    N0=1/2/snr(i);%计算噪声功率
    N0_dB=10*log10(N0);%将噪声功率转换为dBW
    ni=wgn(1,N,N0_dB);%产生高斯噪声
    h=raylrnd(1/sqrt(2),1,N);%产生瑞利信号
 
    yAn=y+ni;%通过高斯信道
    yA=pskdemod(yAn,M);%调用matlab自带的psk解调函数
    bit_A=length(find(x~=yA));%统计错误比特数 
    BPSK_s_AWGN(i)=bit_A/N;%计算误码率
    
    yRn=y.*h+ni;%通过瑞利信道
    yR=pskdemod(yRn,M);%调用matlab自带的psk解调函数
    bit_R=length(find(x~=yR));%统计错误比特数
    BPSK_s_Ray(i)=bit_R/N;%计算误码率 
end
BPSK_t_AWGN=1/2*erfc(sqrt(10.^(0.1.*SNR)));%AWGN信道下BPSK理论误码率
BPSK_t_Ray=1/2*(1-sqrt((snr)./(1+snr)));%Rayleigh信道下BPSK理论误码率
%绘制图形
figure;
semilogy(SNR,BPSK_s_AWGN,'-k*');hold on;
semilogy(SNR,BPSK_t_AWGN,'-go');hold on;
semilogy(SNR,BPSK_s_Ray,'-b*');hold on
semilogy(SNR,BPSK_t_Ray,'-ro');grid on;
axis([-1,20,10^-5,1]);
legend('AWGN仿真','AWGN理论','瑞利仿真','瑞利理论');
title('BPSK误码性能分析');
xlabel('SNR(dB)');ylabel('BER');

在这里插入图片描述
二、概率密度
(1)接收信号y的概率密度

y的概率密度用ksdensity 函数求得:
代码如下:

clear
N = 10^6 % 位或符号数
ip = rand(1,N)>0.5; 
s= 2*ip-1; % BPSK调制
Eb_N0_dB = [-3:35]; % multiple Eb/N0 values 
for ii = 1:length(Eb_N0_dB)   
   n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % white gaussian noise, 0dB variance ,高斯白噪声,0dB方差
   h = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % 瑞利信道
   y= h.*s + 10^(-Eb_N0_dB(ii)/20)*n;  %  信道和信道噪声叠加
   m=abs(y);%求模
end
[f,mi]=ksdensity(m);%求概率密度
plot(mi,f);%绘图

接收信号y的概率密度分布图:
在这里插入图片描述
(2)噪声n的概率密
噪声n的概率密度公式:在这里插入图片描述

代码如下:

clear
N = 10^6 %位或符号数
ip = rand(1,N)>0.5; %等概率产生0,1的发射机
s= 2*ip-1; % BPSK调制
Eb_N0_dB = [-3:35];   
n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; %高斯白噪声,0dB方差   
m=abs(n);%求模
[f,mi]=ksdensity(m);%求概率密度
plot(mi,f);%绘图

噪声n的概率密度分布图:
在这里插入图片描述
(3)复高斯随机变量h的概率密度
复高斯随机变量的形式
在这里插入图片描述

级数|h|的密度函数为:
在这里插入图片描述

代码如下:
clear
N = 10^6 %位或符号数
ip = rand(1,N)>0.5; % 等概率产生0,1的发射机
s= 2ip-1; % BPSK调制
Eb_N0_dB = [-3:35]; % multiple Eb/N0 values
h = 1/sqrt(2)
[randn(1,N) + j*randn(1,N)]; %瑞利信道
s=abs(h);%求模
y=s.*s;%模值的平方
[f,yi]=ksdensity(y);%求概率密度
plot(yi,f);%绘图

复高斯随机变量h概率密度分布:
在这里插入图片描述
(4)信噪比snr概率密度
程序:
SNR=1:1:20;%信噪比变化范围
snr1=10.^(SNR/10);%将信噪比转化成直角坐标
N=1000000;%仿真点数
M=2;%进制数
x=randi([0,1],1,N); %产生随机信号
y=pskmod(x,M);%调用matlab自带的psk调制函数
for i=1:length(SNR);
N0=1/2/snr1(i);%计算噪声功率
N0_dB=10*log10(N0);%将噪声功率转换为dBW
ni=wgn(1,N,N0_dB);%产生高斯噪声
h=raylrnd(1/sqrt(2),1,N);%产生瑞利信号
m=(abs(y.*h)).^2;
n=(abs(ni)).^2;
snr=m/n;
.[f,snri]=ksdensity(snr);%求概率密度
plot(snri,f);%绘图
在这里插入图片描述
三、中断概率
在通信中,如果得到的随机变化的信息传输速率低于一定的水平,即业务可靠速率,则会发生“中断”。实际通信系统中,收发信号的互信息量小于预期频谱效率时,就认为该链路中断。
设SNR的函数表达式为f(x),则中断概率可以表示为:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ddd199825/article/details/109122798
今日推荐