Получение длин слов и дробей с фиксированной точкой
[ возвращает все длины слов и дроби секций с фиксированной точкой и выходные данные объектов 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) %#okWLs = 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) %#okWLs = 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)) %#okWLs = 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)) %#okWLs = 1×5
16 16 16 16 32
FLs = 1×5
0 0 0 0 0
Длины сечения и выходных слов и дроби присваиваются по соответствующим свойствам фиксированной точки cicD объект. Эти значения не определяются входным числовым типом. Для подтверждения вызовите getFixedPointInfo функция без передачи numerictype входной аргумент.
[WLs, FLs] = getFixedPointInfo(cicD) %#okWLs = 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 (Конструктор фиксированных точек). Укажите этот ввод, когда объект System разблокирован, и FixedPointDataType свойство фильтра CIC имеет значение 'Full precision', 'Minimum section word lengths', или 'Specify word lengths'. Если FixedPointDataType свойство имеет значение 'Specify word and fraction lengths'длины слов и дробей секций фильтра и выходные данные задаются через параметры объекта. В этом случае nt ввод необязателен. Альтернативно, если объект заблокирован, данные с фиксированной точкой, вводимые в объект, определяют длину входного слова и длину дроби. nt в этом случае аргумент также необязателен.
Пример: числовой тип (1,16,15)
Пример: input = fi (randn (16,1), 1,32,30); числовой тип (ввод)
WLs - Длина сечения и выходного словаДлина сечения и выходного слова, возвращаемая в виде вектора строки. Первые 2 × NumSections элементы вектора строки соответствуют длинам слов интегратора и гребенчатых секций фильтра CIC. Значение NumSections свойство определяет количество сечений в интеграторной или гребенчатой части фильтра. Последний элемент в векторе соответствует длине слова вывода объекта.
Длина слова секций фильтра CIC и выходные данные объекта зависят от FixedPointDataType свойства объекта фильтра CIC.
Полная точность
Когда FixedPointDataType свойство объекта фильтра CIC имеет значение 'Full precision', длина сечения и выходного слова вычисляется с использованием следующего уравнения:
NumSect
где,
WLsection - длина слова раздела фильтра CIC.
WLoutput - длина слова выходных данных.
WLinput - длина входных данных.
NumSect -- Количество секций фильтра CIC, указанных через NumSections собственность.
Для заблокированных объектов WLinput наследуется от входных данных, передаваемых алгоритму объекта. Для разблокированных объектов WLinput наследуется от nt аргумент.
Минимальная длина слова сечения
Когда FixedPointDataType свойство имеет значение 'Minimum section word lengths', длина слова сечения задается следующим уравнением:
NumSect
Длина выходного слова - это значение, указанное в поле 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', длины разрезов и выходных дробей вычисляются с использованием следующего уравнения:
FLinput + NumSect)
Для входов встроенных целочисленных типов данных длина сечения и выходной дроби равна 0.
Минимальная длина слова сечения
Когда FixedPointDataType свойство объекта фильтра CIC имеет значение 'Minimum section word lengths', длины секций и выходных дробей, FLsection и FLoutput задаются следующим уравнением:
FLinput + NumSect)
Для входов встроенных целочисленных типов данных длина сечения и выходной дроби равна 0.
Указание длины слов и дробей
Когда FixedPointDataType свойство объекта фильтра CIC имеет значение 'Specify word and fraction lengths', длины разрезов и выходных дробей - это значения, указанные в SectionFractionLengths и OutputFractionLength свойства.
Задание длины слова
Когда FixedPointDataType свойство объекта фильтра CIC имеет значение 'Specify word lengths', длины секций и выходных дробей, FLsection и FLoutput задаются следующим уравнением:
FLinput + NumSect)
Пример: [12 12 12 12 12]
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
[1] Хогенауэр, Е. Б. «Экономичный класс цифровых фильтров для децимации и интерполяции». Транзакции IEEE по акустике, обработке речи и сигналов. Том 29, номер 2, 1981, 155-162.
[2] Цифровая обработка сигналов Meyer-Baese, U. с помощью программируемых на местах логических матриц. Нью-Йорк: Спрингер, 2001.
[3] Харрис, Фредрик Дж. Многоскоростная обработка сигналов для систем связи. Индианаполис, IN: Prentice Hall PTR, 2004.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.