This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWRL6432AOPEVM: Vital Signs lab. Phase FFT input.

Part Number: IWRL6432AOPEVM

Tool/software:

Hello,

I'm writing you regarding a question about the FFT that is implemented on the function MmwDemo_computeVitalSignProcessing() of the vitalsign.c code (vital signs open source lab). My concern is about the input, which must have the same dimension as the function input vsDataAngleFftOutBuf, which is 128 samples from 128 frames. More exactly 128x5x9, but the last two dimensions are the range and angle bins, and as the FFT is applied on each one of them, I won't consider those two dimensions.

Before the FFT, you make arc tangent demodulation, phase unwrapping and phase differences of that variable, and store them into pVitalSignsBreathCircularBuffer, which is the actual input of the FFT. However, you seem to only populate the first 128 elements of that array, while the rest are kept as zero. First, I would like to know if I'm understanding the code correctly. Second, I would like to ask you what the advantage of padding the input of the FFT with zeros is. Simply increasing the resolution of the spectrum? And finally, I would also ask if wouldn't be better to use data from more frames (say 256 instead of 128).

Regards.

  • Hi,

    FFT needs to be computed separately for 5x9 times over the phase differences from 128 samples. If the exact position of the chest is known only 1 FFT would have been suffcient but since the exact position of the chest would not be known a histogram of 5x9 is created and fft is run for 45 times on the 128 samples

    Since more resolution is needed for the output heart rate and breath spectrum 512 point FFT is run. You can also take 512 input samples from frames but it would take 4 times the time as it would take to compute the HR/BR. So, 128 samples would provide reasonable accuracy, 128 input samples are taken and zero extended to 512 input for FFT and the output FFT would have 512 samples

    Regards