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

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

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

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

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

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

Можно разделить многоканальный сигнал на одноканальные сигналы с помощью блока Multiport Selector . Этот блок позволяет вам выбирать определенные строки и/или столбцы и распространять выбор на выбранный выходной порт. В этом примере трехканальный сигнал размера 3-by- 1 деконструируют на три независимых сигнала периода дискретизации 1 секунду.

  1. Откройте модель Multiport Selector Example 1 путем ввода ex_splitmltichsbsigsind в MATLAB® командная строка.

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

    • Signal = randn(3,1,10)

    • Sample time = 1

    • Samples per frame = 1

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

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

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

    • Select = Rows

    • Indices to output = {1,2,3}

    На основе этих параметров блок Multiport Selector извлекает строки входов. Установка параметра Indices to output определяет, что строка 1 входа должна быть воспроизведена на выходе 1, строка 2 входа должна быть воспроизведена на выходе 2, а строка 3 входа должна быть воспроизведена на выходе 3.

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

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

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

    dsp_examples_yout(:,:,1) =
    
       -0.1199
    
    dsp_examples_yout(:,:,2) =
    
       -0.5955
    
    dsp_examples_yout(:,:,3) =
    
       -0.0793

    Этот сигнал является первой строкой входа в блок Multiport Selector. Можно просмотреть две другие входные строки путем ввода dsp_examples_yout1 и dsp_examples_yout2, соответственно.

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

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

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

Можно разделить многоканальный сигнал на другие многоканальные сигналы с помощью блока Submatrix. Блок Submatrix является наиболее универсальным из блоков в библиотеке Indexing, поскольку он допускает произвольный выбор канала. Поэтому можно извлечь фрагмент многоканального сигнала. В этом примере вы извлекаете шестиканальный сигнал из 35-канального сигнала (матрица размера 5 на 7). Каждый канал содержит одну выборку.

  1. Откройте модель Пример путем ввода ex_splitmltichsbsigsev в командной строке MATLAB.

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

    • Constant value = rand(5,7)

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

    • Sample Time = 1

    Основываясь на этих параметрах, блок Constant выводит сигнал с постоянными значениями.

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

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

    • Row span = Range of rows

    • Starting row = Index

    • Starting row index = 3

    • Ending row = Last

    • Column span = Range of columns

    • Starting column = Offset from last

    • Starting column offset = 1

    • Ending column = Last

    На основе этих параметров блок Submatrix выводит строки от трех до пяти, последнюю строку входного сигнала. Он также выводит второй-последний столбец и последний столбец входного сигнала.

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

    Теперь модель должна выглядеть аналогично следующему рисунку.

    Заметьте, что выход блока Submatrix эквивалентен матрице, созданной строками с трех по пять и столбцами с шести по семь матрицы входа.

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

Похожие темы