【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

摘要

1. 引言

2. FBMC技术概述

2.1 FBMC基本原理

2.2 FBMC与OFDM的比较

3. MIMO系统中的信道估计

3.1 MIMO技术概述

3.2 经典信道估计方法

3.3 大规模MIMO信道估计的挑战

4. FBMC在MIMO系统中的信道估计

4.1 FBMC信道估计的挑战

4.2 FBMC信道估计方法

4.2.1 干扰消除法

4.2.2 干扰利用法

4.2.3 干扰规避法

4.3 基于压缩感知的FBMC信道估计

5. FBMC与MIMO技术的结合

5.1 FBMC-MIMO系统模型

5.2 FBMC-MIMO信道估计与均衡

5.3 仿真验证与性能分析

6. 未来研究方向

6.1 低复杂度信道估计算法

6.2 FBMC与新型多址技术的结合

6.3 FBMC在6G及未来通信系统中的应用

7. 结论

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文章下载


💥1 概述

未来移动通信的滤波器组多载波调制方案

摘要:未来的无线系统将具有广泛的可能用例。这需要对可用的时频资源进行灵活分配,而传统的正交频分复用(OFDM)很难实现这一点。因此,需要对OFDM进行修改,例如窗口化或滤波。另一种选择是采用不同的调制方案,如滤波器组多载波(FBMC)。在本文中,我们提供了一个统一的框架,讨论和评估了FBMC,并将其与基于OFDM的方案进行了比较。我们的研究不仅基于模拟,还通过真实世界的测试平台测量和试验进行了实证,我们展示了FBMC所面临的主要挑战之一——多天线和信道估计可以被有效处理。此外,我们推导了双选择信道中的信号干扰比的闭式解,并表明在许多实际情况下,单点均衡器是足够的。

关键词:FBMC,OQAM,OFDM,波形,MIMO,信道估计,时频分析,测量

未来的移动系统将具有高度异质性,并具有广泛的可能用例,从增强型移动宽带(eMBB)到增强型机器类型通信(eMTC)再到车载通信中的超可靠低延迟通信(URLLC)[1]–[5]。为了有效支持这些多样化的用例,我们需要对可用的时频资源进行灵活分配,如图1所示。在科学界和标准化组织内部都有关于下一代移动通信系统应该使用哪种调制格式的热烈讨论[6]–[9]。最终,3GPP决定他们将在第五代(5G)移动通信中继续使用正交频分复用(OFDM)(做了一些小的修改)[10],[11]。虽然从OFDM切换到其他方案不会带来数量级的性能提升,但仍然重要进行研究,因为调制格式是每个通信系统的核心,决定了支持的用例。

在本文中,我们将OFDM与滤波器组多载波(FBMC)进行比较[12]–[14],后者具有更好的频谱特性。FBMC存在不同的变体,但我们将主要关注偏移正交振幅调制(OQAM)[15],因为它提供了最高的频谱效率。OQAM有不同的名称,如交错多音和余弦调制多音[13],但本质上都是一样的[16]。详细文章见第4部分。

摘要

未来移动通信系统需要支持多样化的应用场景,如增强型移动宽带(eMBB)、增强型机器类型通信(eMTC)和超可靠低延迟通信(URLLC)。这要求对可用的时频资源进行灵活分配,而传统的正交频分复用(OFDM)技术难以满足这一需求。滤波器组多载波(FBMC)作为一种新兴的多载波调制技术,因其良好的频谱特性和时频聚焦性,成为未来移动通信系统的重要候选方案。本文将探讨FBMC在MIMO系统中的信道估计问题,分析其优势与挑战,并提出相应的解决方案。

1. 引言

随着5G及未来移动通信系统的发展,对频谱效率和系统灵活性的要求越来越高。OFDM作为当前主流的多载波调制技术,虽然具有实现简单、频谱效率高等优点,但也存在带外辐射高、对频偏敏感等缺点。FBMC通过引入原型滤波器,有效降低了带外辐射,提高了频谱利用率,同时对频偏具有更强的鲁棒性。然而,FBMC也面临着信道估计复杂度高、与MIMO技术结合困难等问题。因此,研究FBMC在MIMO系统中的信道估计方案具有重要的理论意义和应用价值。

