Задержка входа изменяющимся во времени дробным количеством периодов дискретизации
Системный тулбокс DSP/сигнальные операции
Блок Variable Fractional Delay задерживает входной сигнал на заданное количество дробных выборок вдоль каждого канала входа. Блок может также одновременно вычислять несколько задержанные версии (отводов) одного и того же сигнала. Для получения примера смотрите Сигнал задержки, использующий дробную задержку многозадачности.
Когда задержка имеет дробное значение, блок интерполирует входной сигнал, чтобы получить новые выборки в нецелочисленных интервалах дискретизации. Можно задать Interpolation mode параметр один из Linear
, FIR
, или Farrow
. Блок поддерживает изменяющиеся во времени значения задержки. То есть значение задержки может варьироваться в система координат от выборки к выборке.
Блок принимает, что входные значения в Delay порту находятся между Dmin и Dmax, где Dmin появляется в Valid delay range
раздел на вкладке Main диалогового окна блока, и Dmax является значением параметра Maximum delay (Dmax) in samples. Блок обхватывает значения задержки меньше Dmin до значений Dmin и задержки больше Dmax до Dmax.
При выборе допустимых факторов необходимо учитывать дополнительные Delay
значения для FIR
и Farrow
режимы интерполяции. Для получения дополнительной информации смотрите Алгоритмы.
In
- Вход данныхУкажите входные данные в виде вектора или матрицы. Вход данных должен иметь совпадающий тип данных в качестве задержки входа.
Этот блок поддерживает входной сигнал переменного размера. То есть можно изменить количество входных строк во время симуляции. Однако количество каналов должно оставаться постоянным.
Пример: [1 2 3 4; 5 1 4 2; 2 6 2 3; 1 2 3 2; 3 4 5 6; 1 2 3 1]
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Delay
- Задержка входаЗадайте вход задержки в виде скаляра, вектора, матрицы или N массива -D. Задержка может быть целым числом или дробным значением. Блок интерполирует сигнал, чтобы получить новые выборки с нецелочисленными интервалами дискретизации. Задержка входа должен иметь совпадающий тип данных, что и вход данных.
Этот блок поддерживает сигнал задержки переменного размера. То есть можно изменить одну или обе размерности сигнала задержки во время симуляции. Однако блок должен убедиться, что полученное количество выходных каналов остается постоянным на протяжении всей симуляции.
Когда параметр Input processing установлен в Columns as channels (frame based)
, таблица ниже показывает эффект размерности задержки входа на входе данных. Для получения примера смотрите Сигнал задержки, использующий дробную задержку многозадачности.
Вход данных | Задержка входа | Выход | Эффект задержки входа на входе данных |
---|---|---|---|
N (неориентированный, один канал) | скаляр | Неориентированный (N) | Одно значение задержки, примененное к каналу входа |
N (неориентированный, один канал) | Неориентированный (N) | Неориентированный (N) | Значение задержки изменяется в системе координат от выборки к выборке |
N (неориентированный, один канал) | 1-by- P | N -by- P | P отводы. Каждый столбец в выход является задержанной версией входа. Значение задержки задается соответствующим элементом в векторе задержки входа. |
N (неориентированный, один канал) | N -by- P | N -by- P | P отводы. В сложение задержка изменяется в пределах каждой системы координат от выборки к выборке. |
N -by-1 (один канал с форматом кадра, равным N) | скаляр | N -by-1 | Одно значение задержки, примененное к каналу входа |
N -by-1 (один канал с форматом кадра, равным N) | Неориентированный (N) | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | N -by-1 | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | 1-by- P | N -by- P | P отводы. Каждый столбец в выход является задержанной версией входа. Значение задержки задается соответствующим элементом в векторе задержки входа. |
N -by-1 (один канал с форматом кадра, равным N) | N -by- P | N -by- P | P отводы. В сложение задержка изменяется в пределах каждой системы координат от выборки к выборке. |
N -by - L (L каналы с форматом кадра, равным N) | скаляр | N -by- L | Одно значение задержки, примененное ко всем входным каналам |
N -by - L (L каналы с форматом кадра, равным N) | 1-by- L | N -by- L | Уникальное значение задержки для каждого входного канала |
N -by - L (L каналы с форматом кадра, равным N) | N -by-1 | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Одинаковый набор значений задержки для всех каналов. |
N -by - L (L каналы с форматом кадра, равным N) | N -by- L | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Различные значения задержки для каждого входного канала. |
N -by - L (L каналы с форматом кадра, равным N) | 1 на 1-бай- P | N -by- L -by- P | L каналы. P отводы на канал. Та же задержка для всех каналов. |
N -by - L (L каналы с форматом кадра, равным N) | 1-by- L -by- P | N -by- L -by- P | L каналы. P отводы на канал. Тапы варьируются в разных каналах. |
N -by - L (L каналы с форматом кадра, равным N) | N -by-1-by- P | N -by- L -by- P | L каналы. P отводы на канал. Задержка изменяется в системе координат от выборки к выборке. Одинаковый набор значений задержки для каждого канала. |
N -by - L (L каналы с форматом кадра, равным N) | N -by- L -by- P | N -by- L -by- P | L каналы. P отводы на канал. Задержка изменяется в системе координат от выборки к выборке. Разный набор значений задержки для каждого канала. |
Когда параметр Input processing установлен в Elements as channels (sample based)
, таблица ниже показывает эффект размерности задержки входа на входе данных.
Вход данных | Задержка входа | Выход | Эффект задержки входа на входе данных |
---|---|---|---|
N (неориентированный, один канал) | скаляр | Неориентированный (N) | Одно значение задержки, примененное к каналу входа |
N (неориентированный, один канал) | Неориентированный (N) | Неориентированный (N) | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | скаляр | N -by-1 | Одно значение задержки, примененное к каналу входа |
N -by-1 (один канал с форматом кадра, равным N) | Неориентированный (N) | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | N -by-1 | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by - L (L каналы с N выборками в каждом канале) | скаляр | N -by- L | Одно значение задержки, примененное ко всем входным каналам |
N -by - L (L каналы с N выборками в каждом канале) | 1-by- L | N -by- L | Уникальное значение задержки для каждого входного канала |
N -by - L (L каналы с N выборками в каждом канале) | N -by-1 | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Одинаковый набор значений задержки для всех каналов. |
N -by - L (L каналы с N выборками в каждом канале) | N -by- L | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Различные значения задержки для каждого входного канала. |
Пример: [2 3 4 5]
Пример: [2,5]
Пример: [5.6]
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Port_1
- Задержка выходаЗадержанный выход, возвращенный как вектор или матрица. Тип данных и сложность выхода совпадают с типом данных и сложностью входных данных.
Когда параметр Input processing установлен в Columns as channels (frame based)
, таблица ниже показывает эффект размерности задержки входа на входе данных.
Вход данных | Задержка входа | Выход | Эффект задержки входа на входе данных |
---|---|---|---|
N (неориентированный, один канал) | скаляр | Неориентированный (N) | Одно значение задержки, примененное к каналу входа |
N (неориентированный, один канал) | Неориентированный (N) | Неориентированный (N) | Значение задержки изменяется в системе координат от выборки к выборке |
N (неориентированный, один канал) | 1-by- P | N -by- P | P отводы. Каждый столбец в выход является задержанной версией входа. Значение задержки задается соответствующим элементом в векторе задержки входа. |
N (неориентированный, один канал) | N -by- P | N -by- P | P отводы. В сложение задержка изменяется в пределах каждой системы координат от выборки к выборке. |
N -by-1 (один канал с форматом кадра, равным N) | скаляр | N -by-1 | Одно значение задержки, примененное к каналу входа |
N -by-1 (один канал с форматом кадра, равным N) | Неориентированный (N) | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | N -by-1 | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | 1-by- P | N -by- P | P отводы. Каждый столбец в выход является задержанной версией входа. Значение задержки задается соответствующим элементом в векторе задержки входа. |
N -by-1 (один канал с форматом кадра, равным N) | N -by- P | N -by- P | P отводы. В сложение задержка изменяется в пределах каждой системы координат от выборки к выборке. |
N -by - L (L каналы с форматом кадра, равным N) | скаляр | N -by- L | Одно значение задержки, примененное ко всем входным каналам |
N -by - L (L каналы с форматом кадра, равным N) | 1-by- L | N -by- L | Уникальное значение задержки для каждого входного канала |
N -by - L (L каналы с форматом кадра, равным N) | N -by-1 | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Одинаковый набор значений задержки для всех каналов. |
N -by - L (L каналы с форматом кадра, равным N) | N -by- L | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Различные значения задержки для каждого входного канала. |
N -by - L (L каналы с форматом кадра, равным N) | 1 на 1-бай- P | N -by- L -by- P | L каналы. P отводы на канал. Та же задержка для всех каналов. |
N -by - L (L каналы с форматом кадра, равным N) | 1-by- L -by- P | N -by- L -by- P | L каналы. P отводы на канал. Тапы варьируются в разных каналах. |
N -by - L (L каналы с форматом кадра, равным N) | N -by-1-by- P | N -by- L -by- P | L каналы. P отводы на канал. Задержка изменяется в системе координат от выборки к выборке. Одинаковый набор значений задержки для каждого канала. |
N -by - L (L каналы с форматом кадра, равным N) | N -by- L -by- P | N -by- L -by- P | L каналы. P отводы на канал. Задержка изменяется в системе координат от выборки к выборке. Разный набор значений задержки для каждого канала. |
Когда параметр Input processing установлен в Elements as channels (sample based)
, таблица ниже показывает эффект размерности задержки входа на входе данных.
Вход данных | Задержка входа | Выход | Эффект задержки входа на входе данных |
---|---|---|---|
N (неориентированный, один канал) | скаляр | Неориентированный (N) | Одно значение задержки, примененное к каналу входа |
N (неориентированный, один канал) | Неориентированный (N) | Неориентированный (N) | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | скаляр | N -by-1 | Одно значение задержки, примененное к каналу входа |
N -by-1 (один канал с форматом кадра, равным N) | Неориентированный (N) | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by-1 (один канал с форматом кадра, равным N) | N -by-1 | N -by-1 | Значение задержки изменяется в системе координат от выборки к выборке |
N -by - L (L каналы с N выборками в каждом канале) | скаляр | N -by- L | Одно значение задержки, примененное ко всем входным каналам |
N -by - L (L каналы с N выборками в каждом канале) | 1-by- L | N -by- L | Уникальное значение задержки для каждого входного канала |
N -by - L (L каналы с N выборками в каждом канале) | N -by-1 | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Одинаковый набор значений задержки для всех каналов. |
N -by - L (L каналы с N выборками в каждом канале) | N -by- L | N -by- L | Значение задержки изменяется в системе координат от выборки к выборке. Различные значения задержки для каждого входного канала. |
Пример: [0 0 0 0; 0 0 0 0; 1 0 0 0; 5 2 0 0; 2 1 3 0; 1 6 4 4]
Пример: [0 0 0 0; 0 0 0 0; 0,5 1,0 1,5 2,0; 3 1,5 3,5 3,0; 3,5 3,5 3,0 2,5; 1,5 4,0 2,5 2,5]
Пример: [0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0; 0,4 0,8 1,2 1,6]
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Interpolation mode
- Метод интерполяцииLinear
(по умолчанию) | FIR
| Farrow
Укажите метод интерполяции. Используя этот метод, блок интерполирует сигнал, чтобы получить новые выборки с нецелочисленными интервалами дискретизации.
Linear
- Линейная интерполяция. В этом режиме блок хранит Dmax + 1 самых последних выборок, которые порт In получает для каждого канала. Dmax - значение, заданное в параметре Maximum delay (Dmax) in samples.
FIR
- Полифаза конечной импульсной характеристики интерполяция. В этом режиме блок хранит Dmax + P + 1 самых последних выборок, которые порт In получает для каждого канала. P - значение, заданное в параметре Interpolation filter half-length (P).
Farrow
- Метод ЛаГрейнджа. В этом режиме блок хранит Dmax ++ 1 самая последняя выборка, которую In порт получает для каждого канала. N - значение, заданное в параметре Farrow filter length (N).
Для получения дополнительной информации об этих методах см. «Алгоритмы».
Interpolation filter half-length (P)
- Половина длины интерполяционного фильтра4
(по умолчанию) | положительное целое число в области значений [1 65535]Половинная длина конечной импульсной характеристики фильтра интерполяции. Для периодических сигналов большее значение этого свойства, которое указывает на фильтр более высокого порядка, приводит к лучшей оценке задержанной выходной выборки. Значение свойства от 4 до 6, которое соответствует фильтру 7-го - 11-го порядка, обычно является адекватным.
Пример: 6
Пример: 10
Этот параметр применяется только, когда вы устанавливаете Interpolation mode на FIR
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Interpolation points per input sample
- Количество точек интерполяции на входную выборку10
(по умолчанию) | положительное целое число в области значений [2, 65 535]Количество точек интерполяции на вход выборку, в которой вычисляется уникальная конечная импульсная характеристика интерполяционный фильтр.
Пример: 20
Пример: 5
Этот параметр применяется только, когда вы устанавливаете Interpolation mode на FIR
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Normalized input bandwidth (0 to 1)
- Нормированная входная полоса пропускания1
(по умолчанию) | действительный скаляр в области значений (0, 1]Нормированная входная полоса, при которой можно ограничить интерполированные выходные выборки. Значение 1
равен частоте Найквиста, или половине частоты дискретизации, Fs. Используйте это свойство, чтобы использовать ограниченное по диапазону содержимое частоты входного входа. Для примера, если входной сигнал не имеет содержимого частоты выше Fs/4, можно задать значение 0.5
.
Пример: 0.5
Пример: 0.8
Этот параметр применяется только, когда вы устанавливаете Interpolation mode на FIR
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Farrow filter length (N)
- Длина фильтра Фэрроу4
(по умолчанию) | целое число, больше или равное 2Длина конечной импульсной характеристики, реализованная с использованием структуры Farrow. Если длина равна 2, фильтр выполняет линейную интерполяцию.
Пример: 4
Пример: 10
Этот параметр применяется только, когда вы устанавливаете Interpolation mode на Farrow
.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Maximum delay (Dmax) in samples
- Максимальная задержка100
(по умолчанию) | целое число в области значений [0 65535]Максимальная задержка, которую может произвести блок, Dmax. Входные значения задержки, превышающие это максимальное, обрезаются до Dmax.
Пример: 200
Пример: 500
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Input processing
- Метод обработки входовColumns as channels (frame based)
(по умолчанию) | Elements as channels (sample based)
Укажите, как блок должен обрабатывать вход. Можно задать для этого параметра одну из следующих опций:
Columns as channels (frame based)
(по умолчанию) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал. Блок обрабатывает каждый из R входных столбцов как независимые каналы, содержащие Mi последовательные временные выборки.
Вход в Delay порт v содержит значения с плавающей точкой, которые задают количество интервалов расчета, чтобы задержать текущий вход.
Вход порта Delay может быть скалярным значением для равномерной задержки каждой выборки в каждом канале. Это также может быть вектор- M столбец, содержащий одну задержку для каждой выборки во входном кадре. Блок применяет набор задержек, содержащийся в векторе, идентично к каждому каналу многоканального входа. Вход в Delay порт может также быть вектором- R строки, содержащим одну задержку для каждого канала. Наконец, запись порта Delay может быть матрицей M -by R, содержащей разную задержку для каждого соответствующего элемента входа.
Например, если v - матрица Mi -by-1 [v(1) v(2) ... v(Mi)]'
самая ранняя выборка в текущей системе координат задерживается v(1)
дробные интервалы выборки, следующая выборка в системе координат задерживается v(2)
дробные интервалы дискретизации и так далее. Блок применяет набор дробных задержек, содержащихся в v, идентично к каждому каналу многоканального входа.
Elements as channels (sample based)
- Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал. Блок обрабатывает каждый элемент N-D входного массива, u, как независимый канал. Вход к Delay порту, v, должен или быть массивом N-D того же размера и размерности как вход u, или быть скалярным значением, таким что <reservedrangesplaceholder2> ≤ <reservedrangesplaceholder1> ≤ <reservedrangesplaceholder0>.
Например, рассмотрим M -by - R входную матрицу. Блок обрабатывает каждый из элементов матрицы M * R как независимые каналы. Вход к Delay порту может быть M R матрицей значений с плавающей запятой в <reservedrangesplaceholder5> ≤ <reservedrangesplaceholder4> ≤ <reservedrangesplaceholder3> области значений, который определяет количество типовых интервалов, чтобы задержать каждый канал входа, или это может быть скалярное значение с плавающей запятой, <reservedrangesplaceholder2> ≤ <reservedrangesplaceholder1> ≤ <reservedrangesplaceholder0>, которым одинаково можно задержать все каналы.
В режиме обработки на основе сэмплирования блок обрабатывает неориентированный векторный вход как M-на-1 матрицу. В этом режиме выход также является неориентированным вектором.
InitialConditions
- Начальные значения в памяти0
(дефолт) | скаляр | 1-by-<reservedrangesplaceholder3> D выстраиваетЗадайте значения с в памяти блока в начале симуляции. Размерности этого параметра могут варьироваться в зависимости от того, хотите ли вы фиксированных или изменяющихся во времени начальных условий. Блок обрабатывает каждый из R входных столбцов как система координат, содержащий M последовательных временных выборок из независимого канала.
Для входной матрицы M -by R, u, можно задать этот параметр следующим образом:
Чтобы задать фиксированные начальные условия, установите этот параметр в скалярное значение. Блок инициализирует каждую выборку каждого канала в памяти, используя значение, которое вы задаете.
Размерности, заданные для изменяющихся во времени начальных условий, зависят от метода интерполяции. Чтобы задать различные изменяющиеся во времени начальные условия для каждого канала, установите этот параметр следующим образом:
Если вы устанавливаете Interpolation mode равной Linear
, установите Initial conditions на массив размера 1
-by- R -by- D, где D - значение в Maximum delay (Dmax) in samples параметре.
Если вы устанавливаете Interpolation mode равной FIR
или Farrow
, установите Initial conditions в массив размером 1-by- R -by- (D + L), где D является значением максимальной задержки. Для конечной импульсной характеристики интерполяции L
- значение половины длины интерполяционного фильтра. Для интерполяции Farrow, L
равен floor
из половины значения длины фильтра farrow (floor( farrow filter length/2)
).
Пример: 1
Пример: randn (1,3,104)
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Disable direct feedthrough by increasing minimum possible delay by one
- Отключить прямое сквозное соединениеoff
(по умолчанию) | on
Установите этот флажок, чтобы отключить прямое сквозное соединение путем увеличения минимального возможного значения задержки. Когда вы устанавливаете параметр Input processing равным Columns as channels (frame based)
блок увеличивает минимальное возможное значение задержки на frame size
– 1. Точно так же, когда вы устанавливаете параметр Input processing на Elements as channels (sample based)
блок увеличивает минимальное возможное значение задержки на одну выборку.
Установка этого флажка позволяет вам использовать блок Variable Fractional Delay в циклах обратной связи.
For small input delay values
- Действие для малых входных значений задержкиClip to the minimum value necessary for centered kernel
(по умолчанию) | Use off-centered kernel
| Switch to linear interpolation if kernel cannot be centered
Задайте поведение блока, когда входные значения задержки слишком малы, чтобы центрировать ядро.
Можно задать, как блок обрабатывает входные значения задержки, которые являются слишком маленькими для центрирования ядра, используя один из следующих вариантов:
В обоих FIR
и Farrow
режимы интерполяции, можно выбрать Clip to the minimum value necessary for centered kernel
. Эта опция заставляет блок увеличивать Dmin до наименьшего значения, необходимого для сохранения центра ядра.
В FIR
режим интерполяции, можно выбрать Switch to linear interpolation if kernel cannot be centered
. Эта опция заставляет блок сохранять значение Dmin и вычислять все интерполированные значения с помощью Linear
интерполяция.
В Farrow
режим интерполяции, можно выбрать Use off-centered kernel
. Эта опция заставляет блок сохранять значение Dmin и вычислять интерполированные значения с помощью фильтра farrow с нецентрированным ядром.
Этот параметр применяется только, когда Interpolation mode установлено на FIR
или Farrow
.
Valid delay range (in samples)
- Область значений допустимых значений задержкиЭто свойство доступно только для чтения.
Значения области значений задержки [Dmin Dmax] вычисляются (в выборках) блоком на основе текущих настроек параметра. Dmin является наименьшим возможным допустимым значением задержки (в выборках). Блок отсекает все входные значения задержки менее Dmin до Dmin. Dmax является максимально допустимым значением задержки (в выборках). Блок отсекает все входные значения задержки, больше Dmax до Dmax.
Если для Interpolation mode задано одно из следующих значений:
Linear
- Dmin равен 0. Dmax равняется значению, заданному в параметре Maximum delay (Dmax) in samples.
FIR
- Dmin равен P - 1, где P - значение, заданное вами в Interpolation filter half-length (P). Dmax равняется значению, заданному в параметре Maximum delay (Dmax) in samples.
Farrow
- Dmin равен N/2 - 1, где N - значение, заданное вами в Farrow filter length (N). Dmax равняется значению, заданному в параметре Maximum delay (Dmax) in samples.
Пример: [1 100]
Пример: [2 100]
Пример: [3 100]
Rounding mode
- Метод округления для операций с фиксированной точкойZero
(по умолчанию) | Ceiling
| Convergent
| Floor
| Nearest
| Round
| Simplest
Задайте режим округления для операций с фиксированной точкой как один из следующих:
Zero
Ceiling
Convergent
Floor
Nearest
Round
Simplest
Для получения дополнительной информации смотрите режим округления.
Saturate on integer overflow
- Метод действия переполненияКогда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate
и wrap
, см. Режим переполнения для операций с фиксированной точкой.
Coefficients
- Тип данных коэффициентовSame word length as input
(по умолчанию) | Specify word length
Укажите тип данных коэффициентов фильтра как один из следующих:
Same word length as input
- размер слова коэффициентов фильтра совпадает с таковыми у входа к блоку. Длина дроби коэффициентов автоматически устанавливается на шкалу только с двоичной точкой, которая обеспечивает вам лучшую точность, учитывая значение и размер слова коэффициентов.
Specify word length
- Указание размера слова коэффициентов, в битах. В этом режиме длина дроби коэффициентов автоматически устанавливается на масштабирование только с двоичной точкой, которое обеспечивает вам лучшую точность, учитывая значение и размер слова коэффициентов.
Для получения дополнительной информации о типе данных коэффициентов, используемых этим блоком, смотрите раздел Фиксированная точка.
Product output
- Тип данных выходного продуктаSame as first input
(по умолчанию) | Binary point scaling
Укажите тип данных выходного продукта как один из следующих:
Same as first input
-- Блок задает тип выходных данных продукта таким же, как и тип входных данных.
Binary point scaling
-- Укажите размер слова и длину дроби выхода продукта в битах.
Для получения дополнительной информации о типе выходных данных продукта смотрите Типы данных умножения и Раздел Фиксированная точка.
Accumulator
- Тип данных операции накопленияSame as product output
(по умолчанию) | Same as first input
| Binary point scaling
Укажите тип данных операции накопления как один из следующих:
Same as product output
-- Блок задает тип данных аккумулятора таким же, как тип выходных данных продукта.
Same as first input
-- Блок задает тип данных аккумулятора таким же, как у входных данных.
Binary point scaling
-- Укажите размер слова и длину дроби выходного сигнала аккумулятора в битах.
Для получения дополнительной информации о типе данных аккумулятора, используемом этим блоком, смотрите Фиксированную Точку.
Product output polyval
- Тип данных полинома продуктаSame as first input
(по умолчанию) | Binary point scaling
Укажите тип данных продуктов полинома значения как один из следующих:
Same as first input
-- Блок задает тот продукт полином значения тип данных, который будет таким же, как у входа данных.
Binary point scaling
- Задайте размер слова и длину дроби выходного полинома продукта, в битах.
Для получения дополнительной информации о типе данных полинома продуктов значения, используемом этим блоком, смотрите раздел Fixed Точки.
Это свойство применяется, когда вы задаете Interpolation mode Farrow
.
Accumulator polyval
- Тип данных полинома аккумулятораSame as first input
(по умолчанию) | Binary point scaling
Задайте тип данных полинома аккумулятора как один из следующих значений:
Same as first input
-- Блок задает тип полинома значения данных аккумулятора так же, как и тип данных входов.
Binary point scaling
-- Задайте размер слова и длину дроби полинома аккумулятора значения в битах.
Для получения дополнительной информации о типе полинома значения данных аккумулятора, который использует этот блок, смотрите раздел Фиксированная Точка.
Это свойство применяется, когда вы задаете Interpolation mode Farrow
.
Multiplicand polyval
- Тип данных мультипликационного и полиномиального значенияSame as first input
(по умолчанию) | Binary point scaling
Укажите тип данных полинома multiplicand как один из следующих значений:
Same as first input
- Блок задает тот же тип данных полинома значения мультипликации и полинома, что и тип данных входов данных.
Binary point scaling
-- Задайте размер слова и длину дроби полинома значения в битах.
Для получения дополнительной информации о типе данных полинома и значения, используемом этим блоком, смотрите раздел Fixed Точки.
Это свойство применяется, когда вы задаете Interpolation mode Farrow
.
Output
- Тип данных выходного сигнала блокаSame as accumulator
(по умолчанию) | Same as first input
| Binary point scaling
Укажите тип данных блочного выхода как один из следующих:
Same as accumulator
-- Блок задает тот же тип выходных данных, что и тип выходных данных аккумулятора.
Same as first input
-- Блок задает тот же тип выходных данных, что и вход данных.
Binary point scaling
-- Укажите размер слова и длину дроби блочного выхода в битах.
Для получения дополнительной информации о типе выходных данных, используемом этим блоком, смотрите раздел Фиксированная точка.
Lock data type settings against changes by the fixed-point tools
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в диалоговом окне блока.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Значение задержки, заданное в порте Delay, служит индексом в памяти блока U, который сохраняет, как минимум, Dmax + 1 последние выборки, полученные в порту In для каждого канала. Для примера целочисленная задержка 5 на скаляр входа последовательности извлекает и выводит пятый самый последний вход выборку из памяти блока U (6). Блок вычисляет дробные задержки путем интерполяции между сохраненными выборками. Блок использует линейный, конечная импульсная характеристика, или метод более глубокой интерполяции, чтобы интерполировать значения сигналов с нецелочисленными интервалами выборки.
Для нецелочисленных задержек в каждом шаге расчета метод линейной интерполяции использует две выборки в памяти, ближайшей к указанной задержке, чтобы вычислить значение для выборки в то время.
Для входных данных вектора выходной вектор, y, вычисляется с помощью следующего отношения:
vi = floor(v) vf = v-vi y(i) = U(i-vi-1)*vf + U(i-vi)*(1-vf)
где,
i -- Индекс текущей выборки
v -- Дробная задержка
vi -- Целочисленная часть задержки
vf -- дробная часть задержки
U -- Входные данные вектор
y -- Выходной вектор данных
U(i-vi), U(i-vi-1) -- Две выборки в памяти, ближайшей к указанной задержке
i-vi - Расстояние, в выборках, между текущим индексом и ближайшей точкой в линии интерполяции.
Переменная дробная задержка сохраняет Dmax + 1 самых последних выборок, полученных на входе для каждого канала, где Dmax является максимально заданной задержкой. U представляет сохраненные выборки.
В конечной импульсной характеристике режиме интерполяции блок хранит Dmax + P + 1 последних выборок, полученных на входе для каждого канала, где P является заданной половинной длиной интерполяционного фильтра.
В этом режиме блок обеспечивает дискретный набор дробных задержек:
Если v меньше P - 1, поведение зависит от параметра For small input delay values. Можно задать поведение блока, когда входное значение задержки слишком мало, чтобы центрировать ядро (меньше, чем P-1), путем установки параметра For small input delay values:
Clip to the minimum value necessary for centered kernel
- Метод конечной импульсной характеристики интерполяции остается в использовании. Маленькие входные значения задержки обрезаются до наименьшего значения, необходимого для центрирования ядра.
Switch to linear interpolation if kernel cannot be centered
-- Дробные задержки вычисляются с помощью линейной интерполяции, когда значение входа задержки меньше P -1.
В конечную импульсную характеристику режиме интерполяции алгоритм реализует структуру полифазы, чтобы вычислить значение для каждой выборки с заданной задержкой. Каждое плечо структуры соответствует другому значению задержки. Выход, вычисленный для каждой выборки, соответствует выходу рычага со значением задержки, ближайшим к заданной входной задержке. Поэтому на самом деле возможен только дискретный набор задержек. Количество коэффициентов в каждом из L ветвей фильтра структуры полифазы 2 P. В большинстве случаев использование значений P между 4 и 6 предоставляет вам достаточно точные значения интерполяции.
designMultirateFIR
функция проектирует конечную импульсную характеристику фильтр интерполяции.
Для примера, когда вы устанавливаете следующие значения:
Интерполяционный фильтр с половинной длиной (P) до 4
Точки интерполяции на входную выборку до 10
Нормированная входная полоса для 1
Затухание в полосе задерживания до 80 дБ
Коэффициенты фильтра заданы:
b = designMultirateFIR(10,1,4,80);
Увеличение длины половины фильтра (P) увеличивает точность интерполяции, но также увеличивает количество расчетов, выполняемых на входную выборку. Объем памяти, необходимой для хранения коэффициентов фильтра, также увеличивается. Увеличение точек интерполяции на выборку (L) увеличивает количество представимых дискретных точек задержки, но также увеличивает требования симуляции к памяти. Вычислительная нагрузка на выборку не влияет.
Нормированная входная полоса от 0 до 1 позволяет вам использовать в своих интересах ограниченное по частоте содержимое входа. Для примера, если вы знаете, что входной сигнал не имеет частоты, содержимого выше Fs/4, можно задать 0.5
нормированная шумовая полоса для ограничения частотного содержимого выхода этой областью значений.
Примечание
Можно считать, что каждый из L фильтров интерполяции соответствует одной выходной фазе КИХ-фильтра upsample-by L. Поэтому нормированное входное значение улучшает диапазон остановок в критических областях и ослабляет требования к диапазону остановок в частотных областях без энергии сигнала.
В режиме интерполяции farrow блок хранит Dmax + N/2 + 1 последних выборок, полученных на входе для каждого канала, где N является заданной длиной фильтра farrow.
Алгоритм использует метод LaGrange, чтобы интерполировать значения.
Чтобы увеличить минимальное возможное значение задержки, установите флажок Disable direct feedthrough by increasing minimum possible delay by one. Установка этого флажка препятствует возникновению алгебраических циклов, когда вы используете блок внутри цикла обратной связи.
Чтобы задать поведение, когда входное значение задержки слишком мало, чтобы центрировать ядро (меньше - 1), используйте настройку действия Farrow small delay.
Clip to the minimum value necessary for centered kernel
- Блок клипирует маленькие входные значения задержки до наименьшего значения, необходимого для сохранения центра ядра. Это увеличивает Dmin, но приводит к более точным значениям интерполяции.
Use off-centered kernel
- Дробные задержки вычисляются с помощью фильтра Фэрроу с нецентрированным ядром. Этот режим не увеличивает Dmin, но результаты для входных значений задержки меньше - 1 менее точны, чем результаты, достигнутые путем сохранения ядра центрированным.
На графиках в следующих разделах показаны типы данных, используемые в Variable Fractional Delay для сигналов с фиксированной точкой.
Хотя можно задать большинство из этих типов данных, следующие типы данных вычисляются внутри блока и не могут быть непосредственно заданы в диалоговом окне блока.
Тип данных | Размер слова | Длина дроби |
---|---|---|
Тип данных vf | Размер слова коэффициентов | То же, что и размер слова |
Тип данных HoldInteger | Тот же размер слова, что и входное значение задержки | 0 биты |
Целочисленный тип данных | 32 биты | 0 биты |
Примечание
Когда вход является фиксированной точкой, все внутренние типы данных подписаны фиксированной точкой.
Чтобы вычислить целое число (vi) и дробную (vf) части значения задержки входа (v), блок Variable Fractional Delay использует следующие уравнения:
Следующая схема показывает типы данных с фиксированной точкой, используемые режимом линейной интерполяции блока Variable Fractional Delay.
Следующая схема иллюстрирует, как блок Variable Fractional Delay выбирает плечо структуры полифазного фильтра, которое наиболее близко соответствует значению дробной задержки (vf).
Следующая схема показывает типы данных с фиксированной точкой, используемые алгоритмом дробной задержки переменной в режиме интерполяции конечной импульсной характеристики.
Можно задать в блоке коэффициент, выход продукта, аккумулятор и типы выходных данных. Эта схема показывает, что входные данные хранятся во входном буфере с совпадающим типом данных и масштабированием, что и вход. Блок хранит отфильтрованные данные и любые начальные условия в выходе буфере, используя выход тип данных и масштабирование, которые вы задаете.
Когда, по меньшей мере, один из входов в умножитель является вещественным, выход умножителя находится в типе выходных данных продукта. Когда оба входа в умножитель являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации о комплексном умножении смотрите Типы данных умножения.
Следующая схема показывает типы данных с фиксированной точкой, используемые режимом интерполяции Farrow, когда:
Длина фильтра Farrow установлена в 4
Действие малой задержки Farrow установлено в Clip to the minimum value necessary for centered kernel
Следующая схема показывает типы данных с фиксированной точкой, используемые режимом интерполяции Farrow, когда:
Длина фильтра Farrow установлена в 4
.
Действие малой задержки Farrow установлено в Use off-centered kernel
.
Diff
вычисляется из целочисленной части значения задержки (vi) и длины фильтра наименьшей длины (N) согласно следующему уравнению:
Следующая схема показывает типы данных с фиксированной точкой, используемые фильтром конечной импульсной характеристики прямой формы цифрового фильтра.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.