如何为 gnuradio companion 中的块设置滤波器阻带衰减?
How to set filter stopband attenuation for a block in gnuradio companion?
我想在 GNU Radio Companion 中设置带通滤波器的阻带衰减值。
标准带通滤波器块不允许设置此参数,但使用默认值。
有人知道怎么做吗?
我尝试了以下方法:
- 在 GNU Radio Companion 中搜索了各种滤波器块和滤波器抽头计算器块:找不到任何允许设置此参数的块,即使底层滤波器系数计算器函数有这样的输入。
- 创建了一个嵌入式 Python 块并尝试用它来包装允许设置此参数的滤波器系数计算器 (gnuradio.filter.optfir.complex_band_pass) 和使用该参数的滤波器 (gnuradio.filter.fft_filter_ccc)系数来做过滤。无法从包装器块的工作方法中正确调用过滤器的工作方法。
您无需编写嵌入式块即可使用 GNU Radio 带来的滤波器设计工具 – 您只需使用 Python 作为现有 FIR 滤波器块的“抽头”参数(而不是仅仅输入你的过滤器抽头矢量,例如 [1,2,3,4]
),即添加一个“导入”块,你 from gnuradio.filter import optfir
,并使用 optfir.whatever(...)
作为“抽头”参数。
除此之外,老实说,GNU Radio 的强项不是设计专门的过滤器 :) 我推荐优秀的 pyFDA;我会使用
在本地安装它
python3 -m venv filter-design
source ./filter-design/bin/activate
pip3 install pyfda
pyfdax
并使用它来设计您最喜欢的过滤器,如果您不需要re-design它以编程方式即时进行。
我想在 GNU Radio Companion 中设置带通滤波器的阻带衰减值。 标准带通滤波器块不允许设置此参数,但使用默认值。
有人知道怎么做吗?
我尝试了以下方法:
- 在 GNU Radio Companion 中搜索了各种滤波器块和滤波器抽头计算器块:找不到任何允许设置此参数的块,即使底层滤波器系数计算器函数有这样的输入。
- 创建了一个嵌入式 Python 块并尝试用它来包装允许设置此参数的滤波器系数计算器 (gnuradio.filter.optfir.complex_band_pass) 和使用该参数的滤波器 (gnuradio.filter.fft_filter_ccc)系数来做过滤。无法从包装器块的工作方法中正确调用过滤器的工作方法。
您无需编写嵌入式块即可使用 GNU Radio 带来的滤波器设计工具 – 您只需使用 Python 作为现有 FIR 滤波器块的“抽头”参数(而不是仅仅输入你的过滤器抽头矢量,例如 [1,2,3,4]
),即添加一个“导入”块,你 from gnuradio.filter import optfir
,并使用 optfir.whatever(...)
作为“抽头”参数。
除此之外,老实说,GNU Radio 的强项不是设计专门的过滤器 :) 我推荐优秀的 pyFDA;我会使用
在本地安装它python3 -m venv filter-design
source ./filter-design/bin/activate
pip3 install pyfda
pyfdax
并使用它来设计您最喜欢的过滤器,如果您不需要re-design它以编程方式即时进行。