WiFi识别基于simulink建模实现IEEE802.11g 标准WiFi信号识别算法仿真
Posted fpga和matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WiFi识别基于simulink建模实现IEEE802.11g 标准WiFi信号识别算法仿真相关的知识,希望对你有一定的参考价值。
1.软件版本
matlab2013b
2.本算法理论知识
首先IEEE802.11g 标准的OFDM的帧结构如下所示:
关于802.11g,其基本的帧结构:
短训练序列分为10段,每段长度为16个抽样点;长训练序列分为2段,每段长度为128个抽样点,总长度为160+256个抽样点。前导码之后是head和数据部分。
然后之前,我不知道是我讲错了,还是你听错了,长训练是精同步,短是粗同步。
所以就是基本的帧结构如下所示:
短训练序列 | .... | 短训练序列 | 保护 前缀 | 长训练 序列 | 长训练 序列 | 保护 前缀 | Head | Data |
这里进行仿真,将完整的将数据帧(发送多帧,进行同步,并对最后的帧头位置输出使能信号,说明鉴定到了帧数据信息了。)
然后在长码的前后两端,加入保护前缀
从上面的仿真结果可知,短序列 ,由于序列较短,可以快速的得到相关峰,但是由于其峰值较小,所以容易收到噪声干扰,而长序列则相反。
下面简单的介绍一下这个粗估计和精估计得过程:
步骤一:首先进行粗估计,这个时候系统对输入的数据进行短序列相关,这里需要不断的进行相关,直到找到短序列为止。我们在进行估计的时候。在搜索到连续的相关峰值的时候,则认为找到了短序列的位置。根据OFDM帧结构,我们可以计算得到粗步估计下帧头的位置,但是由于短序列容易收到噪声的干扰,所以这个位置并不是准确的位置,一般会有几个采样点的偏差,这里我们转入精估计
步骤二:假设由粗步估计得到帧头位置为INDEX,然后我们开始以INDEX-32的位置开始精估计,这样就节约了前面大量的搜索过程的计算了,然后以INDEX-32开始搜索,精估计,这个时候会得到两个相关峰的位置,我们取第二个位置,作为帧头计算位置,从而计算得到最后的帧头INDEX0位置。
3.部分源码
4.仿真结论
其中短序列通过检测模块,当短序列检测到相关峰的时候,进行反馈,去检测长序列,最后的效果如下所示:
系统自动检测好了帧的起始位置A12-10。
以上是关于WiFi识别基于simulink建模实现IEEE802.11g 标准WiFi信号识别算法仿真的主要内容,如果未能解决你的问题,请参考以下文章