Интерполируйте значения действительных входных выборок
Операции сигнала
dspsigops
Блок Interpolation интерполирует дискретный, действительный, входные параметры, использующие линейный или КИХ-интерполяция. Блок принимает вектор, матрицу или массив N-D. Блок выводит скаляр, вектор, матрицу или массив N-D интерполированных значений.
Необходимо задать точки интерполяции (времена, в которые можно интерполировать значения) в массиве интерполяции на основе одном, I Pts. Запись 1 в I, который Pts отсылает к первой выборке входных данных, записи 2,5, относится к выборке на полпути между второй и третьей входной выборкой и так далее. В зависимости от размерностей входных данных I Pts может быть скаляром, строкой длины-P или вектор-столбцом, P-by-N матрица или массив N-D, где P является размером первой размерности массива N-D. В большинстве случаев P может быть любым положительным целым числом. Для получения дополнительной информации о допустимых массивах интерполяции, обратитесь к таблицам в том, Как Блок Применяет Массивы Интерполяции к Входным параметрам.
В большинстве случаев блок применяет I Pts через первую размерность входного массива N-D, или к каждому входному вектору. Можно установить блок применять тот же массив интерполяции для всех входных данных (статические точки интерполяции ввели в маску блока) или использовать различный массив интерполяции в каждом массиве N-D, матрице или векторном входе (изменяющиеся во времени точки интерполяции, полученные через входной порт Pts).
Чтобы предоставить блок статический массив интерполяции (массив интерполяции применился к каждому вектору или массиву N-D входных данных), выполните следующие шаги:
Установите параметр Source of interpolation points на Specify via dialog
.
Введите массив интерполяции в параметр Interpolation points. Чтобы узнать о массивах интерполяции, смотрите, Как Блок Применяет Массивы Интерполяции к Входным параметрам.
Чтобы предоставить блок изменяющиеся во времени массивы интерполяции (где блок использует различный массив интерполяции в каждом векторе или входе массивов N-D), выполните следующие шаги:
Установите параметр Source of interpolation points на Input port
, порт Pts появляется на блоке.
Сгенерируйте сигнал массивов интерполяции и предоставьте его к порту Pts. Блок использует вход для этого порта как точки интерполяции. Чтобы узнать о массивах интерполяции, смотрите, Как Блок Применяет Массивы Интерполяции к Входным параметрам.
Pts I интерполяции массивов представляет моменты времени, в которых можно интерполировать значения входного сигнала. Запись 1 в I, который Pts отсылает к первой выборке входа, записи 2,5, относится к выборке на полпути между второй и третьей входной выборкой и так далее. В большинстве случаев, когда I, Pts является вектором, это может иметь любую длину.
Допустимые значения в массиве интерполяции, I Pts, лежат в диапазоне от 1 до количества выборок в каждом канале входа. Чтобы учиться как указатели блока из значений интерполяции области значений, смотрите Обработку Точки интерполяции Из области значений.
В зависимости от размерности входа и размерности I Pts, блок обычно применяет I Pts к входу одним из следующих способов:
Применяет массив pts I через первую размерность массива N-D, приводящего к массиву N-D выход.
Применяет векторный I Pts к каждому входному вектору (как будто входной вектор был одним каналом), приводя к векторному выходу с той же ориентацией как вход (строка или столбец).
Следующие таблицы подводят итог, как блок применяет массив интерполяции I Pts ко всем возможным типам входных параметров, и покажите получившиеся выходные размерности.
Первая таблица описывает поведение блока, когда Source of interpolation points является Specify via dialog
.
Введите размерности | Допустимые размерности массива интерполяции I Pts | Как блок применяет I Pts, чтобы ввести | Выведите размерности (основанная система координат) |
---|---|---|---|
M-by-N-by-K матрица | P-by-1 столбец | Применяет I Pts к первой размерности входа. | P-by-N-by-K массив |
P-by-N-by-K матрица | Применяет каждый столбец I Pts (каждый элемент I Pts) к соответствующему столбцу входной матрицы | P-by-N-by-K массив | |
M-by-N матрица | 1 N строкой | Применяет каждый столбец I Pts (каждый элемент I Pts) к соответствующему столбцу входной матрицы | 1 N строкой |
P-by-1 столбец | Применяет I Pts к каждому входному столбцу | P-by-N матрица | |
P-by-N матрица | Применяет столбцы I Pts к соответствующим столбцам входной матрицы | ||
M-by-1 столбец | 1 P строкой (алгоритм обрабатывает I Pts как столбец), | Применяет I Pts к входному столбцу | P-by-1 столбец |
P-by-1 столбец | |||
1 N строкой (не рекомендуемый) | 1 N строкой | Не применяется. Блокируйте входной вектор копий | 1 N строкой, копией входного вектора |
P-by-1 столбец | P-by-N матрица, где каждая строка является копией входного вектора | ||
P-by-N матрица |
Следующая таблица описывает поведение блока, когда Source of interpolation points является Input port
.
Введите размерности | Допустимые размерности массива интерполяции I Pts | Как блок применяет I Pts, чтобы ввести | Выведите размерности (основанная система координат) |
---|---|---|---|
M-by-N-by-K матрица | Неориентированный вектор или вектор-столбец длины P | Применяет I Pts к первой размерности входа. | P-by-N-by-K массив |
P-by-N-by-K матрица | Применяет каждый столбец I Pts (каждый элемент I Pts) к соответствующему столбцу входной матрицы | P-by-N-by-K массив | |
M-by-N матрица | 1 N строкой | Применяет каждый столбец I Pts (каждый элемент I Pts) к соответствующему столбцу входной матрицы | 1 N строкой |
P-by-1 столбец | Применяет I Pts к каждому входному столбцу | P-by-N матрица | |
P-by-N матрица | Применяет столбцы I Pts к соответствующим столбцам входной матрицы | ||
M-by-1 столбец | 1 P строкой | Применяет I Pts к входному столбцу | P-by-1 столбец |
P-by-1 столбец | |||
1 N строкой (не рекомендуемый) | 1 N строкой | Не применяется. Блокируйте входной вектор копий | 1 N строкой, копией входного вектора |
P-by-1 столбец | P-by-N матрица, где каждая строка является копией входного вектора | ||
P-by-N матрица |
Допустимые значения в массиве интерполяции I Pts лежат в диапазоне от 1 до количества выборок в каждом канале входа. Например, учитывая длину 5 входных векторов D
, все записи I Pts должны лежать в диапазоне от 1 до 5. I Pts не может содержать записи такой как 7 или-9, с тех пор нет никакой 7-й или-9-й записи в D
.
Параметр Out of range interpolation points устанавливает, как блок обрабатывает точки интерполяции, которые являются, выходят за пределы допустимой области значений, и имеет следующие настройки:
Clip
— Блок заменяет любые значения из области значений в I Pts с самым близким значением в допустимой области значений (от 1 до количества входных выборок), и затем возобновляет расчеты с помощью отсеченной версии I Pts.
Clip and warn
— В дополнение к Clip
, блок выдает предупреждение в командной строке MATLAB®, каждый раз, отсекая происходит.
Error
— Когда блок сталкивается со значением из области значений в I Pts, остановки симуляции, и блок выдает ошибку в командной строке MATLAB.
Предположим, что блок собирается отсечь точки интерполяции из области значений и получает следующий входной вектор и точки интерполяции:
D = [11 22 33 44]'
IPts = [10 2.6 -3]'
Поскольку D имеет четыре выборки, допустимый диапазон точек интерполяции от 1 до 4. Блок отсекает точку интерполяции от 10 до 4 и точка-3 к 1, приводя к отсеченному вектору интерполяции IPtsClipped = [4 2.6 1]'
.
Когда Interpolation Mode установлен в Linear
, блок интерполирует значения данных путем предположения, что данные варьируются линейно между выборками, взятыми в смежных шагах расчета.
Например, если входной сигнал D = [1 2 1.5 3 0.25]', следующий график слева показывает выборки в D и график справа, показывает линейно интерполированные значения между выборками в D.
Следующая фигура иллюстрирует случай блока в режиме линейной интерполяции, который собирается отсечь точки интерполяции из области значений. Векторный D предоставляет входные данные и векторный I, Pts предоставляет точки интерполяции:
D = [1 2 1.5 3 0.25]'
IPts = [-4 2.7 4.3 10]'
Блок отсекает недопустимые точки интерполяции и выводит линейно интерполированные значения в векторе, [1 1.65 2.175 0.25]'
.
Когда Interpolation Mode установлен в FIR
, блок интерполирует значения данных с помощью КИХ-фильтра интерполяции, заданного различными параметрами блоков. Смотрите КИХ-Режим Интерполяции в ссылке блока Variable Fractional Delay для получения дополнительной информации.
Выберите, как вы хотите задать точки интерполяции. Если вы выбираете Specify via dialog
, параметр Interpolation points становится доступным. Используйте эту опцию в статических точках интерполяции. Если вы выбираете Input port
, порт Pts появляется на блоке. Блок использует вход для этого порта как точки интерполяции. Используйте эту опцию в изменяющихся во времени точках интерполяции. Для получения дополнительной информации смотрите Задающие Статические Точки интерполяции и Определение Изменяющихся во времени Точек интерполяции.
Массив моментов времени, в которых можно интерполировать входной сигнал (I Pts). Запись 1 в I, который Pts отсылает к первой выборке входа, записи 2,5, относится к выборке на полпути между второй и третьей входной выборкой и так далее. Смотрите, Как Блок Применяет Массивы Интерполяции к Входным параметрам. Настраиваемый (Simulink).
Устанавливает блок интерполировать или линейной интерполяцией или КИХ-интерполяцией. Для получения дополнительной информации смотрите Режим Линейной интерполяции и КИХ-Режим Интерполяции.
Задайте поясной из КИХ-фильтра интерполяции (P
). Выполнять интерполяцию в FIR
режим, блок использует самое близкое 2*P
выборки с низкой ставкой. В большинстве случаев, P
выборки с низкой ставкой должны появиться ниже и выше каждой точки интерполяции. Однако, если вы интерполируете в точке выборки с низкой ставкой, блок включает ту выборку с низкой ставкой в необходимое 2*P
выборки и требуют только 2*P
– 1 соседняя выборка с низкой ставкой. Если точка интерполяции не имеет необходимого количества соседних выборок с низкой ставкой, блок интерполирует ту точку с помощью линейной интерполяции.
Этот параметр становится доступным только, когда Interpolation mode установлен в FIR
. Для получения дополнительной информации смотрите КИХ-Режим Интерполяции.
Также известный the upsampling factor, этот параметр задает число точек на входную выборку (L
) в котором блок вычисляет уникальный КИХ-фильтр интерполяции. Чтобы выполнить КИХ-Интерполяцию, блок использует многофазную структуру с L
отфильтруйте руки длины 2*P
.
Например, если L
=4, блок создает многофазный фильтр четырьмя руками. Блок затем интерполирует в точках, соответствующих 1 +i/
L
, 2 +i/L
, 3 +i/L
..., где целые числа 1, 2, и 3 представляют выборки с низкой ставкой и i =0,1,2,3
. Интерполировать в точке, которая непосредственно не соответствует руке многофазного фильтра, требует дополнительного расчета. Первые раунды блока, которые указывают вниз на самое близкое значение, которое действительно соответствует руке многофазного фильтра. Таким образом, чтобы интерполировать в точке 2.2, блок округляет в меньшую сторону 2.2 до 2 и вычисляет КИХ-интерполяцию с помощью первой руки многофазной структуры фильтра. Точно так же, чтобы интерполировать точку 2.65, блок округляет значение в меньшую сторону до 2,5 и использует третью руку многофазной структуры фильтра.
Этот параметр становится доступным только, когда Interpolation mode установлен в FIR
. Для получения дополнительной информации смотрите КИХ-Режим Интерполяции.
Пропускная способность входа разделена на Фс/2 (половина входной демонстрационной частоты).
Этот параметр только доступен, когда Interpolation mode установлен в FIR
. Для получения дополнительной информации смотрите КИХ-Режим Интерполяции.
Когда точка интерполяции вне области значений, этот параметр устанавливает блок или отсекать точку интерполяции, отсекать значение и выдавать предупреждение в командной строке MATLAB, или останавливать симуляцию и выдавать ошибку в командной строке MATLAB. Для получения дополнительной информации смотрите Обработку Точки интерполяции Из области значений.
Порт | Поддерживаемые типы данных |
---|---|
\in |
|
Pts |
|
|