周报2.28-3.6
继续进行了Wifi grc的搭建。上周对框图进行了反向散射的仿真,得到了理想的效果,但是将仿真换成USRP传输时出现了问题,分析后发现是因为仿真中有一个Packet Pad2模块,其作用是将经过FFT的数据进行打包后发出,连接USRP的测试需要去掉此模块。
当去掉此模块后,不能进行正常的反向散射的仿真实验,因为不能确定每个数据包有多少个采样点,也就是对应于应该在多少个点的位置模拟相位改变。
从发送端接收到matlab是连续波形,因此无法确定那一部分是一个数据包的长度。
从接收端接收波形到matlab,发现每个数据包大约占1300个采样点,每个包之间的间隔为35458个采样点??还是与真正的采样率对不上,原因暂时没有找到,收到的波形如下:

这种方法失败猜测可能的原因:数据包之间间隔时间不一样?
针对以上假设,只考虑第一个包的情况,当直接将同步后的信号乘以方波,就可以模拟反向散射的信号,当对包的850~950个点进行反射时,就可以得到调相后的信号,发现每次运行时第一个包改变的位置都相同。


多次实验,发现都是第5到第7位改变。
而如果先将信号与方波相乘再通过USRP传输,得到的反射信号不正常,猜测是因为乘了方波对同步造成了影响,因此考虑用tag继续测试。
用tag进行实验与前面的用USRP做测试不同,为了防止原信号和反射信号相互干扰,tag必须对原有的信号进行移频处理。通过tag产生方波对原信号进行移频,而在某些位置通过将tag原有的方波与 '1' 做异或,即可使方波与原来的方波相位相差180°,相当于仿真中的对原信号乘 -1,与 '0' 做异或,相当于保持原有的方波不变。
写下的verilog代码如下:
1 |
注意的问题:
tag烧完之后要记得clear程序,否则直接用FPGA连接tag后波形会很奇怪。
实验时先用正弦波进行尝试,正弦波成功后再用wifi测试。wifi测试时注意比较器的灯,还有USRP的功率。