Деконструкция многоканальных сигналов для основанной на кадрах обработки

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

Когда вы конфигурируете блок для выполнения кадровой обработки, блок интерпретирует вектор M-на-1 как одноканальный сигнал, содержащий M выборок на систему координат. Точно так же блок интерпретирует M -by - N матрицу как многоканальный сигнал с N независимыми каналами и M выборками на канал. Для примера при кадровой обработке блоки интерпретируют следующую последовательность матриц 3 на 2 как двухканальный сигнал с форматом кадра 3.

Использование кадровой обработки выгодно для многих приложений обработки сигналов, потому что вы можете обрабатывать несколько выборок сразу. Буферизуя свои данные в системы координат и обрабатывая мультисамповые системы координат данных, вы часто можете улучшить вычислительное время алгоритмов обработки сигналов. Для выполнения обработки на основе фрейма необходимо иметь лицензию DSP System Toolbox™.

Для получения дополнительной информации о последних изменениях в обработке на основе фреймов смотрите раздел «Изменения обработки на основе фреймовв Информациях о релизах DSP System Toolbox.

Разделение многоканальных сигналов на отдельные сигналы

Многоканальные сигналы, представленные матрицами в Simulink® окружение, часто используются в моделях обработки сигналов для эффективности и компактности. Хотя большинство блоков обработки сигналов могут обрабатывать многоканальные сигналы, вам может потребоваться доступ только к одному каналу или конкретной области значений выборок в многоканальном сигнале. Вы можете получить доступ к отдельным каналам многоканального сигнала с помощью блоков в библиотеке Indexing. Эта библиотека включает блоки Selector, Submatrix, Variable Selector, Multiport Selector и Submatrix. Также возможно использовать блок Permute Matrix в библиотеке Matrix Operations, чтобы переупорядочить каналы сигнала на основе фрейма.

Можно использовать блок Multiport Selector в библиотеке Indexing, чтобы извлечь отдельные каналы многоканального сигнала. Эти сигналы формируют одноканальные сигналы, которые имеют одинаковую частоту систем координат и формат кадра многоканального сигнала.

Рисунок ниже является графическим представлением этого процесса.

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

  1. Откройте модель Multiport Selector Example 2 путем ввода ex_splitmltichfbsigsind

    в MATLAB® командная строка.

  2. Дважды кликните блок Signal From Workspace и установите параметры блоков следующим образом:

    • Signal = [1:10;-1:-1:-10;5*ones(1,10)]'

    • Samples per frame = 4

    Основываясь на этих параметрах, блок Signal From Workspace выводит трехканальный сигнал с форматом кадра четыре.

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

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

    • Select = Columns

    • <reservedrangesplaceholder1> <reservedrangesplaceholder0>

    На основе этих параметров блок Multiport Selector выводит первый и третий столбцы в первый выходной порт и второй столбец во второй выходной порт блока. Установка параметра Select равной Columns гарантирует, что блок сохраняет частоту систем координат и формат кадра входа.

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

    Рисунок ниже является графическим представлением того, как блок Multiport Selector разделяет одну систему координат трехканального сигнала на одноканальный и двухканальный сигналы.

Блок Multiport Selector выводит двухканальный сигнал, состоящий из первого и третьего столбцов входного сигнала, в первый порт. Он выводит один канал, состоящий из второго столбца входного сигнала, во второй порт.

Теперь вы успешно создали одноканальный сигнал и двухканальный сигнал от многоканального сигнала с помощью блока Multiport Selector.

Переупорядочивание каналов в многоканальных сигналах

Многоканальные сигналы, представленные матрицами в Simulink, часто используются в моделях обработки сигналов для эффективности и компактности. Хотя большинство блоков обработки сигналов могут обрабатывать многоканальные сигналы, вам может потребоваться доступ только к одному каналу или конкретной области значений выборок в многоканальном сигнале. Вы можете получить доступ к отдельным каналам многоканального сигнала с помощью блоков в библиотеке Indexing. Эта библиотека включает блоки Selector, Submatrix, Variable Selector, Multiport Selector и Submatrix. Также возможно использовать блок Permute Matrix в библиотеке Matrix Operations, чтобы переупорядочить каналы системы координат.

Некоторые блоки DSP System Toolbox имеют возможность обработки взаимодействия каналов. Обычно блоки DSP System Toolbox сравнивают один канал сигнала A с одним каналом сигнала B. Однако вы можете захотеть коррелировать один канал сигнала A с третьим каналом сигнала B. В этом случае, в порядок сравнения правильных сигналов, вам нужно использовать Permute Matrix блок, чтобы переставить каналы ваших сигналов. Этот пример объясняет, как выполнить эту задачу.

  1. Откройте модель Permute Matrix Example путем ввода ex_reordermltichfbsigs в командной строке MATLAB.

  2. Дважды кликните блок Signal From Workspace и установите параметры блоков следующим образом:

    • Signal = [1:10;-1:-1:-10;5*ones(1,10)]'

    • Sample time = 1

    • Samples per frame = 4

    Основываясь на этих параметрах, блок Signal From Workspace выводит трехканальный сигнал с периодом дискретизации 1 секунду и форматом кадра 4. Период системы координат этого блока составляет 4 секунды.

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

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

    • Constant value = [1 3 2]

    • Interpret vector parameters as 1–D = Снять этот флажок

    • Sample time = 4

    Вектор в дискретном времени, выводимый блоком Constant, говорит блоку Permute Matrix сменить второй и третий столбцы входного сигнала. Обратите внимание, что период системы координат блока Constant должен совпадать с периодом системы координат блока Signal From Workspace.

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

    • Permute = Columns

    • Index mode = One-based

    На основе этих параметров блок Permute Matrix переставляет столбцы входного сигнала, и индекс первого столбца теперь равен единице.

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

    Рисунок ниже является графическим представлением того, что происходит с первым входным кадром во время симуляции.

    Второй и третий каналы входного сигнала меняются местами.

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

    Теперь можно проверить, что второй и третий столбцы входного сигнала переставлены.

Теперь вы успешно переупорядочили каналы системы координат с помощью блока Permute Matrix.

Похожие темы