|
Модераторы: LSD |
|
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
Всем привет.
Для одной поделки нужна программа регулирования выходным напряжением - подтащить к заданному значению и там удерживать, но мешают шумы. Приделал ПИД регулятор - работает конечно, но не так, как хотелось бы... Образование "не позволяет" что то свое придумать, поэтому тут с вопросом. Может мне нужно реализовать вейвлет фильтрацию? Подскажите, плз, вместо ПИД - вейвлет будет работать? Или это не в тему? И где бы раздобыть реально работающие описание и формулы (с целью опробовать)? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
сначала надо определится какой характер шумов
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
Ну там работает АЦП, и оно на пределе разрешения.
Есть такой фокус - "пляшущие разряды". Ну вот, например, АЦП 12 разрядов, диапазон входного напряжения если 2 Вольта, а ваш сигнал 1 Вольт, то это уже как бы половина, или максимум 11 разрядов. При измерении всякий разброс случается - источник опорного напряжения ли скакнет или еще что, короче максимум 10 разрядов измерить можно, а это не точнее 1 мВ для входного напряжения 1 Вольт. А если входное напряжение 100 мВ, то разрешение все равно 1 мВ. Ну вот шумы для ПИД это те "пляшущие разряды". Разрядность АЦП тоже не получается увеличить. Если бы раз в 5 увеличить, то и ПИД работал тоже отлично, а так - нет. Это такие выбросы - если нарисовать картинку то это тычки вверх и вниз от сигнала. ПИД начинает реагировать на эти выбросы и "утаскивает" все в сторону от нужного уровня. Я пробовал на МАТЛАБЕ пофильтровать шумы вейвлетом - отлично работает, но там нет исходных программ. Алгоритмов вейвлетов там много, плюс для каждого типа своих настроек штуки по 3. Нужно сильно ужатое и упрощенное, т.е. "стилизованное" для использования на МК - разрядность 8 бит, памяти совсем мало, работает очень медленно. Возможно где то выкладывали пример кода для такого фильтра на вейвлетах? Мне не повезло, искал - не нашел. |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
правильнее всего , перед АЦП ставится усилитель ...
если нет желания его ставить , можно математически поднять разрядность АЦП (за счет уменьшения частоты дискритизации), берете 4 измерения АЦП и складываете их , разрядность увеличивается на 2 бита (если взять 16 отсчетов, получится плюс 4 бита) , если не нужна увеличиная разрядность , делаете сдвиг вправо на число добавленых бит( за счет мат усреднения , шум от преобразования АЦП уменьшится ) -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
Не могу согласиться.
Вопрос в том, что бы правильно был измерен реальный уровень сигнала. При складывании "сигнал+шум" в результате получается только "сигнал+ошибка". Выбросы конечно уменьшаются, но достоверность измерений тоже снижается. Не понял идеи с усилителем. Сигнал нормальный уровень имеет, зачем его усиливать? Если входной диапазон АЦП 2,5 Вольта, а сам сигнал 2 вольта, что тут можно усилить? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
половина разрядной сетки АЦП не имеет никакого отношения к пляшущим разрядам... тогда не совсем понятна сама тема, если у вас уровень сигнала в половине разрядной сетки , для чего фильтрация ? если шум порядка уровня сигнала , какой характер шума? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
В даташитах на АЦП всегда указан уровень шума.
АЦП без шума не бывает. Цена младшего разряда АЦП определяется делением напряжения ИОН на количество дискрет АЦП. Шумят только один или два младшие разряда АЦП, которые никак не связаны с входным сигналом АЦП. То что младшие разряды АЦП иногда случайным образом показывают "ложную" информацию - это не требует доказательств, это для АЦП всегда так бывает. У меня проблема не в том есть шум или нет его - в моем АЦП он есть всегда. А проблема в том, как простыми средствами избавиться от него. Интересен несложный пример практической реализации (дискретный алгоритм вейвлет фильтрации шумов), для 8-и разрядных микроконтроллеров. |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
если для вас критично , наличие шума (младшие 2 разряда), и не важна разрядность, уберите 2 младших бита из расчетов
нужно нормальное обоснование использования сложных алгоритмов на 8 битных системах.... желательно исключать все сложное из 8 бит ... но опять же,что применять и что не применять должен понимать разработчик .... ЗЫ вы вообще знаете как организована вейвлет фильтрация ??? понимаете их вычислительную потребность? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
Тоесть как это убрать два разряда?
Может быть АЦП вообще убрать и поставить компаратор? Вы "прикалываетесь"? Как организована вейвлет фильтрация я разбирался в матлабе. Ну это как БП Фурье только другая формула. Я угадал? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
угадал.... для фильтрации , как правило делают, прямое БПФ , умножают коэффициентами фильтрации и обратный БПФ, для получения результата. а вот теперь, как себе представляете такой алгоритм реализовать на МК 8 бит ? практически реализовать можно все , но задержки при таких расчетах? вас удовлетворит скорость реакции (т.е. время расчетов) порядка секунд или десятков секунд? как будет вести себя ПИД регулятор с такой задержкой??? если это подойдет для решение задачи , то почему бы и нет .... слышали ( а может и нет ) есть такой тип цифровой "модуляции" - дельта-модуляция , голос ей кодируют . И для нее используют компаратор! и успешно используют и никто не жалуется. ЗЫ Для каждой задачи , есть свое оптимальное решение ... исходя из ваших слов при использовании 8 бит МК и на нем организация ПИД регулятора , такие типы фильтрации излишни , тем более что хотите убрать шум самого АЦП .... ИМХО Добавлено через 1 минуту и 8 секунд ЗЫЫ озвучьте задачу полностью возможно и появится более оптимальный выход в этой ситуации -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
Задача полностью - это то, что я написал ранее.
Процессор 8 бит, однотактное ядро, 12 МГц. По производительности нормально получается - это если сравнивать с IBM PC у которого тоже 8 бит шина данных и одна команда за 12 тактов выполняется при частоте около 8 МГц. Это раз в 20 медленнее чем у моего. Числа с плавающей точкой столько же байт занимают. Что Вам не нравится в 8 битных процессорах? Язык программирования такой же - высокого уровня. А на IBM PC можно вейвлет фильтрацию реализовывать? |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
можно это кто вам такое сказал? все нравится , и сам ими пользуюсь (где надо ) не полностью... считайте, что ничего не писали . И опишите так, как будто делаете заказ на создание программы ... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
Интел. Если Вы думаете, что у процессора 8088 была наружная шина 8 бит, а внутри целых 16, то это такая распространенное заблуждение... Но это мне не хочется обсуждать, потому выглядит как "теория заговора". А мне пофиг, на самом деле...
Создание программы? Мне нужна ссылка на проект какого нибудь эмбеддера-любителя (американского?) где бы рассматривался пример реализации фильтра подавления шумов на основе алгоритмов вейвлет преобразования. Я бы почитал, скопипастил, вставил в свой проект и посмотрел можно это у меня использовать или нет... Делов то? А Вы то меня хотите научить по "отечественным учебникам" - типа, что такое "вейвлет фильтрация"? Это выглядит как то так - "не умеешь сам - научи другого". Опять же, мне это пофиг... Зачем мне это? Все. Я вопрос снимаю. Не надо ничего... |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
видите вам это даже не надо .... а ваш вопрос из разряда сделайте за меня.... гугл в помощь , нет прямых ссылок, искать реализацию подобных https://github.com/NewYaroslav/trading_indicators -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
FixPhone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.10.2015 Репутация: нет Всего: нет |
||||
|
||||
Правила форума "Разные вопросы" | |
|
Сюда нужно постить только темы, которые нельзя отнести ни к одному из существующих разделов. Если вы не уверены, то просмотрите еще раз заголовки форумов, карту форума или попробуйте воспользоваться поиском.
С уважением, Smartov. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разные вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |