exponenta event banner

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

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

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

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

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

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

Блок «Сигнал из рабочей области» создает многоканальный сигнал для обработки на основе кадра, когда параметр Signal является матрицей, а параметр Samples per frame, M, больше, чем 1. Начиная с первых М строк матрицы, блок освобождает М строк матрицы (то есть по одному кадру от каждого канала) к выходному порту каждые M * Ts секунд. Поэтому, если параметр Signal определяет матрицу рабочей области W-by-N, блок Signal From Workspace выводит серию матриц M-by-N, представляющих N каналов. Матрица рабочего пространства должна быть ориентирована таким образом, чтобы ее столбцы представляли каналы сигнала.

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

Примечание

Хотя независимые каналы обычно представлены в виде столбцов, одноканальный сигнал может быть представлен в рабочей области либо в виде вектора столбца, либо в виде вектора строки. Выходные данные блока «Сигнал из рабочего пространства» являются векторами столбцов в обоих случаях.

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

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

    в командной строке MATLAB ®.

    dsp_examples_A = [1:100;-1:-1:-100]';  % 100-by-2 matrix
    dsp_examples_B = 5*ones(100,1);         % 100-by-1 column vector
    

    Переменная с именем dsp_examples_A представляет двухканальный сигнал со 100 выборками, а переменная называется dsp_examples_B представляет одноканальный сигнал со 100 выборками.

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

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

    • Параметр Signal to [dsp_examples_A dsp_examples_B]

    • Параметр времени выборки для 1

    • Выборки для параметра кадра 4

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

    На основе этих параметров блок «Сигнал из рабочего пространства» выводит сигнал с размером кадра 4 и периодом выборки 1 секунду. Период кадра сигнала составляет 4 секунды. Параметр Signal использует стандартный синтаксис MATLAB для горизонтальной конкатенации матриц для добавления вектора столбца dsp_examples_B справа от матрицы dsp_examples_A. После вывода блоком сигнала все последующие выходы имеют нулевое значение.

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

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

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

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

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

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

Следующий рисунок является графической иллюстрацией этого процесса для трех последовательных кадров сигнала с размером кадра 2, который экспортируется в матрицу A в рабочей области MATLAB.

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

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

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

    Переменная с именем dsp_examples_A представляет двухканальный сигнал со 100 выборками, а переменная называется dsp_examples_B представляет одноканальный сигнал со 100 выборками.

    dsp_examples_A = [1:100;-1:-1:-100]';	% 100-by-2 matrix
    dsp_examples_B = 5*ones(100,1);			% 100-by-1 column vector
    
  2. Дважды щелкните на блоке «Сигнал из рабочего пространства». Задайте параметры блока следующим образом и нажмите кнопку ОК:

    • Сигнал = [dsp_examples_A dsp_examples_B]

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

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

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

    На основе этих параметров блок «Сигнал из рабочего пространства» выводит сигнал с размером кадра 4 и периодом выборки 1 секунду. Период кадра сигнала составляет 4 секунды. Параметр Signal использует стандартный синтаксис MATLAB для горизонтальной конкатенации матриц для добавления вектора столбца dsp_examples_B справа от матрицы dsp_examples_A. После вывода блоком сигнала все последующие выходы имеют нулевое значение.

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

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

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

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

    • Кадры = Concatenate frames (2-D array)

    На основе этих параметров блок «В рабочую область» экспортирует свой входной сигнал в переменную с именем dsp_examples_yout в рабочей области MATLAB. Переменная рабочей области может увеличиваться бесконечно, чтобы захватить все входные данные. Сигнал не прореживается перед его экспортом в рабочую область MATLAB, и каждый входной кадр вертикально сцепляется с предыдущим кадром для получения 2-D вывода массива.

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

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

  5. В командной строке MATLAB введите dsp_examples_yout.

    Выходные данные показаны ниже:

    dsp_examples_yout =
    
         1    -1     5
         2    -2     5
         3    -3     5
         4    -4     5
         5    -5     5
         6    -6     5
         7    -7     5
         8    -8     5
         9    -9     5
        10   -10     5
        11   -11     5
        12   -12     5
    

    Кадры сигнала объединяются для формирования двумерной матрицы.

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

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