ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
740867 Топик полностью
Ксения (05.03.2017 10:18, просмотров: 435) ответил Alt@ir на Так и не надо значит Фурью трогать совсем. АЦП комплексно умножаем на один единственный 300 кГц, узенько фильтруем квадратуры и складываем. На выходе - амплитуда входного 300 кГц.
Это я тоже прикидывала. Правда не усекла, что значит "узенько фильтровать квадратуры", но мысль умножать на синусоиду и косинусоиду с образцовой частотой 300 КГц была. В последнем случае из обоих скалярных произведений вычисляется гипотенуза, которая и будет искомой амплитудой этой гармоники. Вопрос только о том, успеет ли микроконтроллер это сделать за то время, пока он же накапливает в буфере данные от АЦП для следующего этапа. Понимаю, что вычисления можно вести в целых числах (для скорости), если отмасштабировать амплитуду образцовых sin и cos до 65535 и округлить, а микроконтроллер взять 32-разрядный, чтобы умножал короткие целые одним махом. Тем не менее, на частоте 300 КГц у нас всего 3 мкс времени на точку, а то и меньше, с учетом того, что прием данных от АЦП и помещение их в буфер тоже может занять какое-то время. Отсюда и вопрос, какой микроконтроллер способен за это время уложиться с этой работой, если он не DSP (операции умножения с накоплением не имеет), а обычный. Скажем, STM32 на частоте 168 МГц успеет или нужен более серьезный микроконтроллер?