周报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
的功率。