openwifi的接收机一直性能比较弱。具体表现就是如果测量吞吐,那么下行(流量方向是openwifi发射方向)总是好于上行,因为上行吞吐受限于openwifi接收机。
目前发现的第一个原因是因为原来的信道估计结果没有任何后处理,直接就是频域接收到的长训练序列去调制之后得到。加入了简单的频域平滑处理之后,性能有了明显提升。
下图中蓝线就是原始信道估计值,红线是平滑处理之后的:
下面的星座图是利用原始信道估计结果均衡的输出:
用了改进的信道估计后,星座图明显变好:
也顺便修正了一个在相位和频偏修正时的bug,原来的修正只能修正正频偏,对负频偏无效。这也是为何有些设备通信效果好,有些差。估计差的那些正好产生了负频偏。
现在openwifi加入和编译期自动探测git版本(revision)的功能,因此现在如果你读取FPGA里的XPU寄存器63可以得到FPGA对应的openwifi-hw git revision,如果你读取驱动里的drv_xpu寄存器7可以得到驱动对应的openwifi git revision。
以上更新尽在:https://github.com/open-sdr/o...
此外,在8月26号,openwifi不知道被哪个大V推到了YC的hacker news上(https://news.ycombinator.com/...),直接后果就是github上的star数量从800多暴涨到1.3k,一跃成为github fpga主题下第三名:https://github.com/topics/fpga