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