目录
在现代通信技术领域,正交频分复用(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: