I am doing a project on short time Fourier transform, I have to perform STFT for 128 data points. I have developed a Matlab code to perform the STFT operation. But, my main concern is, I need to implement this in a microcontroller. I need to find the math behind this library. How MATLAB is calculating this operation, I need detailed math breakdown for this operation. In MATLAB website I have seen that, they are using Hann window. Can anyone help me to understand the math breakdown, behind this MATLAB STFT library? Thanks a lot.
The MATLAB code is below.
x = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127];
figure;
plot(x);
xlabel('time (in seconds)');
title('Sine Signal versus Time');
s = stft(x);