问题标签 [gnuradio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gnuradio - 带宽 USRP2
我可以使用 USRP2 处理的最大带宽是多少?
gnuradio - 如何在 USRP 上以非常高的采样频率降低带宽
我正在使用带有 DBSRX 子板的 USRP。我需要一个非常高的采样频率。目前USRP可以给我在I和Q的最大采样频率为64M/8,数据类型很短,需要2个字节。
那么我可以减少输出数据的长度吗?例如将数据保存为占用1字节的char,并将采样频率提高到64M/4。我可以这样做吗?如何?
gnuradio - 如何在 Gnuradio 中进行通道测量?
使用 RFX2400 板测量时空编码方案中使用的通道的最佳方法是什么?
据我所知,您只能从 USRP 中获取 I 和 Q 流,我不确定您将如何获得一组通道系数。
我计划使用测量通道的共轭来“逆转”传输造成的损害。
signal-processing - 带有 2.4GHz 射频前端的 SDR 套件?
您知道带有 2.4GHz ISM 频段(2400MHz - 2483.5MHz)收发器的 SDR(软件定义无线电)套件吗?
我需要执行一些软件定义的无线电,包括定制调制。此外,一套套件的价格最高应为 1000 美元。我知道那里有一些非常昂贵的解决方案,但不幸的是,这不是一个选择。
从接收到传输的低延迟也是必要的,因此 GNU Radio + USRP 解决方案不可用。
更新: 我仔细研究了 USRP 解决方案。根据之前使用 USRP + GNU Radio 软件的经验,我最初完全不认为它是这种情况下的解决方案。我这样做是因为我需要实现分组无线电协议,因此我需要在输入和输出之间进行精确的位同步,并且我需要低延迟以允许我在接收到的符号之后以 1000 kBaud 的速率传输下一个符号。
根据经验,我知道 GNU Radio 框架默认使用块流链,TX 和 RX 之间几乎没有同步。因此我怀疑使用 USRP 我可能不得不直接使用 libusrp,并避免使用大多数 GNU Radio 软件。我错了吗?
wireless - 解码 802.11 b
我有一个来自光谱仪的原始抓取数据,该数据在 wifi (802.11b) 通道 6 上工作。(两台笔记本电脑在临时 ping 对方)。
我想在 matlab 中解码这些数据。我将它们视为具有 460 万个复杂样本的复杂向量。我看到他们的光谱相当不错。我正在寻找像 IEEE 802.11 标准(我有)那样复杂的文档。
我可以将测量数据分享给其他人。
c++ - 启动、停止和发送参数以将 Python 脚本与 C++ 应用程序分开的最佳方法?
我试着解释一下情况:
我有一个用 C++ 和 QT 编写的 QT 应用程序。
此 QT 应用程序启动一个在后台运行的单独控制台 C++ 应用程序。
这两个可能使用套接字进行通信,还不知道。
控制台 C++ 应用程序需要启动和停止我的 gnuradio python 脚本。它还需要向它发送参数。
一旦启动,这个 gnuradio 脚本在无限循环中独立运行,可能使用套接字将信息发送到控制台或 QT 应用程序。
当 QT 应用程序给出命令时,我的控制台应用程序需要停止运行此 gnuradio 脚本。
问题是如何从我的 C++ 控制台应用程序中停止这个单独的 python 脚本?还有什么我可以做的让这更简单吗?
问候,
斯皮茨
python - 在 Python 中处理阻塞函数调用
我正在使用Gnuradio 框架。我处理我为发送/接收信号而生成的流程图。这些流程图初始化并启动,但它们不会将控制流返回给我的应用程序:
我进口的time
问题是:只有第一个 if 语句调用流程图(与硬件交互)。我陷入了困境。我可以使用线程,但我不知道如何在 Python 中超时线程。我怀疑这是可能的,因为似乎杀死线程不在 API 中。这个脚本只需要在 Linux 上工作......
如何正确处理 Python 的阻塞函数——而不杀死整个程序。这个问题的另一个更具体的例子是:
我怎么还是得到print "hallo"
。;)
谢谢,马吕斯
c++ - Python PyGILState_{Ensure/Release} 在从 Python 代码返回 C++ 时导致段错误
更新好吧,看起来像在调用 PyGILState_Ensure() 之前添加 PyEval_InitThreads() 就可以了。在我急于解决问题时,我错误地将我的“挂起”归因于 PyEval_InitThreads()。
但是,在阅读了一些 Python 文档后,我想知道这是否是正确的解决方案。
当不知道哪个线程(如果有)当前拥有全局解释器锁时,调用此函数是不安全的。
首先,我正在研究一些修改过的 GNU Radio 代码——尤其是修改过的 gr_bin_statistics_f 块。现在,有一个错误报告(尽管是旧的)几乎描述了我的确切情况。
http://gnuradio.org/redmine/issues/show/199
现在,错误报告中提到的 usrp_spectrum_sense.py 调用 gr_bin_statistics_f (C++),然后定期回调 Python 以重新调整 USRP(无线电)。
以下是调用 Python 代码时发生的情况:
因此,一旦我们从 Python 代码返回,就会在调用 PyGILState_Release(d_gstate) 时发生分段错误。虽然我的代码与原始的 gr_bin_statistics_f 之间存在差异,但似乎与此无关。
我读到在 PyGILState_Ensure() 之前调用 PyEval_InitThreads() 已经解决了某些人的问题,但这只会导致我的程序挂起。
任何人都可以为我阐明这一点吗?或者是时候向 GNU Radio 邮件列表发送消息了?
在 Fedora 14 x86_64 上使用 Python2.7。
这是 GDB 回溯:
感谢您的关注!
gnuradio - 录制样本的 GNU Radio 文件格式
您知道 GNU Radio(GNU Radio Companion 中的 File Sink)在二进制文件中存储样本的格式吗?
我需要在 Matlab 中阅读这些示例,但问题是文件太大而无法在 Matlab 中阅读。
我正在用 C++ 编写程序来读取这个二进制文件。
signal-processing - 有什么方法可以跟踪 GNU Radio 中的信号变化?
我正在尝试跟踪和分析由于使用 GNU Radio(也使用 Ettus USRP)的频道变化而导致的接收信号的变化。我想使用 GNU Radio 编写一个程序,以便能够跟踪接收到的信号的变化。
我想跟踪的内容包括(但不限于):
- 中心频率的变化
- 接收功率的变化
- 带宽变化
- 功率尖峰
最终,我很想跟踪非常小的变化(即使是最小的变化)。
有人知道这是否可能吗?如果是这样,我该如何开始,我在哪里可以找到这方面的信息?另外,这种类型的信息是否可以在基础 C++ 层中获得,或者我可以通过上层 python 获得它?
谢谢。