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