2. FBMC技术概述

2.1 FBMC基本原理

FBMC是一种基于子载波滤波的多载波调制技术,通过一组并行的子带滤波器对多载波信号进行滤波。这组滤波器由同一个原型低通滤波器调制而来,满足奈奎斯特无码间干扰(ISI)准则。FBMC系统通常采用偏移正交幅度调制(OQAM),将复数信号分为实部和虚部,分别在不同时间点传输,从而避免了相邻子载波之间的干扰。

2.2 FBMC与OFDM的比较

特性FBMCOFDM
频谱效率高,带外辐射低较高,但带外辐射较高
抗频偏能力强,对频偏不敏感弱,对频偏敏感
信道估计复杂度高,需处理固有干扰低,实现简单
与MIMO兼容性需特殊处理直接兼容
PAPR较低较高

3. MIMO系统中的信道估计

3.1 MIMO技术概述

MIMO技术通过利用多个天线同时传输和接收信号,显著提高了系统的频谱效率和可靠性。然而,MIMO系统的性能高度依赖于准确的信道状态信息(CSI),因此信道估计成为MIMO系统中的关键技术。

3.2 经典信道估计方法

  • 最小二乘(LS)信道估计:复杂度低,但估计精度一般。
  • 最小均方误差(MMSE)信道估计:精度较高,但需要信道相关矩阵和噪声方差作为先验信息,计算复杂度高。

3.3 大规模MIMO信道估计的挑战

大规模MIMO系统使用大量天线,导致信道维度大幅增加,传统信道估计方法的计算复杂度显著上升。此外,大规模MIMO信道通常具有稀疏性,可以利用压缩感知(CS)理论进行高效信道估计。

4. FBMC在MIMO系统中的信道估计

4.1 FBMC信道估计的挑战

FBMC系统放弃了子载波间的复数域正交性,采用实数域正交性,导致子载波间存在固有干扰。这种干扰使得传统的OFDM信道估计方法无法直接应用于FBMC系统,增加了信道估计的复杂度。

4.2 FBMC信道估计方法

4.2.1 干扰消除法

通过设计特殊的导频结构或信号处理算法,消除子载波间的固有干扰。例如,成对导频(POP)法通过在发送端发送一对导频,接收端通过相关运算获得信道估计值,同时消除干扰。

4.2.2 干扰利用法

利用固有干扰的特性,设计导频结构或估计算法,将干扰转化为有用信息。例如,干扰近似法(IAM)通过合理设计导频符号,使干扰符号与导频符号相结合,提高信道估计的精度。

4.2.3 干扰规避法

通过优化导频结构或信号处理算法,避免子载波间的干扰。例如,辅助导频法通过设置辅助导频符号,抵消周围数据符号对导频符号的干扰。

4.3 基于压缩感知的FBMC信道估计

大规模MIMO信道具有稀疏性,可以利用压缩感知理论进行高效信道估计。通过设计合适的测量矩阵和重建算法,可以从少量的观测值中恢复出完整的信道信息。例如,基于分布式压缩感知的信道估计方案,采用自适应测量矩阵的网格匹配跟踪策略,解决了离散到达角和出发角引起的功率泄露问题。

5. FBMC与MIMO技术的结合

5.1 FBMC-MIMO系统模型

FBMC-MIMO系统由发送端的综合滤波器组和接收端的分析滤波器组组成。发送端将输入信号经过串并变换、OQAM预处理、原型滤波和IFFT变换后,通过多相滤波器组发送到信道中。接收端进行相应的逆变换,恢复原始数据。

5.2 FBMC-MIMO信道估计与均衡

