Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 08.10.2008, 11:20  
_DmZ_
Частый гость
 
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_DmZ_ на пути к лучшему
По умолчанию Вычисление параметров синусоиды по отсчетам, снятых с АЦП

Добрый день! Буду признателен, если подскажите направление, как можно реализовать следующую задачу. Синусоидальный сигнал заводится на АЦП микроконтроллера, требуется расчитать его частоту (период), амплитуду. До этого работал только с постоянными напряжениями и токами. Т.е. интересует конкретно алгоритм обработки оцифрованного массива. Без применения преобразования Фурье. Спасибо.
Реклама:
_DmZ_ вне форума  
Непрочитано 08.10.2008, 12:12  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

"Без применения преобразования Фурье." Именно "преобразования Фурье" тут и напрашиваются. Скажите какой диапазон частоты/амплитуды необходимо мерять, точность, количество выборок, частоту и разрядность АЦП.
mike7815 вне форума  
Непрочитано 08.10.2008, 12:32  
julbu
Прописка
 
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
julbu на пути к лучшему
По умолчанию

Ну амплитуда - это максимальное значение сигнала, думаю алгоритм поиска максимального значения в массиве обьяснять не нужно.
Частоту лучше (точнее) измерять модулем ССР (если PIC) в режиме захвата.
julbu вне форума  
Непрочитано 08.10.2008, 12:53  
_DmZ_
Частый гость
 
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_DmZ_ на пути к лучшему
По умолчанию

Параметры все пока приблизительные, меня интересует именно идея алгоритма и математика. Частота 5-200 Гц, амплитуда 0-5 вольт. АЦП 12 разрядное. Просто увидел прибор, который показывает частоту и действующее значение синусоиды с точностью 0,5% без применения БПФ, только обработкой оцифрованного массива данных (200 отсчетов на период). Вот стало интересно применить такую математику для своих нарисовавшихся задач...
Сообщение от julbu
Ну амплитуда - это максимальное значение сигнала, думаю алгоритм поиска максимального значения в массиве обьяснять не нужно.
Дело в том, что оцифровывается синусоида с помехами. Поэтому прежде чем искать максимальное значение, наверное, надо сгладить полученные выборки, чтобы не было выбросов, которые ложно будут считаться максимальным значением. Вообщем, нюансов много, опыта нет, буду рад любым советам и идеям.
_DmZ_ вне форума  
Непрочитано 08.10.2008, 13:16  
julbu
Прописка
 
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
julbu на пути к лучшему
По умолчанию

Действующее значение считается так: http://www.microchip.ru/phorum/read....8#reply_109454
Там есть мое сообщение, где все расписано.
julbu вне форума  
Непрочитано 08.10.2008, 14:09  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

Таак я что то не расслышал- длинна выборки и частота АЦП.
mike7815 вне форума  
Непрочитано 08.10.2008, 14:16  
_DmZ_
Частый гость
 
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_DmZ_ на пути к лучшему
По умолчанию

Сообщение от julbu
Действующее значение считается так: http://www.microchip.ru/phorum/read....8#reply_109454
Там есть мое сообщение, где все расписано.
Почитал, но ничего нового для себя не узнал. Как мерить напряжение, считать частоту таймерами мне известно. Я хочу обрабатывать отснятую синусоиду полностью математически без дополнительного определения момента перехода через ноль с помощью компараторов (резистора на вход МК в Вашем случаи).
_DmZ_ вне форума  
Непрочитано 08.10.2008, 14:19  
_DmZ_
Частый гость
 
Регистрация: 12.07.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_DmZ_ на пути к лучшему
По умолчанию

Сообщение от mike7815
Таак я что то не расслышал- длинна выборки и частота АЦП.
Я там скромно сообщал, что конкретно к параметрам не привязывался еще. Допустим 500 тыс отсчетов в секунду частота АЦП, берем 100-200 точек. Я гибкий...
_DmZ_ вне форума  
Непрочитано 08.10.2008, 14:53  
julbu
Прописка
 
Регистрация: 19.08.2004
Сообщений: 156
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
julbu на пути к лучшему
По умолчанию

Сообщение от _DmZ_
Сообщение от julbu
Действующее значение считается так: http://www.microchip.ru/phorum/read....8#reply_109454
Там есть мое сообщение, где все расписано.
Почитал, но ничего нового для себя не узнал. :) Как мерить напряжение, считать частоту таймерами мне известно. Я хочу обрабатывать отснятую синусоиду полностью математически без дополнительного определения момента перехода через ноль с помощью компараторов (резистора на вход МК в Вашем случаи).
Ну вот, все знаете, а как математически определить переход через "ноль" нет.
julbu вне форума  
Непрочитано 08.10.2008, 14:58  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

Количество выборок маленькое. А АЦП самое то. Очень даже хороший можно получить результат. И ни каких там компораторов и пр. не нужно, это все от лукавого.
1 к Вашей синусоиде надо добавить постоянную составляющую и подать на АЦП. Желательно предусмотреть переключение входа АЦП для периодического измерения этой постоянной составляющей(это и будет наш "ноль").
2 собственно математика -до безобразия проста. находим два перехода через ноль-между ними максимум следующий переход следующий максимум (по абсолютному значению) и т.д... усредняем- получили амплитуду.
т.к. частота выборок АЦП››частоты измеряемого сигнала, то для нахождения частоты оного надо найти период -просто посчитать количество выборок между двумя "нулями". Естественно выполнить это несколько раз и усреднить. ну и действующее значение наконец. Вычисления выполняем на интрервале кратном полу периоду(чем дольше- тем точнее), начиная с момента "перехода через ноль" тупо по формуле:

-- Прилагается рисунок: --
mike7815 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычисление CRC qaz12345qaz12345 Микроконтроллеры, АЦП, память и т.д 32 23.08.2010 23:55
Компилятор Hi-Tech, вычисление, на PIC12F675 3ann Микроконтроллеры, АЦП, память и т.д 27 06.07.2009 12:01
Странное вычисление температуры DS18S20 nagano Микроконтроллеры, АЦП, память и т.д 0 20.08.2008 08:58
RC генераторы синусоиды velldio Поиск схем. Делимся схемами 1 13.01.2008 13:03
RC генераторы синусоиды velldio Электроника - это просто 3 11.01.2008 21:07


Часовой пояс GMT +4, время: 01:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot