在修改 GR 的 OFDM 例程时,将 OFDM 子载波数从原来的 64 调整为 128 后运行出现了这个问题,更全的错误提示如下:
gr::log :ERROR: thread_body_wrapper - ERROR thread[thread-per-block[12]:
<block ofdm_cyclic_prefixer(8)>]: Buffer too small for min_noutput_items
解决办法:
可以参考这个 GNURadio 的邮件列表:
Re: [Discuss-gnuradio] Buffer too small for min_noutput_items(ofdm_carrhttps://lists.gnu.org/archive/html/discuss-gnuradio/2014-01/msg00447.htmlRe: [Discuss-gnuradio] Buffer too small for min_noutput_items(ofdm_carr
https://lists.gnu.org/archive/html/discuss-gnuradio/2014-01/msg00466.html由于 GR 中模块的 buffer 大小固定且难以匹配修改后的代码,因此需要将模块的 buffer size 调大一点。具体地,根据提示,我这里是 OFDM Cyclic Prefixer 模块中出了问题,因此双击该模块并进入 Advanced 界面,将 Minoutbuff 改为 int(64e3),如下:
保存后在运行就可以了