Categories
Misc

How to use tensorflow’s FFT?

Hey everyone. I am having some trouble reconciling my FFT results from MATLAB and TF. The results are actually very different. Here is what I have done:

1). I would attach my data file here but didn’t find a way to do so. Anyways, my data is stored in a .mat file, and the variable we will work with is called ‘TD’. In MATLAB, I first subtract the mean of the data, and then perform fft:

f_hat = TD-mean(TD); x = fft(f_hat); 

2). In TF, I use

tf.math.reduce_mean 

to calculate the mean, and it only differs from MATLAB’s mean on the order of 10^-8. So in TF I have:

mean_TD = tf.reduce_mean(TD) f_hat_int = TD - mean_TD f_hat_tf = tf.dtypes.cast(f_hat_int,tf.complex64) x_tf = tf.signal.fft(f_hat_tf) 

So up until ‘f_hat’ and ‘f_hat_tf’, the difference is very slight and is caused only by the difference in the mean. However, x and x_tf are very different. I am wondering did I not use TF’s FFT correctly?

Thanks!

https://preview.redd.it/0e6o48jegd351.png?width=560&format=png&auto=webp&s=c782992b54309d31492b6d9c6463079945d9b784

submitted by /u/LivingAd9344
[visit reddit] [comments]

Leave a Reply

Your email address will not be published. Required fields are marked *