При обработке на основе выборки блоки обрабатывают сигналы по одной выборке за раз. Каждый элемент входного сигнала представляет одну выборку в отдельном канале. Для примера с точки зрения обработки на основе выборки следующая матрица 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 секунду.
Откройте модель Multiport Selector Example 1 путем ввода ex_splitmltichsbsigsind
в MATLAB® командная строка.
Дважды кликните блок Signal From Workspace и установите параметры блоков следующим образом:
Signal = randn(3,1,10)
Sample time = 1
Samples per frame = 1
Основываясь на этих параметрах, блок Signal From Workspace выводит трехканальный сигнал с периодом дискретизации 1 секунду.
Сохраните эти параметры и закройте диалоговое окно нажатием кнопки OK.
Дважды кликните блок Multiport Selector. Установите параметры блоков следующим образом и нажмите OK:
Select = Rows
Indices to output = {1,2,3}
На основе этих параметров блок Multiport Selector извлекает строки входов. Установка параметра Indices to output определяет, что строка 1 входа должна быть воспроизведена на выходе 1, строка 2 входа должна быть воспроизведена на выходе 2, а строка 3 входа должна быть воспроизведена на выходе 3.
Запустите модель.
В командной строке 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). Каждый канал содержит одну выборку.
Откройте модель Пример путем ввода ex_splitmltichsbsigsev
в командной строке MATLAB.
Дважды кликните блок Constant и установите параметры блоков следующим образом:
Constant value = rand(5,7)
Interpret vector parameters as 1–D = Снять этот флажок
Sample Time = 1
Основываясь на этих параметрах, блок Constant выводит сигнал с постоянными значениями.
Сохраните эти параметры и закройте диалоговое окно нажатием кнопки OK.
Дважды кликните блок 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 выводит строки от трех до пяти, последнюю строку входного сигнала. Он также выводит второй-последний столбец и последний столбец входного сигнала.
Запустите модель.
Теперь модель должна выглядеть аналогично следующему рисунку.
Заметьте, что выход блока Submatrix эквивалентен матрице, созданной строками с трех по пять и столбцами с шести по семь матрицы входа.
Теперь вы успешно создали шестиканальный сигнал от 35-канального сигнала с помощью блока Submatrix. Каждый канал содержит одну выборку.