第一次写博客用来记录自己的工程师生涯。
最近一直在研究IMDCT/MDCT的快速算法,现在终于掌握了其中的一种方法,
并掌握了推导过程:
1)由IMDCT/MDCT推导到DCT-IV型,这个比较简单。
类似做一些时移或者频移即可。
2)由DCT-IV推导到DCT-II型:
x[n] + x[n-1] = ......
利用三角函数的特性可以到:
x[n] = DCT-II - x[n-1];
3)将输入DCT-II的收入序列按奇偶分成两列,偶数列顺序排放,
奇数列逆序放在偶数列后面。进行FFT处理。
4)FFT处理完的结果进行后处理即可。
搜了很多论文,有些论文讲述的是矩阵的方法,实在无法看懂。
有些方法比较的新颖,由IMDCT/MDCT直接推导到DCT-II型,实际上是比上述
算法要简洁许多,少了许多的数据拷贝,但是不是太好理解。还有些算法利用迭
代的方式,这个可能在FPGA的实现上比较的常用。