Signal processing 实函数到实函数的逆离散傅里叶变换
我有一个DFT(实数到复数)输出(5x8),我想使用r2r(实数到实数)函数而不是iDFT进行逆变换,因为系数都是有利的实数:Signal processing 实函数到实函数的逆离散傅里叶变换,signal-processing,fft,fftw,numerical-analysis,Signal Processing,Fft,Fftw,Numerical Analysis,我有一个DFT(实数到复数)输出(5x8),我想使用r2r(实数到实数)函数而不是iDFT进行逆变换,因为系数都是有利的实数: [0.000000] [0.000000] [0.000000] [0.000000] [0.000000] [0.000000] [-0.000039] [-5.228421] [1.999998] [0.000000] [0.000000] [10.456858] [-0.000000] [-0.329559] [0.000000] [0.000000
[0.000000] [0.000000] [0.000000] [0.000000] [0.000000]
[0.000000] [-0.000039] [-5.228421] [1.999998] [0.000000]
[0.000000] [10.456858] [-0.000000] [-0.329559] [0.000000]
[0.000000] [-6.000002] [0.494339] [-0.000000] [0.000000]
[0.000000] [0.000000] [0.000000] [0.000000] [0.000000]
[0.000000] [12.000002] [-2.471695] [2.402020] [0.000000]
[0.000000] [-31.370562] [4.000000] [-1.647797] [0.000000]
[0.000000] [81.597977] [-15.685284] [4.000000] [0.000000]
问题在于对称性,X轴很好;遵循奇数对称DST-i0,a,b,c,0,-c,-b,-a的模式(我们没有看到-c,-b,-a,因为这是“实-对-复”输出)。然而,Y轴不遵循DST模式或DCT-I模式a、b、c、d、e、d、c、b。我不认为它是对称的,但是,因为系数是实的,输出是实的,我们应该能够用实值来计算它
iDFT 8x8输出如下:
[1.694307] [1.331561] [0.590346] [-1.331561] [-2.874999] [-1.331561] [0.590346] [1.331561]
[1.331561] [1.625000] [1.256080] [-0.281785] [-2.168437] [-1.968213] [-0.419204] [0.624999]
[0.590346] [1.580797] [2.125001] [1.212098] [-0.840346] [-2.048974] [-1.875001] [-0.743921]
[-1.331561] [1.031788] [2.951028] [4.125000] [2.168437] [-1.875002] [-3.787904] [-3.281786]
[-2.874999] [-2.168437] [-0.840346] [2.168437] [4.555690] [2.168437] [-0.840346] [-2.168437]
[-1.331561] [-3.281786] [-3.787904] [-1.875002] [2.168437] [4.125000] [2.951028] [1.031788]
[0.590346] [-0.743921] [-1.875001] [-2.048974] [-0.840346] [1.212098] [2.125001] [1.580797]
[1.331561] [0.624999] [-0.419204] [-1.968213] [-2.168437] [-0.281785] [1.256080] [1.625000]
复数到实DFT假设8*5矩阵具有复数共轭对称性 当我们将该矩阵扩展为列和行的8点DFT时,列不满足奇数对称标准[0,a,b,c,0,-c,-b,-a],因此从余弦基中寻找贡献,产生复数 然而,当我们检查频率空间中的列时,复值之间存在某种奇怪的对称性 在Matlab中,我们定义矩阵R1如下:
0 0 0 0 0 0 0 0
0 -0.000039 -5.228421 1.999998 0 -1.999998 5.228421 0.000039
0 10.456858 -0 -0.329559 0 0.329559 0 -10.456858
0 -6.000002 0.494339 -0 0 0 -0.494339 6.000002
0 0 0 0 0 0 0 0
0 12.000002 -2.471695 2.40202 0 -2.40202 2.471695 -12.000002
0 -31.370562 4 -1.647797 0 1.647797 -4 31.370562
0 81.597977 -15.685284 4 0 -4 15.685284 -81.597977
然后colFFR2=ifft(R1)产生输出
0.000000 + 0.000000i 8.335529 + 0.000000i -2.361383 + 0.000000i 0.8030828 + 0.000000i 0.000000 + 0.000000i -0.8030828 + 0.000000i 2.361383 + 0.000000i -8.335529 + 0.000000i
0.000000 + 0.000000i 6.681977 - 3.574877i -1.673753 + 0.6864277i 0.3180193 - 0.2243077i 0.000000 + 0.000000i -0.3180193 + 0.2243077i 1.673753 - 0.6864277i -6.681977 + 3.574877i
0.000000 + 0.000000i 2.614213 - 7.949751i -0.5000000 + 0.9363536i 0.2471695 + 0.05025225i 0.000000 + 0.000000i -0.2471695 - 0.05025225i 0.5000000 - 0.9363536i -2.614213 + 7.949751i
0.000000 + 0.000000i -6.681977 - 14.03173i 1.673753 + 1.686428i -0.3180193 - 0.5538672i 0.000000 + 0.000000i 0.3180193 + 0.5538672i -1.673753 - 1.686428i 6.681977 + 14.03173i
0.000000 + 0.000000i -13.56396 + 0.000000i 3.361383 + 0.000000i -1.297422 + 0.000000i 0.000000 + 0.000000i 1.297422 + 0.000000i -3.361383 + 0.000000i 13.56396 + 0.000000i
0.000000 + 0.000000i -6.681977 + 14.03173i 1.673753 - 1.686428i -0.3180193 + 0.5538672i 0.000000 + 0.000000i 0.3180193 - 0.5538672i -1.673753 + 1.686428i 6.681977 - 14.03173i
0.000000 + 0.000000i 2.614213 + 7.949751i -0.5000000 - 0.9363536i 0.2471695 - 0.05025225i 0.000000 + 0.000000i -0.2471695 + 0.05025225i 0.5000000 + 0.9363536i -2.614213 - 7.949751i
0.000000 + 0.000000i 6.681977 + 3.574877i -1.673753 - 0.6864277i 0.3180193 + 0.2243077i 0.000000 + 0.000000i -0.3180193 - 0.2243077i 1.673753 + 0.6864277i -6.681977 - 3.574877i
最后,ifft(colFFR2.,“symmetric”)提供匹配的iDFT。复数到实数DFT假设8*5矩阵具有复数共轭对称性 当我们将该矩阵扩展为列和行的8点DFT时,列不满足奇数对称标准[0,a,b,c,0,-c,-b,-a],因此从余弦基中寻找贡献,产生复数 然而,当我们检查频率空间中的列时,复值之间存在某种奇怪的对称性 在Matlab中,我们定义矩阵R1如下:
0 0 0 0 0 0 0 0
0 -0.000039 -5.228421 1.999998 0 -1.999998 5.228421 0.000039
0 10.456858 -0 -0.329559 0 0.329559 0 -10.456858
0 -6.000002 0.494339 -0 0 0 -0.494339 6.000002
0 0 0 0 0 0 0 0
0 12.000002 -2.471695 2.40202 0 -2.40202 2.471695 -12.000002
0 -31.370562 4 -1.647797 0 1.647797 -4 31.370562
0 81.597977 -15.685284 4 0 -4 15.685284 -81.597977
然后colFFR2=ifft(R1)产生输出
0.000000 + 0.000000i 8.335529 + 0.000000i -2.361383 + 0.000000i 0.8030828 + 0.000000i 0.000000 + 0.000000i -0.8030828 + 0.000000i 2.361383 + 0.000000i -8.335529 + 0.000000i
0.000000 + 0.000000i 6.681977 - 3.574877i -1.673753 + 0.6864277i 0.3180193 - 0.2243077i 0.000000 + 0.000000i -0.3180193 + 0.2243077i 1.673753 - 0.6864277i -6.681977 + 3.574877i
0.000000 + 0.000000i 2.614213 - 7.949751i -0.5000000 + 0.9363536i 0.2471695 + 0.05025225i 0.000000 + 0.000000i -0.2471695 - 0.05025225i 0.5000000 - 0.9363536i -2.614213 + 7.949751i
0.000000 + 0.000000i -6.681977 - 14.03173i 1.673753 + 1.686428i -0.3180193 - 0.5538672i 0.000000 + 0.000000i 0.3180193 + 0.5538672i -1.673753 - 1.686428i 6.681977 + 14.03173i
0.000000 + 0.000000i -13.56396 + 0.000000i 3.361383 + 0.000000i -1.297422 + 0.000000i 0.000000 + 0.000000i 1.297422 + 0.000000i -3.361383 + 0.000000i 13.56396 + 0.000000i
0.000000 + 0.000000i -6.681977 + 14.03173i 1.673753 - 1.686428i -0.3180193 + 0.5538672i 0.000000 + 0.000000i 0.3180193 - 0.5538672i -1.673753 + 1.686428i 6.681977 - 14.03173i
0.000000 + 0.000000i 2.614213 + 7.949751i -0.5000000 - 0.9363536i 0.2471695 - 0.05025225i 0.000000 + 0.000000i -0.2471695 + 0.05025225i 0.5000000 + 0.9363536i -2.614213 - 7.949751i
0.000000 + 0.000000i 6.681977 + 3.574877i -1.673753 - 0.6864277i 0.3180193 + 0.2243077i 0.000000 + 0.000000i -0.3180193 - 0.2243077i 1.673753 + 0.6864277i -6.681977 - 3.574877i
最后,ifft(colFFR2.,“symmetric”)提供匹配的iDFT