exponenta event banner

Импорт и экспорт сигналов для обработки на основе образцов

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

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

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

Импорт векторных сигналов для обработки на основе образцов

Блок «Сигнал из рабочей области» генерирует векторный сигнал для обработки на основе выборки, когда переменная или выражение в параметре Signal является матрицей, а параметр Samples per frame имеет значение 1. Каждый столбец входной матрицы представляет собой отдельный канал. Начиная с первой строки матрицы, блок выводит одну строку матрицы в каждый момент времени выборки. Поэтому, если параметр Сигнала определяет матрицу M на Н, продукция Сигнала От блока Рабочего пространства - векторы ряда 1 на Н M, представляющие N каналы.

На рисунке ниже представлено графическое представление этого процесса для матрицы рабочей области 6 на 4. A.

В следующем примере блок «Сигнал из рабочего пространства» используется для импорта векторного сигнала в модель.

  1. Откройте модель Сигнал из рабочей области Пример 3, введя ex_importsbvectorsigs в командной строке MATLAB ®.

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

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

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

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

  4. Дважды щелкните блок «Сигнал из рабочего пространства» и задайте параметры блока следующим образом:

    • Сигнал = [A B]

    • Время выборки = 1

    • Выборки на кадр = 1

    • Вывод формы после конечного значения данных = Setting to zero

    Выражение «Сигнал» [A B] использует стандартный синтаксис MATLAB для горизонтальной конкатенации матриц и добавляет вектор столбца B справа от матрицы A. Блок «Сигнал из рабочей области» выводит сигнал с периодом выборки, равным 1 секунде. После вывода блоком сигнала все последующие выходы имеют нулевое значение.

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

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

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

    Первая строка входной матрицы [A B] выводится в момент времени t=0, вторая строка входной матрицы выводится в момент времени t=1и так далее.

Теперь векторный сигнал с тремя каналами успешно импортирован в модель обработки сигналов с помощью блока Сигнал из рабочей области (Signal From Workspace).

Импорт матричных сигналов для обработки на основе образцов

Блок «Сигнал из рабочего пространства» генерирует матричный сигнал, удобный для обработки на основе выборки. Начиная с первой страницы массива, блок выводит одну страницу массива на выход в каждый момент времени выборки. Следовательно, если параметр Signal определяет матрицу M-на-N-на-P, то выходной сигнал блока Signal From Workspace представляет собой P M-на-N матриц, представляющих M * N каналов. Блок, принимающий этот сигнал, выполняет обработку на основе выборки или обработку на основе кадра сигнала на основе параметров, заданных в диалоговом окне блока.

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

В следующем примере блок «Сигнал из рабочего пространства» используется для импорта четырехканального матричного сигнала в модель Simulink ®.

  1. Откройте модель Сигнал из рабочей области Пример 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. Дважды щелкните на блоке «Сигнал из рабочего пространства». Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Сигнал = dsp_examples_A

    • Время выборки = 1

    • Выборки на кадр = 1

    • Вывод формы после конечного значения данных = Setting to zero

    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. Запустите модель.

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

    Блок «Сигнал из рабочей области» импортирует четырехканальный сигнал из рабочей области MATLAB в модель Simulink по одной матрице за раз.

4-канальный матричный сигнал успешно импортирован в модель с помощью блока Сигнал из рабочей области (Signal From Workspace).

Экспорт сигналов для обработки на основе проб

Блоки В рабочую область (Simulink) и В рабочую область (Triggered To Workspace) являются основными блоками для экспорта сигналов всех размеров из модели Simulink в рабочую область MATLAB.

Сигнал с M * N каналами представлен в Simulink как последовательность матриц M-на-N. Когда вход в блок To Workspace является сигналом, созданным для обработки на основе выборок, блок создает массив M-by-N-by-P в рабочей области MATLAB, содержащий последние выборки P из каждого канала. Количество страниц P определяется параметром Limit data points to last. Новейшие образцы добавляются в конце массива.

На следующем рисунке представлена графическая иллюстрация этого процесса с использованием сигнала 6 на 4, экспортируемого в массив рабочей области A.

Массив рабочей области всегда имеет время выполнения по своему третьему измерению, P. Выборки сохраняются по измерению P независимо от того, является ли ввод матрицей, вектором или скаляром (одноканальный вариант).

В следующем примере блок «В рабочую область» используется для экспорта матричного сигнала в рабочую область MATLAB.

  1. Откройте модель Сигнал из рабочей области Пример 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

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

  2. Дважды щелкните на блоке «Сигнал из рабочего пространства». Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Сигнал = dsp_examples_A

    • Время выборки = 1

    • Выборки на кадр = 1

    • Вывод формы после конечного значения данных = Setting to zero

    На основе этих параметров блок «Сигнал из рабочей области» выводит сигнал с периодом выборки, равным 1 секунде. После вывода блоком сигнала все последующие выходы имеют нулевое значение.

  3. Дважды щелкните на блоке «В рабочую область». Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Имя переменной = dsp_examples_yout

    • Ограничить точки данных последним параметром до inf

    • Прореживание = 1

    На основе этих параметров блок «В рабочую область» экспортирует свой входной сигнал в переменную с именем 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 с помощью блока «В рабочую область».

Связанные темы