Получите слово фиксированной точки и дробные длины
[WLs, FLs] = getFixedPointInfo(cicObj,nt)
[
возвращает все размеры слова и дробные длины разделов фиксированной точки и вывод Системных объектов CIC-фильтра, WLs
, FLs
] = getFixedPointInfo(cicObj
,nt
)dsp.CICDecimator
и dsp.CICInterpolator
, на основе входа числовой тип, nt
. Для заблокированных объектов или когда свойство FixedPointDataType
разблокированного объекта CIC-фильтра установлено в 'Specify word and fraction lengths'
, вход, числовой аргумент типа, nt
, является дополнительным.
Используя функцию getFixedPointInfo
, можно определить размеры слова и фракционировать длины разделов фиксированной точки и вывод Системных объектов dsp.CICInterpolator
и dsp.CICDecimator
. Типы данных разделов фильтра и вывода зависят от свойства 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
Входные данные числовой тип, заданный как объект numerictype
. Задайте этот вход, когда Системный объект разблокирован, и свойство 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.