Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.11.2015, 19:53   #1
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
Exclamation Фильтрация аналогового сигнала

Цитата:
Сообщение от djaval Посмотреть сообщение
Хороший фильтр аналогового сигнала очень нужен. У Сегнетикса показания датчиков очень уж скачут, и, как следствие, скачут результаты дальнейших вычислений.

Штатный фильтр, встроенный в макрос TermoSensor, не особенно эффективен.. Пытался городить какие-то свои фильтрующие и сглаживающие конструкции, но особого результата не добился, показания датчиков всё равно выглядят как кардиограмма.
RC фильтр первого порядка:
Вложения
Тип файла: msl ФНЧ.msl (5.4 Кбайт, 241 просмотров)

Последний раз редактировалось Arsie, 18.05.2020 в 13:38
СВМ вне форума   Ответить с цитированием
Старый 12.11.2015, 23:17   #2
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 747
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от СВМ Посмотреть сообщение
RC фильтр первого порядка:
Вариация на тему SMLogix Help - Экспоненциальный фильтр?
Где новизна?
ATS сейчас на форуме   Ответить с цитированием
Старый 13.11.2015, 18:45   #3
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от ATS Посмотреть сообщение
Вариация на тему SMLogix Help - Экспоненциальный фильтр?
Где новизна?
А можно подробнее, что это такое - экспоненциальный фильтр?
СВМ вне форума   Ответить с цитированием
Старый 13.11.2015, 19:07   #4
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от СВМ Посмотреть сообщение
А можно подробнее, что это такое - экспоненциальный фильтр?
Выше в теме выложены макросы с фильтрами. Экспоненциальный фильтр - это математическая реализация RC фильтра. Выдаёт данные с частотой тика.
Если ставить перед макросом ПИД №7, то убирает дёрганье и возбуждение. Если ещё поставить на выходе макроса ПИД, то не будет так сильно (быстро) гонять привод.

Хотя работа ПИД сильно зависит от подобранных коэффициентов. Тут уж как повезёт.

Вроде так ...


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 13.11.2015, 21:01   #5
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 747
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от СВМ Посмотреть сообщение
А можно подробнее, что это такое - экспоненциальный фильтр?
Из описания в Вашем макросе - Uвых = Uвх*(1 - exp(-t/T))
Ну а ответ был в предыдущем посте.
ATS сейчас на форуме   Ответить с цитированием
Старый 16.11.2015, 09:40   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

ФНЧ-фильтры с предзагрузкой и без неё ещё очень давно и выложил их на форум.

http://forum.segnetics.com/showthread.php?t=314


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 16.11.2015 в 14:10
Arsie сейчас на форуме   Ответить с цитированием
Старый 30.11.2015, 13:20   #7
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от tvf Посмотреть сообщение
Смотрите, сравнивайте.
Посмотрел. Сравнил. Путём моделирования выяснил, что лучше всего работает связка exp + alpha-beta(TVF). Для лучшего понимания, и подборов коэффициентов промоделировал в Excel. Ещё почитал здесь, познавательно.
Вложения
Тип файла: zip расчеты.zip (334.6 Кбайт, 101 просмотров)


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 30.11.2015, 17:19   #8
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 742
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от serg-el Посмотреть сообщение
Посмотрел. Сравнил. Путём моделирования выяснил, что лучше всего работает связка exp + alpha-beta(TVF). Для лучшего понимания, и подборов коэффициентов промоделировал в Excel. Ещё почитал здесь, познавательно.
Боюсь вас разочаровать, но то что написано в статье по вашей ссылке это экспоненциальный фильтр. Просто другая форма записи. Постараюсь доказать свою точку зрения:

Y(n)=Y(n-1) + (X(n)-Y(n-1))*b

Это стандартная формула экспоненциального фильтра.
0<b<1
Y(n) - значение на выходе фильтра в текущем такте
Y(n-1) - значение на выходе фильтра в предыдущем такте
X(n) - значение на входе фильтра в текущем такте

Раскроем скобки:

Y(n)=Y(n-1) + b*X(n) - b*Y(n-1)

Сгруппируем множители:

Y(n)= (1-b)*Y(n-1) + b*X(n)

Введем новый коэффициент:

a=1-b

И запишем формулу уже с новым коэффициентом:

Y(n)=a*Y(n-1) + b*X(n)

Проверим соотношение a+b=1:

a+b=1-b+b=1

Все как в вашей ссылке. Сам наталкивался на этот сайт. Наличие в формуле a и b ни как не относится к реальному альфа-бета фильтру. Причем автор статьи ни кого не пытается обманывать. В статье прямо говорится:
Цитата:
Математически цифровой фильтр 1-го порядка описывается различными способами. Мы будем использовать такое представление:
Y(n) = Alfa*Y(n-1) + Beta*X(n)
Фильтр 1-го порядка это и есть экспоненциальный фильтр.
Более гладкие кривые после последовательного применения двух фильтров вполне понятны - это уже фильтр 2-го порядка. Примените последовательно еще один фильтр и результаты будут еще лучше. Только постарайтесь применять все фильтры с одинаковой постоянной времени. Как говорилось в той же статье:
Цитата:
Цифровой фильтр (равно как и не цифровой) имеет как бы 2 лица: частотную характеристику и переходную (временнУю) характеристику.
....
Лучше фильтрация — хуже переходной процесс.
Мало давить помехи, надо знать когда фильтр должен устаканится.


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.

