基于MATLAB,通信链路基带(BPSK)仿真,限定错误比特数

本文介绍了使用BPSK调制在AWGN信道中进行基带仿真的过程,展示了误码率随Eb/N0增大的趋势,并指出在高Eb/N0下误码率与理论值接近。然而,当错误比特数设定过小时,统计误差影响实验结果,导致曲线波动大。
摘要由CSDN通过智能技术生成

通信链路基带仿真

仿真模型BPSK:

单极性码元(base_code),经过白高斯噪声信道(awgn),理想滤波(忽略载波调制,相干解调,低通滤波),判决,得到输出码元(dec_code)。其中EbN0为1到10。码元数量为10000时,采用bpsk调制时图像为

50组图像如下:

发现随着EbN0的增大,系统的误码率会降低;同时在高EbN0下系统的实际误码率与理论值偏差会逐渐减小。

解释:当Eb/N0增大时,意味着接收到的信号中的每个比特的能量相对于噪声更大,因此信号更容易被正确地检测和解码;在高Eb/N0条件下,由于误码事件变得非常稀少,统计误码率的样本数量变得非常大。统计得到的误码率可能与真实值相近。

在以错误比特数为100位终止条件,图像如下:

发现在设置错误100比特终止后,其曲线(传输比特数与SNR,及EbN0和BER关系)波动较大。

分析:原因可能是错误比特数过少,产生统计误差对实验影响较大,偏离理论较大。

完整代码:

clear all  
close all  
nsanp = 10;
s0=ones(1,nsanp);
s1=[ones(1,nsanp/2) -ones(1,nsanp/2)];
block=50;
nsymbol=100000;
EbN0=0:0.2:10;
SNR=[];
Transmit_Bits=[];
for k=1:block
    msg=randi([0, 1], 1, nsymbol);
    s00=zeros(nsymbol,1);
    s11=zeros(nsymbol,1);
    index0=find(msg==0);
    s00(index0)=1;
    s00=s00*s0;
    index1=find(msg==1);
    s11(index1)=1;
    s11=s11*s1;
    s=s00+s11;
    s=s.';
    
    for indx=1:length(EbN0)
        decmsg=zeros(1,nsymbol);
        r=awgn(s,EbN0(indx)-7);
        SNR=[SNR EbN0(indx)-7];
        r00=s0*r;
        r11=s1*r;
        indx1=find(r11>r00);
        decmsg(indx1)=1;
        err_nmb=0;
        err_index=nsymbol;
        for index3=1:length(msg)
            if decmsg(indx)~=msg(indx)
                err_nmb=err_nmb+1;
            end
            if err_nmb==100
                err_index=index3;
                break
            end
        end
        disp(err_index)
        msg1=msg(1:err_index);
        decmsg1=decmsg(1:err_index);
        [err,ber(indx)]=biterr(msg1,decmsg1);
        Transmit_Bits=[Transmit_Bits nsymbol-err];
    end
    figure(1)
    subplot(211)
    semilogy(EbN0,ber,EbN0,qfunc(sqrt(10.^(EbN0/10))));
    title('EbN0和BER的对数关系图')
    xlabel('EbN0')
    ylabel('BER')
    hold on
    subplot(212)
    semilogx(SNR,Transmit_Bits)
    title('不同信噪比下传输比特数')
    xlabel('信噪比SNR')
    ylabel('传输比特数')
    hold on
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值