【发布时间】:2014-11-15 14:25:45
【问题描述】:
我编写了必须处理数字信号的应用程序 - 双数组。我必须对信号进行抽取、过滤等。我找到了一个项目 gnuradio,其中有解决此问题的功能。但我不知道如何正确使用它们。
我需要抽取信号(例如从 250Hz 到 200Hz)。该函数应该类似于 Matlab 中的 resample 函数。我发现,它的类是:
很遗憾,我不知道如何使用它们。
我已经安装了 gnuradio 和共享库
感谢您的建议
编辑@jcoppens
非常感谢您的帮助。 但我必须在我的代码中处理信号。我在 gnuradio 中找到了可以解决我的问题的类,但我需要帮助如何设置它们。
我必须设置的函数是:
low_pass(双增益,双采样频率,双截止频率,双转换宽度,窗口,测试版)
其中:
使用“窗口法”设计低通 FIR 滤波器
gain:滤波器的整体增益(通常为 1.0)
sampling_freq:采样频率(Hz)
cutoff_freq:过渡带的中心 (Hz)
transition_width:过渡带的宽度 (Hz)。
过渡带的归一化宽度决定了所需的抽头数。 Narrow –> more taps
window_type:使用什么样的窗口。确定最大衰减和通带纹波。
beta:Kaiser 窗口的参数
我知道,我必须使用 window = KAISER 和 beta = 5,但其他的我不确定。
我使用的函数是:low_pass 和 pfb_arb_resampler_fff::filter
更新:
我使用libsamplerate解决了重采样问题
【问题讨论】:
标签: c++ signal-processing gnuradio