|
Цифровой интегратор. Реализация на микроконтроллере., Как сделать интегратор в цифре и избежать насыщения ? |
|
|
|
 |
Ответов
|
Jun 24 2014, 19:24
|

Участник

Группа: Участник
Сообщений: 44
Регистрация: 6-07-13
Из: Минск
Пользователь №: 77 417

|
Вставлю и я пять копеек. Закидывать значения АЦП в кольцевой буфер такого размера, чтобы получилось правильное время интеграции. Затем все складывать и делить на размер буфера. Если правильно выбрать тип данных, то насыщаться не будет. Т.к. точки, которые были раньше чем длина буфера больше не входят в сумму.
Это будет прямоугольное окно.
Если перед усреднением умножать на маску размера буфера, скажем гауссову, то будет гауссово окно.
--------------------
Мысли и действия должны чередоваться как вдох и выдох.
|
|
|
|
|
Jun 25 2014, 17:24
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911

|
Цитата(Scientificer @ Jun 24 2014, 23:24)  Вставлю и я пять копеек. Закидывать значения АЦП в кольцевой буфер такого размера, чтобы получилось правильное время интеграции. Затем все складывать и делить на размер буфера. Если правильно выбрать тип данных, то насыщаться не будет. Т.к. точки, которые были раньше чем длина буфера больше не входят в сумму.
Это будет прямоугольное окно.
Если перед усреднением умножать на маску размера буфера, скажем гауссову, то будет гауссово окно. Спасибо, очень оригинально! Если все считать в целых числах, то вместо сложения всех элементов буфера можно выполнять только две операции - сложение нового элемента и вычитание самого старого. Этим можно очень сэкономить на вычислениях.
Сообщение отредактировал MSP430F - Jun 25 2014, 17:24
|
|
|
|
|
Jun 25 2014, 21:03
|

Участник

Группа: Участник
Сообщений: 44
Регистрация: 6-07-13
Из: Минск
Пользователь №: 77 417

|
Цитата(MSP430F @ Jun 25 2014, 20:24)  Если все считать в целых числах, то вместо сложения всех элементов буфера можно выполнять только две операции - сложение нового элемента и вычитание самого старого. Этим можно очень сэкономить на вычислениях. Как же я сам не додумался! Я в своей задаче каждый раз заново считаю.
Сообщение отредактировал Scientificer - Jun 25 2014, 21:05
--------------------
Мысли и действия должны чередоваться как вдох и выдох.
|
|
|
|
|
Jun 26 2014, 10:25
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911

|
Цитата(shf_05 @ Jun 26 2014, 09:17)  аа понял, дак это не интегратор получается, а что-то вроде CIC фильтра или скользящего среднего. Ну мне именно скользящее среднее и предложили использовать в качестве интегратора... Я просто предложил экономичный алгоритм его расчета для целых чисел. Вы считаете, что скользящее среднее и интегратор сильно разные вещи ?
Сообщение отредактировал MSP430F - Jun 26 2014, 10:29
|
|
|
|
|
Jun 26 2014, 10:40
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Сначала решите простую задачу: Вы сели в автомобиль и поехали. Из приборов у вас только спидометр и секундомер. Как определить пройденный путь по истечении времени  ? В соответствии с курсом средней школы: =\int_{0}^{T}{v(t)dt}<br />) Это если вы едете в чистом поле. Понятно, что чем дольше вы так едете, тем большая абсолютная ошибка накопится из-за неидеальности ваших средств измерения. Если же на вашем маршруте встречаются точки, расстояние до которых вам точно известно, то вы, проезжая их, обнуляете ваш интегратор, начинаете интегрировать уже от этой базовой точки, а при дальнейших расчетах учитываете известное расстояние до базовой точки. Именно эту идею вам предложил shf_05 - калиброваться (сбрасывать интегратор или интеграторы) в опорных точках, в которых стоят концевые выключатели. К скользящему среднему это не имеет отношения. У вас примерно та же ситуация, только в случае с акселерометром вместо спидометра будет 2 последоваетльных интегратора. Цитата(MSP430F @ Jun 26 2014, 11:25)  Ну мне именно скользящее среднее и предложили использовать в качестве интегратора... Я просто предложил экономичный алгоритм его расчета для целых чисел. Вы считаете, что скользящее среднее и интегратор сильно разные вещи ?
|
|
|
|
Сообщений в этой теме
MSP430F Цифровой интегратор. Реализация на микроконтроллере. Jun 17 2014, 13:59 Lmx2315 http://www.science-education.ru/107-8130
http://w... Jun 17 2014, 14:11 MSP430F Цитата(Lmx2315 @ Jun 17 2014, 18:11) http... Jun 17 2014, 14:58  andyp Цитата(MSP430F @ Jun 17 2014, 18:58) И я ... Jun 17 2014, 15:49   Lmx2315 ..в рамках дискуссии, не зная ответа я бы помодели... Jun 17 2014, 15:52  Tanya Цитата(MSP430F @ Jun 17 2014, 18:58) И я ... Jun 17 2014, 15:54   MSP430F Цитата(Tanya @ Jun 17 2014, 19:54) Да ник... Jun 17 2014, 17:07    Tanya Цитата(MSP430F @ Jun 17 2014, 21:00) Что ... Jun 17 2014, 17:08 TSerg Интегрирование константы - линейно-расходящийся пр... Jun 17 2014, 14:42 ViKo Так же, как и в аналоговом интеграторе. Сбрасывать... Jun 17 2014, 16:20 andyp Цитата(MSP430F @ Jun 17 2014, 17:59) Всем... Jun 17 2014, 17:51 MSP430F Цитата(andyp @ Jun 17 2014, 21:51) Если с... Jun 17 2014, 18:14  andyp Цитата(MSP430F @ Jun 17 2014, 22:14) Мы с... Jun 17 2014, 18:32   MSP430F Вот такой еще вопрос.
Пишут, что одним из оптималь... Jun 19 2014, 10:04   Petrovich Уберите аналоговый интегратор, оцифруйте сигнал ви... Jun 19 2014, 10:13    prig Цитата(Petrovich @ Jun 19 2014, 14:13) Уб... Jun 19 2014, 13:09    shf_05 периодически, если это допустимо и возможно ставьт... Jun 24 2014, 12:55  shf_05 Цитата(MSP430F @ Jun 25 2014, 23:24) Спас... Jun 25 2014, 19:47     shf_05 ага его всегда так и считают, в этом его плюс- мал... Jun 26 2014, 10:37     thermit Цитата(MSP430F @ Jun 26 2014, 14:25) Ну м... Jun 26 2014, 10:47 Pavia Цитата(MSP430F @ Jun 19 2014, 14:04) Вот ... Jun 25 2014, 18:19
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|