FBMC-MIMO系统的信道估计与均衡技术更加复杂,需同时处理子载波间的固有干扰和MIMO信道的多径效应。常用的均衡算法包括迫零(ZF)法、最小均方误差(MMSE)法和干扰消除均衡(EIC)算法。

5.3 仿真验证与性能分析

通过仿真验证FBMC-MIMO系统的性能,分析不同信道估计与均衡算法对系统误码率(BER)和频谱效率的影响。仿真结果表明,基于压缩感知的信道估计方法在低信噪比(SNR)条件下具有更好的性能,而干扰消除均衡算法在高SNR条件下表现更优。

6. 未来研究方向

6.1 低复杂度信道估计算法

研究低复杂度的FBMC信道估计算法,降低计算复杂度,提高系统实时性。例如,基于深度学习的信道估计算法,通过训练神经网络模型,实现快速、准确的信道估计。

6.2 FBMC与新型多址技术的结合

探索FBMC与新型多址技术(如非正交多址接入NOMA)的结合,进一步提高系统频谱效率和用户接入能力。

6.3 FBMC在6G及未来通信系统中的应用

研究FBMC在6G及未来通信系统中的应用场景和技术挑战,如太赫兹(THz)通信、智能超表面(RIS)等,为FBMC技术的实用化奠定基础。

7. 结论

FBMC作为一种新兴的多载波调制技术,因其良好的频谱特性和时频聚焦性,成为未来移动通信系统的重要候选方案。然而,FBMC在MIMO系统中的信道估计问题仍面临诸多挑战。本文分析了FBMC信道估计的挑战与现有方法,提出了基于压缩感知的信道估计方案,并通过仿真验证了其性能。未来,需进一步研究低复杂度信道估计算法、FBMC与新型多址技术的结合以及FBMC在6G及未来通信系统中的应用,推动FBMC技术的实用化进程。

📚2 运行结果

部分代码:

% Sampling rate: should approximately match the power delay profile of the 
% channel and must be larger than "SubcarrierSpacing*NumberOfSubcarriers".
SamplingRate                = 15e3*14*14;
dt                          = 1/SamplingRate;

% Simulation parameters
Simulation_SNR_OFDM_dB           = [-5:2.5:30];                           % SNR for OFDM in dB. The average transmit power of all methods is the same! However, the SNR might be different due to filtering (in FOFDM and UFMC) or because a different bandwidth is used (different subcarrier spacing or different number of subcarriers).
Simulation_MonteCarloRepetitions = 1000;                                % Number of Monte Carlo repetitions over which we take the average                  

% Channel parameters
Channel_Velocity_kmh         = 130;                                     % Velocity in km/h. Note that [mph]*1.6=[kmh] and [m/s]*3.6=[kmh]
Channel_PowerDelayProfile    = 'VehicularA';                            % Power delay profile, either string or vector: 'Flat', 'AWGN', 'PedestrianA', 'PedestrianB', 'VehicularA', 'VehicularB', 'ExtendedPedestrianA', 'ExtendedPedestrianB', or 'TDL-A_xxns','TDL-B_xxns','TDL-C_xxns' (with xx the RMS delay spread in ns, e.g. 'TDL-A_30ns'), or [1 0 0.2] (Self-defined power delay profile which depends on the sampling rate)
Channel_DopplerModel         = 'Jakes';                                 % Which Doppler model: 'Jakes', 'Uniform', 'Discrete-Jakes', 'Discrete-Uniform'. For "Discrete-", we assume a discrete Doppler spectrum to improve the simulation time. This however only works accuratly if the number of samples and the velocity is sufficiently high.                                       
Channel_CarrierFrequency     = 2.5e9;                                   % Carrier Frequency (Hz)

% General modulation paramters
QAM_ModulationOrder          = 64;                                      % QAM sigal constellation order: 4, 16, 64, 256, 1024,...

