Нужно сделать экстремальный регулятор, который бы подстраивался под входной сигнал по схеме:
Высчитывается разница между двумя сигналами, в зависимости от знака выбираются единичные импульсы, которые накапливаются до некоторого порога и затем снова сравниваются с сигналом. Подстроенный сигнал должен колебаться вокруг максимального значения эталона. Я сделал такую схему, но она не совсем корректно работает:
Экстремальный регулятор
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Экстремальный регулятор
У Вас вроде как суммарный сигнал раскладывается в ряд Фурье, а потом сумма гармоник вычисляется, на скрине совершенно другое.noise писал(а):но она не совсем корректно работает
Вы для начала с физикой процесса разберитесь, несколько контрольных примеров на калькуляторе прорешайте, а только потом программировать надо начинать.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Re: Экстремальный регулятор
Нет никакого суммарного сигнала, после первого сумматора идут единичные импульсы, знак которых зависит от разности входных сигналов. Они накапливаются и образуют ступенчатую зависимость, которую я условно на рисунке показал прямой. Аппаратно данная схема представляет собой блок выделения резонанса (сумматор и F), реверсивный счетчик (второй сумматор) и управляемый генератор частоты в виде множителя. Начиная с нулевого момента, ЭР осуществляет поиск экстремума резонанса, увеличивая частоту обратной связи. После выявления с помощью первого сумматора значения, ЭР переходит в режим рыскания, формируя число-импульсные последовательности и сигнал в установившемся режиме оказывается модулированным по треугольному закону изменения. На калькуляторе тут считать, вобщем-то, и нечего. Хочу заметить, что это является условной моделью, никаких точных значений тут не надо. Программа работает вполне правильно, просто не точно и я рассчитывал услышать какие-либо рекомендации, так как я впервые работаю в данной среде.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Экстремальный регулятор
Жаль, что разочаровал Ваши ожидания. Но изначально вопрос был поставлен следующим образом.noise писал(а):Нет никакого суммарного сигнала, после первого сумматора идут единичные импульсы, знак которых зависит от разности входных сигналов. Они накапливаются и образуют ступенчатую зависимость, которую я условно на рисунке показал прямой.
............
Программа работает вполне правильно, просто не точно и я рассчитывал услышать какие-либо рекомендации, так как я впервые работаю в данной среде.
Вероятно по этой причине, особо помогающих и не оказалось.noise писал(а):Нужно сделать экстремальный регулятор, который бы подстраивался под входной сигнал по схеме
Вот я посмотрел схему, скрин программы и предпринял попытку.
Если вопрос стоит только в корректности (точности) получаемых результатов...
То возникает встречный вопрос, каким образом Вы эту точность оценили?
Возможно, что выбранная вами модель, изначально имеет подобную погрешность....
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Re: Экстремальный регулятор
Возможно. Модель взята из книги 79-го года, наверно сейчас существуют более точные методы.Возможно, что выбранная вами модель, изначально имеет подобную погрешность....
Насчет получения среднего значения есть ли какие-либо другие способы? Этот со временем считает всё дольше и дольше.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Экстремальный регулятор
Если Вы имеете ввиду участок кода, где цикл до 20.noise писал(а):Насчет получения среднего значения есть ли какие-либо другие способы? Этот со временем считает всё дольше и дольше.
То там не понятно вообще.
У Вас получается, что Вы извращенным способом получаете массив из 20 элементов, при чем элементы равны между собой!
Считаете среднее на каждой итерации, но это видимо остатки экспериментов, т.к. дальше это не принимается в расчетах.
Потом из полученного массива вычисляете среднее значение, которое в принципе равно значению элемента.
Т.е. смысла в подобных манипуляциях я вообще не вижу.
Если хотите осреднить значения между итерациями внешнего цикла, то используйте прибор PtByPt, как у вас внутри маленького цикла (до 20).
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Re: Экстремальный регулятор
Здравствуйте noise,
то, что вы привели в первом посте - можно назвать "блок-схемой". Она у вас состоит из 4 "черных ящиков" (неизвестных функций). Хоть вы первый и третий "ящик" называете одним и тем же словом "сумматор", но на самом деле они - разные (в одной 2 входных параметра, а в другой - один).
На рисунке приведено некоторое математическое описание блока F, но оно не полное, что означает 1(iT) - не понятно.
Для начала, вам надо описать с помощью формул, что происходит в каждом блоке, какого типа должны быть входные и выходные параметры. а после всей этой математики, возможно, вы сами все сделаете. А если не сможете реализовать мат. аппарат в LV, на форуме вам помогут.
Раз "блок-схема" взята из книги, не поленитесь, прочитайте не только параграф по вашей проблеме, но и всю главу. Некоторые блоки могут быть описаны в предыдущих пунктах.
то, что вы привели в первом посте - можно назвать "блок-схемой". Она у вас состоит из 4 "черных ящиков" (неизвестных функций). Хоть вы первый и третий "ящик" называете одним и тем же словом "сумматор", но на самом деле они - разные (в одной 2 входных параметра, а в другой - один).
На рисунке приведено некоторое математическое описание блока F, но оно не полное, что означает 1(iT) - не понятно.
Для начала, вам надо описать с помощью формул, что происходит в каждом блоке, какого типа должны быть входные и выходные параметры. а после всей этой математики, возможно, вы сами все сделаете. А если не сможете реализовать мат. аппарат в LV, на форуме вам помогут.
Раз "блок-схема" взята из книги, не поленитесь, прочитайте не только параграф по вашей проблеме, но и всю главу. Некоторые блоки могут быть описаны в предыдущих пунктах.
-
mxdamage
- assistant
- Сообщения: 113
- Зарегистрирован: 11 авг 2011, 15:45
- Награды: 1
- Версия LabVIEW: 2011
- Откуда: Москва
- Контактная информация:
Re: Экстремальный регулятор
Мало того, что он берет 20 одинаковых элементов, так еще и на каждой итерации их становится все больше и больше - сдвиговый регистр неинициализирован. Поэтому и считает дольше, ворочает массивами из тысяч элементов...Насчет получения среднего значения есть ли какие-либо другие способы? Этот со временем считает всё дольше и дольше.