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 режим, Simulink® группы процессов блоков с тем же приоритетом выполнения через каждый этап симуляции на основе приоритета задач. Многозадачный режим помогает создать допустимые модели реальных многозадачных систем, где разделы вашей модели представляют параллельные задачи. Параметр Treat each discrete rate as a separate task на Решателе (Simulink) панель диалогового окна Configuration Parameters управляет этой установкой.

Однозадачность

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

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