GNU广播和野生动物追踪

我和野生动物无线电发射机一起工作,我想build立一些能听取这些信号并跟踪听到的信息。 信号是通常每分钟发送60次的音调,如果运动传感器指示动物已经死亡,则为120。

我的计划是使用GNU无线电收听并将信号转换成保存到文件的某种types的matrix,然后在第二个程序中进行分析。 有没有一种方法可以在几百兆赫的频率上以500赫兹的间隔获得信号强度的vector,并将它们放在一起形成一个matrix?

辅助程序将解释这个输出并find野生动物发射器并logging它们的脉率。 这个想法是从GNU Radio每隔10秒钟获取一个新文件,并在收到第二个程序时处理它。

我一直在试图使用GNU Radio中的文件接收器块,并意识到它是二进制的。 也不确定它究竟包含什么。

任何build议的方法,我应该如何做到这一点将不胜感激!

我的计划是使用GNU Radio来收听和转换信号

那么,你将需要硬件来做到这一点; 你有什么样的SDR设备?

在下面,我假设你真的使用经典的SDR方法来获得一个给你原始I&Q样本的设备。

如果有一种方法可以在几百兆赫的频率上以500赫兹的间隔获得信号强度的矢量,并将它们放在一起形成一个矩阵。

放慢矩阵,让我们专注于从等距频率获得功率:

这几乎是一个功率谱密度(PSD)估计器。 最简单的,可能是最快的和经典的方法将简单地取得您的输入信号的FFT的幅度平方。

GNU Radio Companion具有对数FFT功能块,对于输入时间采样流,将以Frame rate您提供FFT size向量(显然应该是=采样率/ 500 Hz)。 例如:

来自GNU Radio Companion的流程图

将这些向量保存到一个文件就足够了,因为:

我一直在试图使用GNU中的文件接收器块,并意识到它是二进制的。 也不确定它究竟包含什么。

这是数字,原始,连续的,因为他们将在记忆中。 总是有一些误解,所以有一个常见问题的条目 , 理由是:

所有文件都是纯二进制格式。 只是位。 而已。 一个浮点数据流被一个接一个地保存为32位。 一个复杂的信号有32位的实部和32位的虚部。 读回复数意味着读取32位数据,将其保存到复杂数据结构的实数部分,然后读取下一个32位作为数据结构的虚数部分。 只要继续阅读数据。

所以,一个使用的方法就是使用Python / numpy ,使用numpy.fromfile(file, dtype=numpy.float32) ,然后numpy.reshape((rows,cols))将产生的一维浮点数组放入你想要的矩阵形状。

关于你的文件命名愿望:这是一个相当算法的问题(为什么我认为这个问题是非常重要的话题)。 你可能不会自己写一些代码。 这真的不是很难做到。 总是带有n向量并将它们写入名称与当前时间相匹配的文件的Python块将完全适合您的应用程序。

编写块是GNU Radio中可以做的最有趣的事情之一; 我认为这是非常值得的GNU无线电指导教程 。 阅读起来非常有趣,你可以在没有硬件的情况下遵循这些例子! 建议按顺序进行。


几点意见:

  1. FFT是一个好的,易于使用,快速,有效的估计器。
    但是,根据您的跟踪器的特性,使用滤波器组可能会在精度/错误概率方面超出其性能。 只要您对GNU Radio和DSP感到满意,请查看GNU Radio附带的多相滤波器组。 它们允许您采用一个“良好”的低通滤波器来选择单个通道,并以均匀间隔复制它们。
  2. 我习惯于不在 GNU Radio之外进行分析。
    我发现编写另一个python块就简单多了,这个python块只需要从估计器中得到的样本(在你的情况下,例如对数FFT),并且用它们做有用的事情,并且把那个输出连接到一个Qt GUI频率汇,比让我们说测量样本,并推动他们通过Matlab或R.
    大多数情况下,我正在生成一个运行我的测量流程图的Python文件,将其结果保存在向量汇中。 从该Python文件中,在流程图运行完成后,我立即使用numpy进行自己的离线分析。
    具有瞬间可重复的优点!

最后的评论:你说你已经有了一个SDR设备(一个RTL加密狗)。 那很棒!

将其附加到您的PC; 通过使用osmocom -s 1e6 -W来使用librtl / gr-osmosdr来获得1MHz的带宽“显示”; 调谐到发射机的频率并观看频谱。 你会学到很多!

如果您还没有所有的软件:只需下载并引导GNU Radio实时SDR环境 。 即插即用!

在GNU Radio Companion中,只需使用osmocom来源代替UHD:USRP Source (可以与RTL加密狗交谈)。

我会对发射机做一些研究。 查找网页,(特别是)从发射机上找到FCC ID,并在FCC网站上查找。 那么我们可以帮助更多。

我们能找到跟踪器吗? 记录信号在家中使用将是方便的。