m分别使用能量检测法和循环谱实现ofdm信号检测matlab仿真

简介: m分别使用能量检测法和循环谱实现ofdm信号检测matlab仿真

1.算法描述

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

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

1.1能量检测法

   能量检测法是一种非相干的检测手段,与频谱分析非常相似,也是通过判决来实现的。该方法依据感知器在信号有无两种假设情况下按接收信号功率大小的不同对信号进行检测。这种方法是一种对未知参数的确定性信号及其存在性检测的有效方法。由于能量检测对信号类型不作限制,因此不需要授权信号的先验信息。能量检测的主要思想是:将授权信号S(t)的功率在一个时间段(N个采样点)内取平均:

image.png

1.2循环谱检测法

谱相关分析方法主要有以下特点:
1.很多声呐信号都是循环平稳信号,而噪声却是平稳信号。当给回波信号做循环相关时,噪声大都集中在alpha=0上,而alpha=0相当于传统功率谱,如果采用传统功率谱方法,无法针对噪声进行抑制,而循环谱却可以在低信噪比的情况下很好的抑制平稳噪声。
2.由于循环谱包含幅度和相位,谱相关函数能为信号分析提供更多的信息(信号载频,带宽,符号速率,相位和时间)。所以采用循环谱方法,可以通过二维空间来提取更多的特征参数。
3.由于大多人造信号都是循环平稳信号,和传统的功率谱分析方法,谱相关分析更准确地揭示令循环平稳信号的本质。

image.png

2.仿真效果预览
matlab2022a仿真结果如下:

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

3.MATLAB核心程序

%数据长度
paras.lens   = 2000; 
%数据速率
paras.rate   = 6; 
%信号发射速率,恒定
Rate              = 20e6;
fc                = 100e6;
%循环谱检测参数
%采样频率
fs      = 300e6; 
%采样长度
N       = 2048;  
%平滑点数
M       = 20;    
%信噪比
SNR     = 15;
%数据
Signals     = round(rand(1,8*paras.lens));
%OFDM信号生成
Signal_OFDM = transmitter(Signals,paras);
%提升信号采样率
s_n         = ceil(fs/Rate); 
Signal_OFDM = Signal_OFDM(ones(s_n,1),:);
Signal_OFDM = reshape(Signal_OFDM, 1, s_n*length(Signal_OFDM));
 
%载波调制
Signal_channel = real(Signal_OFDM.*exp(j*2*pi*fc/fs*(0:length(Signal_OFDM)-1)));
Signal_channel = [Signal_channel]; 
相关文章
|
3月前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
2月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
150 8
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
3月前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
227 5
|
3月前
|
机器学习/深度学习 算法 语音技术
【语音分离】通过分析信号的FFT,根据音频使用合适的滤波器进行语音信号分离(Matlab代码实现)
【语音分离】通过分析信号的FFT,根据音频使用合适的滤波器进行语音信号分离(Matlab代码实现)
133 4
|
3月前
|
数据格式
表面肌电信号(sEMG)完整处理流程 MATLAB
表面肌电信号(sEMG)完整处理流程 MATLAB
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
224 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
117 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
100 0
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
114 0

热门文章

最新文章