问题标签 [gnuradio-companion]

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.

0 投票
0 回答
655 浏览

python - 自定义块问题 GNU RADIO

我在 GNU Radio 中的流程图出现了一些问题。我构建了一个自定义块作为延迟块,因为本机块在我的应用程序中效果不佳。在我的自定义块之前有一个 UHD 源。它以 4M 的采样率工作。但是,当我开始模拟时,它会产生溢出(“O”)。我认为这很奇怪,因为当我将 UHD 源的输出保存在文件中,然后在“离线”模式下再次播放模拟时,不会出现溢出错误。换句话说,当我在“在线”模式下工作时,我遇到了问题。仅当我使用 UHD Source 而不是 UHD Source 之前保存的文件时。

在此处输入图像描述

Delay_amostra_sync 块代码:

导入 numpy

从 gnuradio 导入 gr

class Delay_amostra_sync(gr.sync_block): """ 块 Delay_amostra_sync 的文档字符串 """ def init (self, var): gr.sync_block。init (self, name="Delay_amostra_sync", in_sig=[numpy.complex64], out_sig=[numpy.complex64]) self.var = var self.cont = 0
self.buffer = numpy.array([])
self.c = 1

返回长度(输出项目[0])

0 投票
1 回答
277 浏览

gnuradio - GNU Radio 消息传递块

gr_modtool在创建新块时提供块类型的一些选项。选项如下:

('sink', 'source', 'sync', 'decimator', 'interpolator', 'general', 'tagged_stream', 'hier', 'noblock')

我已经探索了这些选项,但我没有找到任何与纯消息传递块相关的选项

gr_modtool对于纯消息传递块,是否有任何类似的工具或选项?

0 投票
1 回答
268 浏览

gnuradio-companion - 信号位恢复

我是使用 GRC 的新手。我正在尝试从 fsk 设备解码数据。我使用 rtl_433 -a -t(I/Q 2 通道 uint8)抓取数据,消除噪声、正交解调、低通滤波器、中心波和二进制切片。所以我明白了: 在此处输入图像描述

从这里开始我怎样才能得到位转换/数据包?我也尝试过时钟恢复但没有成功(获得的数据与图表不符。

这是我的 grc 流程(还有时钟恢复变量) 在此处输入图像描述

PS如何在第一个“位”之前剪切抓取的数据?这是我的输出 Demod vs Binary slicing。如果我导出二进制文件,我会得到很多 0(由信号前的长线引起)。所以之后...

在此处输入图像描述

谢谢

0 投票
1 回答
926 浏览

gnuradio - GFSK 演示样本/符号

从信号开始,如何确定正确的 Samples/Symbol 值?

这是我正在使用的文件的链接: gfile271

还有我的流程图: 在此处输入图像描述

0 投票
0 回答
723 浏览

signal-processing - 使用 control_loop 重新实现 Muller 和 Mueller 时钟恢复

我目前正在实施符号时间恢复块。这个想法是能够选择不同的 TED(加德纳、过零、早晚、最大似然等)。在像 M&M 恢复这样的块中,环路的增益参数被明确表示(gain_omega 和 gain_mu),这可能很难正确。然而,contro_loop 类更方便(环路特性可以通过“环路带宽”和“阻尼因子”(zeta)来指定)。因此,我的第一个测试从使用控制回路重新实现 MM 时钟恢复开始。该块的工作函数如下所示(评论是我的)

这是我的代码。一、控制循环初始化构造函数

首先,我想消除我对符号时序恢复中的 pll(上面的 control_loop)特别是相位和频率范围(又用于包装)的几个疑问。从科斯塔斯循环中进行类比:载波相位在 -2pi 和 +2pi 之间包裹,并且频率偏移在 -1 和 +1 之间进行跟踪。很容易看出原因。不幸的是,我无法理解符号恢复中的相位和频率跟踪。从 m&m 块中,跟踪 (1+omega_relative_limit) 和 (1 - omega_relative_limit)*omega 之间的频率,其中 omega 只是每个符号的样本数。在 0 和 omega 之间跟踪相位。我不明白为什么会这样以及为什么 m&m 块不包装它。这里的任何想法将不胜感激。这是我的工作职能

我尝试在 GFSK 解调器中使用该模块,但出现此错误

关于这个错误的第一个谷歌搜索表明我以某种方式“滥用”调度程序,因为这个错误出现在 API 下方的某个地方。我认为我从控制循环中计算 d_omega 和 d_mu 有点幼稚,但不幸的是我不知道其他任何方法。另一种选择是使用模 1 计数器(递增或递减),但我想先探索这个选项。

0 投票
0 回答
363 浏览

gnuradio - 如何确定 fsk_deviation_hz?

使用 gnuradio 如何确定 fsk_deviation_hz?我是 rf analisys 的新手,我找不到如何从信号开始检索该值......我必须看什么?

0 投票
0 回答
382 浏览

python - GNU Radio:在 GRC 生成的代码中添加一些自定义代码

我需要使用 Python 代码对来自 GRC 信号源块(例如所附 GRC 流程图中的复杂到 Mag Phase 块)的数据流中的每个样本(64 个元素向量)应用数学公式(例如取平方根) ,就在该流被传递到流下游的某个其他块之前(例如,附加的 GRC 流程图中的 QT GUI Time Sink)

在显示到时间接收器之前,我将对 64 个样本相位矢量应用相位展开。

示例 GRC 流程图

0 投票
1 回答
443 浏览

gnuradio - 使用 GNU Radio 和声卡传输数据的方法

我正在开发一个自由空间光学收发器,它使用计算机的声卡、一个 LED、一个光电二极管和一个镜头在空中传输数据。目前我正在尝试在 GNU Radio 的帮助下连接两个收发器。我所知道的 GNU Radio 教程和示例都涵盖了 USB 无线电设备。

我已经尝试了一个名为 Minimodem 的软件,它使用音频频移键控在声卡上进行数据传输。GNU Radio 提供了很多有用的模块,比如自动增益控制(有助于根据光线和天气条件改变信号)等,这就是我想在我的实验中使用它的原因。

我知道使用声卡作为接口是可实现数据速率的限制因素。

我将不胜感激有关如何在 GNU Radio 伴侣中设置合理的流程图以实现两台计算机声卡之间的数据传输的建议。谢谢!

0 投票
1 回答
598 浏览

gnuradio - 用正交解调解调 GFSK

嗨,我正在尝试使用 gnu 无线电解调 GFSK 信号我将 osmocom 源连接到 FIR 滤波器,并将滤波器连接到正交解调(将信号输出到文件),如下所示: 我的流程图

正交解调增益为 - samp_rate/(2*pi*deviation/8)。

使用 Audacity 我打开了包含解调信号的文件。但是,无论我发送什么数据包(即使我什么都不发送),我都看不到代表数据包的窥视。

大胆显示的解调信号

你可以看到一个例子,我的设备似乎在不断地发送数据包。我究竟做错了什么?

0 投票
1 回答
103 浏览

gnuradio - 使用 USRP(b100 型)在 gnuradio 中接收 FM

我正在使用 USRP b100,我想接收调频音频。它没有发出正确的声音这里是模拟屏幕截图的链接,一些块的配置

https://github.com/faydal077/gnuradio.git

截屏

它主要说“请求抽取是奇数;用户应该期望 CIC 滚降。选择偶数抽取以确保启用半滤波器。抽取 = dsp_rate/samp_rate->31”我尝试将抽取作为偶数作为 65.536M但问题没有解决。提前致谢