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