Этот пример показывает, как использовать машины Мили и Мура для приложения распознавания последовательности при обработке сигналов. Для получения дополнительной информации смотрите Обзор машин Мили и Мура.
В этой модели два графиков Stateflow ® используют другой набор семантик, чтобы найти последовательность 1,2,1,3 в входном сигнале из блока Редактор (Simulink). Каждый график содержит входные данные u
и двух выходных данных:
seqFound
указывает, когда график находит последовательность. Значение false
означает, что график все еще ищет последовательность. Значение true
означает, что график нашел последовательность.
status
регистрирует состояние распознавания последовательности. Это значение находится в областях значений от 0 до 4 и указывает количество символов, обнаруженных графиком.
На графике Мура выходы зависят только от текущего состояния графика. Этот график вычисляет свои выходные значения в состояниях активности. На каждом временном шаге график выполняет действия для текущего состояния, оценивает вход u
, и совершает переход к новому состоянию.
На диаграмме Мили выходы зависят от текущего состояния графика и входов. Этот график вычисляет свои выходные значения в действиях условий его переходов. На каждом временном шаге график оценивает вход u
, выполняет переход к новому состоянию и выполняет соответствующие действия условия.
Когда вы симулируете модель, seqFound
возможности показывают, что выход графика Мура отстает на один временной шаг от выхода диаграммы Мили. Задержка является результатом семантики Мура, в которой выход основан на состоянии графика в начале каждого временного шага, а не на текущем входе.
Кац, Брюс Ф. Цифровой проект: от ворот к интеллектуальным машинам, 2006.
Signal Editor (Simulink)