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

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

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

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

Многоканальные сигналы для обработки на основе выборок

Если требуется выполнить одни и те же операции с несколькими независимыми сигналами, можно сгруппировать эти сигналы как многоканальный сигнал. Например, если нужно отфильтровать каждый из четырёх независимых сигналов с помощью одного и того же транспонирующего фильтра прямой формы II, можно объединить сигналы в многоканальный сигнал и подключить сигнал к одному блоку Biquad Filter. Блок решает рассматривать каждый элемент ввода как канал, если для параметра обработки Input блока задано значение Elements as channels (sample based). Затем блок применяет фильтр к каждому каналу независимо.

Несколько независимых сигналов могут быть объединены в один многоканальный сигнал с использованием блока Concatenate (Simulink). Кроме того, несколько многоканальных сигналов могут быть объединены в один многоканальный сигнал с использованием того же метода.

Создание многоканальных сигналов путем объединения одноканальных сигналов

Отдельные сигналы можно объединить в многоканальный сигнал с помощью блока Matrix Concatenate (Simulink) в библиотеке математических операций Simulink ®:

  1. Откройте модель Matrix Concatenate Example 1 путем ввода

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

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

  3. Дважды щелкните блок «Сигнал из Workspace1» и задайте для параметра «Сигнал» значение -1:-1:-10. Нажмите кнопку ОК.

  4. Дважды щелкните блок «Сигнал из Workspace2» и задайте для параметра «Сигнал» значение zeros(10,1). Нажмите кнопку ОК.

  5. Дважды щелкните блок «Сигнал из Workspace3» и задайте для параметра «Сигнал» значение 5*ones(10,1). Нажмите кнопку ОК.

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

    • Количество входов = 4

    • Режим = Multidimensional array

    • Размер конкатената = 1

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

    • Выходная размерность = Customize

    • Выходные размеры = [2,2]

  8. Запустите модель. На вкладке Моделирование (Simulation) щелкните Выполнить (Run).

    Четыре независимых сигнала объединяются в многоканальный матричный сигнал 2 на 2.

    Каждый выход 4 на 1 из блока Matrix Concatenate содержит по одной выборке из каждого из четырех входных сигналов в один и тот же момент времени. Блок изменения формы переставляет выборки в матрицу 2 на 2. Каждый элемент этой матрицы является отдельным каналом.

    Обратите внимание, что блок «Изменить форму» работает по столбцам, так что входной вектор столбца изменяется, как показано ниже.

    Матрица 4 на 1, выводимая блоком Matrix Concatenate, и матрица 2 на 2, выводимая блоком Reshape в вышеупомянутой модели, представляют один и тот же четырехканальный сигнал. В некоторых случаях одно представление сигнала может быть более полезным, чем другое.

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

    Четырехканальный сигнал отображается в виде последовательности матриц в окне команд MATLAB. Обратите внимание, что последняя матрица содержит только нули. Это связано с тем, что каждый блок «Сигнал из рабочей области» в этой модели имеет выходные данные формы после конечного значения данных по параметру, заданному как Setting to Zero.

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

Существующие многоканальные сигналы можно объединить в более крупные многоканальные сигналы с помощью блока Simulink Matrix Concatenate (Simulink):

  1. Откройте модель Matrix Concatenate Example 2 путем ввода

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

  2. Дважды щелкните блок «Сигнал из рабочего пространства» и задайте для параметра «Сигнал» значение [1:10;-1:-1:-10]'. Нажмите кнопку ОК.

  3. Дважды щелкните блок «Сигнал из Workspace1» и задайте для параметра «Сигнал» значение [zeros(10,1) 5*ones(10,1)]. Нажмите кнопку ОК.

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

    • Количество входов = 2

    • Режим = Multidimensional array

    • Размер конкатената = 1

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

    Модель объединяет оба двухканальных сигнала в четырехканальный сигнал.

    Каждый выход 2 на 2 из блока Matrix Concatenate содержит обе выборки из каждого из двух входных сигналов в один и тот же момент времени. Каждый элемент этой матрицы является отдельным каналом.

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