Получите слово фиксированной точки и дробные длины
[
возвращает все размеры слова и дробные длины разделов фиксированной точки и выход Системных объектов CIC-фильтра, WLs
, FLs
] = getFixedPointInfo(cicObj
,nt
)dsp.CICDecimator
и dsp.CICInterpolator
, на основе входа числовой тип, nt
. Для заблокированных объектов или когда FixedPointDataType
свойство разблокированного объекта CIC-фильтра установлено в 'Specify word and fraction lengths'
, вход числовой аргумент типа, nt
, является дополнительным.
Используя getFixedPointInfo
функция, можно определить размеры слова и фракционировать длины разделов фиксированной точки и выход dsp.CICDecimator
и dsp.CICInterpolator
Системные объекты. Типы данных разделов фильтра и выхода зависят от FixedPointDataType
свойство Системы фильтра object™.
Полная точность
Создайте dsp.CICDecimator
объект. Значение по умолчанию NumSections
свойство равняется 2. Это значение указывает, что существует два интегратора и расчесывают разделы. WLs и векторы FLs возвращены 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 = 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 = 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
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
вход является дополнительным. В качестве альтернативы, если объект заблокирован, ввод данных фиксированной точки к объекту задает входной размер слова и дробную длину. nt
аргумент в этом случае является также дополнительным.
Пример: numerictype (1,16,15)
Пример: введите = fi (randn (16,1), 1,32,30); numerictype (вводится)
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. "Экономичный класс цифровых фильтров для децимации и интерполяции". Транзакции IEEE на акустике, речи и обработке сигналов. Объем 29, номер 2, 1981, 155-162.
[2] Мейер-Бэезе, U. Цифровая обработка сигналов с программируемыми пользователем вентильными матрицами. Нью-Йорк: Спрингер, 2001.
[3] Харрис, Фредерик Дж. Многоскоростная обработка сигналов для систем связи. Индианаполис, IN: PTR Prentice Hall, 2004.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.