kochevkv 1 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Выполнил БПФ над оцифрованным с частотой 2MSPS сигналом. Выборка 2^14=16384. После ликвидировал зеркальный эффект просто обнулив все элементы выше 16384/2 = 8192 Получаем максимальную частоту на спектрограмме: freq[j]= (nSamplesPerSec * i) / N = (200000 * 8192) / 16384 = 1МГц. Но у меня на этом месте на графике получается 500кГц. Т.е. в 2 раза меньше. В чем проблема? Источник алгоритма отсюда FFT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sparcmaster 0 19 марта, 2012 Опубликовано 19 марта, 2012 (изменено) · Жалоба После ликвидировал зеркальный эффект просто обнулив все элементы выше 16384/2 = 8192 Надо еще домножить все оставшиеся элементы на 2, кроме первого. Изменено 19 марта, 2012 пользователем sparcmaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kochevkv 1 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Надо еще домножить все оставшиеся элементы на 2, кроме первого. ОК. в курсе :) спасибо. Пока интересует именно поиск частоты. Просто интересует принципиальный вопрос - какая частота все таки максимальная должна быть. 500кГц или 1Мгц при оцифровке 2MSPS, величине окна FFT N = 2^14 и при вот таком удалении зеркального эффекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
George22 0 19 марта, 2012 Опубликовано 19 марта, 2012 · Жалоба Ну правильно - верхняя анализируемая частота 1MHz Период дискретизации 1/2000000 =0.5uS Разрешение по спектру (шаг между отсчетами по частоте) 1/( 0.0000005x16384)=122.07Hz т.е. спектр будет 1ая частота 122.02Hz, 2ая - 244.14Hz ... так до 1000Hz Смотря какую частоту надо выделить - исходя из этого выбирается частота дискретизации и кол-во отсчетов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kochevkv 1 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Понял. "Глюк" в системе нашел. Забыл функцию опроса исправить после последней отладки. 1МГц был. А еще вопрос. А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) если зеркальный эффект как-то по другому исправлять? Может с учетом фазовых множителей? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба А еще вопрос. А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) если зеркальный эффект как-то по другому исправлять? Может с учетом фазовых множителей? Это теоретически невозможно. Если правильно использовать зеркальную часть можно только повысить точность. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kochevkv 1 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба можно только повысить точность. а поподробнее? точность чего? измерения амплитуды или частоты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 20 марта, 2012 Опубликовано 20 марта, 2012 · Жалоба Амплитуды, естественно. И, косвенно, частоты, если искать точное ее значение по огибающей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 28 марта, 2012 Опубликовано 28 марта, 2012 · Жалоба А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) Потенциально можно увеличить до двух мег, если, скажем, использовать квадратурные каналы. Таким образом я обрабатывал сигналы от датчиков 1.5 МГц и 2.7 МГц при частоте выборки 4.2 МГц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться