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