Перейти к содержанию
    

Поясните результат FFT

Выполнил БПФ над оцифрованным с частотой 2MSPS сигналом. Выборка 2^14=16384.

 

После ликвидировал зеркальный эффект просто обнулив все элементы выше 16384/2 = 8192

 

Получаем максимальную частоту на спектрограмме:

 

freq[j]= (nSamplesPerSec * i) / N = (200000 * 8192) / 16384 = 1МГц.

 

Но у меня на этом месте на графике получается 500кГц. Т.е. в 2 раза меньше. В чем проблема?

 

Источник алгоритма отсюда FFT

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После ликвидировал зеркальный эффект просто обнулив все элементы выше 16384/2 = 8192

Надо еще домножить все оставшиеся элементы на 2, кроме первого.

Изменено пользователем sparcmaster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо еще домножить все оставшиеся элементы на 2, кроме первого.

 

ОК. в курсе :) спасибо. Пока интересует именно поиск частоты. Просто интересует принципиальный вопрос - какая частота все таки максимальная должна быть. 500кГц или 1Мгц при оцифровке 2MSPS, величине окна FFT N = 2^14 и при вот таком удалении зеркального эффекта.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну правильно - верхняя анализируемая частота 1MHz

Период дискретизации 1/2000000 =0.5uS

Разрешение по спектру (шаг между отсчетами по частоте) 1/( 0.0000005x16384)=122.07Hz

т.е. спектр будет 1ая частота 122.02Hz, 2ая - 244.14Hz ... так до 1000Hz

Смотря какую частоту надо выделить - исходя из этого выбирается частота дискретизации и кол-во отсчетов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понял. "Глюк" в системе нашел. Забыл функцию опроса исправить после последней отладки. 1МГц был.

 

А еще вопрос. А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) если зеркальный эффект как-то по другому исправлять? Может с учетом фазовых множителей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А еще вопрос. А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) если зеркальный эффект как-то по другому исправлять? Может с учетом фазовых множителей?

Это теоретически невозможно. Если правильно использовать зеркальную часть можно только повысить точность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно только повысить точность.

 

а поподробнее? точность чего? измерения амплитуды или частоты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например)

Потенциально можно увеличить до двух мег, если, скажем, использовать квадратурные каналы. Таким образом я обрабатывал сигналы от датчиков 1.5 МГц и 2.7 МГц при частоте выборки 4.2 МГц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...