Skip to Main Content
In this paper we present a new algorithm for evaluating the frequency F of a complex signal, represented by a rotating vector. We consider the two components of the signal on the real and on the imaginary axis, and we suppose we have for each component a sequence of N samples uniformly spaced at intervals T. Each sample represents a value of the pertinent component of the signal corrupted by noise, and the noise is assumed to be an ergodic stochastic process having a Gaussian distribution. The presented algorithm is much less complex compared to existing algorithms, such as the FFT (in fact it requires 8N - 17 additions and two divisions to be performed). Because of the noise, the computed frequency is affected by erros. The error distribution is evaluated by simulation. It is found that the error mean is practically equal to 0, while, for signal to noise ratios of 6-12 dB, the error variance is of the order of 0.1-0.001 times the quantity 1/T. If compared with a similar algorithm previously presented for computing the frequency of a real sinewave , the algorithm presented here gives results that are 5-10 times more accurate.