问题标签 [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.
gnuradio - GNU Radio 文本文件接收器
我正在尝试自学 GNU Radio 和 DSP 的基础知识。我在 GNU Radio Companion 中创建了一个流程图,它采用一个向量,该向量是单个字符(字符“1”为“00110001”)的二进制表示,调制、解调并写入文件接收器。
解调后的示波器接收器看起来像是返回了值(见下文;似乎是正确的 0 和 1 模式),但文件接收器虽然其大小为 19 字节,但显示为空,或者至少没有返回正确的值(我在 ASCII 和 Hex 文本编辑器中查看过它)。我假设传输的单个字符将产生 1 个字节(或 8 位)——而不是 19 个字节。更改 Polyphase Sync 中的一些设置并在二进制切片器之后添加 Repack Bits 块会导致输出文件中出现一些字符,但绝不会是正确的字符。
我的问题是:
GNU Radio 可以采用单个字符,对其进行调制/解调,然后返回相同的字符吗?
我的流程图中有错误吗?
我将不胜感激任何见解或建议,谢谢。
gnuradio - GNU Radio Sine Generator -> 音频/声卡;断断续续的声音
我尝试了 GNU Radio 并寄予厚望,但即使是基本的东西也不能真正起作用,我不知道为什么:
- 正弦发生器:我使用“信号源”块并将其连接到“音频接收器”(声卡)。但是当我启动它时,音调是断断续续的。我尝试了多个采样率,44.1,48,96,...。我添加了一个“油门”块来避免 OAOAOAO,... 问题,没有任何方法可以产生连续的声音。
警告:此流程图包含一个节流块和另一个速率限制块,例如硬件源或接收器。这通常是不希望的。考虑卸下油门块。
信息:音频接收器拱门:窗户
h:没有这样的文件或目录
gr::pagesize: 没有信息;设置页面大小 = 4096
h:权限被拒绝
- 我尝试从 Windows 播放一个简单的 *.wav,但无法打开和播放该文件。它说它无法打开一些 .png 图像。
GNU Radio 有什么问题?我怎样才能让它工作?
gnuradio - GNU Radio 中旧卫星的 NRZ/PM 解调
有一颗旧的 S 波段卫星试图通过使用 USRP 板和 GNU Radio 接收遥测数据。以下是规格
- 调制 - NRZ/PM
- 调制指数 - 1.86rad
- 数据速率 - 720896bps
- 所需带宽(考虑多普勒和载波漂移) - 4367285.12 Hz
基于上述规格,我发现以下方面具有挑战性。我正在寻找有关如何进行的提示
采样
必须捕获总所需带宽 Δω = 4367285.12 Hz。因此,我将信号上采样了 16 倍。得到的采样率为 R s = 69876561.92Hz。假设数据速率为 R = 720896bps,每个符号的样本数变为 sps = R s ⁄R = 96.93。为了获得一个好的 sps 值,我将信号上采样 1600 并将其下采样 9693。这将使 sps = 16,这更容易处理。我的方法正确吗?任何有关如何设置 USRP 时钟速率以适应此采样率的建议也将不胜感激。
载波频率跟踪
在我的其他卫星应用程序中,我一直依赖 GPredict 来缓解多普勒效应,这在我的情况下无法使用 [跟踪软件不是 GPredict]。多普勒频移和载波漂移占总载波频移的 242Khz。我想到的方法是使用锁相环之类的东西进行载波跟踪。非常感谢如何在 GNU Radio 中执行此操作的示例
NRZ/PM 解调
据我了解,这种调制方案将数据编码为正弦曲线的相位。它与我熟悉的 PSK、FSK 等标准调制方案完全不同。高度赞赏有关此调制方案的任何信息。此外,GNU Radio 中没有解调器模块。任何有关如何实施它的建议也将不胜感激
git - gnu电台安装问题
我使用命令 git clone 面临以下错误消息
错误:RPC 失败;curl 56 GnuTLS recv 错误(-54):拉函数中的错误。致命:远程端意外挂断致命:早期EOF致命:索引包失败
python-2.7 - gr-dect2 - 致命的 Python 错误:PyThreadState_Get:没有当前线程
我通过 macports 安装了 gnuradio。我已经能够通过 macports 安装大多数其他块,但是我想开始使用 DECT 并且该块没有在 macports 上列出。所以我手动去通过以下git位置安装它:https ://github.com/pavelyazev/gr-dect2
当我使用标准安装进行安装时,gnuradio 根本没有看到该块。经过研究,我发现其他人通过修改下面的 cmake 调用取得了成功。
然后我能够在 gnuradio 中看到 dect2 块,但是当我运行示例 dect2.grc 项目时,我收到以下消息:
所以我找到了其他模块的安装位置,删除了构建目录并调用了原始的构建/安装命令,并对 cmake 进行了修改,如下所示。
现在,当我打开 gnuradio-companion 并继续打开 detc2.grc 项目时,它会因标题中的错误而崩溃:
有没有人能够在 Mac 中成功地为 gnuradio 安装 dec2 块?似乎这个问题已经有一段时间了。有人对我如何解决这个问题有任何想法吗?
以下是我的错误报告的摘录。由于尺寸的原因,我插入了 except,但我相信应该列出重要的内容。
gnuradio - 如何在 GNU Radio 中构建 gps 信号接收器和发射器
谁能指导我完成我的项目?
该项目包括使用 CDMA 构建 GPS 接收器和发射器。
我在 git 中找到了 gr-cdma,但我不知道如何配置它。其中有很多错误。
android - 无线电模块 (GNU RADIO) 和蓝牙 USB
我实际上正在开发一个android应用程序。这个应用程序的目标是通过蓝牙连接一个设备(智能手机)和另一个设备(树莓派)。我的收音机模块在树莓派上连接到 USB 。
我的应用程序实际上可以用这个树莓派连接蓝牙。首先,我想知道是否可以使用此应用程序获取无线电模块的名称(端口 9100 与蓝牙?)。
其次,我用GNURADIO制作了流程图。如果要发送信息(FM 发射器),它工作得很好。现在我想在 java 代码中转换这个流程图,以便从智能手机发送信息(文件、音乐..)到这个无线电模块。
我找到了这个教程: http: //gnuradio.org/redmine/projects/gnuradio/wiki/GRAndWalkthrough
如果您不理解我,我只是画了这个(对不起我的英语)。
这对我的项目来说是一个很好的教程吗?
谢谢你的帮助。
crc32 - 为什么 CRC32 在 gnuradio 中是非线性的?
我对 gnuradio 中 CRC32 的非线性有疑问。
我正在做一个需要线性 CRC32 的项目,这意味着:crc(a xor b) = crc(a) xor crc(b),其中 a 和 b 代表一个数据包。
gnuradio 中 CRC32 的实现默认是非线性的,所以我不得不修改代码以使其成为线性。
我对 CRC 背后的理论做了一些研究,发现了非线性 CRC 实现背后的两个原因:
1- 使用线性 CRC,我们可以对 2 个不同的零数据包具有相同的 CRC,例如 crc(0000 0000) = crc(00000 00 00000)。因此,如果我向仅包含零的数据包添加额外的零,那么 CRC 将无法检测到错误(额外的零)。
2-第二个原因是,对于线性 CRC,如果我在数据包的开头添加零,则 CRC 将无法检测到错误。例如:crc(10010 1101) = crc(0000 1000 1101)
现在我的问题是:在两个 USRP 之间传输数据包时,位可能有错误(例如,由于 SNR 不好),所以位“1”可能变成位“0”,反之亦然。但是,我不认为可以在数据包中添加位(如上述两种情况),因此实现非线性 CRC 的原因不适用于 gnuradio。
那么为什么我们在 gnuradio 中默认有一个非线性 CRC 呢?
而且,如果我在两个 USRP 之间传输时使用线性 CRC,那会有问题吗?
谢谢,
serial-port - GNURadio/GRC 中的串行输出块
我正在从事一个涉及 GNU Radio/GRC 的项目,并且对该软件不是很熟悉。我正在尝试使用块将数据输出到 GNU Radio 中的串行端口,但还没有找到这样做的方法。
我想知道是否有一个预定义的块可用于将此信息放入串行端口(Raspberry Pi 3 上的 USB),或者我是否必须创建自己的块。如果我必须创建自己的块,那么该代码会是什么样子。
我已经能够使用文件接收器将数据写入文件以确保我正在获取数据,并且想知道修复是否像将文件接收器更改为串行端口接收器一样简单。见下图:
我还做了一些研究,发现了一个看起来像我需要的 github 存储库——不幸的是,它链接到的存储库不再存在。它确实提到了使用 pyserial,我认为这意味着在 python 中创建我自己的块。该回购的链接如下: