问题标签 [software-defined-radio]
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.
python - 如何消除 B210 USRP 传输的失真?
我目前正在使用 B210 USRP 在 3.5GHz 下传输 500 个样本的 50MS/s OFDM 信号。我们使用的控制器是 NUC Corei7 32GB RAM,我们使用的 Ubuntu 版本是 18.0。但是,USRP 传输的信号显示失真,我们不知道频谱差异的原因。
我们预计 USRP 提供的信号会有微小变化,但信号频谱的两侧在信号的两侧显示出多个 25 到 30dB 深度的陷波。这种行为会降低我们应用程序的准确性。
另外,我尝试将 OFDM 信号从 500 个样本更改为 1000 个样本,但出现了同样的问题。
java - 如何在 Java 中调制用于无线电传输 (SDR) 的信号?
题外话:首先让我说 Java 对我来说是全新的。我已经编程超过 15 年了,除了修改其他人的代码库之外,从来没有需要它,所以请原谅我的无知和可能不恰当的术语。我对射频也不是很熟悉,所以如果我在这里很陌生,请告诉我!
我正在构建一个 SDR(软件定义无线电)无线电发射器,虽然我可以在某个频率上成功传输,但当我发送流(来自设备的麦克风或来自音调发生器的字节)时,我的手持接收器会发出什么听起来像静态的。
我相信这是由于我的接收器设置为接收 NFM(窄带频率调制)和 WFM(宽带频率调制),而来自我的 SDR 的传输正在发送原始的、未调制的数据。
我的问题是:如何调制音频字节(即InputStream),以便在FM(频率调制)或AM(幅度调制)中调制得到的字节,然后我可以通过 SDR 传输?
尽管有很多开源软件,但我似乎找不到处理调制的类或包(最终我将不得不调制 WFM、FM、AM、SB、LSB、USB、DSB 等) SDR 代码库,但如果你知道我在哪里可以找到它,那基本上就回答了这个问题。到目前为止,我发现的一切都是为了解调。
这是我在 StackOverflow 上围绕Xarph's Answer构建的一个类,它只返回一个包含简单、未调制的音频信号的字节数组,然后可用于通过扬声器播放声音(或通过 SDR 传输,但由于结果没有被正确调制,它在接收器端没有正确通过,这是我无法弄清楚的)
这个问题的答案不一定需要代码,实际上是理论和理解 FM 或 AM 调制在处理字节数组并将其转换为正确格式时的工作原理可能更有价值,因为我将拥有未来实施更多模式。
python - GNU Radio 3.9 中的 RTL-SDR
我正在尝试通过 GNU Radio(使用 Ubuntu 20.04)使 RTL-SDR 接收 WBFM,使用此流程图:
但是当我执行时,它给了我这个错误信息:
我正在使用 GNU Radio 3.9 版本,因为它是唯一可以与 rpitx (使用 TCP 连接)一起使用的版本。但它似乎在处理 RTL-SDR 时遇到了麻烦。这是软件错误还是我配置错误?已经尝试从 PPA 和源代码安装 GNU Radio 3.9,最终结果相同。
python-3.x - 在 GNU Radio 中使用两个 USRP 运行 gr 雷达时遇到问题
我正在尝试使用 Gnuradio 3.8.2 在 Ubuntu 18.04 上运行 gr 雷达,并在使用带有两个 USRP N210 的 echotimer 块时不断收到以下错误:
当我在使用 gr-radar test_usrp_echotimer_cc.grc 文件(或任何其他使用 echotimer 块的 grc 文件)时使用 2 个 USRP 传输和接收时会发生这种情况。grc 文件似乎可以在环回中与一个 USRP 一起正常工作。我猜“ERROR_CODE_LATE_COMMAND”发生在接收器 USRP 需要不同的等待时间才能启动时。知道如何解决这个问题吗?任何帮助表示赞赏。谢谢
gnuradio - 在 GNU Radio 中找不到任何 WX GUI 块。如何安装它?
嘿,我已经安装了 GNU Radio,但在 GNU Radio Companion 中找不到任何 WX GUI 块 :-(
我该如何安装它们?我当然需要它们,因为我的大多数项目都需要 WX GUI Blocks……希望有人帮助我,我使用的是 Ubuntu 20.04。
linux - 从 GNURADIO-Companion Ubuntu 桌面图标启动时,Pluto SDR 在 GNURADIO 中不起作用
当我从 Ubuntu 桌面图标启动 GNURADIO-Companion 然后尝试运行一个简单的 Pluto SDR FM 接收器时,我收到以下错误:-
我能够通过运行它来使其工作,它提供了 iio 模块的位置:-
如果我随后从同一个终端窗口启动 gnuradio-companion,则 gnuradio 会打开并且 FM 模型运行良好。但是如果我关闭 gnuradio 然后通过 ubuntu 桌面图标重新打开它,模型会再次以同样的方式出错。即使终端窗口保持打开状态。我尝试将导出添加到.bashrc,这没有任何区别。
我希望这可能是 Ubuntu/linux 设置/配置的事情,但由于我的平均 linux 技能,我不知道如何将导出命令链接到 gnuradio-companion 启动图标,或者以允许冥王星的方式得到普遍认可SDR 模型运行和细化 iio 位置已知。
如果有人可以帮忙解决这个问题,我将不胜感激,因为它让我发疯:)
radio - 2FSK 使用 Yardstick One 嗅探 RFCat
我一直在用 RFCat 进行 SDR 项目的工作。简而言之,我正在对 sub GHz 无线电协议进行逆向工程。我已经弄清楚了协议,并且能够使用在另一个 SDR 上嗅探的数据包(我知道 YS1 在技术上不是 SDR)并使用 Inspectrum 解码来欺骗从我的 Yardstick One 传输的带有 RFCat 的接收器。但是,当我使用真正的遥控器或另一个 SDR 发射器发送相同的数据包时,我无法使用 RFCat 中的 YS1 嗅探它们,使用与我成功传输相同的设置。接收是否可能需要不同的设置?(除了将其置于 RX 模式之外)这是 d.printRadioConfig() 的打印输出:
(PS如果这个问题有什么不妥之处,长期访客,第一次发帖,请见谅)
gnuradio - GNU Radio USRP 溢出
出于某种原因,当运行下面的 GNU Radio 流程图时,我在控制台上显示溢出('O')、欠载('U')和延迟命令('L'),不久之后,执行包括使用 USRP (Ettus B210) 的信号路径结束,冻结图形接收器中的输出。
根据 GRC 配置(例如采样率,有时 samp_rate = 240k 有效)并消除计算机上的其他应用程序(基本上只是运行 GNU Radio)允许它实际继续工作。下面还有提示符下的输出日志。我想知道这个问题的解决方案是什么,执行这个的替代方法,或者,至少,一个 meg=thod 让我调查正在发生的事情。
一些信息:
操作系统:Windows 10;
内存:4 GB
CPU 处理器速度:1.1 GHz
gnuradio - USRP N320 低频段中心频移
我有一个 USRP N320 SDR,但我遇到了 3 MHz-450 MHz 频段中心频率值的问题。当我有一个介于 450 MHz 和 6 GHz 之间的信号时,即使我滑动中心频率,我也可以看到信号的实际频率值,但低于 450 MHz,当我滑动中心频率时,信号会发生负移。这个问题有什么原因和解决方案吗?有什么帮助吗?
如图 1 所示,当我将 Rx Tune Frequency 设置为 100 MHz 时,可以正确看到 FM 无线电信号。
1
但是,当我将 Rx Tune Frequency 滑动到 110、120,130 和 140 MHz 时,FM 无线电信号的频率值也会发生偏移。如图 2、3、4 和 5 所示。
2
3
4
5
添加:
USRP源的模块和参数的主要图片如下图。
块
USRP 来源 1
USRP 来源 2
USRP 来源 3
我还发现,当我应用低于 450 MHz 的频率(例如 100 MHz 信号)并将中心频率偏移一定量时,它会改变信号的两倍时间倒数。我可能无法很好地解释,但下面的数字可以。
100MHz 中心频率下的 100MHz 信号
100MHz 信号在 95MHz 中心频率但出现在 90MHz
100MHz 信号在 110MHz 中心频率但出现在 120MHz
但是当我应用高于 450 MHz 的信号(例如 2 GHz)时,它确实可以正常工作。如下图所示。