openofdm是github上一个项目,这个项目实现了ofdm的解码,我记录一下自己的探索过程。刚刚搞明白了如何仿真,这里记录一下分享给大家。
1,sudo apt-get install git iverilog gtkwave make -y
2,sudo git clone https://github.com/jhshi/openofdm
3,在步骤2的执行目录多了一个openofdm目录,进入这个目录。cd openofdm。
4,cd verilog之后进行make ,出现了错误提示,其中第一个就是divicer.v文件里面缺少了clk_gen这个模块的实现。这是因为后续作者做了更新但是没有将clk_gen的实现加入仿真项目。我们希望有一个最小的反应本质的例子,学习明白之后,再研究当前版本后续参与者(主要是openwifi的团队成员)做的其他有意义的修改。这里我们要恢复原来作者发布的样子。
4,首先我们看发布版本 git branch -r
这里没有什么发布版本。
5,我们查看提交历史,运行 git log
继续输入回车往前找,下图分割线下面的就是没有新openwifi的团队参与之前原来作者的提交,我们一直找到2017年原作者的提交,
提交号是: 2f0e0ba95385affa426dc11eba6effab37b8778b
6,之后运行 git reset --hard 2f0e0ba95385affa426dc11eba6effab37b8778b 这样硬性恢复到但是作者此次提交之后没有后续修改的代码。
7,代码恢复之后就可以按照原来作者的简介和文档进行学习和研究了。我们进入项目的verilog目录,之后运行make,可以看到编译和仿真都能够正常运行了。
正确运行后的样子如下:
8,上述编译和仿真完成之后生成了波形文件dot11.vcd,我们可以用gtkwave进行查看。
下图是gtkwave启动和加载页面。
gtkwave查看仿真波形。
9,文档大家可以参考 https://github.com/jhshi/openofdm 上面有细致到每一个模块的介绍。非常适合学习。
10,上述恢复到原作者2017年的代码(上述步骤后的代码),我打包上传到了网盘,大家可以下载:
链接:https://pan.baidu.com/s/1dE9eJ4WZlSTuLfXrFnYyAg
提取码:cm62
有了这个环境大家就可以研究所有源码,进行修改,之后仿真查看结果。后续实际运行就需要一个开发板。可以到我网店里购买 tqtt.taobao.com