我正在尝试实现本文中的算法 2:
邵宣城和 Steven G. Johnson:减少算术运算次数的 Type-IV DCT、DST 和 MDCT 算法,https://arxiv.org/pdf/0708.4399.pdf
它概述了一种通过 DCT 类型 3 和半尺寸 DST 类型 3 计算偶数尺寸 DCT 类型 4 的算法。
我已经做了一些尝试来实现这一点,但是要么论文有错误,要么我对这里发生的事情有严重的误解。
https://pastebin.com/uFiHsMKX这是我的 C++ 代码,它使用 FFTW 来计算内部转换,以及计算“预期输出”。除了 FFTW,编译所需的所有代码都在这个文件中。函数compute_dct4才是真正的处理——我尽量把变量命名为和论文中的一样,所以应该清楚代码中的内容与论文中的内容相对应。
我会很感激一些额外的眼睛,看看出了什么问题。谢谢!