% FBMC parameters
FBMC_NumberOfSubcarriers     = 24;                                      % Number of subcarriers
FBMC_NumberOfSymbolsInTime   = 30;                                      % Number FBMC symbols in time
FBMC_SubcarrierSpacing       = 15e3;                                    % Subcarrier spacing (Hz)
FBMC_PrototypeFilter         = 'Hermite-OQAM';                          % Prototype filter (Hermite, PHYDYAS, RRC) and OQAM or QAM.
FBMC_OverlappingFactor       = 4;                                       % Overlapping factor, 2,3,4,...

% OFDM parameters
OFDM_NumberOfSubcarriers     = 24;                                      % Number of subcarriers 
OFDM_NumberOfSymbolsInTime   = 14;                                      % Number OFDM symbols in time
OFDM_SubcarrierSpacing       = 15e3;                                    % Subcarrier spacing (Hz)
OFDM_CyclicPrefixLength      = 1/(14*OFDM_SubcarrierSpacing);           % Length of the cyclic prefix (s)

% WOLA parameters
WOLA_NumberOfSubcarriers     = 24;                                      % Number of subcarriers                                   
WOLA_NumberOfSymbolsInTime   = 14;                                      % Number WOLA symbols in time  
WOLA_SubcarrierSpacing       = 15e3;                                    % Subcarrier spacing (Hz)
WOLA_CyclicPrefixLength      = 0;                                       % Length of the cyclic prefix (s) to combat the channel
WOLA_WindowLengthTX          = 1/(14*2*WOLA_SubcarrierSpacing);         % Length of the window overlapping (s) at the transmitter 
WOLA_WindowLengthRX          = 1/(14*2*WOLA_SubcarrierSpacing);         % Length of the window overlapping (s) at the receiver

% FOFDM parameters
FOFDM_NumberOfSubcarriers     = 24;                                     % Number of subcarriers
FOFDM_NumberOfSymbolsInTime   = 14;                                     % Number FOFDM symbols in time                        
FOFDM_SubcarrierSpacing       = 15e3;                                   % Subcarrier spacing (Hz)
FOFDM_CyclicPrefixLength      = 0;                                      % Length of the cyclic prefix (s) to combat the channel
FOFDM_FilterLengthTX          = 0.2*1/(FOFDM_SubcarrierSpacing);        % Length of the transmit filter (s)
FOFDM_FilterLengthRX          = 0.2*1/(FOFDM_SubcarrierSpacing);        % Length of the receive filter (s) 
FOFDM_FilterCylicPrefixLength = 1/(14*FOFDM_SubcarrierSpacing);         % Length of the additional cyclic prefix (s) to combat ISI and ICI due to the filtering

% UFMC parameters
UFMC_NumberOfSubcarriers     = 24;                                      % Number of subcarriers
UFMC_NumberOfSymbolsInTime   = 14;                                      % Number UFMC symbols in time
UFMC_SubcarrierSpacing       = 15e3;                                    % Subcarrier spacing (Hz)
UFMC_CyclicPrefixLength      = 0;                                       % Length of the cyclic prefix (s) to combat the channel. If zero padding is used, this length reprents the zero guard length instead of the CP length.
UFMC_FilterLengthTX          = 1/14*1/(UFMC_SubcarrierSpacing);         % Length of the transmit filter (s)
UFMC_FilterLengthRX          = 1/14*1/(UFMC_SubcarrierSpacing);         % Length of the receive filter (s)
UFMC_FilterCylicPrefixLength = 1/(14*UFMC_SubcarrierSpacing);           % Length of the additional cyclic prefix (or zero guard symbol if ZP is used) in seconds (s). Needed to combat ISI and ICI due to the filtering. However, small ICI and ISI is perfectly feasibly.
UFMC_ZeroPaddingInsteadOfCP  = true;                                    % TRUE for Zero Padding (ZP) and FALSE for a conventional Cyclic Prefix (CP). Note that a CP delivers nicer plots of the power spectral density because there are no zero crossing.

