Undersampled signal fft with additional information

조회 수: 6 (최근 30일)
Robin Geier
Robin Geier 2021년 2월 9일
답변: Sameer 2025년 3월 11일
Hi guys,
I want to do a frequency analysis of a signal using FFT. The voltage signal has frequencies up to 10kHz. However, I can sample at a maximum of 1kHz. The Shannnon-Nyquist theorem says I have to sample at least with 2*fmax. Of course, I can't and I get a high alaising error.
Now I know the frequencies from the current signal, since I can sample it at a higher frequency. Can I still use the info about the occurring frequencies in the undersampled signal to get the amplitudes and phases of the frequencies? How does that work?
Thanks!

답변 (1개)

Sameer
Sameer 2025년 3월 11일
Hi Robin
Since you know the frequencies from the higher sampled signal, you can use this information to reconstruct the signal from undersampled data.
Here's how you can do it:
  1. When you sample at 1kHz, frequencies above 500Hz will alias back into the 0-500Hz range. You need to map these aliased frequencies back to their original frequencies using the higher sampled signal data.
  2. Using the known frequencies, you can apply a method called harmonic analysis. This involves fitting a model to your undersampled data that includes the known frequencies. You can use techniques like least squares fitting to estimate the amplitudes and phases of these frequencies.
  3. Perform FFT on the undersampled signal. The FFT will show peaks at the aliased frequencies. Using the prior knowledge of the actual frequencies, you can correct these peaks to reflect the true frequencies.
  4. With the corrected frequencies, you can estimate the amplitudes and phases by fitting the undersampled signal to a sum of sinusoids at the known frequencies.
Hope this helps!

카테고리

Help CenterFile Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by