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
    Commented Sep 13, 2016 at 3:09
  • $\begingroup$ Why should you normalize it anyway? $\endgroup$
    – msm
    Commented Sep 13, 2016 at 3:09

1 Answer 1


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
    Commented Sep 5, 2016 at 14:43
  • $\begingroup$ Yeah, you shouldn't use (2) for scaling the signal. Hope you understand. $\endgroup$
    – Manideep
    Commented Sep 5, 2016 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
    Commented Sep 5, 2016 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
    Commented Sep 5, 2016 at 15:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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