exponenta event banner

Преобразовать примеры и частоту кадров в Simulink

Блоки преобразования ставок

Существует два распространенных типа операций, влияющих на частоту кадров и частоту дискретизации сигнала: прямое преобразование скорости и отпор кадров. Прямые преобразования скорости, такие как повышающая дискретизация и понижающая дискретизация, могут быть реализованы путем изменения либо частоты кадров, либо размера кадра сигнала. Опровержение кадра, которое используется для изменения размера кадра сигнала с целью улучшения производительности моделирования, обычно также изменяет частоту дискретизации или частоту кадров сигнала.

В следующей таблице перечислены блоки преобразования основной скорости в программном обеспечении DSP System Toolbox™. Блоки, отмеченные звездочкой (*), предлагают возможность изменения скорости путем корректировки размера кадра или частоты кадров.

БлокБиблиотека

Понижение *

Сигнальные операции

Банк фильтров диадического анализа

Фильтрация/многоскоростные фильтры

Банк фильтров диадического синтеза

Фильтрация/многоскоростные фильтры

Децимация РПИ *

Фильтрация/многоскоростные фильтры

Интерполяция FIR *

Фильтрация/многоскоростные фильтры

Преобразование курса FIR

Фильтрация/многоскоростные фильтры

Повторить *

Сигнальные операции

Upsample *

Сигнальные операции

Прямое преобразование курса

Блоки преобразования скорости принимают входной сигнал с одной частотой дискретизации и распространяют тот же самый сигнал с новой частотой дискретизации. Несколько из этих блоков содержат параметр Rate options, предлагающий два варианта многоскоростной и односкоростной обработки:

  • Enforce single-rate processingПри выборе этой опции блок сохраняет входную частоту дискретизации.

  • Allow multirate processingПри выборе этой опции блок понижает выборку сигнала так, что выходная частота дискретизации в K раз медленнее, чем входная частота дискретизации.

Примечание

Когда модель Simulink ® содержит сигналы с различной частотой кадров, модель называется многоскоростной. Описание многоскоростных моделей можно найти в разделе Избыточная алгоритмическая задержка (задержка задания). См. также Планирование на основе времени и создание кода (Simulink Coder).

Преобразование скорости посредством корректировки частоты кадров

