matlab和sdr验证TDOA

参考文章:http://www.panoradio-sdr.de/tdoa-transmitter-localization-with-rtl-sdrs/

利用3个usrp设备,3个树莓派采集射频信号,对得到的信号用matlab脚本作相关运算,求时间差,对目标信号源进行定位

它这篇文章要求3个树莓派具有内网环境,我是通过natapp注册了一个账号,买了一个固定端口,以通过互联网的方式内网击穿对三个树莓派进行访问,树莓派要设置密钥登陆代替密码登录,然后通过服务器ssh给它们同时发指令,尽可能降低接受信号的延迟时间差,需要一个已知的参考信号做参考信号,用于纠正三个sdr设备接收信号的时间差以同步。

由于rtlsdr设备的采样率有限,并且频偏严重,虽然可以通过rtlsdr的频率补偿的方式以纠偏(通过gsm信号计算ppm,rtlsdr接收信号可以把ppm的参数带进去),但实际工作效果仍然很差。我对照这篇文章对他的算法进行了模拟实现,实际效果不理想,分析应该是我的参考信号和定位信号都是FM信号,定位效果不太好,可以通过平滑滤波的方式对相关值做进一步的处理,已得到更准确的相关峰,目前做了一些工作,但没有特别好的结论。

后面买了几台usrp b210设备,b210具有更高的采样率和更精确的时钟,但是在树莓派上安装uhd驱动有点折腾,就直接在虚拟机上开搞,这次利用服务器开启ftp服务,在服务器上要执行的命令利用matlab写入crontab文件,要注意windows文件格式和linux文件格式的区别,否则linux系统无法执行。对于三台装有uhd的主机,虚拟机连接b210设备,linux系统一直执行sh,sh的指令包括,定时从ftp上下载matlab写入的crontab文件,利用crontab命令执行crontab文件中的命令,即crontab crontab,将执行的结果上传到ftp服务器的指定文件夹内。服务器上就可以使用matlab脚本对上传的数据作处理,计算时间差和距离差,画曲线。由于usrp的带宽比较宽,可以不做频率切换,将参考信号和待定位信号都采集下来,然后下变频重采样,问题是这种方法采集的数据量比较大,传输速度比较慢,优点是比较灵活,操作比较方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值