I have a fourier analysis signal as in the picture attached, where red represents the FFT of movement of the hand of a stroke subject and the blue one is the movement of a healthy subject.

I am doing some analysis called Spectral Arc Length, where I will calculate the spectral arc length to compute the smootheness of movement. (check out this paper: On the analysis of movement smoothness by Sivakumar Balasubramanian), where in the metric, the longer the spectral arc length, the less smooth the movement is.

The first image down here is the original data, where we can see that the DC component of the stroke subject is higher than the healthy subject, and the amplitude of the frequency signal is higher, causing the arc length of the signal to be larger, signifies less smooth movement.


L= size(y,2); % Length of signal
NFFT = 2^(ceil(log2(L))+4); % Next power of 2 from length of y
Y = fft( y, NFFT )/L;

f = Fs/2*linspace(0,1,NFFT/2+1);

however, I have a problem with my signal where the metric suggest than we should normalised the signal to the DC component of the signal (Y=Y/max(Y)). By doing this, my signal turn out to be like the second picture, and when I calculate the spectral arc length metric, turns out that stroke 'apparently' have smoother movement than the healthy (due to shorter spectral arc length), which I am pretty sure should't be the case.

  • My question is, does the normalization to the DC component makes sense? Does the DC component has any effect on the rest of the signal, where larger DC will cause larger amplitude of the signal?
  • another option for me is to calculate the arc length after the DC signal (starting from the black marker is put on the signal here)
  • I would also try to do some wavelet analysis if Fourier analysis doesn't work for my calculation...

Non-normalised Non-normalised data

Normalised data Y= Y/max(Y) Normalised data Y= Y/max(Y)

  • $\begingroup$ Did you change the colors in the second curve? The blue in the second curve is the red one in the first curve. $\endgroup$ – msm Sep 13 '16 at 3:09
  • $\begingroup$ Why should you normalize it anyway? $\endgroup$ – msm Sep 13 '16 at 3:09

As I understand from the description,you are not just using the DC information but also information at other frequencies.

If this is the case:

Generally,Normalizing a signal means subtracting the mean value of the signal from the data.

Y = Y - mean(Y) .......(1)

Fourier transform is a linear transform.So,any constant scaling proportionately scales up the transform.

Y = Y/max(Y)     .... (2)

If (2) is performed then the transform is scaled by max(Y) but the scaling varies with the data and this can be clearly seen in the 2nd plot of your description.

  • $\begingroup$ In case of to compare between the two signals, and amplitude matters, will scaling using (2) modify the information? I am not sure what causes the DC component to be different between the two signal, and if it is due to the movement itself, I shouldn't scale using (2), am I right? $\endgroup$ – Sharah Sep 5 '16 at 14:43
  • $\begingroup$ Yeah, you shouldn't use (2) for scaling the signal. Hope you understand. $\endgroup$ – Manideep Sep 5 '16 at 14:48
  • $\begingroup$ Thanks for the clarification, supposed I'll see if anyone else have other thought on this. Do you have any idea what causes the different DC values? Any suggestion of what to read? $\endgroup$ – Sharah Sep 5 '16 at 14:50
  • $\begingroup$ @Sharah DC value in a Fourier transform is nothing but the mean of the signal. I can take a small example and explain it to you. Consider ` 1 , 2 , 3 ........ Healthy subject which has DC value : 2 and 3, 3 , 3 ..........Subject under test which has DC value : 3 ` Now apply Y=Y/max(Y) Healthy sequence : new Dc value = 2/3 Test sequence : new DC value = 1 which are quite different from the previous values. $\endgroup$ – Manideep Sep 5 '16 at 15:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.