exponenta event banner

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

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

Похожие темы