Преобразуйте частоты дискретизации и частоту кадров в Simulink

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

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

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

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

Субдискретизируйте *

Операции сигнала

Двухместный аналитический набор фильтров

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

Двухместный набор фильтров синтеза

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

КИХ-десятикратное уменьшение *

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

КИХ-интерполяция *

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

КИХ-преобразование уровня

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

Повторение

Операции сигнала

Сверхдискретизируйте *

Операции сигнала

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

Блоки преобразования уровня принимают входной сигнал на уровне одной частоты дискретизации и распространяют тот же сигнал на уровне новой частоты дискретизации. Несколько из этих блоков содержат параметр 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. Из меню Display укажите на Signals & Ports и выберите Signal Dimensions.

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

  3. Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.

  4. Установите параметры блоков можно следующим образом:

    • Sample time = 0.125

    • Samples per frame = 8

    На основе этих параметров блок Signal From Workspace выводит сигнал с демонстрационным периодом 0,125 секунд и форматом кадра 8.

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

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

  7. Установите параметр Rate options на Allow multirate processing, и затем нажмите OK.

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

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

    После симуляции модель должна выглядеть подобной следующей фигуре.

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

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

Преобразование уровня корректировкой формата кадра

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

  1. В подсказке команды MATLAB введите ex_downsample_tut2.

    Модель Downsample Example T2 открывается.

  2. Из меню Display укажите на Signals & Ports и выберите Signal Dimensions.

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

  3. Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.

  4. Установите параметры блоков можно следующим образом:

    • Sample time = 0.125

    • Samples per frame = 8

    На основе этих параметров блок Signal From Workspace выводит сигнал с демонстрационным периодом 0,125 секунд и форматом кадра 8.

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

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

  7. Установите параметр Rate options на Enforce single-rate processing, и затем нажмите OK.

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

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

    После симуляции модель должна выглядеть подобной следующей фигуре.

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

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

Структурируйте блоки перебуферизации

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

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

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

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

Буфер

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

Задержите строку

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

Освободить буфер

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

Переменный селектор

Управление сигнала / Индексация

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

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

Tf=MTs

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

Существует два блока в библиотеке Buffers, которой можно пользоваться, чтобы изменить формат кадра сигнала, не изменяя сам сигнал:

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

  • Освободите буфер — освобождает буфер сигнал с форматом кадра M и период кадра Tf к сигналу с форматом кадра 1 и период кадра Ts

Блок Buffer сохраняет данные сигнала и демонстрационный период только, когда его параметр Buffer overlap устанавливается на 0. Выходной период кадра, Tfo,

Tfo=MoTfiMi

где Tfi является входным периодом кадра, Mi является входным форматом кадра, и Mo является выходным форматом кадра, заданным параметром Output buffer size (per channel).

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

Tso=Tfi/Mi

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

Оба Буфер и Освобождает буфер блоки, сохраняют демонстрационный период последовательности в преобразовании (Tso = Tsi).

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

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

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

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

    Tfo=(MoL)Tsi

    где Mo является выходным форматом кадра, заданным параметром Output buffer size (per channel). В результате новый выходной демонстрационный период

    Tso=(MoL)TsiMo

  • Блок Delay Line добавляет дублирующиеся выборки в последовательность, когда параметр Delay line size, Mo, больше, чем 1. Вывод и входные периоды кадра являются тем же самым, Tfo = Tfi = Tsi, и новый выходной демонстрационный период

    Tso=TsiMo

  • Переменный Селекторный блок может удалить, добавить и/или перестроить выборки во входном кадре, когда Select установлен в Rows. Вывод и входные периоды кадра являются тем же самым, Tfo = Tfi, и новый выходной демонстрационный период

    Tso=MiTsiMo

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

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

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

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

  1. В подсказке команды MATLAB введите ex_buffer_tut1.

    Модель Buffer Example T1 открывается.

  2. Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.

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

    • Signal = 1:1000

    • Sample time = 0.125

    • Samples per frame = 8

    • Form output after final data value = Setting to zero

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

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

  5. Дважды кликните блок Buffer. Диалоговое окно Function Block Parameters: Buffer открывается.

  6. Установите параметры можно следующим образом, и затем нажмите OK:

    • Output buffer size (per channel) = 16

    • Buffer overlap = 0

    • Initial conditions = 0

    На основе этих параметров блок Buffer повторно буферизует сигнал от формата кадра 8 к формату кадра 16.

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

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

    Обратите внимание на то, что вход к блоку Buffer имеет формат кадра 8, и вывод блока имеет формат кадра 16. Как показано Тестовыми блоками, процесс перебуферизации удваивает период кадра с 1 до 2 секунд.

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

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

  1. В подсказке команды MATLAB введите ex_buffer_tut2.

    Модель Buffer Example T2 открывается.

  2. Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.

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

    • Signal = 1:1000

    • Sample time = 0.125

    • Samples per frame = 8

    • Form output after final data value = Setting to zero

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

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

  5. Дважды кликните блок Buffer. Диалоговое окно Function Block Parameters: Buffer открывается.

  6. Установите параметры можно следующим образом, и затем нажмите OK:

    • Output buffer size (per channel) = 16

    • Buffer overlap = 4

    • Initial conditions = 0

    На основе этих параметров блок Buffer повторно буферизует сигнал от формата кадра 8 к формату кадра 16. Кроме того, после начального вывода первые четыре выборки каждого выходного кадра составлены из последних четырех выборок от предыдущего выходного кадра.

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

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

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

    Tfo=(MoL)Tsi

    Tfo (16-4) *0.125, или 1,5 секунды, как подтверждено вторым блоком Probe. Демонстрационный период сигнала при выводе блока Buffer больше не является 0,125 секундами. Это теперь Tso=Tfo/Mo=1.5/16=0.0938 второй. Таким образом и данные сигнала и демонстрационный период сигнала были изменены операцией буферизации.

Похожие темы