(一)OpenOFDM数据包检测

        802.11 OFDM 数据包以短 PLCP 前导码序列开始,以帮助接收器检测数据包的开头。短前导码持续时间为 8 us。在 20 MSPS 采样率下,它包含 10 个由 16 个 I/Q 样本组成的重复序列,即总共 160 个样本。短前导码还有助于接收机进行粗略的频偏校正,这将在 频偏校正中单独讨论。

数据包格式详见:

IEEE 802.11a协议-CSDN博客文章浏览阅读689次,点赞17次,收藏8次。在调制时,速率位、保留位、长度位、奇偶位以及值为0的6位尾比特构成一个单独的OFDM符号,用SIGNAL段表示。信号段采用的是BPSK调制,1/2的编码速率。其中,信号段的速率位以及长度位决定着数据的比特率,进而决定其调制方式,编码速率等一系列的参数值。OFDM 的前导训练序列(Preamble training symbol)包括10个短训练符号(STS,用于自动增益控制、分集选择、定时捕获、粗频偏估计)和2个长训练符号(LTS,用于信道估计和细频偏估计),如图2。GR-OFDM算是一个简化版的协议。https://blog.csdn.net/Flag_ing/article/details/136419920

频率触发       

 在无线通信中,前导码(preamble)是一种预先安排的信号序列,用于帮助接收器同步和估计信道特性。短前导码是用于OFDM系统中的一种前导码,它具有较短的长度,通常包含重复的序列。

        power_trigger.v 是一个同步触发器,它通过检测信号功率的显著增加来激活,用于检测OFDM传输中的短前导码。它能够跳过硬件稳定阶段的初始样本,以减少误触发,并只在对有意义的信号(即具有高自相关度量的信号)进行检测时才触发。

短前导码检测

        短前导是无线通信中用于同步和标识数据包开始的一小段重复序列。首先,模块的输入是两个信号样本流,分别是实部(I)和虚部(Q),以及一个控制信号样本(sample_in_strobe)。输出是一个指示是否检测到短前导的信号(short_preamble_detected)。

        在通信信号中,短前导的开始部分通常具有明显的重复模式,这可以通过计算信号的自相关函数来利用。自相关函数可以检测信号序列的周期性。描述中给出了自相关函数的数学表达式和:



        N 是相关窗口的大小。如果 incoming signal 在每16个样本后重复,则相关值会达到1。如果相关值在一定数量的连续样本中保持高值,则可以认为检测到了短前导。
为了检测短前导,模块不仅检查连续样本间的相关性,还会检查信号是否包含大于25%的正负样本,以排除虚假阳性,例如当输入信号是常数非零值时,它的相关性也很高。
        由于现场可编程门阵列(FPGA)中除法运算消耗大量资源,描述中提出了一种避免除法的实现方法。取一个固定阈值(0.75),使用位移操作来近似除法效果。具体地,计算分子右移1位再加右移2位后的值,然后与分母进行比较。
        图中所示模块与公式对应,这个模块会检查连续样本的相关性,并确认信号是否具有足够的正负变化,以确定是否为短前导。模块使用位移操作来代替除法,从而节省FPGA资源。

总结

这部分的工作主要是:检测到短前导码,但这个工作要在“有意义”的信号下进行,所以有了power trigger的存在。

1、当信号来临时,跳过一系列低频率的无用样本,用power trigger设定频率的阈值去检测信号的到来,确定短前导码的开始。

2、利用短前导码的重复性去检测数据包的到来,计算样本的相关性,如果在一定样本范围内这个相关性的值很高,就说明这部分可能是短前导码(为什么说是“可能”,因为在输入非0的常数信号是,它是一条平滑的直线,相关性本身就很高)。所以为了进一步确定,还需要检查正负样本的数量是否大于一定的阈值。(正样本:样本值大于设定的参考值;负样本:样本值小于设定的参考值)

原文:Packet Detection — OpenOFDM 1.0 documentation

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值