I did a small project on ac power measurement using arduino a few months ago. But it was specifically for 50Hz supply only. I sampled the waveform in a 20ms interval and applied DFT to get the amplitude and phase. This works good when the frequency is between 49.5 Hz to 50.5 Hz. The aim was to demonstrate how dft can be used for measurement of the ac power, so we didn't care much about the frequency. I can use IC LM331 in frequency to voltage converter mode and get the frequency first and set the time for sampling accordingly. This will work for any frequency. But is it possible to calculate the frequency, amplitude and phase if I just sampled 100 samples with a sampling frequency fs? Say a 50Hz sinusoidal waveform is applied to the ADC and I took 100 samples of the signal in 30ms, which gives a sampling frequency of 3.33k samples/sec. Is it possible to get the fundamental frequency, amplitude and phase using these 100 samples?