▲基于simulink的OFDM-BPSK通信系统误码率仿真

目录

1.BPSK调制解调原理

2.IFFT 与 FFT 在 OFDM 中的应用原理

3.信道模块原理

4.Simulink模型

5. 仿真结果

6.完整程序下载


      在现代通信技术领域,正交频分复用(OFDM)与二进制相移键控(BPSK)相结合的通信系统具有重要地位。OFDM 技术通过将高速数据流分割成多个低速子数据流并在多个子载波上并行传输,有效抵抗多径衰落和提高频谱效率。BPSK 作为一种简单而可靠的数字调制方式,在传输二进制信息方面具有独特优势。OFDM - BPSK 通信系统综合了两者的长处,广泛应用于多种通信场景,如数字音频广播(DAB)、数字视频广播(DVB)以及 4G/5G 移动通信中的部分环节。深入理解其原理对于通信技术的发展与创新至关重要。

1.BPSK调制解调原理

BPSK调制

BPSK解调

2.IFFT 与 FFT 在 OFDM 中的应用原理

IFFT

FFT

3.信道模块原理

加性高斯白噪声信道(AWGN)

多径衰落信道

       在实际通信环境中,信号会经过多条不同路径到达接收端,由于各路径的长度不同,信号到达接收端的时间也不同,从而产生多径时延扩展。同时,由于各路径的衰减和相移不同,信号在各路径上的幅度和相位会发生变化,导致多径衰落。

       在 AWGN 信道中,噪声会影响 OFDM 符号中的各个子载波信号,导致子载波上的信息发生错误。由于 OFDM 符号中的子载波是相互正交的,在一定程度上可以抵抗噪声的干扰,但当噪声功率较大时,仍会导致误码率上升。

       在多径衰落信道中,多径时延扩展会破坏子载波的正交性,产生子载波间干扰(ICI)。同时,多径衰落会导致不同子载波上的信号幅度和相位发生不同程度的变化,使得 OFDM 系统的性能下降。为了克服多径衰落的影响,OFDM 系统采用循环前缀(CP)技术,通过在 OFDM 符号前添加一段冗余数据,使得在接收端可以有效消除 ICI 和符号间干扰(ISI)。

4.Simulink模型

      在整个 OFDM - BPSK 通信系统中,各个模块相互协作,通过 BPSK 调制解调实现二进制信息与载波信号的转换,利用 IFFT 和 FFT 实现频域与时域信号的转换,借助信道模块模拟信号在实际信道中的传输特性,并通过添加循环前缀、子载波解映射等技术克服信道带来的干扰和衰落,从而实现高效可靠的通信。

       simulink模型如下:

然后通过MATLAB调用simulink,统计系统误码率。

clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')
25........................................................................
Perr=[];
%设置多径个数

for j=1:4
    SNRS=[0:1:15];
    if j==1
       kk1=0;
       kk2=0;
       kk3=0;
    end
    if j==2
       kk1=0.5;
       kk2=0;
       kk3=0;
    end
    if j==3
       kk1=0.5;
       kk2=0.4;
       kk3=0;
    end
    if j==4
       kk1=0.5;
       kk2=0.4;
       kk3=0.3;
    end
    for ij=SNRS
        [j,ij]
        snr=ij;
        sim('OFDM_BPSK');
        Perr(j,ij+1) =[ber.Data(end,1)];
    end
end
 %绘制误码性能曲线
figure;                                                    
semilogy(SNRS,Perr(1,:),'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
semilogy(SNRS,Perr(2,:),'-mo',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.5,0.9,0.0]);
hold on
semilogy(SNRS,Perr(3,:),'-b^',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.2,0.9,0.5]);
hold on
semilogy(SNRS,Perr(4,:),'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
hold on
legend('无多径','1条多径','2条多径','3条多径');
xlabel('SNR(dB)');
ylabel('BER');
grid on;

5. 仿真结果

6.完整程序下载

完整可运行代码,博主已上传至CSDN,使用版本为matlab2022a:

https://download.csdn.net/download/ccsss22/90063194

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值