%% Generate " +Modulation\" Objects
% FBMC Object
FBMC = Modulation.FBMC(...
    FBMC_NumberOfSubcarriers,...                                        % Number of subcarriers
    FBMC_NumberOfSymbolsInTime,...                                      % Number FBMC symbols in time
    FBMC_SubcarrierSpacing,...                                          % Subcarrier spacing (Hz)
    SamplingRate,...                                                    % Sampling rate (Samples/s)
    0,...                                                               % Intermediate frequency of the first subcarrier (Hz).  Must be a multiple of the subcarrier spacing
    false,...                                                           % Transmit real valued signal (sampling theorem must be fulfilled!)
    FBMC_PrototypeFilter,...                                            % Prototype filter (Hermite, PHYDYAS, RRC) and OQAM or QAM. The data rate of QAM is reduced by a factor of two compared to OQAM, but robustness in doubly-selective channels is inceased
    FBMC_OverlappingFactor, ...                                         % Overlapping factor (also determines oversampling in the frequency domain)                                   
    0, ...                                                              % Initial phase shift
    true ...                                                            % Polyphase implementation
    );
FBMC_BlockOverlapTime = (FBMC.PrototypeFilter.OverlappingFactor-1/2)*FBMC.PHY.TimeSpacing;

% OFDM Object
OFDM = Modulation.OFDM(...
    OFDM_NumberOfSubcarriers,...                                        % Number of subcarriers
    OFDM_NumberOfSymbolsInTime,...                                      % Number OFDM symbols in time                                                 
    OFDM_SubcarrierSpacing,...                                          % Subcarrier spacing (Hz) 
    SamplingRate,...                                                    % Sampling rate (Samples/s)                                       
    0,...                                                               % Intermediate frequency of the first subcarrier (Hz). Must be a multiple of the subcarrier spacing
    false,...                                                           % Transmit real valued signal (sampling theorem must be fulfilled!)
    OFDM_CyclicPrefixLength, ...                                        % Length of the cyclic prefix (s)                 
    FBMC_BlockOverlapTime ...                                           % Length of the guard time (s), that is, zeros at the beginning and at the end of the transmission
    );

% Windowed OFDM (WOLA)
WOLA = Modulation.WOLA(...
    WOLA_NumberOfSubcarriers,...                                        % Number subcarriers
    WOLA_NumberOfSymbolsInTime,...                                      % Number WOLA symbols in time 
    WOLA_SubcarrierSpacing,...                                          % Subcarrier spacing (Hz)
    SamplingRate,...                                                    % Sampling rate (Samples/s)
    0,...                                                               % Intermediate frequency of the first subcarrier (Hz). Must be a multiple of the subcarrier spacing
    false,...                                                           % Transmit real valued signal (sampling theorem must be fulfilled!)
    0, ...                                                              % Length of the cyclic prefix (s)
    FBMC_BlockOverlapTime-WOLA_WindowLengthTX/2, ...                    % Length of the guard time (s), that is, zeros at the beginning and at the end of the transmission
    WOLA_WindowLengthTX, ...                                            % Length of the window overlapping (s) at the transmitter 
    WOLA_WindowLengthRX ...                                             % Length of the window overlapping (s) at the receiver
    );

% FOFDM (Filtered OFDM)
FOFDM = Modulation.FOFDM(...
    FOFDM_NumberOfSubcarriers,...                                       % Number of subcarriers
    FOFDM_NumberOfSymbolsInTime,...                                     % Number FOFDM symbols in time                
    FOFDM_SubcarrierSpacing,...                                         % Subcarrier spacing (Hz)
    SamplingRate,...                                                    % Sampling rate (Samples/s)
    0,...                                                               % Intermediate frequency of the first subcarrier (Hz). Must be a multiple of the subcarrier spacing
    false,...                                                           % Transmit real valued signal (sampling theorem must be fulfilled!)
    0, ...                                                              % Length of the cyclic prefix (s)
    FBMC_BlockOverlapTime-FOFDM_FilterLengthTX/2, ...                   % Length of the guard time (s), that is, zeros at the beginning and at the end of the transmission                    
    FOFDM_FilterLengthTX, ...                                           % Length of the transmit filter (s)
    FOFDM_FilterLengthRX, ...                                           % Length of the receive filter (s) 
    FOFDM_FilterCylicPrefixLength ...                                   % Length of the additional cyclic prefix (s).  Needed to combat ISI and ICI due to the filtering. However, some small ICI and ISI is perfectly fine.
);

