limitcycle

Ответ односкоростного БИХ-фильтра фиксированной точки

Синтаксис

report = limitcycle(hd)
report = limitcycle(hd,ntrials,inputlengthfactor,stopcriterion)

Описание

report = limitcycle(hd) возвращает структуру report это содержит информацию о как фильтр hd отвечает на входной вектор с нулевым знаком. По умолчанию входной вектор имеет длину, равную дважды длине импульсной характеристики фильтра.

limitcycle возвращает структуру, элементы которой содержат детали о предельном тестировании цикла. Как показано в этой таблице, отчет включает в себя следующие детали.

Выведите свойство объекта

Описание

LimitCycleType

Содержит один из следующих результатов:

  • Granular — указывает, что произошло гранулированное переполнение.

  • Overflow — указывает, что предельный цикл переполнения произошел.

  • None — указывает, что тест не нашел предельных циклов.

Zi

Содержит начальное значение (значения) условия, которое заставило обнаруженный предельный цикл происходить.

Output

Содержит выход фильтра в устойчивом состоянии.

Trial

Возвращает количество суда Монте-Карло по который предельное остановленное тестирование цикла. Например, Trial= 10 указывает, что тестирование остановилось на десятом испытании Монте-Карло.

Используя входной вектор дольше, чем импульсная характеристика фильтра гарантирует, что фильтр находится в установившейся операции во время предельного тестирования цикла. limitcycle игнорирует выход, который происходит, прежде чем фильтр достигает устойчивого состояния. Например, если импульсная длина фильтра является 500 выборками, limitcycle игнорирует фильтр выход от первых 500 входных выборок.

Чтобы выполнить предельное тестирование цикла на вашем БИХ-фильтре, необходимо установить фильтр Arithmetic свойство к fixed и hd должен быть БИХ-фильтр фиксированной точки одной из следующих форм:

  • df1 — прямая форма I

  • df1t — прямая форма я транспонировал

  • df1sos — прямая форма I с секциями второго порядка

  • df1tsos — прямая форма я транспонировал с секциями второго порядка

  • df2 — прямая форма II

  • df2t — прямая форма II транспонированный

  • df2sos — прямая форма II с секциями второго порядка

  • df2tsos — прямая форма II транспонированный с секциями второго порядка

Когда вы используете limitcycle без дополнительных входных параметров настройки по умолчанию

  • Запустите 20 испытаний Монте-Карло

  • Используйте входной вектор дважды длина импульсной характеристики фильтра

  • Прекратите тестировать, если процесс симуляции сталкивается или с гранулированным или с предельным циклом переполнения

Чтобы определить длину импульсной характеристики фильтра, используйте impzlength:

impzlength(hd)

Во время предельного тестирования цикла, если запуски симуляции показывают и переполнение и гранулированные предельные циклы, предельный цикл переполнения более приоритетен и является предельным циклом, который появляется в отчете.

Каждый раз вы запускаете limitcycle, это использует различную последовательность случайных начальных условий, таким образом, результаты могут отличаться от запущенного, чтобы запуститься.

Каждое испытание Монте-Карло использует новый набор случайным образом решительных начальных состояний для фильтра. Протестируйте остановки обработки когда limitcycle обнаруживает введенный нулем предельный цикл в фильтре hd.

report = limitcycle(hd,ntrials,inputlengthfactor,stopcriterion) возвращает отчет как фильтр hd отвечает на входной вектор с нулевым знаком, с помощью следующих дополнительных входных параметров:

  • ntrials — Количество испытаний Монте-Карло (значение по умолчанию равняется 20).

  • inputlengthfactor — целочисленный коэффициент раньше вычислял длину входного вектора. Длина входного вектора прибывает из (impzlength(hd) * inputlengthfactor), где inputlengthfactor = 2 значение по умолчанию.

  • stopcriterion — критерий остановки испытательной обработки Монте-Карло. stopcriterion может быть установлен в either (значение по умолчанию), granular, overflow. Эта таблица описывает результаты каждого критерия остановки.

    Установка stopcriterion

    Описание

    either

    Остановите испытания Монте-Карло когда limitcycle обнаруживает или гранулированное или предельный цикл переполнения.

    granular

    Остановите испытания Монте-Карло когда limitcycle обнаруживает гранулированный предельный цикл.

    overflow

    Остановите испытания Монте-Карло когда limitcycle обнаруживает предельный цикл переполнения.

Примечание

Важная функция - это, если вы задаете определенный предельный критерий остановки цикла, такой как overflow, испытания Монте-Карло не останавливаются при тестировании обнаружения гранулированный предельный цикл. Вы получаете предупреждение что никакой overflow ограничьте произошедший цикл, но полагайте что granular предельный цикл может произойти.

Примеры

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

s = [1 0 0 1 0.9606 0.9849];
hd = dfilt.df2sos(s);
hd.arithmetic = 'fixed';
greport = limitcycle(hd,20,2,'granular')
oreport = limitcycle(hd,20,2,'overflow')
figure,
subplot(211),plot(greport.Output(1:20)), title('Granular Limit Cycle');
subplot(212),plot(oreport.Output(1:20)), title('Overflow Limit Cycle');
 
greport =
 
    LimitCycle: 'granular'
            Zi: [2x1 double]
        Output: [1303x1 embedded.fi]
         Trial: 1
 
oreport =
 
    LimitCycle: 'overflow'
            Zi: [2x1 double]
        Output: [1303x1 embedded.fi]
         Trial: 2

Графики, показанные в этом рисунке, представляют оба предельных типа цикла — первые отображения небольшой амплитудный гранулированный предельный цикл, второе больший амплитудный предельный цикл переполнения.

Как вы видите из графиков, и как обычно верно, предельные циклы переполнения являются намного большей величиной, чем гранулированные предельные циклы. Это то, почему limitcycle польза переполняет предельного обнаружения цикла и создания отчетов.

Смотрите также

|

Введенный в R2011a