exponenta event banner

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

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

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

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

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

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

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

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

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

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

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

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

  2. Дважды щелкните блок «Сигнал из рабочего пространства» и задайте параметры блока следующим образом:

    • Сигнал = [1:10;-1:-1:-10;5*ones(1,10)]'

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

    На основе этих параметров блок «Сигнал из рабочего пространства» выводит трехканальный сигнал с размером кадра четыре.

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

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

    • Выбрать = Columns

    • Индексы для вывода = {[1 3],2}

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

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

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

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

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

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

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

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

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

  2. Дважды щелкните блок «Сигнал из рабочего пространства» и задайте параметры блока следующим образом:

    • Сигнал = [1:10;-1:-1:-10;5*ones(1,10)]'

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

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

    На основе этих параметров блок «Сигнал из рабочего пространства» выводит трехканальный сигнал с периодом выборки 1 секунда и размером кадра 4. Период кадра этого блока составляет 4 секунды.

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

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

    • Постоянное значение = [1 3 2]

    • Интерпретировать векторные параметры как 1-D = Снять этот флажок

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

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

  5. Дважды щелкните блок «Матрица перестановок». Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Перестановка = Columns

    • Режим индекса = One-based

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

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

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

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

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

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

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

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