При обработке на основе выборки блоки обрабатывают сигналы по одной выборке за раз. Каждый элемент входного сигнала представляет одну выборку в отдельном канале. Для примера с точки зрения обработки на основе выборки следующая матрица 3 на 2 содержит первую выборку в каждом из шести независимых каналов.
Когда вы конфигурируете блок, чтобы выполнить основанную на выборке обработку, блок интерпретирует скалярный вход как одноканальный сигнал. Точно так же блок интерпретирует M -by - N матрицу как многоканальный сигнал с M * N независимыми каналами. Для примера при обработке на основе выборки блоки интерпретируют следующую последовательность матриц 3 на 2 как шестиканальный сигнал.
Для получения дополнительной информации о последних изменениях в обработке на основе фреймов смотрите раздел «Изменения обработки на основе фреймов» в DSP System Toolbox™ Release Notes.
Блок Signal From Workspace генерирует векторный сигнал для основанной на выборке обработки, когда переменная или выражение в параметре Signal является матрицей, и параметр Samples per frame устанавливается на 1
. Каждый столбец матрицы входа представляет другой канал. Начиная с первой строки матрицы, блок выводит по одной строке матрицы в каждый шаг расчета. Поэтому, если параметр Signal задает M-на-N матрицу, выходной параметр блока Signal From Workspace является M 1-by-N векторами-строками, представляющими N каналов.
Рисунок ниже является графическим представлением этого процесса для матрицы рабочей области 6 на 4, A
.
В следующем примере вы используете блок Signal From Workspace, чтобы импортировать векторный сигнал в вашу модель.
Откройте модель Signal From Workspace Example 3 путем ввода ex_importsbvectorsigs
в MATLAB® командная строка.
В командной строке MATLAB введите A = [1:100;-1:-1:-100]';
Матрица A
представляет сигнал с двумя столбцами, где каждый столбец является другим каналом.
В командной строке MATLAB введите B = 5 * ones (100,1);
Векторная B
представляет одноканальный сигнал.
Дважды кликните блок Signal From Workspace и установите параметры блоков следующим образом:
Signal = [A B]
Sample time = 1
Samples per frame = 1
Form output after final data value = Setting to zero
Выражение Signal [A B]
использует стандартный синтаксис MATLAB для горизонтальной конкатенации матриц и добавляет вектора-столбца B
справа от матрицы A
. Блок Signal From Workspace выводит сигнал с периодом дискретизации 1 секунду. После того, как блок выводит сигнал, все последующие выходы имеют значение нуля.
Сохраните эти параметры и закройте диалоговое окно нажатием кнопки OK.
Запустите модель.
Следующий рисунок является графическим представлением поведения модели во время симуляции.
Первая строка матрицы входа [A B]
выводится в момент времени t=0
вторая строка матрицы входа во время выхода t=1
и так далее.
Теперь вы успешно импортировали сигнал вектора с тремя каналами в модель обработки сигнала с помощью блока Signal From Рабочей области.
Блок Signal From Workspace генерирует матричный сигнал, который удобен для обработки на основе дискретизации. Начиная с первой страницы массива, блок выводит одну страницу массива в выход в каждый шаг расчета. Поэтому, если параметр Signal задает массив M-на-N-на-P, выходом блока Signal From Workspace являются P-на-N матрицы, представляющие M * N каналы. Блок, принимающий этот сигнал, выполняет основанную на выборке обработку или основанную на кадре обработку на сигнале на основе параметров, установленных в диалоговом окне блока.
Следующий рисунок является графическим рисунком этого процесса для массива рабочей области 6 на 4 на 5 A
.
В следующем примере вы используете блок Signal From Workspace для импорта четырехканального матричного сигнала в Simulink® модель.
Откройте модель Signal From Workspace Example 4 путем ввода ex_importsbmatrixsigs
в командной строке MATLAB.
Кроме того, в рабочее пространство MATLAB загружаются следующие переменные:
Fs | 1x1 | 8 | double array |
dsp_examples_A | 2x2x100 | 3200 | double array |
dsp_examples_sig1 | 1x1x100
| 800 | double array |
dsp_examples_sig12 | 1x2x100 | 1600 | double array |
dsp_examples_sig2 | 1x1x100 | 800 | double array |
dsp_examples_sig3
| 1x1x100 | 800 | double array |
dsp_examples_sig34 | 1x2x100 | 1600 | double array |
dsp_examples_sig4 | 1x1x100 | 800 | double array |
mtlb
| 4001x1 | 32008 | double array |
Дважды кликните блок Signal From Workspace. Установите параметры блоков следующим образом и нажмите OK:
Signal = dsp_examples_A
Sample time = 1
Samples per frame = 1
Form output after final data value = Setting to zero
The dsp_examples_A
массив представляет четырехканальный сигнал со 100 выборками в каждом канале. Это сигнал, который вы хотите импортировать, и он был создан следующим образом:
dsp_examples_sig1 = reshape(1:100,[1 1 100]) dsp_examples_sig2 = reshape(-1:-1:-100,[1 1 100]) dsp_examples_sig3 = zeros(1,1,100) dsp_examples_sig4 = 5*ones(1,1,100) dsp_examples_sig12 = cat(2,sig1,sig2) dsp_examples_sig34 = cat(2,sig3,sig4) dsp_examples_A = cat(1,sig12,sig34) % 2-by-2-by-100 array
Запустите модель.
Рисунок ниже является графическим представлением поведения модели во время симуляции.
Блок Signal From Workspace импортирует четырехканальный сигнал из рабочего пространства MATLAB в матрицу модели Simulink по одной за раз.
Теперь вы успешно импортировали матричный сигнал с 4 каналами в вашу модель с помощью блока Signal From Workspace.
Блоки To Workspace (Simulink) и Triggered To Workspace являются основными блоками для экспорта сигналов всех размерностей из модели Simulink в рабочее пространство MATLAB.
Сигнал с M * N каналами, представлен в Simulink как последовательность M-на-N матриц. Когда вход в блок To Workspace является сигналом, созданным для основанной на выборке обработки, блок создает массив M-на-N-на-P в рабочем пространстве MATLAB, содержащий P самых последних выборок из каждого канала. Количество страниц, P, задается параметром Limit data points to last. Самые новые выборки добавляются в конец массива.
Следующий рисунок является графической иллюстрацией этого процесса с использованием сигнала 6 на 4, экспортированного в массив рабочей области A
.
Массив рабочей области всегда имеет время, бегущее по третьему измерению, P. Выборки сохраняются по размерности P, является ли вход матрицей, вектором или скаляром (случай с одним каналом).
В следующем примере вы используете блок To Workspace для экспорта матричного сигнала в рабочее пространство MATLAB.
Откройте модель Signal From Workspace Example 6 путем ввода ex_exportsbsigs
в командной строке MATLAB.
Кроме того, в рабочее пространство MATLAB загружаются следующие переменные:
dsp_examples_A | 2x2x100 | 3200 | double array |
dsp_examples_sig1 | 1x1x100 | 800 | double array |
dsp_examples_sig12 | 1x2x100 | 1600 | double array |
dsp_examples_sig2 | 1x1x100 | 800 | double array |
dsp_examples_sig3 | 1x1x100 | 800 | double array |
dsp_examples_sig34 | 1x2x100 | 1600 | double array |
dsp_examples_sig4 | 1x1x100 | 800 | double array |
В этой модели блок Signal From Workspace импортирует четырехканальный матричный сигнал, называемый dsp_examples_A
. Этот сигнал затем экспортируется в рабочее пространство MATLAB с помощью блока To Workspace.
Дважды кликните блок Signal From Workspace. Установите параметры блоков следующим образом и нажмите OK:
Signal = dsp_examples_A
Sample time = 1
Samples per frame = 1
Form output after final data value = Setting to zero
Основываясь на этих параметрах, блок Signal From Workspace выводит сигнал с периодом дискретизации 1 секунду. После того, как блок выводит сигнал, все последующие выходы имеют значение нуля.
Дважды кликните блок To Workspace. Установите параметры блоков следующим образом и нажмите OK:
Variable name = dsp_examples_yout
Limit data points to last параметр в inf
Decimation = 1
На основе этих параметров блок To Workspace экспортирует свой входной сигнал в переменную, называемую dsp_examples_yout
в рабочем пространстве MATLAB. Переменная рабочей области может вырасти бесконечно большой в порядок, чтобы захватить все входные данные. Сигнал не децимируется перед экспортом в рабочее пространство MATLAB.
Запустите модель.
В командной строке MATLAB введите dsp_examples_yout
.
Четырехканальный матричный сигнал, dsp_examples_A
, выход в командной строке MATLAB. Ниже представлен фрагмент выходов.
dsp_examples_yout(:,:,1) = 1 -1 0 5 dsp_examples_yout(:,:,2) = 2 -2 0 5 dsp_examples_yout(:,:,3) = 3 -3 0 5 dsp_examples_yout(:,:,4) = 4 -4 0 5
Каждая страница выхода представляет различный шаг расчета, и каждый элемент матриц находится в отдельном канале.
Теперь вы успешно экспортировали четырехканальный матричный сигнал из модели Simulink в рабочее пространство MATLAB с помощью блока To Workspace.