AWGN信道下BCH码BPSK调制

该实验通过MATLAB的Simulink平台模拟了BPSK调制解调系统,探讨了BPSK的调制解调原理,以及在AWGN信道中的误码率计算。实验表明,误码率与信噪比成反比,BPSK仿真结果与理论值接近,并且使用BCH码能显著降低误码率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 实验名称:

AWGN信道下BCH码BPSK调制通信系统模型及仿真

  • 实验目的

1.学习如何利用计算机仿真方法和技术对通信系统的理论知识进行验证,并学会搭建简单的系统模型;

2.掌握MATLAB的基础知识,熟悉MATLAB进行通信系统仿真中各个常用模块的使用方法;

3. 掌握二相BPSK调制的工作原理;

4.掌握利用MATLAB进行误比特率测试BER的方法;

5. 掌握AWGN信道中BPSK调制系统的BER仿真计算方法。

  • 实验内容

该实验主要运用MATLAB集成环境下的simulink仿真平台对BPSK调制解调系统进行建模仿真。

首先回顾BPSK调制与解调的基本原理,分析BPSK调制与解调的实现方法;接着基于simulink仿真平台设计出BPSK数字通信系统的结构,包括信源、调制、发送滤波器模块,信道、接受滤波器模块以及信宿;根据通信原理,设计出各个模块,并进行参数设置;最后进行仿真,根据显示结果进行性能分析。

  • 实验原理

(1)BPSK的调制原理

BPSK(Binary Phase Shift Keying)是二进制相移键控,它是一种相位调制算法。相位调制(调相)是频率调制(调频)的一种演变,载波的相位被调整用于把数字信息的比特编码到每一词相位改变(相移)。BPSK中的“PSK”表示使用移相键控方式,移相键控是调相的一种形式,用于表达一系列离散的状态。

BPSK具有以下特点:

(1)抗噪能力强;

(2)较高的频带利用率;

(3)抗加性高斯白噪声噪声方面,BPSK性能较好。

用二进制进制数字基带信号控制载频的相位实现调制称为相移键控PSK,即随着基带信号0、1的变化,载波的相位变化来传递数字信息,而振幅和频率保持不变。在BPSK中,通常用初始相位为0和π表示二进制的“1”和“0”。因此BPSK的信号的时域表达式为:

eBPSKt=Acos(ωt+φn)

因此,上式可改写为

 

 

 图 1 BPSK的时域波形

(2)BPSK的解调原理

BPSK信号的解调通常采用相干解调法,由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息,采用相干解调法来解调信号。解调器原理框图如图2所示。由于BPSK信号的相位和参考相位的关系是固定的,所以相干解调实际上就是将输入的BPSK信号与本地恢复的相干载波进行相位比较,根据相位相同或相反形成二进制绝对码。

2PSK信号经过带通滤波器得到有⽤信号,经相乘器与本地载波相乘再经过低通滤波器得到低频信号v(t),再经抽样判决得到基带信号。

 

图 2 解调器原理框图

采用PSK信号的相干解调器进行解调,如图3示,图中,假设相干载波的基准相位与BPSK信号的调制载波的基准相位一致(通常默认为0相位)。但是,由于在BPSK信号的载波恢复过程中存在着180°的相位模糊,即恢复的本地载波与所需的相干载波可能同相,也可能反相,这种相位关系的不确定性将会造成解调出来的数字基带信号与发送的数字基带信号正好相反,即"1"变为“O",“"0"变为"1"”,判决器输出数字信号全部出错。这种现象称为BPSK方式的"倒相"现象或"反相工作”。

 图 3 解调器各点时域波形

(3)BPSK的误码率的计算

在AWGN信道下,BCH码BPSK调制通信系统的误码率(BER)可以使用以下公式计算:

 其中,Eb是每个比特的能量,单位为Joule;No是单位带宽的噪声功率谱密度,单位为Watt/Hz;erfc是互补误差函数。

对于二元正交调制(BPSK),每个比特的能量可以表示为:Eb=Es/Rb,其中Es是符号能量,Rb是比特速率。在BPSK中,Es等于每个符号所代表的电平之间的欧氏距离的平方除以两倍。

因此,在给定Es和Rb的情况下,可以计算出Eb。如果知道信道的带宽和噪声功率谱密度,则可以计算出No。

最后,通过将这些值代入上述公式中,可以计算出BCH码BPSK调制通信系统在指定的信噪比下的BER值。

  • 实验步骤

  1. 建立仿真模型以及配置参数

打开MATLAB软件并选择Simulink图形界面。

在Simulink图形界面中,在 simulink library browser 中查找元器件,并放置在创建的新模型窗口中,连接元器件,得到如下的仿真模型将所有Block连接起来,构建通信系统模型。然后设置仿真参数,例如仿真时间、采样时间等。

图 4 BPSK数字通信系统的结构

 

  1. 编写仿真代码

代码在循环中,对每个信噪比下的接收数据进行解码、解调和比较,最终计算并记录误码率。最后,使用MATLAB内置的semilogy函数绘制误码率曲线。

  • 程序代码
clc
clear all;
ebno = 0:0.1:10; %信噪比范围
snr = 10.^(ebno/10); %单位换算
for i = 1:length(ebno)
 EbNo = ebno(i);
 sim('BPSK.slx'); %调用 simulink 仿真
 measurement(i) = simout02.signals.values(100001,1); %获取误码率
 theory(i) = simout01.signals.values(100001,1); %获取仿真的误码率
end
for iter = 1:length(ebno)
 theory_Pe = erfc(sqrt(snr))/2; %计算理论误码率 
end
figure;

semilogy(ebno,measurement, '-b+',ebno,theory, '-r',ebno,theory_Pe, '-g');
legend('BPSK 仿真循环码误码率','BPSK 仿真无循环码误码率','BPSK 理论误码率');
title('BPSK 在 AWGN 信道下的性能');
xlabel('信噪比 EbNo(dB)');
ylabel('误符号率/误码率');
  • 实验结果与问题分析

实验结果

系统仿真结果如下图

 

图 5 BPSK在AWGN信道下的性能图

从BPSK在AWGN信道下的性能图中可以看出,在BPSK调制系统中由于存在信道干扰和码间串扰,会影响调制系统的性能,即存在一定的误码率,误码率与信噪比相关,当信噪比提高时,误码率下降。

BPSK仿真无循环码误码率与BPSK理论误码率相近。而经过循环码BCH(31,16)的BPSK仿真循环码误码率在信噪比达到一定值时,BPSK仿真循环码误码率要比BPSK理论误码率、BPSK仿真无循环码误码率要低几个数量级。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值