Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.10.2008, 11:20
|
|
Частый гость
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Вычисление параметров синусоиды по отсчетам, снятых с АЦП
Добрый день! Буду признателен, если подскажите направление, как можно реализовать следующую задачу. Синусоидальный сигнал заводится на АЦП микроконтроллера, требуется расчитать его частоту (период), амплитуду. До этого работал только с постоянными напряжениями и токами. Т.е. интересует конкретно алгоритм обработки оцифрованного массива. Без применения преобразования Фурье. Спасибо.
|
|
|
|
08.10.2008, 12:12
|
|
Прописка
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
|
"Без применения преобразования Фурье." Именно "преобразования Фурье" тут и напрашиваются. ![Смешно](images/smilies/icon_lol.gif) Скажите какой диапазон частоты/амплитуды необходимо мерять, точность, количество выборок, частоту и разрядность АЦП.
|
|
|
|
08.10.2008, 12:32
|
|
Прописка
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Ну амплитуда - это максимальное значение сигнала, думаю алгоритм поиска максимального значения в массиве обьяснять не нужно.
Частоту лучше (точнее) измерять модулем ССР (если PIC) в режиме захвата.
|
|
|
|
08.10.2008, 12:53
|
|
Частый гость
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Параметры все пока приблизительные, меня интересует именно идея алгоритма и математика. Частота 5-200 Гц, амплитуда 0-5 вольт. АЦП 12 разрядное. Просто увидел прибор, который показывает частоту и действующее значение синусоиды с точностью 0,5% без применения БПФ, только обработкой оцифрованного массива данных (200 отсчетов на период). Вот стало интересно применить такую математику для своих нарисовавшихся задач...
Сообщение от julbu
|
Ну амплитуда - это максимальное значение сигнала, думаю алгоритм поиска максимального значения в массиве обьяснять не нужно.
|
Дело в том, что оцифровывается синусоида с помехами. Поэтому прежде чем искать максимальное значение, наверное, надо сгладить полученные выборки, чтобы не было выбросов, которые ложно будут считаться максимальным значением. Вообщем, нюансов много, опыта нет, буду рад любым советам и идеям.
|
|
|
|
08.10.2008, 14:09
|
|
Прописка
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
|
Таак я что то не расслышал- длинна выборки и частота АЦП.
|
|
|
|
08.10.2008, 14:16
|
|
Частый гость
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Почитал, но ничего нового для себя не узнал. ![Улыбка](images/smilies/icon_smile.gif) Как мерить напряжение, считать частоту таймерами мне известно. Я хочу обрабатывать отснятую синусоиду полностью математически без дополнительного определения момента перехода через ноль с помощью компараторов (резистора на вход МК в Вашем случаи).
|
|
|
|
08.10.2008, 14:19
|
|
Частый гость
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от mike7815
|
Таак я что то не расслышал- длинна выборки и частота АЦП.
|
Я там скромно сообщал, что конкретно к параметрам не привязывался еще. Допустим 500 тыс отсчетов в секунду частота АЦП, берем 100-200 точек. Я гибкий...
|
|
|
|
08.10.2008, 14:53
|
|
Прописка
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Сообщение от _DmZ_
|
Почитал, но ничего нового для себя не узнал. :) Как мерить напряжение, считать частоту таймерами мне известно. Я хочу обрабатывать отснятую синусоиду полностью математически без дополнительного определения момента перехода через ноль с помощью компараторов (резистора на вход МК в Вашем случаи).
|
Ну вот, все знаете, а как математически определить переход через "ноль" нет.
|
|
|
|
08.10.2008, 14:58
|
|
Прописка
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
|
Количество выборок маленькое. А АЦП самое то. Очень даже хороший можно получить результат. И ни каких там компораторов и пр. не нужно, это все от лукавого.
1 к Вашей синусоиде надо добавить постоянную составляющую и подать на АЦП. Желательно предусмотреть переключение входа АЦП для периодического измерения этой постоянной составляющей(это и будет наш "ноль").
2 собственно математика -до безобразия проста. находим два перехода через ноль-между ними максимум следующий переход следующий максимум (по абсолютному значению) и т.д... усредняем- получили амплитуду.
т.к. частота выборок АЦП››частоты измеряемого сигнала, то для нахождения частоты оного надо найти период -просто посчитать количество выборок между двумя "нулями". Естественно выполнить это несколько раз и усреднить. ну и действующее значение наконец. Вычисления выполняем на интрервале кратном полу периоду(чем дольше- тем точнее), начиная с момента "перехода через ноль" тупо по формуле:
-- Прилагается рисунок: --
![](https://kazus.ru/nuke/users_images/08102008/9204747.JPG)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:21.
|
|