Существует два общих типа операций, которые влияют на систему координат и частоты дискретизации сигнала: прямое преобразование уровня и перебуферизация системы координат. Прямые преобразования уровня, такие как повышающая дискретизация и субдискретизация, могут быть реализованы путем изменения или частоты кадров или формата кадра сигнала. Структурируйте перебуферизацию, которая используется, чтобы изменить формат кадра сигнала для того, чтобы улучшить пропускную способность симуляции, обычно изменения или частота дискретизации или частота кадров сигнала также.
В следующей таблице перечислены основные блоки преобразования уровня в программном обеспечении DSP System Toolbox™. Блоки, отмеченные звездочкой (*), предлагают опцию изменения уровня или корректировкой формата кадра или частотой кадров.
Блок | Библиотека |
---|---|
Downsample * | Операции сигнала |
Двухместный аналитический набор фильтров | Фильтрация / Многоскоростные фильтры |
Двухместный набор фильтров синтеза | Фильтрация / Многоскоростные фильтры |
КИХ-децимация * | Фильтрация / Многоскоростные фильтры |
КИХ-интерполяция * | Фильтрация / Многоскоростные фильтры |
КИХ-преобразование уровня | Фильтрация / Многоскоростные фильтры |
Повторение | Операции сигнала |
Сверхдискретизируйте * | Операции сигнала |
Блоки преобразования уровня принимают входной сигнал на уровне одной частоты дискретизации и распространяют тот же сигнал на уровне новой частоты дискретизации. Несколько из этих блоков содержат параметр Rate options, предлагающий две опции для многоскоростного по сравнению с односкоростной обработкой:
Enforce single-rate processing
: Когда вы выбираете эту опцию, блок обеспечивает входную частоту дискретизации.
Allow multirate processing
: Когда вы выбираете эту опцию, блок прореживает сигнал, таким образом, что выходная частота дискретизации является временами K медленнее, чем входная частота дискретизации.
Когда модель Simulink® содержит сигналы с различной частотой кадров, модель называется многоскоростная. Можно найти обсуждение многоскоростных моделей в Избыточной Алгоритмической Задержке (Определяющий задачу для Задержки). Также смотрите Основанное на времени Планирование и Генерацию кода (Simulink Coder).
Один способ изменить частоту дискретизации сигнала, 1/Tso, состоит в том, чтобы изменить выходную частоту кадров (Tfo ≠ Tfi) при хранении формата кадра постоянным (Mo = Mi). Обратите внимание на то, что частота дискретизации сигнала задана как 1/Tso = Mo/Tfo:
В командной строке MATLAB® введите ex_downsample_tut1
.
Модель Downsample Example T1 открывается.
Во вкладке Debug выберите Information Overlays> Signal Dimensions.
Когда вы запускаете модель, размерности сигналов появляются рядом с линиями, соединяющими блоки.
Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.
Установите параметры блоков можно следующим образом:
Sample time = 0.125
Samples per frame = 8
На основе этих параметров блок Signal From Workspace выводит сигнал с периодом расчета 0,125 секунд и форматом кадра 8.
Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.
Дважды кликните блок Downsample. Диалоговое окно Function Block Parameters: Downsample открывается.
Установите параметр Rate options на Allow multirate processing
, и затем нажмите OK.
Блок Downsample сконфигурирован, чтобы проредить сигнал путем изменения частоты кадров, а не формата кадра.
Запустите модель.
После симуляции модель должна выглядеть похожей на следующую фигуру.
Поскольку , период входного кадра, , второй. Это значение отображено первым блоком Probe. Поэтому уровень входного кадра, , также 1 кадр в секунду.
Второй блок Probe в модели проверяет, что выход от блока Downsample имеет период системы координат, , из 2 секунд, дважды период системы координат входа. Однако, потому что частота кадров выхода, , 0,5 кадра в секунду, блок Downsample на самом деле проредил исходный сигнал к половине его исходного уровня. В результате выходной период расчета, , удвоен до 0,25 секунд без любого изменения в формате кадра. Размерности сигнала в модели подтверждают, что формат кадра не изменился.
Один способ изменить частоту дискретизации сигнала путем изменения формата кадра (который является Mo ≠ Mi), но сохраните частоту кадров постоянной (Tfo = Tfi). Обратите внимание на то, что частота дискретизации сигнала задана как 1/Tso = Mo/Tfo:
В командной строке MATLAB введите ex_downsample_tut2
.
Модель Downsample Example T2 открывается.
Во вкладке Debug выберите Information Overlays> Signal Dimensions.
Когда вы запускаете модель, размерности сигналов появляются рядом с линиями, соединяющими блоки.
Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.
Установите параметры блоков можно следующим образом:
Sample time = 0.125
Samples per frame = 8
На основе этих параметров блок Signal From Workspace выводит сигнал с периодом расчета 0,125 секунд и форматом кадра 8.
Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.
Дважды кликните блок Downsample. Диалоговое окно Function Block Parameters: Downsample открывается.
Установите параметр Rate options на Enforce single-rate processing
, и затем нажмите OK.
Блок Downsample сконфигурирован, чтобы проредить сигнал путем изменения формата кадра, а не частоты кадров.
Запустите модель.
После симуляции модель должна выглядеть похожей на следующую фигуру.
Поскольку , период входного кадра, , второй. Это значение отображено первым блоком Probe. Поэтому уровень входного кадра, , также 1 кадр в секунду.
Блок Downsample проредил входной сигнал к половине его исходного формата кадра. Размерности сигнала выхода блока Downsample подтверждают, что прореженный выход имеет формат кадра 4, половина формата кадра входа. В результате период расчета выхода, 0,25 секунды. Этот процесс произошел без любого изменения в частоте кадров ().
Существует два общих типа операций, которые влияют на систему координат и частоты дискретизации сигнала: прямое преобразование уровня и перебуферизация системы координат. Прямые преобразования уровня, такие как повышающая дискретизация и субдискретизация, могут быть реализованы путем изменения или частоты кадров или формата кадра сигнала. Структурируйте перебуферизацию, которая используется, изменяют формат кадра сигнала для того, чтобы улучшить пропускную способность симуляции, обычно изменения или частота дискретизации или частота кадров сигнала также.
Иногда вы можете должны быть повторно буферизовать сигнал к новому формату кадра в какой-то момент в модели. Например, ваше оборудование сбора данных может внутренне буферизовать произведенный сигнал к формату кадра, который не оптимален для алгоритма обработки сигналов в модели. В этом случае вы хотели бы повторно буферизовать сигнал к формату кадра, более подходящему для намеченных операций, не вводя изменения в данных или частоте дискретизации.
В следующей таблице перечислены основные блоки буферизации DSP System Toolbox.
Блок | Библиотека |
---|---|
Управление сигнала / Буферы | |
Управление сигнала / Буферы | |
Управление сигнала / Буферы | |
Управление сигнала / Индексация |
Буферизующие операции обеспечивают другой механизм для изменений уровня в моделях обработки сигналов. Цель многих операций буферизации состоит в том, чтобы настроить формат кадра сигнала, M, не изменяя частоту дискретизации сигнала Ts. Это обычно приводит к изменению в частоте кадров сигнала, Tf, согласно следующему уравнению:
Однако уравнение выше только верно, если никакие выборки не добавлены или удалены из исходного сигнала. Поэтому уравнение выше не применяется к буферизации операций, которые генерируют перекрывающиеся системы координат, это только частично освобождает буфер системы координат, или которые изменяют последовательность данных путем добавления или удаления выборок.
Существует два блока в библиотеке Buffers, которой можно пользоваться, чтобы изменить формат кадра сигнала, не изменяя сам сигнал:
Блок Buffer сохраняет данные сигнала и период расчета только, когда его параметр Buffer overlap устанавливается на 0
. Выходной период системы координат, Tfo,
где Tfi является периодом входного кадра, Mi является размером входного кадра, и Mo является выходным форматом кадра, заданным параметром Output buffer size (per channel).
Блок Unbuffer освобождает буфер сигнал системы координат и всегда сохраняет данные сигнала и период расчета
где Tfi и Mi являются периодом и размером, соответственно, сигнала системы координат.
Оба Буфер и Освобождает буфер блоки, сохраняют период расчета последовательности в преобразовании (Tso = Tsi).
Некоторые формы буферизации изменяют данные сигнала или период расчета в дополнение к корректировке формата кадра. Этот тип буферизации желателен, когда это необходимо, чтобы создать раздвижные окна путем наложения последовательных систем координат сигнала или выбрать подмножество выборок от каждого входного кадра для обработки.
Блоки, которые изменяют сигнал при корректировке его формата кадра, описаны ниже. В этом списке Tsi является входным периодом расчета последовательности, и Tfi и Tfo являются периодами системы координат ввода и вывода, соответственно:
Блок Buffer добавляет дублирующиеся выборки в последовательность, когда параметр Buffer overlap, L, устанавливается на ненулевое значение. Выходной период системы координат связан с входным периодом расчета
где Mo является выходным форматом кадра, заданным параметром Output buffer size (per channel). В результате новый выходной период расчета
Блок Delay Line добавляет дублирующиеся выборки в последовательность, когда параметр Delay line size, Mo, больше 1. Выход и периоды входного кадра являются тем же самым, Tfo = Tfi = Tsi, и новый выходной период расчета
Переменный Селекторный блок может удалить, добавить и/или перестроить выборки во входном кадре, когда Select установлен в Rows
. Выход и периоды входного кадра являются тем же самым, Tfo = Tfi, и новый выходной период расчета
где Mo является продолжительностью выхода блока, определенного вектором Elements.
Во всех этих случаях период расчета выходной последовательности не равен периоду расчета входной последовательности.
В следующем примере сигнал с периодом расчета 0,125 секунд повторно буферизуется от формата кадра 8 к формату кадра 16. Этот процесс перебуферизации удваивает период системы координат с 1 до 2 секунд, но не изменяет период расчета сигнала (Tso = Tsi = 0.125). Процесс также не добавляет или удаляет выборки из исходного сигнала:
В командной строке MATLAB введите ex_buffer_tut1
.
Модель Buffer Example T1 открывается.
Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.
Установите параметры можно следующим образом:
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 секунд. Каждая выходная система координат содержит восемь выборок.
Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.
Дважды кликните блок Buffer. Диалоговое окно Function Block Parameters: Buffer открывается.
Установите параметры можно следующим образом, и затем нажмите OK:
Output buffer size (per channel) = 16
Buffer overlap = 0
Initial conditions = 0
На основе этих параметров блок Buffer повторно буферизует сигнал от формата кадра 8 к формату кадра 16.
Запустите модель.
Следующий рисунок показывает модель после симуляции.
Обратите внимание на то, что вход с блоком Buffer имеет формат кадра 8, и выход блока имеет формат кадра 16. Как показано Тестовыми блоками, процесс перебуферизации удваивает период системы координат с 1 до 2 секунд.
Некоторые формы буферизации изменяют данные сигнала или период расчета в дополнение к корректировке формата кадра. В следующем примере сигнал с периодом расчета 0,125 секунд повторно буферизуется от формата кадра 8 к формату кадра 16 с буферным перекрытием 4:
В командной строке MATLAB введите ex_buffer_tut2
.
Модель Buffer Example T2 открывается.
Дважды кликните блок Signal From Workspace. Диалоговое окно Source Block Parameters: Signal From Workspace открывается.
Установите параметры можно следующим образом:
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 секунд. Каждая выходная система координат содержит восемь выборок.
Сохраните эти параметры и закройте диалоговое окно путем нажатия на OK.
Дважды кликните блок Buffer. Диалоговое окно Function Block Parameters: Buffer открывается.
Установите параметры можно следующим образом, и затем нажмите OK:
Output buffer size (per channel) = 16
Buffer overlap = 4
Initial conditions = 0
На основе этих параметров блок Buffer повторно буферизует сигнал от формата кадра 8 к формату кадра 16. Кроме того, после начального выхода первые четыре выборки каждой выходной системы координат составлены из последних четырех выборок от предыдущей выходной системы координат.
Запустите модель.
Следующий рисунок показывает модель после того, как симуляция остановилась.
Обратите внимание на то, что вход с блоком Buffer имеет формат кадра 8, и выход блока имеет формат кадра 16. Отношение в течение выходного периода системы координат для блока Buffer
Tfo (16-4) *0.125, или 1,5 секунды, как подтверждено вторым блоком Probe. Период расчета сигнала при выходе блока Buffer больше не является 0,125 секундами. Это теперь второй. Таким образом и данные сигнала и период расчета сигнала были изменены операцией буферизации.