- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写的应用程序必须在其中处理数字信号 - double 组。我必须对信号进行抽取、过滤等。我找到了一个 gnuradio 项目,其中包含针对此问题的函数。但我不知道如何正确使用它们。
我需要信号抽取(例如从 250Hz 到 200Hz)。该函数应该类似于 Matlab 中的 resample 函数。我发现,它的类是:
不幸的是,我不知道如何使用它们。
我安装的gnuradio和共享库
谢谢你的建议
非常感谢您的帮助。但是我必须在我的代码中处理信号。我在 gnuradio 中找到了可以解决我的问题的类,但我需要有关如何设置它们的帮助。
我必须设置的功能是:
低通(双倍增益、双倍采样频率、双倍截止频率、双倍过渡宽度、窗口、β)
其中:
use "window method" to design a low-pass FIR filter
gain: overall gain of filter (typically 1.0)
sampling_freq: sampling freq (Hz)
cutoff_freq: center of transition band (Hz)
transition_width: width of transition band (Hz).
The normalized width of the transition band is what sets the number of taps required. Narrow –> more taps
window_type: What kind of window to use. Determines maximum attenuation and passband ripple.
beta: parameter for Kaiser window
我知道,我必须使用 window = KAISER 和 beta = 5,但对于其余部分我不确定。
我使用的函数是:low_pass和 pfb_arb_resampler_fff::filter
更新:
我使用 libsamplerate 解决了重采样问题
最佳答案
I need signal decimate (for example from 250Hz to 200Hz)
警告:我错误地表达了最初的介绍性段落 - 我很抱歉。
由于 250 Hz 与 200 Hz 没有直接关系,因此您必须采取一些技巧才能将 250Hz 转换为 200Hz。在 250Hz 样本之间插入 4 个内插样本,将频率降低到 50Hz。然后,您可以通过 4 倍抽取将频率再次提高到 200Hz。
为此,您需要“Rational Resampler”,您可以在其中定义子样本和抽取因子。像这样:
这意味着如果您使用该库,则必须执行类似的操作。也许没有图书馆就更简单了。在 250 Hz 样本之间进行线性插值(即在每个样本之间插入 4 个额外样本),然后通过选择每个第 4 个样本进行抽取。
注意:在 stackexchange 上有一个信号处理论坛 - 也许这个问题可能属于那个类别......
更多信息:如果您只需要对输入数据进行重采样,而不需要实际的 gnuradio 程序,那么请查看此文档:
https://ccrma.stanford.edu/~jos/resample/resample.pdf
有几个指向其他文档的链接,以及指向 libresample
、libresample4
和其他文档的链接,这些链接可能对您有用。另一个非常有趣的页面是:
http://www.dspguru.com/dsp/faqs/multirate/resampling
最后,从与上述 pdf 相同的来源,检查他们的 snd
程序。它可以在不编写任何 软件的情况下解决您的问题。它可以加载浮点样本、重新采样并再次保存:
http://ccrma.stanford.edu/planetccrma/software/soundapps.html#SECTION00062100000000000000
编辑:还有另一种解决方案——也许是最简单的解决方案:使用 Matlab(或免费的 Octave 版本):
pkg load signal
t = linspace(0, 10*pi, 50); % Generate a timeline - 5 cycles
s = sin(t); % and the sines -> 250 Hz
tr = resample(s, 5, 4); % Convert to 200 Hz
plot(t, s, 'r') % Plot 250 Hz in red
hold on
plot(t, tr(1:50)) % and resampled in blue
会给你:
关于c++ - 使用 gnuradio lib 进行数字信号抽取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960223/
我正在尝试用 python 编写 GNURadio 脚本。我的最终目标是有一个例程,可以定期将 GNUradio 进程内的浮点结果写入串行端口。作为第一步,我想简单地暂停一个简单的例程以下代码通过声卡
我正在尝试用 python 编写 GNURadio 脚本。我的最终目标是有一个例程,可以定期将 GNUradio 进程内的浮点结果写入串行端口。作为第一步,我想简单地暂停一个简单的例程以下代码通过声卡
我是 GNUradio 的新手,我正在制作一个 FM 接收器。我正在将数据记录到文件接收器中。但是我只需要1毫秒的数据。我如何指定这个时间,以便我的流程图在这个时间之后自动停止? 我还阅读了一些关于调
这是我的简单流程图。 文件源>节流>文件接收器 当文件源的重复值打开时,它工作正常。当我关闭文件源的重复值时,不会写入任何内容。这可能是什么原因? 最佳答案 block 之间 GNU Radio 调度
我想使用 PyBombs ( https://github.com/gnuradio/pybombs ) 安装特定的 gnuradio 库版本 (3.7.10)。我已完成以下步骤: sudo pip
我正在(生命周期结束的)GNU Radio 3.7 中与 gnuradio-companion 合作,第一次从事一个包含很多 block 的更大项目。工作台上的空间越来越少。 您知道是否可以增加工作台
我有这样一个文件( ~/Pobrane/multi-rtl/swig/multi_rtl_swig.i ): /* -*- c++ -*- */ #define MULTI_RTL_API %incl
大家,我有一个困难。 当我成功安装 GunRadio 时,, 我找不到数百个示例文件 在 /usr/local/share/gnuradio/examples , 在 office wiki 中描述.
USRP2 可以处理的最大带宽是多少? 最佳答案 100MS/s I & Q 下的 USRP2 A/D 样本被缩减为 25MS/s 复杂。我们使用 16 位 I & Q。 这在 USRP2 的千兆以太
我试图理解 GNURadio 中的浮点运算并开始研究他们的测试。测试生成随机浮点输入和随机抽头,然后将所有内容传递给过滤器。稍后它使用一些余量比较预期输出和实际输出。 关于那个有一个神秘的评论marg
编译时出现如下错误: undefined reference to `gr::fft::window::blackman_harris(int, int) 我知道这个链接器错误是由于我的 g++ 命令
我正在尝试了解 gnuradio 源代码块的工作原理。我知道如何制作一个简单的 outputs a constant并且我了解采样率的含义,但我不确定如何(或在何处)将两者结合起来。 源 block
我有一个通用的工作功能,为此我将使用 GNU Radio 的历史记录功能。在 block 的构造函数中,我调用了 set_history( m )。我以标准方式转换输入缓冲区: const flo
我刚刚能够构建和安装自己的信号 block 。我只是想制作一个转发数据的 block ,但在某个定义的长度上添加一个标签。然后,在调制数据后,我开发了一个 block ,可以将标签读回给我。当 blo
我正在尝试在 gnuradio 中创建一个简单的源代码块。我已经使用 gr_modtool 创建了基本的模块和 block ,但是每当我尝试运行测试时,它很快就会耗尽我所有的内存并且我的计算机开始滞后
我正在为同事开发的 GNU Radio 应用程序开发网络前端。 我有一个 TCP 客户端连接到两个 TCP Sink block 的输出,但数据编码与我预期的不同。 一个 TCP Sink 发送复数数
在使用 build-gnuradio 脚本 ( Using the build-gnuradio script ) 成功构建 gnuradio 之后,有没有一种方法可以在不重新开始的情况下更新和构建所
运行 cmake 时出现以下错误并且不确定如何修复它。似乎它确切地告诉我该做什么,但对 Linux 不是很熟悉。 CMake Error at CMakeLists.txt:153 (find_pa
您知道 GNU Radio(GNU Radio Companion 中的文件接收器)在二进制文件中存储样本的格式吗? 我需要在Matlab中读取这些示例,但问题是文件太大而无法在Matlab中读取。
我正在尝试使用 GNU Radio 解扰 block 。我有一个由第三方编写的需要解扰的 block 。使用的多项式为 x17 + x12 + 1。 代码如下 descrambler_cc_impl:
我是一名优秀的程序员,十分优秀!