Одним из способов изменения частоты дискретизации сигнала, 1/Tso, является изменение выходной частоты кадров (Tfo ≠ Tfi) при сохранении постоянного размера кадра (Mo = Mi). Следует отметить, что частота дискретизации сигнала определяется как 1/Tso = Mo/Tfo:

  1. В командной строке MATLAB ® введитеex_downsample_tut1.

    Откроется модель Downsample Example T1.

  2. На вкладке «Отладка» выберите «Информационные наложения» > «Размеры сигнала».

    При запуске модели размеры сигналов отображаются рядом с линиями, соединяющими блоки.

  3. Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).

  4. Задайте параметры блока следующим образом:

    • Время выборки = 0.125

    • Выборки на кадр = 8

    На основе этих параметров блок «Сигнал из рабочего пространства» выводит сигнал с периодом выборки 0,125 секунды и размером кадра 8.

  5. Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.

  6. Дважды щелкните блок Downsample. Откроется диалоговое окно Function Block Parameters: Downsample.

  7. Задайте для параметра Rate options значение Allow multirate processingи нажмите кнопку «ОК».

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

  8. Запустите модель.

    После моделирования модель должна выглядеть аналогично следующему рисунку.

    Поскольку Tfi = Mi × Tsi, период входного кадра, Tfi, равен Tfi = 8 × 0,125 = 1 секунды. Это значение отображается первым блоком Probe. Поэтому входная частота кадров, 1/Tfi, также составляет 1 кадр в секунду.

    Второй блок Probe в модели проверяет, что выходной сигнал блока Downsample имеет период кадра Tfo, равный 2 секундам, в два раза превышающий период кадра входного сигнала. Однако, поскольку частота кадров выходного сигнала, 1/Tfo, составляет 0,5 кадра в секунду, блок понижающего дискретизации фактически понизил частоту дискретизации исходного сигнала до половины его исходной частоты. В результате выходной период выборки T50 = Tfo/Mo удваивается до 0,25 секунды без какого-либо изменения размера кадра. Размеры сигнала в модели подтверждают, что размер кадра не изменился.

    Преобразование ставок путем корректировки размера кадра

    Одним из способов изменения частоты дискретизации сигнала является изменение размера кадра (то есть Mo ≠ Mi), но сохранение частоты кадров постоянной (Tfo = Tfi). Следует отметить, что частота дискретизации сигнала определяется как 1/Tso = Mo/Tfo:

    1. В командной строке MATLAB введите ex_downsample_tut2.

      Откроется модель Downsample Example T2.

    2. На вкладке «Отладка» выберите «Информационные наложения» > «Размеры сигнала».

      При запуске модели размеры сигналов отображаются рядом с линиями, соединяющими блоки.

    3. Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).

    4. Задайте параметры блока следующим образом:

      • Время выборки = 0.125

      • Выборки на кадр = 8

      На основе этих параметров блок «Сигнал из рабочего пространства» выводит сигнал с периодом выборки 0,125 секунды и размером кадра 8.

    5. Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.

    6. Дважды щелкните блок Downsample. Откроется диалоговое окно Function Block Parameters: Downsample.

    7. Задайте для параметра Rate options значение Enforce single-rate processingи нажмите кнопку «ОК».

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

    8. Запустите модель.

      После моделирования модель должна выглядеть аналогично следующему рисунку.

      Поскольку Tfi = Mi × Tsi, период входного кадра, Tfi, равен Tfi = 8 × 0,125 = 1 секунды. Это значение отображается первым блоком Probe. Поэтому входная частота кадров, 1/Tfi, также составляет 1 кадр в секунду.

      Блок Downsample понизил выборку входного сигнала до половины его исходного размера кадра. Размеры сигнала на выходе блока Downsample подтверждают, что пониженный выходной сигнал имеет размер кадра, равный 4, что вдвое меньше размера кадра на входе. В результате период выборки выходного сигнала T50 = Tfo/Mois 0,25 секунду. Этот процесс происходил без изменения частоты кадров (Tfi = Tfo).

      Блоки опровержения кадров

      Существует два распространенных типа операций, влияющих на частоту кадров и частоту дискретизации сигнала: прямое преобразование скорости и отпор кадров. Прямые преобразования скорости, такие как повышающая дискретизация и понижающая дискретизация, могут быть реализованы путем изменения либо частоты кадров, либо размера кадра сигнала. Опровержение кадров, которое используется для изменения размера кадра сигнала с целью улучшения производительности моделирования, обычно также изменяет частоту дискретизации или частоту кадров сигнала.

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

      В следующей таблице перечислены основные блоки буферизации панели инструментов системы DSP.

      БлокБиблиотека

      Буфер

      Управление сигналами/буферы

      Линия задержки

      Управление сигналами/буферы

      Небуфер

      Управление сигналами/буферы

      Селектор переменных

      Управление сигналами/индексирование

      Блоки для отпирания кадра с сохранением сигнала

      Операции буферизации обеспечивают еще один механизм изменения скорости в моделях обработки сигналов. Целью многих операций буферизации является корректировка размера кадра сигнала, М, без изменения частоты Ts дискретизации сигнала. Это обычно приводит к изменению частоты кадров Tf сигнала в соответствии со следующим уравнением:

      Tf = MT

      Однако приведенное выше уравнение справедливо только в том случае, если из исходного сигнала не были добавлены или удалены выборки. Следовательно, вышеприведенное уравнение не применяется к операциям буферизации, которые генерируют перекрывающиеся кадры, которые только частично разбиают кадры или которые изменяют последовательность данных путем добавления или удаления выборок.

      В библиотеке Buffers есть два блока, которые можно использовать для изменения размера кадра сигнала без изменения самого сигнала:

      • Buffer - перераспределяет выборки сигнала на больший или меньший размер кадра.

      • Unbuffer - распаковывает сигнал с размером М кадра и периодом Tf кадра на сигнал с размером кадра 1 и период кадра Ts

      Блок Buffer сохраняет данные сигнала и период выборки только в том случае, если для параметра Buffer overlap установлено значение 0. Период выходного кадра , Tfo, равен

      Tfo = MoTfiMi

      где Tfi - период входного кадра, Mi - размер входного кадра, Mo - размер выходного кадра, заданный параметром Размер выходного буфера (на канал).

      Блок Unbuffer распаковывает сигнал кадра и всегда сохраняет данные сигнала и период выборки.

      Tso = Tfi/Mi

      где Tfi и Mi - период и размер, соответственно, сигнала кадра.

      Блоки Buffer и Unbuffer сохраняют период выборки последовательности при преобразовании (Tso = Tsi).

      Блоки для опровержения кадра с изменением сигнала

      Некоторые формы буферизации изменяют данные сигнала или период выборки в дополнение к корректировке размера кадра. Этот тип буферизации желателен, когда требуется создать скользящие окна путем наложения последовательных кадров сигнала или выбрать подмножество выборок из каждого входного кадра для обработки.

      Блоки, изменяющие сигнал при корректировке размера кадра, перечислены ниже. В этом списке Tsi является периодом выборки входной последовательности, а Tfi и Tfo являются периодами входного и выходного кадров соответственно:

      • Блок Buffer добавляет повторяющиеся выборки в последовательность, когда параметр L Buffer overlap имеет ненулевое значение. Период выходного кадра связан с периодом входной выборки

        Tfo = (Mo L) Tsi

        где Mo - размер выходного кадра, заданный параметром Output buffer size (на канал). В результате новый период выборки выходных данных равен

        Tso = (Mo L) ЦиМо

      • Блок «Линия задержки» добавляет повторяющиеся выборки в последовательность, если параметр размера линии задержки Mo больше 1. Выходные и входные периоды кадра одинаковы, Tfo = Tfi = Tsi, и новый период выходной выборки равен

        Tso = ЦиМо

      • Блок выбора переменных может удалять, добавлять и/или переупорядочивать выборки во входном кадре, если для параметра «Выбрать» установлено значение Rows. Выходные и входные периоды кадра одинаковы, Tfo = Tfi, и новый период выходной выборки равен

        Цо = МиЦиМо

        где Mo - длина выходного сигнала блока, определяемая вектором Elements.

      Во всех этих случаях период выборки выходной последовательности не равен периоду выборки входной последовательности.

      Буферизация сигналов путем сохранения периода выборки

      В следующем примере сигнал с периодом выборки 0,125 секунды отбрасывается с размера кадра 8 до размера кадра 16. Этот процесс опровержения удваивает период кадра с 1 до 2 секунд, но не изменяет период выборки сигнала (Tso = Tsi = 0,125). Процесс также не добавляет и не удаляет выборки из исходного сигнала:

      1. В командной строке MATLAB введите ex_buffer_tut1.

        Откроется модель T1 примера буфера.

      2. Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).

      3. Установите следующие параметры:

        • Сигнал = 1:1000

        • Время выборки = 0.125

        • Выборки на кадр = 8

        • Вывод формы после конечного значения данных = Setting to zero

        На основе этих параметров блок Сигнал из рабочей области выводит сигнал с периодом выборки 0,125 секунды. Каждый выходной кадр содержит восемь выборок.

      4. Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.

      5. Дважды щелкните на блоке «Буфер». Откроется диалоговое окно Параметры функционального блока: Буфер (Function Block Parameters: Buffer).

      6. Задайте параметры следующим образом и нажмите кнопку ОК:

        • Размер выходного буфера (на канал) = 16

        • Перекрытие буфера = 0

        • Начальные условия = 0

        Основываясь на этих параметрах, блок «Буфер» отбрасывает сигнал от размера кадра 8 до размера кадра 16.

      7. Запустите модель.

        На следующем рисунке показана модель после моделирования.

        Следует отметить, что вход в буферный блок имеет размер кадра 8, а выход блока имеет размер кадра 16. Как показано блоками зонда, процесс опровержения удваивает период кадра от 1 до 2 секунд.

      Буферные сигналы путем изменения периода выборки

      Некоторые формы буферизации изменяют данные сигнала или период выборки в дополнение к корректировке размера кадра. В следующем примере сигнал с периодом выборки 0,125 секунды отбрасывается с размера кадра 8 до размера кадра 16 с перекрытием буфера 4:

      1. В командной строке MATLAB введите ex_buffer_tut2.

        Откроется модель T2 примера буфера.

      2. Дважды щелкните на блоке «Сигнал из рабочего пространства». Откроется диалоговое окно Параметры блока источника: Сигнал из рабочего пространства (Source Block Parameters: Signal From Workspace).

      3. Установите следующие параметры:

        • Сигнал = 1:1000

        • Время выборки = 0.125

        • Выборки на кадр = 8

        • Вывод формы после конечного значения данных = Setting to zero

        На основе этих параметров блок Сигнал из рабочей области выводит сигнал с периодом выборки 0,125 секунды. Каждый выходной кадр содержит восемь выборок.

      4. Сохраните эти параметры и закройте диалоговое окно, нажав кнопку ОК.

      5. Дважды щелкните на блоке «Буфер». Откроется диалоговое окно Параметры функционального блока: Буфер (Function Block Parameters: Buffer).

      6. Задайте параметры следующим образом и нажмите кнопку ОК:

        • Размер выходного буфера (на канал) = 16

        • Перекрытие буфера = 4

        • Начальные условия = 0

        Основываясь на этих параметрах, блок «Буфер» отбрасывает сигнал от размера кадра 8 до размера кадра 16. Кроме того, после начального вывода первые четыре выборки каждого выходного кадра составляют из последних четырех выборок из предыдущего выходного кадра.

      7. Запустите модель.

        На следующем рисунке показана модель после остановки моделирования.

        Следует отметить, что вход в буферный блок имеет размер кадра 8, а выход блока имеет размер кадра 16. Отношение для периода выходного кадра для буферного блока:

        Tfo = (Mo L) Tsi

        Tfo составляет (16-4) * 0,125 или 1,5 секунды, что подтверждается вторым блоком зонда (Simulink). Период выборки сигнала на выходе блока буфера больше не равен 0,125 секунды. Теперь Tso = Tfo/Mo = 1,5/16 = 0,0938 секунду. Таким образом, как данные сигнала, так и период выборки сигнала были изменены посредством операции буферизации.

      Связанные темы