exponenta event banner

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

При обработке на основе проб процесс блокирует сигналы по одной выборке за раз. Каждый элемент входного сигнала представляет одну выборку в отдельном канале. Например, с точки зрения обработки на основе выборки следующая матрица 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 содержит обе выборки из каждого из двух входных сигналов в один и тот же момент времени. Каждый элемент этой матрицы является отдельным каналом.

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