2015-04-05 72 views
0

夥計們。使用Numpy's ifft時類型不匹配

林執行一些FFT的在python測試一個聲碼器的算法,但在這個代碼行

for i in range(0, duration_s, Nfft): 
    output_time[i:i+Nfft] = np.fft.ifft(np.multiply(carr_fft, np.fft.fft(in_samples[i:i+Nfft]) , Nfft)) 

它產生的錯誤消息: 類型錯誤:返回數組必須的數組類型

這不是一個大小不匹配的問題,我得到了掩蓋(加上,錯誤信息明確表示這是一個類型不匹配)。有任何想法嗎?

+0

以上代碼中的Nfft是什麼? – 2015-04-05 23:18:44

+0

計算FFT的樣本數。在這種情況下,2048。 – 2015-04-05 23:21:30

回答

1

的問題是,我使用

numpy.empty() 

創建具有一個不正確的形狀參數的output_time陣列。我實際上是用單個元素創建一個矩陣,這是我想要的數組,因爲當我打印數組時,它出現在兩個方括號中,而不是一個。我通過使用

np.zeros(duration_s, np.int16, 'C')` 

解決了這個問題,現在它工作正常。