2つの有限シーケンスx(i)およびy(i)、i = 1 ... nが与えられたとき。2つの離散フーリエ変換のコサイン
import numpy as np
x = np.array([1,2,3])
y = np.array([0.1, 1, 0.5])
Dftxy = np.fft.fft(x*y) # DFT(x.y)
Dftx = np.fft.fft(x)
Dfty = np.fft.fft(y)
CDftxy = np.convolve(Dftx,Dfty,'same')/3 # (DFT(x)*DFT(y))/n
:今
DFT(x.y) = (DFT(x) * DFT(y))/n
私はPythonで、この単純なコードをテスト:私は点状製品XYの離散フーリエ変換(DFT)がDFT両者のxとyの畳み込みに等しいことが知られ結果は次のとおりです。
Dftxy = [3.60+0.j, -1.65-0.4330127j, -1.65+0.4330127j]
CDftxy = [-2.10-0.40414519j, -1.65+0.4330127j, 0.40+0.j]
DftxyとCDftxyの値は異なります。私のコードにエラーはありますか?あなたはそれをバック変換する必要が
Mohammed Liさんに感謝します。私はnumpyを使用してPythonでテストしようとしましたが、結果は正しくありません。コードは私の変更された質問で示されています。 – phan
帽子を避けましょう、それは叫ぶと考えられ、あまり親切ではありません。私はdownvotesを取得しません。 y'allがとてもスマートな場合、動作する例を示してください。 – roadrunner66