快速卷积:当输入很长时,Qconv 是 SP Toolbox 的“conv”函数的更快替代方案-matlab开发

时间:2024-06-19 07:33:54
【文件属性】:

文件名称:快速卷积:当输入很长时,Qconv 是 SP Toolbox 的“conv”函数的更快替代方案-matlab开发

文件大小:3KB

文件格式:ZIP

更新时间:2024-06-19 07:33:54

matlab

虽然当线性卷积的两个信号之一的长度很小时,SP 工具箱的“conv”函数非常有效,但当信号很大时,可以使用 FFT 更快地计算卷积。 但是,选择“智能”FFT 大小(即,只有小素数作为其素数因子的大小)以降低开销成本通常会更有效。 虽然最简单的方法通常是取 2 的下一个幂,但通过允许 FFT 长度是直到“p”的任何素数的乘积,仍然可以获得相当大的收益。 Qconv 通过调用包含的 cfft.m 而不是 fft.m 来提供此功能。 作为附加说明,似乎 p = 5 往往是提高效率的不错选择。 这是我的机器的示例用法,显示了潜在的好处: >> N1 = 463902; N2 = 123456; >> X = randn(N1, 1); Y = randn(N2, 1); >> 抽动; Xc = qconv(X,Y); toc %-- FFT 长度为 N1 + N2 - 1 经过的时间是 1


【文件预览】:
qconv.zip

网友评论