Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FFT неправильный спектр после АЦП
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
valterego
при записи отсчетов АЦП в файл строю спектр с помощью FFTW, получаю:
Нажмите для просмотра прикрепленного файла
а должно быть:
Нажмите для просмотра прикрепленного файла
помогите пожалуйста разобраться с проблемой
kovigor
Цитата(valterego @ Jun 6 2012, 19:31) *
помогите пожалуйста разобраться с проблемой


А почему вы решили, что спектр должен быть именно таким, как на нижнем рисунке ? Подайте на вход вашего АЦП синус или меандр, например, частотой в 1 КГц, стройте спектр, а тогда и делайте выводы. Вы сейчас откуда сигнал берете ? А если этот массив отсчетов скормить MatLab'у, он тоже такой спектр покажет ?
Herz
Зеркальную половину убрать не забыли? У МАТЛАБа для этого специальная функция есть: fftshift. А что такое FFTW?
valterego
Цитата(kovigor @ Jun 6 2012, 23:21) *
А почему вы решили, что спектр должен быть именно таким, как на нижнем рисунке ? Подайте на вход вашего АЦП синус или меандр, например, частотой в 1 КГц, стройте спектр, а тогда и делайте выводы. Вы сейчас откуда сигнал берете ? А если этот массив отсчетов скормить MatLab'у, он тоже такой спектр покажет ?

дело в том, что программа управления самим АЦП показывает, что записывается правильный спектр, с сигналом посредине, а насчет матлаба, я не знаю... не работал

Цитата(Herz @ Jun 7 2012, 00:05) *
Зеркальную половину убрать не забыли? У МАТЛАБа для этого специальная функция есть: fftshift. А что такое FFTW?

FFTW - это библиотека под виндовс для быстрого расчета БПФ, а насчет зеркальной половины - ее нет, спектр ведь получился несимметричный
может быть АЦП сигнал в подканалах IQ с чем-то сворачивает? тогда как убрать это при построении?
Alex11
Приложили бы Вы здесь отсчеты с АЦП, можно было бы проверить чей глюк.
Herz
Цитата(valterego @ Jun 7 2012, 08:12) *
FFTW - это библиотека под виндовс для быстрого расчета БПФ, а насчет зеркальной половины - ее нет, спектр ведь получился несимметричный

Но правая половина верхней картинки уж очень напоминает нижнюю. Так, как будто спектр сдвинут.

Цитата(Alex11 @ Jun 7 2012, 10:59) *
Приложили бы Вы здесь отсчеты с АЦП, можно было бы проверить чей глюк.

+1. Можно будет в Матлабе посмотреть.
Xenia
Если полученную картинку (верхнюю) разрезать ровно пополам, а потом махнуть половинки местами, то получится как раз то, что надо! sm.gif
Make_Pic
Цитата(Xenia @ Jun 7 2012, 18:57) *
Если полученную картинку (верхнюю) разрезать ровно пополам, а потом махнуть половинки местами, то получится как раз то, что надо! sm.gif


Последовательность отчетов, или обработки отсчетов где то в коде у него спутана
valterego
проблема решена! всем спасибо!
Итак, пример:
имеем сигнал с АЦП в формате IQ с Fd 500 KHz
Для правильного построения спектра нам нужно комплексный сигнал домножить на e^jw/2t, где:
w - 2 * Pi * Fd
другими словами - домножаем комплексный сигнал на комплексную огибающую частотой вдвое меньше частоты дискретизации
Herz
Цитата(valterego @ Jun 9 2012, 12:15) *
проблема решена! всем спасибо!
Итак, пример:
имеем сигнал с АЦП в формате IQ с Fd 500 KHz
Для правильного построения спектра нам нужно комплексный сигнал домножить на e^jw/2t, где:
w - 2 * Pi * Fd
другими словами - домножаем комплексный сигнал на комплексную огибающую частотой вдвое меньше частоты дискретизации

Это где Вы почерпнули? Обычно для построения спектра нужно получить модуль комплексного сигнала. То есть, возвести в квадрат обе составляющие и сложить. Если надо, взять корень из суммы.
valterego
Цитата(Herz @ Jun 9 2012, 15:27) *
Это где Вы почерпнули? Обычно для построения спектра нужно получить модуль комплексного сигнала. То есть, возвести в квадрат обе составляющие и сложить. Если надо, взять корень из суммы.

Помогли коллеги. Это так, корень, но я не хочу переводить комплексные величины в реальные, хочу работать с комплексом, так удобней при демодуляцииsm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.