% UFMC (Subband Filtered OFDM)
UFMC = Modulation.UFMC(...
    UFMC_NumberOfSubcarriers,...                                        % Number of subcarriers
    UFMC_NumberOfSymbolsInTime,...                                      % Number UFMC symbols in time
    UFMC_SubcarrierSpacing,...                                          % Subcarrier spacing (Hz)
    SamplingRate,...                                                    % Sampling rate (Samples/s)
    0,...                                                               % Intermediate frequency of the first subcarrier (Hz). Must be a multiple of the subcarrier spacing
    false,...                                                           % Transmit real valued signal (sampling theorem must be fulfilled!)
    0, ...                                                              % Length of the cyclic prefix (s). If zero padding is used, this length reprents the zero guard length instead of the CP length
    FBMC_BlockOverlapTime-UFMC_FilterLengthTX/2, ...                    % Length of the guard time (s), that is, zeros at the beginning and at the end of the transmission
    UFMC_FilterLengthTX, ...                                            % Length of the transmit filter (s)
    UFMC_FilterLengthRX, ...                                            % Length of the receive filter (s)
    UFMC_FilterCylicPrefixLength, ...                                   % Length of the additional cyclic prefix (or zero guard symbol if ZP is used) in seconds (s). Needed to combat ISI and ICI due to the filtering. However, some small ICI and ISI is perfectly fine.
    UFMC_ZeroPaddingInsteadOfCP ...                                     % TRUE for Zero Padding (ZP) or FALSE for a conventional Cyclic Prefix (CP)
);

% Number of samples
N_FBMC  = FBMC.Nr.SamplesTotal;
N_OFDM  = OFDM.Nr.SamplesTotal;
N_WOLA  = WOLA.Nr.SamplesTotal;
N_FOFDM = FOFDM.Nr.SamplesTotal;
N_UFMC  = UFMC.Nr.SamplesTotal;
N       = max([N_FBMC N_OFDM N_WOLA N_FOFDM N_UFMC]);

ChannelModel = Channel.FastFading(...
    SamplingRate,...                                                    % Sampling rate (Samples/s)
    Channel_PowerDelayProfile,...                                       % Power delay profile, either string or vector: 'Flat', 'AWGN', 'PedestrianA', 'PedestrianB', 'VehicularA', 'VehicularB', 'ExtendedPedestrianA', 'ExtendedPedestrianB', or 'TDL-A_xxns','TDL-B_xxns','TDL-C_xxns' (with xx the RMS delay spread in ns, e.g. 'TDL-A_30ns'), or [1 0 0.2] (Self-defined power delay profile which depends on the sampling rate) 
    N,...                                                               % Number of total samples
    Channel_Velocity_kmh/3.6*Channel_CarrierFrequency/2.998e8,...       % Maximum Doppler shift: Velocity_kmh/3.6*CarrierFrequency/2.998e8  
    Channel_DopplerModel,...                                            % Which Doppler model: 'Jakes', 'Uniform', 'Discrete-Jakes', 'Discrete-Uniform'. For "Discrete-", we assume a discrete Doppler spectrum to improve the simulation time. This only works accuratly if the number of samples and the velocity is sufficiently large                                       
    100, ...                                                            % Number of paths for the WSSUS process. Only relevant for a 'Jakes' and 'Uniform' Doppler spectrum                                                 
    1,...                                                               % Number of transmit antennas
    1,...                                                               % Number of receive antennas
    true ...                                                            % Gives a warning if the predefined delay taps of the channel do not fit the sampling rate. This is usually not much of a problem if they are approximatly the same.
    );

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、文章下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值