前提・実現したいこと
FFTを使わずにノイズの乗った三角関数のフーリエ変換を行い結果をプロットしています。
該当のコードのように変換を行いfr、fiをそれぞれグラフにしているのですが、
①乱数の生成にsin波の周波数は関係ないはずなのに
低周波数:フーリエ変換後の実部にノイズの影響が出やすい
高周波数:フーリエ変換後の虚部にノイズの影響が出やすい
となるのはなぜか。
②sin波をcos波に変えると①の結果の逆になるのはなぜか
上の2つについて教えていただきたいです。よろしくお願いいたします。
該当のソースコード
python
1f = 50 #or450 周波数 2N=1000 3 4x = np.linspace(0, 1, N) 5noise = np.random.rand(N) 6y = np.cos( 2 * math.pi * f * x ) 7y1=y+noise-0.5 8fr=np.zeros(N) 9fi=np.zeros(N) 10 11for i in range(N): 12 for j in range(N): 13 fr[i]+=y1[j]*np.cos(-2*math.pi*i*j/N) #y1のフーリエ変換後の実数部分 14 fi[i]+=y1[j]*np.sin(-2*math.pi*i*j/N) #y1のフーリエ変換後の虚数部分
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/02 17:52
2021/12/03 02:04