OFDM系统中的信号检测算法分类和详解

简介: 参考文献[1]周健, 张冬. MIMO-OFDM系统中的信号检测算法(I)[J]. 南京工程学院学报(自然科学版), 2010.[2]王华龙.MIMO-OFDM系统传统信号检测算法[J].科技创新与应用,2016(23):63.

1 引言

(1)信号检测的作用
为了在接收端进行数据恢复,需要知道调制值的参考相位和幅度,在实际系统中,由于载波频率偏移、定时偏差记忆信道的频率选择性衰落等的影响信号会收到破坏,导致相位偏移和幅度变化。为了恢复信号,接收端存在两种信号检测方法,查分检测和相干检测。差分检测可以在时域和频域内分别进行:时域内差分通过比较当前OFDM符号子载波与前一个OFDM符号中对应子载波间幅度和相位的差值来实现。相干检测利用信号的参考值来检测信号,所以在使用相干信号检测的时候,前面需要一个信道估计。差分检测方法比较适合较低传输速率的OFDM系统,如欧洲的DAB系统。而对于要求更高的传输速率和频谱效率的OFDM系统,相干检测更合适。
(2)相干检测的OFDM系统结构
在接收端经过信道估计得到信道的增益矩阵H后,然后就是信号检测和信号恢复,获得恢复的比特流。

1.png

OFDM 系统模型

(3)检测算法的分析
OFDM 中信号检测算法总体分为三类,线性检测、非线性检测、最优检测。常用的算法有迫零ZF检测、均方误差MMSE、V-BLAST 检测和最大似然检测算法。在最优检测中的最大似然(ML)检测算法虽然性能是这几类中最好的,但其复杂度是随着天线数和信号调制阶数的逐渐的增加而成指数量级快速增加。当在实际应用中天线数目过多时,该检测算法的计算量将非常大,所以不适合实际使用。线性检测中最小均方误差(MMSE)信号检测算法和迫零(ZF)信号检测算法都归属于线性检测算法类型,它们只能对在信道矩阵方面对接收信号进行相对于线性均衡性质的检测,实现虽然简单,但是检测性能不理想,对比最大似然(ML)检测算法的精确度相差很多。V-BLAST 检测算法的性能和复杂度介于最大似然检测和线性检测之间,在现实中被广泛地应用。

2 线性检测算法

2.1 迫零ZF算法

零化是从含有噪声的数据流中提取出所需要的信号信息,方便后续的检测和解码的过程,迫零ZF算法是解相关检测中的一种,ZF算法的实现原理是在初始化一个零化矢量 G Z F = H h H h ∗ H G_{ZF} = \frac{H_h}{H_h* H} GZF​\=Hh​∗HHh​​,是经过信道估计的信道增益矩阵, H h H_h Hh​是H的复共轭转置矩阵。估计的发送信号可表示为,

2.png


其中 Y D​表示接收端接收到的数据信号,*表示线性加权。

2.2 线性最小均方误差LMMSE算法

根据线性均方误差MMSE准则,初始化零化矢量

3.png


其中是经过信道估计的信道增益矩阵,是的复共轭转置矩阵。是和H等大小的单位矩阵。是信噪比的倒数。
则估计的发送信号可以表示为,

4.png


其中 Y D​表示接收端接收到的数据信号,*表示线性加权。

3 非线性检测算法

由于线性检测算法不能解决更高性能的系统要求,提出了改进的线性检测算法称为非线性检测。就是将检测算法的输出是输入的非闲心变化,包括了干扰消除、QR分解等方法。

3.1 传统干扰消除SIC算法

干扰消除是非线性检测中的关键技术,作用是去除天线之间的干扰,从而提高系统的检测性能。串行干扰消除采用串行的方式消除干扰,一次一次的将干扰信息从接收信号中去除。在MIMO多输入输出的OFDM中步骤如下
(1)选择某种线性检测算法(ZF或LMMSE)检测出第一副天线发送符号估计值y,将该值产生的干扰从接受信号y中减去,得到第一部分恢复的信号。
(2)以此类推,继续同样方式处理其他天线信号,直到处理完所有的天线信号,就得到了所有发送符号的估计值。

