Импортируйте и экспортируйте сигналы для выборочной обработки

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

  1. Откройте модель Signal From Workspace Example 3 путем ввода ex_importsbvectorsigs в MATLAB® командная строка.

  2. В командной строке MATLAB введите A = [1:100;-1:-1:-100]';

    Матрица A представляет сигнал с двумя столбцами, где каждый столбец является другим каналом.

  3. В командной строке MATLAB введите B = 5 * ones (100,1);

    Векторная B представляет одноканальный сигнал.

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

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

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

    Следующий рисунок является графическим представлением поведения модели во время симуляции.

    Первая строка матрицы входа [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® модель.

  1. Откройте модель Signal From Workspace Example 4 путем ввода ex_importsbmatrixsigs в командной строке MATLAB.

    Кроме того, в рабочее пространство MATLAB загружаются следующие переменные:

    Fs1x18double array
    dsp_examples_A2x2x1003200double array
    dsp_examples_sig11x1x100 800double array
    dsp_examples_sig121x2x1001600double array
    dsp_examples_sig21x1x100800double array
    dsp_examples_sig3 1x1x100800double array
    dsp_examples_sig34 1x2x1001600double array
    dsp_examples_sig4 1x1x100800double array
    mtlb 4001x132008double array
  2. Дважды кликните блок 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
    
  3. Запустите модель.

    Рисунок ниже является графическим представлением поведения модели во время симуляции.

    Блок 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.

  1. Откройте модель Signal From Workspace Example 6 путем ввода ex_exportsbsigs в командной строке MATLAB.

    Кроме того, в рабочее пространство MATLAB загружаются следующие переменные:

    dsp_examples_A2x2x1003200double array
    dsp_examples_sig11x1x100800double array
    dsp_examples_sig121x2x1001600double array
    dsp_examples_sig21x1x100800double array
    dsp_examples_sig31x1x100800double array
    dsp_examples_sig341x2x1001600double array
    dsp_examples_sig41x1x100800double array

    В этой модели блок Signal From Workspace импортирует четырехканальный матричный сигнал, называемый dsp_examples_A. Этот сигнал затем экспортируется в рабочее пространство MATLAB с помощью блока To Workspace.

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

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

    • Variable name = dsp_examples_yout

    • Limit data points to last параметр в inf

    • Decimation = 1

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

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

  5. В командной строке 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.

Похожие темы