[英]increase / decrease the frequency of a signal using fft and ifft in matlab / octave
[英]MATLAB: Using ifft() to deconvolve signal and frequency response
我有一個測得的時變信號,已知它具有可變的頻率響應(我有測量設備的頻率與靈敏度數據)。 我想反卷積使用:
pt = ifft(fft(vt)./Mf)
其中vt是時變信號,Mf是頻率響應。
我以幅度
abs(fft(vt))
並除以頻率。 與響應曲線Mf的關系(內插到相同的頻率范圍)。
但是,如果我將Mf = 1設置(對於所有值f = 0到n MHz),則在執行ifft時不會得到原始信號vt。
我的理解是我需要使用vt fft幅度執行除法(fft(vt)./ Mf)(因為Mf實際上是頻率對幅度數據),然后將實數/復數fft數據用於ifft以獲得原始信號但我不確定如何使其正常工作。
在我看來,您所聲稱的是
pt = ifft(fft(vt)./1)
不會導致pt等於vt。 達到某種浮點精度,這是正確的。 我將看一下pt和vt樣本之間的絕對誤差的最大值。 這至少應比vt中的樣本小十個數量級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.