Статический или изменяющийся во времени КИХ-фильтр
dsp.FIRFilter
Система object™ фильтрует каждый канал входа с помощью статических или изменяющихся во времени КИХ-реализаций фильтра.
Отфильтровать каждый канал входа:
Создайте dsp.FIRFilter
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.
При особых условиях этот Системный объект также поддерживает генерацию кода SIMD. Для получения дополнительной информации смотрите Генерацию кода.
возвращает объект фильтра конечной импульсной характеристики (FIR), fir
= dsp.FIRFilterfir
, который независимо фильтрует каждый канал входа в зависимости от времени с помощью заданной КИХ-реализации фильтра.
возвращается КИХ фильтруют Системный объект, fir
= dsp.FIRFilter(num
)fir
, с Numerator
набор свойств к num
.
возвращается КИХ фильтруют Системный объект, fir
= dsp.FIRFilter(Name,Value
)fir
, с каждым набором свойств к заданному значению.
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
Structure
— Отфильтруйте структуруDirect form
(значение по умолчанию) | Direct form symmetric
| Direct form antisymmetric
| Direct form transposed
| Lattice MA
Задайте структуру фильтра. Можно задать структуру фильтра как один из Direct form
| Direct form symmetric
| Direct form antisymmetric
| Direct form transposed
| Lattice MA
.
NumeratorSource
— Источник коэффициентов фильтраProperty
(значение по умолчанию) | Input port
Задайте источник коэффициентов фильтра как Property
или Input port
. Когда вы задаете Input port
, объект фильтра обновляет изменяющийся во времени фильтр один раз в систему координат.
Это применяется, когда вы устанавливаете Structure
к Direct form
| Direct form symmetric
| Direct form antisymmetric
| Direct form transposed
.
ReflectionCoefficientsSource
— Источник коэффициентов фильтраProperty
(значение по умолчанию) | Input port
Задайте источник коэффициентов фильтра Решетки как Property
или Input port
. Когда вы задаете Input port
, объект фильтра обновляет изменяющийся во времени фильтр один раз в систему координат.
Это применяется, когда вы устанавливаете Structure
к Lattice MA
.
Numerator
— Коэффициенты числителя
(значение по умолчанию) | вектор-строкаЗадайте коэффициенты фильтра как действительное или объедините числовой вектор-строку.
Настраиваемый: да
Это свойство применяется, когда вы устанавливаете NumeratorSource
свойство к Property
, и свойство Structure установлено в Direct form
, Direct form symmetric
, Direct form antisymmetric
, или Direct form transposed
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Поддержка комплексного числа: Да
ReflectionCoefficients
— Отражательные коэффициенты решетки фильтруют структуру
(значение по умолчанию) | вектор-строкаЗадайте отражательные коэффициенты фильтра решетки как действительное или объедините числовой вектор-строку.
Настраиваемый: да
Это свойство применяется, когда вы устанавливаете свойство Structure на Lattice MA
, и ReflectionCoefficientsSource
свойство к Property
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Поддержка комплексного числа: Да
InitialConditions
— Начальные условия для КИХ-фильтра
(значение по умолчанию) | скаляр | вектор | матрицаЗадайте начальные условия состояний фильтра. Количество состояний или элементов задержки равняется количеству отражательных коэффициентов для структуры решетки или количеству коэффициентов фильтра 1 для других прямых структур формы.
Можно задать начальные условия как скаляр, вектор или матрицу. Если вы задаете скалярное значение, КИХ-объект фильтра инициализирует все элементы задержки в фильтре к тому значению. Если вы задаете вектор, длина которого равняется количеству элементов задержки в фильтре, каждый векторный элемент задает уникальное начальное условие для соответствующего элемента задержки. Объект применяет тот же вектор из начальных условий к каждому каналу входного сигнала.
Если вы задаете вектор, длина которого равняется продукту количества входных каналов и количества элементов задержки в фильтре, каждый элемент задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале.
Если вы задаете матрицу с одинаковым числом строк как количество элементов задержки в фильтре и один столбец для каждого канала входного сигнала, каждый элемент задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале.
Настраиваемый: да
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
FullPrecisionOverride
— Переопределение полной точности для вычислений с фиксированной точкойtrue
(значение по умолчанию) | false
Задайте, использовать ли правила полной точности. Если вы устанавливаете FullPrecisionOverride
к true
, который является значением по умолчанию, объект вычисляет все внутренние типы арифметических и выходных данных, использующие правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. Это также выключает отображение других свойств фиксированной точки, потому что они не применяются индивидуально. Эти правила гарантируют, что никакое квантование не происходит в объекте. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят. Если вы устанавливаете FullPrecisionOverride
к false
, типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки. Для получения дополнительной информации смотрите Полную точность для Системных объектов Фиксированной точки.
RoundingMethod
— Округление метода для операций фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте метод округления.
Это свойство применяется, только если объект не находится в режиме максимальной точности.
OverflowAction
— Действие переполнения для операций фиксированной точкиWrap
(значение по умолчанию) | Saturate
Задайте действие переполнения как Wrap
или Saturate
.
Это свойство применяется, только если объект не находится в режиме максимальной точности.
CoefficientsDataType
— Содействующее слово и дробные длиныSame word length as input
(значение по умолчанию) | Custom
Задайте содействующий тип данных с фиксированной точкой как Same word length as input
или Custom
.
Это свойство применяется, когда вы устанавливаете NumeratorSource
свойство к Property
.
CustomCoefficientsDataType
— Пользовательское содействующее слово и дробные длиныnumerictype(true,16,15)
(значение по умолчанию) | numerictypeЗадайте содействующую фиксированную точку как со знаком или без знака numerictype
Объект (Fixed-Point Designer).
Это свойство применяется, когда вы устанавливаете CoefficientsDataType
свойство к Custom
.
ReflectionCoefficientsDataType
— Отражательное содействующее слово и дробные длиныSame word length as input
(значение по умолчанию) | Custom
Задайте отражательный содействующий тип данных с фиксированной точкой как Same word length as input
или Custom
.
Это свойство применяется, когда вы устанавливаете ReflectionCoefficientsSource
свойство к Property
.
CustomReflectionCoefficientsDataType
— Пользовательское отражательное содействующее слово и дробные длиныnumerictype(true,16,15)
(значение по умолчанию) | numerictypeЗадайте отражательную содействующую фиксированную точку как со знаком или без знака numerictype
Объект (Fixed-Point Designer).
Это свойство применяется, когда вы устанавливаете ReflectionCoefficientsDataType
свойство к Custom
.
ProductDataType
— Слово продукта и дробные длиныFull precision
(значение по умолчанию) | Same as input
| Custom
Задайте тип данных с фиксированной точкой продукта как Full precision
, Same as input
, или Custom
.
CustomProductDataType
— Пользовательское слово продукта и дробные длиныnumerictype(true,32,30)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку продукта как со знаком или масштабируемое без знака numerictype
Объект (Fixed-Point Designer).
Это свойство применяется, когда вы устанавливаете ProductDataType
свойство к Custom
.
AccumulatorDataType
— Слово аккумулятора и дробные длиныFull precision
(значение по умолчанию) | Same as input
| Same as product
| Custom
Задайте тип данных с фиксированной точкой аккумулятора к Full precision
, Same as input
, Same as product
, или Custom
.
CustomAccumulatorDataType
— Пользовательское слово аккумулятора и дробные длиныnumerictype(true,32,30)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку аккумулятора как со знаком или масштабируемое без знака numerictype
Объект (Fixed-Point Designer).
Это свойство применяется, когда вы устанавливаете AccumulatorDataType
свойство к Custom
.
StateDataType
— Слово состояния и дробные длиныSame as accumulator
(значение по умолчанию) | Same as input
| Custom
Задайте тип данных с фиксированной точкой состояния как один из Same as input
, Same as accumulator
, или Custom
.
Это свойство не применяется ни к одной прямой форме или прямой форме, я фильтрую структуры.
CustomStateDataType
— Пользовательское слово состояния и дробные длиныnumerictype(true,16,15)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку состояния как со знаком или масштабируемое без знака numerictype
Объект (Fixed-Point Designer).
Это свойство применяется, когда вы устанавливаете StateDataType
свойство к Custom
.
OutputDataType
— Выведите слово и дробные длиныSame as accumulator
(значение по умолчанию) | Same as input
| Custom
Задайте выходной тип данных с фиксированной точкой как один из Same as input
, Same as accumulator
, или Custom
.
CustomOutputDataType
— Пользовательское выходное слово и дробные длиныЗадайте тип данных с фиксированной точкой на выходе как со знаком или масштабируемое без знака numerictype
Объект (Fixed-Point Designer).
Это свойство применяется, когда вы устанавливаете свойство OutputDataType на Custom
.
x
— Ввод данныхВвод данных в виде вектора или матрицы. Когда входные данные имеют фиксированную точку, она должна быть подписана, когда структура установлена в Direct form symmetric
или Direct form antisymmetric
. КИХ-объект фильтра работает с каждым каналом входного сигнала независимо по последовательным вызовам объекта.
Этот Системный объект поддерживает вход переменного размера.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fi
Поддержка комплексного числа: Да
coeff
— Отфильтруйте коэффициентыИзменяющиеся во времени коэффициенты фильтра в виде вектора-строки. Данные и содействующие входные параметры должны иметь совпадающий тип данных.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fi
Поддержка комплексного числа: Да
y
— Filtered выходФильтрованный выходной параметр, возвращенный как вектор или матрица. Выход имеет тот же размер и тип данных как вход.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fi
Поддержка комплексного числа: Да
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
dsp.FIRFilter
freqz | Частотная характеристика дискретного времени фильтрует Системный объект |
fvtool | Визуализируйте частотную характеристику фильтров DSP |
impz | Импульсная характеристика дискретного времени фильтрует Системный объект |
info | Информация о Системном объекте фильтра |
coeffs | Возвращает коэффициенты Системного объекта фильтра в структуре |
cost | Оцените стоимость реализации Системного объекта фильтра |
grpdelay | Ответ групповой задержки дискретного времени фильтрует Системный объект |
generatehdl | Сгенерируйте HDL-код для квантованного фильтра DSP (требует Filter Design HDL Coder), |
Используйте КИХ-фильтр, чтобы применить фильтр нижних частот к форме волны с двумя синусоидальными компонентами.
t = (0:1000)'/8e3; xin = sin(2*pi*0.3e3*t)+sin(2*pi*3e3*t); sr = dsp.SignalSource; sr.Signal = xin; sink = dsp.SignalSink; fir = dsp.FIRFilter(fir1(10,0.5)); sa = dsp.SpectrumAnalyzer('SampleRate',8e3,... 'PlotAsTwoSidedSpectrum',false,... 'OverlapPercent', 80, 'PowerUnits','dBW',... 'YLimits', [-150 -10]); while ~isDone(sr) input = sr(); filteredOutput = fir(input); sink(filteredOutput); sa(filteredOutput) end filteredResult = sink.Buffer; fvtool(fir,'Fs',8000)
Спроектируйте КИХ-фильтр как Системный объект.
N = 10; Fc = 0.4; B = fir1(N,Fc); fir1 = dsp.FIRFilter(B); fvtool(fir1)
Это может также быть достигнуто при помощи fdesign
как конструктор и design
спроектировать фильтр.
N = 10; Fc = 0.4; specLowpass = fdesign.lowpass('N,Fc',N,Fc); fir2 = design(specLowpass,'systemobject',true) fvtool(fir2);
fir2 = dsp.FIRFilter with properties: Structure: 'Direct form' NumeratorSource: 'Property' Numerator: [1x11 double] InitialConditions: 0 Use get to show all properties
Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока Discrete FIR Filter (Simulink). Свойства объектов соответствуют параметрам блоков.
Указания и ограничения по применению:
Только Numerator
свойство является настраиваемым для генерации кода.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
dsp.FIRFilter
Системный объект поддерживает использование генерации кода SIMD технология Intel AVX2 при этих условиях:
Структура фильтра установлена в 'Direct form'
или 'Direct form transposed'
.
Входной сигнал с действительным знаком с действительными коэффициентами фильтра.
Входной сигнал с комплексным знаком с действительными или комплексными коэффициентами фильтра.
Входной сигнал имеет тип данных single
или double
.
Технология SIMD значительно улучшает производительность сгенерированного кода.
coeffs
| cost
| designFracDelayFIR
| freqz
| fvtool
| generatehdl
| grpdelay
| impz
| info
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.