赞
踩
目录
matlab2022a仿真结果如下:
OFDM(Orthogonal Frequency Division Multiplexing)是一种常用的多载波调制技术,广泛应用于现代无线通信系统中。OFDM技术能够有效地抵抗多径衰落、提高频谱利用率和降低误码率等,因此在4G、5G等移动通信系统中得到了广泛应用。在OFDM通信系统中,调制方式直接影响系统的性能,因此需要进行合理的选择。
将介绍基于瑞丽多径信道的OFDM通信链路,并对BPSK、QPSK、16QAM和64QAM四种调制方式进行性能对比分析。
1.多径信道介绍
当无线信号在传播过程中遇到障碍物或经过散射时,会产生多个传播路径,这些路径的延迟和相位差异会导致信号在时域和频域上发生扩散,从而影响信号的传输质量。这种现象称为多径传播,是无线通信中不可避免的问题之一。
2.瑞丽多径信道模型
瑞丽多径信道是一种常用的多径信道模型,其模型中包含了多个路径,每个路径的信号经过不同的衰落和时延,最终到达接收端。这些路径的时延和相位差异会导致信号的干扰和衰落,从而影响信号的传输质量。瑞丽多径信道模型可以用以下公式表示:
h(t)=\sum_{i=1}^{L}a_i\cdot e^{j\cdot 2\pi f_i t}\cdot \delta(t-\tau_i)
其中,$L$为路径数,$a_i$为第$i$个路径的幅度,$f_i$为第$i$个路径的频率,$\tau_i$为第$i$个路径的时延,$\delta(t)$表示单位冲击响应函数。
瑞丽多径信道特点
瑞丽多径信道是一种常见的宽带无线信道,其特点包括:
(1)时域扩散:由于多个路径信号的干扰和时延差异,信号在时域上会发生扩散,导致码间干扰(ISI)和多径干扰(MPI)。
(2)频域选择性衰落:由于路径的频率响应不同,信号在频域上会发生衰落,导致频率选择性衰落(Fading)。
(3)复杂性高:由于多个路径的干扰和时延差异,信道的复杂度较高,需要采用复杂的信道估计和均衡技术。
三、OFDM通信链路介绍
OFDM通信链路包括发送端和接收端两个部分,其基本框图如下图所示。
图1 OFDM通信链路框图
1.发送端
在OFDM发送端,源信号经过串并转换、FFT变换、加突发前缀等处理后,被分成多个子载波进行传输。具体流程如下:
(1)串并转换:将源信号按照一定的比特数分组,每组数据称为一个符号。然后,每个符号被并行地调制到多个子载波上。
(2)FFT变换:对并行调制后的信号进行FFT变换,将频域信号转换成时域信号,并把时域信号分割成多个子符号。
(3)加突发前缀:为了避免ISI和MPI的影响,每个子符号前面加上一段长度为突发前缀的空闲时间,使得不同子符号之间互不干扰。
(4)DAC转换:将数字信号转换成模拟信号,通过无线电波传输到接收端。
2.接收端
在OFDM接收端,接收到的信号经过突发去前缀、IFFT变换、FFT变换等处理后,被还原成原始数据。具体流程如下:
(1)突发去前缀:去掉接收到的信号中每个子符号前面的突发前缀。
(2)FFT变换:对去掉突发前缀的信号进行FFT变换,将时域信号转换成频域信号。
(3)解调:将均衡后的信号进行串并转换,解调得到原始数据。
四、BPSK、QPSK、16QAM和64QAM调制方式比较
BPSK调制
BPSK是一种二进制相移键控调制方式,将数字1和0分别映射为正弦波的正半周期和负半周期。BPSK调制方式简单,信号带宽较窄,但信号传输速率较慢,抗干扰能力相对较弱,适用于低速率、低信噪比的场景。
在瑞丽多径信道下,BPSK调制方式的性能较为稳定,能够有效抵抗多径衰落和噪声干扰,但传输速率较慢,无法满足高速率通信的需求。
QPSK调制
QPSK是一种四相位移键控调制方式,将数字0、1、2、3分别映射为正弦波的不同相位。QPSK调制方式相对于BPSK调制方式,能够提高传输速率,但带宽较宽,抗干扰能力相对较弱。
在瑞丽多径信道下,QPSK调制方式能够有效抵抗多径衰落和噪声干扰,但仍存在一定的误码率,需要进行信道均衡等处理。
16QAM调制
16QAM是一种16种不同幅度和相位的正交调制方式,将数字0~15分别映射为不同的符号。16QAM调制方式相对于BPSK和QPSK调制方式,能够进一步提高传输速率,但同时带来了更大的复杂度和更窄的容忍度。
在瑞丽多径信道下,16QAM调制方式的抗干扰能力相对较弱,容易受到多径衰落和噪声干扰的影响,需要进行更为复杂的信道估计和均衡处理。
64QAM调制
64QAM是一种64种不同幅度和相位的正交调制方式,将数字0~63分别映射为不同的符号。64QAM调制方式能够进一步提高传输速率和带宽效率,但相应地也带来了
在瑞丽多径信道下,64QAM调制方式的抗干扰能力相对较弱,容易受到多径衰落和噪声干扰的影响,需要进行更为复杂的信道估计和均衡处理。
- %子载波个数
- N_fft = 512;
- %OFDM符号的个数
- N_bits = 16;
- %循环前缀长度
- N_cp = 32;
- %1---bpsk
- %2---qpsk
- %4---16qam
- %6---64qam
- sels = 1;
- SNR = [0:2:24];
- %蒙特卡罗
- MTKL = 1000;
- ERR = zeros(size(SNR));
-
- for ii=1:length(SNR)
- ii
- errors=[];
- for jj=1:MTKL
- msgs = double(rand(1,N_fft*sels*N_bits)>=0.5);
- %调制
- msgs_mod = func_mod(msgs,sels);
- %串并
- msgs_s2p = reshape(msgs_mod,N_fft,N_bits).';
- %OFDM调制
- msgs_ifft= ifft(msgs_s2p,N_fft,2);
- %加循环前缀
- msgs_cp = zeros(N_bits,N_fft+N_cp);
- for iii=1:N_bits
- msgs_cp(iii,1:N_cp) = msgs_ifft(iii,N_fft-N_cp+1:end);
- msgs_cp(iii,N_cp+1:end)= msgs_ifft(iii,:);
- end
- %并串转换
- Tx = reshape(msgs_cp.',1,[]);
- R_noised = awgn(Tx,SNR(ii),'measured');
- %加多径
- R_noised = R_noised + 0.2*[randn(1,2)/4,R_noised(1:end-2)];
- R_ps = reshape(R_noised,N_fft+N_cp,N_bits).';
- %去CP
- for iii=1:N_bits
- R_cp(iii,:) = R_ps(iii,N_cp+1:end);
- end
- %OFDM解调
- R_fft = fft(R_cp,N_fft,2);
- %解调
- R_demod = reshape(R_fft.',1,[]);
- R_msg = func_demod(R_demod,sels);
- errors(jj) = sum(abs(msgs-R_msg));
- end
- errsum=sum(errors);
- ERR(ii)=errsum/(MTKL*N_bits*N_fft*sels);
- end
-
- figure;
- semilogy(SNR,ERR,'b-o');
- grid on;
- xlabel('SNR(dB)');
- ylabel('BER');
- if sels==1
- save Rbpsk_ray.mat SNR ERR R_demod
- end
- if sels==2
- save Rqpsk_ray.mat SNR ERR R_demod
- end
- if sels==4
- save Rqam16_ray.mat SNR ERR R_demod
- end
- if sels==6
- save Rqam64_ray.mat SNR ERR R_demod
- end
- 12_085_m
V
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。