rebuffer_delay

Количество выборок задержки, введенных операциями буферизации и дисбуферизации

Синтаксис

d = rebuffer_delay(f,n,v)
d = rebuffer_delay(f,n,v,'mode')

Описание

d = rebuffer_delay(f,n,v) возвращает задержку в выборках, введенную блоком Buffer или Unbuffer в многозадачных операциях.

d = rebuffer_delay(f,n,v,'mode') возвращает задержку в выборках, введенную блоком Buffer или Unbuffer в заданном режиме задачи.

Входные параметры

f

Формат кадра входа блока Buffer или Unbuffer.

n

Размер выходного буфера. Задайте одно из следующих значений:

  • Значение параметра Output buffer size, если вы вычисляете задержку, введенную блоком Buffer.

  • 1, если вы вычисляете задержку, введенную блоком Unbuffer.

v

Количество перекрытия буфера. Задайте одно из следующих значений:

  • Значение параметра Buffer overlap, если вы вычисляете задержку, введенную блоком Buffer.

  • 0, если вы вычисляете задержку, введенную блоком Unbuffer.

'mode'

Режим постановки задач модели. Задайте одну из следующих опций:

  • 'singletasking'

  • 'multitasking'

По умолчанию: 'multitasking'

Примеры

Вычислите задержку, введенную блоком Buffer в многозадачной модели:

  1. Откройте модель, содержащую блок Buffer. В данном примере откройте ex_buffer_tut4 модель путем набора ex_buffer_tut4 в MATLAB® командная строка.

  2. Дважды кликните блок Buffer, чтобы открыть маску блока. Убедитесь, что у вас есть следующие параметры:

    • Output buffer size = 3

    • Buffer overlap = 1

    • Initial conditions = 0

    Исходя из этих настроек, два из необходимых входов для rebuffer_delay являются следующими функциями:

    • n = 3

    • v = 1

  3. Чтобы определить формат кадра входного сигнала в блок Buffer, откройте маску блока Signal From Workspace. Убедитесь, что у вас есть следующие параметры:

    • Signal = sp_examples_src

    • Sample time = 1

    • Samples per frame = 4

    Потому что Samples per frame = 4, вы знаете f вход в rebuffer_delay функция 4.

  4. После проверки значений всех входов в rebuffer_delay функция, определите задержку, которую блок Buffer представляет в этой многозадачной модели. Для этого введите в командной строке MATLAB следующее:

    d = rebuffer_delay(4,3,1)
    
    d =
         8
    

Вычислите задержку, введенную блоком Unbuffer в многозадачной модели:

  1. Откройте модель, содержащую блок Unbuffer. В данном примере откройте ex_unbuffer_ref1 модели путем набора ex_unbuffer_ref1 в командной строке MATLAB.

  2. Чтобы определить формат кадра входа в блок Buffer, откройте маску блока Signal From Workspace, дважды кликнув блок в вашей модели. Убедитесь, что у вас есть следующие параметры:

    • Signal = sp_examples_src

    • Sample time = 1

    • Samples per frame = 3

    Потому что Samples per frame = 3, вы знаете f вход в rebuffer_delay функция 3.

  3. Используйте rebuffer_delay функция для определения величины задержки, которую блок Unbuffer представляет в этой многозадачной модели. Чтобы вычислить задержку, введенную блоком Unbuffer, используйте f = 3, n = 1 и v = 0.

    d = rebuffer_delay(3,1,0)
    
    d =
         3
    

Подробнее о

свернуть все

Многозадачность

Когда вы запускаете модель в MultiTasking mode, Simulink® обрабатывает группы блоков с одинаковым приоритетом выполнения через каждый этап симуляции на основе приоритета задачи. Многозадачный режим помогает создать действительные модели реальных многозадачных систем, где разделы вашей модели представляют параллельные задачи. Параметр Treat each discrete rate as a separate task на панели Solver (Simulink) диалогового окна Параметры Конфигурации управляет этой настройкой.

Singletasking

Когда вы запускаете модель в SingleTasking mode, Simulink обрабатывает все блоки через каждый этап симуляции вместе. Параметр Treat each discrete rate as a separate task на панели Solver (Simulink) диалогового окна Параметры Конфигурации управляет этой настройкой.

Представлено до R2006a