Последний раз редактировалось tvf, 30.11.2015 в 17:46
tvf вне форума   Ответить с цитированием
Старый 30.11.2015, 18:19   #9
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 742
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от serg-el Посмотреть сообщение
Путём моделирования выяснил, что лучше всего работает связка exp + alpha-beta(TVF).
Вся проблема альфа-бета фильтра - подбор коэффициентов. А они зависят как от сигнала, так и от наложенного шума. Если коэффициенты подобраны не оптимально, то вреда может быть больше, чем пользы.


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf вне форума   Ответить с цитированием
Старый 30.11.2015, 18:39   #10
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Полностью согласен с тем, что в выше приведённой статье описывается экспоненциальный фильтр. Просто там расписано как подбирать коэффициенты для его настройки, и его влияние на ПИД регулятор (на Д составляющую).

Причем в моём файле есть как с альфой и бетой, так и просто с бетой (в основном с бетой). Сокращенная формула в комментариях к данной статье есть.

Просто наглядно видно, как коэффициенты влияют на переходные характеристики, и на подавление ВЧ составляющих шума. Оптимально - экспоненциальный, затем альфа-бета для восстановления формы сигнала.
Если наоборот - то больше проникновение импульсных помех на выход.


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 30.11.2015, 19:27   #11
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 742
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от serg-el Посмотреть сообщение
Оптимально - экспоненциальный, затем альфа-бета для восстановления формы сигнала.
Если наоборот - то больше проникновение импульсных помех на выход.
Форма сигнала это хорошо. А как быть с амплитудой? В вашем же файле с вашими же параметрами коэффициент передачи фильтра в полосе пропускания не равен 1. А это плохо, очень плохо. Особенно хорошо это видно когда фильтруется скачек. Величина выбега сильно зависит от коэффициентов. Для меня это неприемлемо. Хотите повозится - ваше дело. К слову говоря, есть еще альфа-бета-гамма фильтр. Это когда к переменным положения и скорости добавляется еще и ускорение объекта.
Цитата:
Просто там расписано как подбирать коэффициенты для его настройки, и его влияние на ПИД регулятор (на Д составляющую).
По большому счету в статье написано как сделать аналоговый фильтр используя целочисленную арифметику.


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf вне форума   Ответить с цитированием
Старый 30.11.2015, 20:00   #12
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 742
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от СВМ Посмотреть сообщение
Ещё два фильтра:
Интересные макросы, правда тяжеловаты. И основная тяжесть в расчетах коэффициентов. Теорией не поделитесь?


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf вне форума   Ответить с цитированием
Старый 01.12.2015, 14:25   #13
serg-el
Senior Member
 
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от tvf Посмотреть сообщение
Форма сигнала это хорошо. А как быть с амплитудой? В вашем же файле с вашими же параметрами коэффициент передачи фильтра в полосе пропускания не равен 1. А это плохо, очень плохо. Особенно хорошо это видно когда фильтруется скачек. Величина выбега сильно зависит от коэффициентов.
В моём файле приведены разные графики.
Если сначала стоит alpha-beta(TVF), а затем экспоненциальный - то да, выбег есть. И амплитуда может гулять. А если сначала (как я писал ранее) экспоненциальный, и лишь потом alpha-beta(TVF) - то выбега не будет.

Чем хорошо моделирование в Excel, так это тем что видно что и как будет в контроллере по факту. Можно подбирать коэффициенты и сразу видеть результат на графиках.


__________________
Всё, что нельзя выразить в цифрах — это не наука, это — мнение.
serg-el вне форума   Ответить с цитированием
Старый 01.12.2015, 19:25   #14
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от tvf Посмотреть сообщение
Интересные макросы, правда тяжеловаты. И основная тяжесть в расчетах коэффициентов. Теорией не поделитесь?
Что именно Вас интересует?
Вложения
Тип файла: doc Фильтры.doc (54.0 Кбайт, 155 просмотров)
СВМ вне форума   Ответить с цитированием
Старый 02.12.2015, 07:09   #15
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 742
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от СВМ Посмотреть сообщение
Что именно Вас интересует?
По большому счету интересует методика расчета коэффициентов БИХ-фильтра по импульсной характеристике, заданной аналитическим путем. Ну или по переходной характеристике, что в принципе одно и то же.


__________________
Нет абсолютно бездарных людей. Каждый бездарен в своей области.
tvf вне форума   Ответить с цитированием
Старый 02.12.2015, 20:28   #16
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Цитата:
Сообщение от tvf Посмотреть сообщение
По большому счету интересует методика расчета коэффициентов БИХ-фильтра по импульсной характеристике, заданной аналитическим путем. Ну или по переходной характеристике, что в принципе одно и то же.
Могу предложить расчёт алгоритма (структура и коэффициенты) по коэффициенту передачи, заданному в операторной форме, на примере выложенного выше фильтра Баттерворта.
СВМ вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Усредняющий фильтр аналогового сигнала av242736 Вопросы о программировании 32 02.09.2022 16:32
Блокировка аналогового сигнала (решено) 4ertjaga_88 Вопросы о программировании 5 25.07.2018 12:18
Режим Местный -Дистанция, автозапуск после сигнала Пожар Amat SMConstructor (вентиляция) 3 10.10.2016 15:11
Преобразование аналогового входного сигнала 4...20 mA в выходной 0...10 V OTA Вопросы о программировании 3 25.02.2015 13:15


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


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023