首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GNU电台+ HackRF: RuntimeError:第一次检查失败:0< fa <= sampling_freq /2

GNU电台+ HackRF: RuntimeError:第一次检查失败:0< fa <= sampling_freq /2
EN

Stack Overflow用户
提问于 2021-06-22 17:28:09
回答 2查看 1.5K关注 0票数 2

我刚刚开始使用GNU无线电,我必须说我是个新手,但我有一些射频相关的东西的背景。事情是这样的:我录制了一个文件,现在我想通过我的HackRF和GNU电台重复该文件。

这是过滤器的确切设置:

--您看到的设置是临时的(由于无法工作,我开始使用随机值进行测试)。,这是我得到的错误:

代码语言:javascript
复制
Executing: /usr/bin/python3 -u /home/scare/LAB/RadioFrequencies/GNU Radio/reply_433.py

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.2.0
built-in sink types: uhd hackrf bladerf soapy redpitaya file 
[INFO] [UHD] linux; GNU C++ version 11.1.0; Boost_107600; UHD_4.0.0.0-0-unknown
Using HackRF One with firmware 2017.02.1
Traceback (most recent call last):
  File "/home/scare/LAB/RadioFrequencies/GNU Radio/reply_433.py", line 211, in <module>
    main()
  File "/home/scare/LAB/RadioFrequencies/GNU Radio/reply_433.py", line 187, in main
    tb = top_block_cls()
  File "/home/scare/LAB/RadioFrequencies/GNU Radio/reply_433.py", line 137, in __init__
    firdes.high_pass(
  File "/usr/lib/python3.9/site-packages/gnuradio/filter/filter_swig.py", line 124, in high_pass
    return _filter_swig.firdes_high_pass(*args, **kwargs)
RuntimeError: firdes check failed: 0 < fa <= sampling_freq / 2

Done (return code 1)

显然,有趣的部分是RuntimeError: firdes检查失败:0< fa <= sampling_freq / 2

不幸的是,我不明白“fa”代表什么。

有什么想法吗?

干杯

EN

回答 2

Stack Overflow用户

发布于 2021-07-07 19:31:39

我刚解决完同样的错误。该错误是由于过滤器的关闭和转换参数设置不正确(在我的例子中太大)造成的。GNU电台对每个块的变量'samp_rate‘的处理方式不同,过滤器似乎解释了它是将过滤器放在中心的一个点(这就是我对它的看法,所以不要引用我的话)。

我还查看了源代码,在“fa”上找不到任何有用的东西。

因此,尝试调整您的截止值,使其低于samp_rate,并使您的过渡宽度达到250 e3。我使用GUI滑块来设置我喜欢的过滤器,并且我将在最终版本中使这些过滤器永久化。

此处设置的屏幕盖 两个滑块的滑块设置

麦克奥斯曼的“特别提款权与HackRF一,第10课-过滤器帮助”我在这里。也只是一个伟大的SDR系列的GNU收音机,如果你还没有看到他们。(只需确保使用QT )。

希望这能帮上忙。我对GNU很陌生,很抱歉,如果解释有点不成熟的话。

票数 2
EN

Stack Overflow用户

发布于 2022-09-30 02:44:37

fa是抛出错误消息的函数中的cutoff_frequency。截止频率必须大于0且不超过Nyquist极限。在sanity_check_xxx上的GNU无线电存储库中,在gr_filter/lib/firdes.cc的第750行周围有一些名为GitHub的函数(xxx是一个截止或2,即带通,也可以选择c表示复杂)。

在这个问题上,samp_rate至少需要800 the才能支持400 the的高通截止。据我所知,在这些滤波器功能中,采样率的使用方式与GNU无线电中的任何其他地方相同。

我遇到了同样的错误信息,因为我使用'firdes.band_passinstead offirdes.complex_band_pass`和低截止是负的,这应该是复杂的带通滤波器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68088276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档