Получите слово с фиксированной точкой и длины дроби
[
возвращает все длины слов и длины дробей разделов с фиксированной точкой и выходные данные объектов CIC filter System, WLs
, FLs
] = getFixedPointInfo(cicObj
,nt
)dsp.CICDecimator
и dsp.CICInterpolator
, на основе входа числового типа, nt
. Для заблокированных объектов или когда FixedPointDataType
свойство разблокированного объекта CIC-фильтра установлено в 'Specify word and fraction lengths'
, аргумент числового типа входа, nt
, опционально.
Использование getFixedPointInfo
функция, можно определить размеры слова и длины дробей разделов с фиксированной точкой и выход dsp.CICDecimator
и dsp.CICInterpolator
Системные объекты. Типы данных секций фильтра и выход зависят от FixedPointDataType
свойство фильтра System object™.
Полная точность
Создайте dsp.CICDecimator
объект. Значение по умолчанию NumSections
свойство равно 2. Это значение указывает, что существует две секции интегратора и гребенки. Векторы WL и FL, возвращенные getFixedPointInfo
функция содержит пять элементов каждый. Первые два элемента представляют две секции интегратора. Третий и четвертый элементы представляют две гребенчатые секции. Последний элемент представляет выход фильтра.
cicD = dsp.CICDecimator
cicD = dsp.CICDecimator with properties: DecimationFactor: 2 DifferentialDelay: 1 NumSections: 2 FixedPointDataType: 'Full precision'
По умолчанию в FixedPointDataType
свойство объекта установлено в 'Full precision'
. Вызов getFixedPointInfo
функция для этого объекта с входом числовым типом, nt
, приводит к следующим векторам размера слова и длины дроби.
nt = numerictype(1,16,15)
nt = DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 15
[WLs,FLs] = getFixedPointInfo(cicD,nt) %#ok
WLs = 1×5
18 18 18 18 18
FLs = 1×5
15 15 15 15 15
Для получения дополнительной информации о том, как вычисляются размеры слова и длины дробей, см. описание выходных аргументов.
Если вы блокируете cicD
объект путем передачи входа в его алгоритм, вам не нужно передавать nt
аргумент в getFixedPointInfo
функция.
input = int64(randn(8,1))
input = 8x1 int64 column vector
1
2
-2
1
0
-1
0
0
output = cicD(input)
output=4×1 object
0
1
3
0
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 66
FractionLength: 0
[WLs,FLs] = getFixedPointInfo(cicD) %#ok
WLs = 1×5
66 66 66 66 66
FLs = 1×5
0 0 0 0 0
Выходы и размеры слова разделов являются суммой входа размера слова, 64 в этом случае и количеством разделов 2. Длины выхода и дроби сечения равны 0, так как вход является встроенным целым числом.
Минимальные размеры слова разделов
Отпустите объект и измените FixedPointDataType
свойство к 'Minimum section word lengths'
. Определите информацию о сечении и выходе с фиксированной точкой, когда вход является данными с фиксированной точкой, fi(randn(8,2),1,24,15)
.
release(cicD);
cicD.FixedPointDataType = 'Minimum section word lengths'
cicD = dsp.CICDecimator with properties: DecimationFactor: 2 DifferentialDelay: 1 NumSections: 2 FixedPointDataType: 'Minimum section word lengths' OutputWordLength: 32
inputF = fi(randn(8,2),1,24,15)
inputF=8×2 object
3.5784 -0.1241
2.7694 1.4897
-1.3499 1.4090
3.0349 1.4172
0.7254 0.6715
-0.0630 -1.2075
0.7148 0.7172
-0.2050 1.6302
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 24
FractionLength: 15
[WLs, FLs] = getFixedPointInfo(cicD,numerictype(inputF)) %#ok
WLs = 1×5
26 26 26 26 32
FLs = 1×5
15 15 15 15 21
Задайте длины слова и дроби
Измените FixedPointDataType
свойство к 'Specify word and fraction lengths'
. Определите информацию о фиксированной точке с помощью getFixedPointInfo
функция.
cicD.FixedPointDataType = 'Specify word and fraction lengths'
cicD = dsp.CICDecimator with properties: DecimationFactor: 2 DifferentialDelay: 1 NumSections: 2 FixedPointDataType: 'Specify word and fraction lengths' SectionWordLengths: [16 16 16 16] SectionFractionLengths: 0 OutputWordLength: 32 OutputFractionLength: 0
[WLs, FLs] = getFixedPointInfo(cicD,numerictype(inputF)) %#ok
WLs = 1×5
16 16 16 16 32
FLs = 1×5
0 0 0 0 0
Сечение и выход размеров слова и длины дробей назначаются согласно соответствующим свойствам с фиксированной точкой cicD
объект. Эти значения не определяются входом числовым типом. Чтобы подтвердить, вызовите getFixedPointInfo
функция без прохождения numerictype
входной параметр.
[WLs, FLs] = getFixedPointInfo(cicD) %#ok
WLs = 1×5
16 16 16 16 32
FLs = 1×5
0 0 0 0 0
Задайте размеры слова
Чтобы задать размеры слова раздела фильтра и вывода, установите FixedPointDataType
свойство к 'Specify word lengths'
.
cicD.FixedPointDataType = 'Specify word lengths'
cicD = dsp.CICDecimator with properties: DecimationFactor: 2 DifferentialDelay: 1 NumSections: 2 FixedPointDataType: 'Specify word lengths' SectionWordLengths: [16 16 16 16] OutputWordLength: 32
The getFixedPointInfo
функция требует входа числового типа, поскольку эта информация используется для вычисления длин фракций разделов и слов.
[WLs, FLs] = getFixedPointInfo(cicD,numerictype(inputF))
WLs = 1×5
16 16 16 16 32
FLs = 1×5
5 5 5 5 21
Для получения дополнительной информации о том, как функция вычисляет длины слова и дроби, смотрите описание выходных аргументов.
cicObj
- Система CIC-фильтров object™dsp.CICDecimator
| dsp.CICInterpolator
CIC-фильтр Системного объекта, заданный как dsp.CICDecimator
или dsp.CICInterpolator
Системный объект.
nt
- Входной числовой типnumerictype
Числовой тип входных данных, заданный как a numerictype
(Fixed-Point Designer) объект. Задайте этот вход, когда системный объект разблокирован и FixedPointDataType
свойство CIC-фильтра установлено в 'Full precision'
, 'Minimum section word lengths'
, или 'Specify word lengths'
. Если на FixedPointDataType
для свойства задано значение 'Specify word and fraction lengths'
длина слова и дроби секций фильтра и выход задаются через параметры объекта. В этом случае nt
вход опциональен. Кроме того, если объект заблокирован, данные с фиксированной точкой, входом к объекту, задают вход размера слова и длину дроби. The nt
аргумент в этом случае также является необязательным.
Пример: численный тип (1,16,15)
Пример: Вход = fi (randn (16,1), 1,32,30); численный тип (вход)
WLs
- Длина раздела и выхода словаСекция и выходы размеров слова, возвращенные как вектор-строка. Первые 2 × NumSections
элементы в векторе-строке соответствуют размерам слова интегратора и гребенчатых секций CIC-фильтра. Значение NumSections
свойство задает количество разделов в части интегратора или гребенчатой части фильтра. Последний элемент в векторе соответствует размеру слова выхода объекта.
Размеры слова разделов CIC-фильтра и выхода объекта зависят от FixedPointDataType
свойство объекта CIC-фильтра.
Полная точность
Когда FixedPointDataType
свойство объекта CIC-фильтра установлено в 'Full precision'
раздел и выход размеров слова вычисляются с помощью следующего уравнения:
где,
WL раздел -- Размер слова в разделе CIC-фильтра.
WL выход - Размер слова выходных данных.
WL вход -- Размер слова входных данных.
NumSect - Количество секций CIC-фильтра, заданное через NumSections
свойство.
Для заблокированных объектов WL вход наследуется от входных данных, которые вы передаете в алгоритм объекта. Для разблокированных объектов WL вход наследуется от nt
аргумент.
Минимальные размеры слова разделов
Когда FixedPointDataType
для свойства задано значение 'Minimum section word lengths'
, размер слова раздела задаётся следующим уравнением:
Выход размера слова является значением, в котором вы задаете OutputWordLength
свойство объекта CIC-фильтра.
Задайте длины слова и дроби
Когда FixedPointDataType
для свойства задано значение 'Specify word and fraction lengths'
, размеры слова сечения и выхода размера слова являются значениями, которые вы задаете в SectionWordLengths
и OutputWordLength
свойства объекта CIC-фильтра.
Задайте размеры слова
Когда FixedPointDataType
для свойства задано значение 'Specify word lengths'
, сечение размеров слова и выхода размера слова являются значениями, которые вы задаете в SectionWordLengths
и OutputWordLength
свойства объекта CIC-фильтра.
Пример: [20 20 20 20 20]
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
FLs
- Длины сечения и выходной фракцииДлина сечения и выхода фракции, возвращенная как вектор-строка. Первые 2 × NumSections
элементы в векторе-строке соответствуют длинам дробей интегратора и гребенчатых секций CIC-фильтра. Значение NumSections
свойство задает количество разделов в части интегратора или гребенчатой части фильтра. Последний элемент в векторе соответствует длине дроби выхода объекта.
Длина дроби секций CIC-фильтра и выход объекта зависят от FixedPointDataType
свойство объекта CIC-фильтра.
Полная точность
Когда FixedPointDataType
свойство объекта CIC-фильтра установлено в 'Full precision'
длины сечения и выходной фракции вычисляются с помощью следующего уравнения:
Для входов встроенных целочисленных типов данных длины сечения и выходной дроби 0.
Минимальные размеры слова разделов
Когда FixedPointDataType
свойство объекта CIC-фильтра установлено в 'Minimum section word lengths'
, длины сечения и выходной фракции, FL сечения и FL выход заданы следующим уравнением:
Для входов встроенных целочисленных типов данных длины сечения и выходной дроби 0.
Задайте длины слова и дроби
Когда FixedPointDataType
свойство объекта CIC-фильтра установлено в 'Specify word and fraction lengths'
, длины сечения и выходной дроби являются значениями, которые вы задаете в SectionFractionLengths
и OutputFractionLength
свойства.
Задайте размеры слова
Когда FixedPointDataType
свойство объекта CIC-фильтра установлено в 'Specify word lengths'
, длины сечения и выходной фракции, FL сечения и FL выход заданы следующим уравнением:
Пример: [12 12 12 12 12]
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
[1] Hogenauer, E.B. «Economical Class of Цифровые Фильтры for Decimation and Interpolation». Транзакции IEEE по акустике, обработке речи и сигналов. Том 29, Число 2, 1981, 155-162.
[2] Meyer-Baese, U. Digital Signal Processing with Field Programmable Gate Arrays. Нью-Йорк: Спрингер, 2001.
[3] Harris, Fredric J. Multirate Signal Processing for Communication Systems. Индианаполис, IN: Prentice Hall PTR, 2004.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.