3.2 并行干扰消除PIC算法

并行干扰消除采用并行的方式来消除天线间的干扰,实现方式:首先选用一种线性检测方法检测出所有的发送信号估计值,然后对每个发送符号消除其他符号产生的干扰。
(1)V-BLAST/OSIC 检测算法
它是在串行干扰消除 OSIC(Ordered Sequential Interference Cancellation)信号检测算法的基础上得出的。主要作用是增强不同天线所发送的不同数据流和提高系统容量实现增益的最大化功能。BLAST 技术分为:水平分层空时码(H-BLAST)、垂直分层空时码(V-BLAST)和对角分层空时码(D-BLAST)。其中对角分层空时码(D-BLAST)相对复杂。水平分层空时码(HBLAST)垂直分层空时码(V-BLAST)相对简单但是它需要事先对信号源的比特流进行串并,然后进行编码和交织映射功能,垂直分层空时码(VBLAST)与之相反。
(2)V-BLAST/OSIC 检测算法的主要思想
在发送端信号进行串并转换后变成并行传输子路的数据流;在对这些子数据流进行时间域和空间域的信号构造。最后从具有 Nt 根天线的发送端天线阵中发出信号;接收端利用已知的相关无线信道的信息完成接收信号的空时分层检测功能。

3.3 排序的SIC算法

根据某一准则求出所有发送符号的零化矢量,选择零化矢量模最小的发送符号进行线性检测,干扰消除。对剩余系统的发送符号重新求零化矢量,进行排序选择,再线性检测、干扰消除。以此类推,直到得到所有发送符号的估计值

3.4 QR分解

QR分解的主要思想是变换信道矩阵H,避免矩阵的求逆,获得较低的计算复杂度。
具体推导参考论文【MIMO-OFDM系统中的信号检测算法(I)】

4 最优检测算法

最优检测是指检测出的信号具有较高的分集增益和最接近于原始信号。

4.1 最大似然检测算法

最大似然检测算法是公认的最优检测算法,它将接收信号对所有可能的发送符号域进行全局搜索,找到与接收信号距离最小(即最大似然)的发送符号作为原始的发送符号,其估计值公式为

5.png


其中表示欧式规范,是接收到的信号。
计算复杂度随着调制阶数和天线个数的增加而增加,在高阶调制和大量天线的情况下,几乎无法实现。

4.2 球面解码算法


具体推导参考论文【MIMO-OFDM系统中的信号检测算法(I)】

4.3 格点减少法


具体推导参考论文【MIMO-OFDM系统中的信号检测算法(I)】

5 参考文献

[1]周健, 张冬. MIMO-OFDM系统中的信号检测算法(I)[J]. 南京工程学院学报(自然科学版), 2010.
[2]王华龙.MIMO-OFDM系统传统信号检测算法[J].科技创新与应用,2016(23):63.

目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
21 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
20 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
10天前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
26 3
|
29天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
90 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
29 0
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
|
1月前
|
算法
基于最小二乘递推算法的系统参数辨识matlab仿真
该程序基于最小二乘递推(RLS)算法实现系统参数辨识,对参数a1、b1、a2、b2进行估计并计算误差及收敛曲线,对比不同信噪比下的估计误差。在MATLAB 2022a环境下运行,结果显示了四组误差曲线。RLS算法适用于实时、连续数据流中的动态参数辨识,通过递推方式快速调整参数估计,保持较低计算复杂度。
|
1月前
|
机器学习/深度学习 人工智能 开发框架
【AI系统】AI 学习方法与算法现状
在人工智能的历史长河中,我们见证了从规则驱动系统到现代机器学习模型的转变。AI的学习方法基于深度神经网络,通过前向传播、反向传播和梯度更新不断优化权重,实现从训练到推理的过程。当前,AI算法如CNN、RNN、GNN和GAN等在各自领域取得突破,推动技术进步的同时也带来了更大的挑战,要求算法工程师与系统设计师紧密合作,共同拓展AI技术的边界。
76 1
|
30天前
|
移动开发 算法 前端开发
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
21 0
|
24天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。