Статический или изменяющийся во времени КИХ-фильтр
Система dsp.FIRFilter
object™ фильтрует каждый канал входа с помощью статических или изменяющихся во времени КИХ-реализаций фильтра.
Отфильтровать каждый канал входа:
Создайте объект dsp.FIRFilter
и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
fir = dsp.FIRFilter
fir = dsp.FIRFilter(num)
fir = dsp.FIRFilter(Name,Value)
возвращает объект фильтра конечного импульсного ответа (FIR), fir
= dsp.FIRFilterfir
, который независимо фильтрует каждый канал входа в зависимости от времени с помощью заданной КИХ-реализации фильтра.
возвращается КИХ фильтруют Системный объект, fir
= dsp.FIRFilter(num
)fir
, с набором свойств Numerator
к num
.
возвращается КИХ фильтруют Системный объект, fir
= dsp.FIRFilter(Name,Value
)fir
, с каждым набором свойств к заданному значению.
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и функция release
разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).
Структура
Отфильтруйте структуру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
— Коэффициенты числителя[0.5 0.5]
(значение по умолчанию) | вектор - строкаЗадайте коэффициенты фильтра как действительное или объедините числовой вектор - строку.
Настраиваемый: да
Это свойство применяется, когда вы устанавливаете свойство 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
— Отражательные коэффициенты решетки фильтруют структуру[0.5 0.5]
(значение по умолчанию) | вектор - строкаЗадайте отражательные коэффициенты фильтра решетки как действительное или объедините числовой вектор - строку.
Настраиваемый: да
Это свойство применяется, когда вы устанавливаете свойство Structure на Lattice MA
и свойство ReflectionCoefficientsSource
к Property
.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного числа: Да
InitialConditions
— Начальные условия для КИХ-фильтра0
(значение по умолчанию) | скаляр | вектор | матрицаЗадайте начальные условия состояний фильтра. Количество состояний или элементов задержки равняется количеству отражательных коэффициентов для структуры решетки или количеству коэффициентов фильтра 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
без знака или со знаком.
Это свойство применяется, когда вы устанавливаете свойство CoefficientsDataType
на Custom
.
ReflectionCoefficientsDataType
— Отражательное содействующее слово и дробные длиныSame word length as input
(значение по умолчанию) | Custom
Задайте отражательный содействующий тип данных с фиксированной точкой как Same word length as input
или Custom
.
Это свойство применяется, когда вы устанавливаете свойство ReflectionCoefficientsSource
на Property
.
CustomReflectionCoefficientsDataType
— Пользовательское отражательное содействующее слово и дробные длиныnumerictype(true,16,15)
(значение по умолчанию) | numerictypeЗадайте отражательную содействующую фиксированную точку как объект numerictype
без знака или со знаком.
Это свойство применяется, когда вы устанавливаете свойство ReflectionCoefficientsDataType
на Custom
.
ProductDataType
— Слово продукта и дробные длиныFull precision
(значение по умолчанию) | Same as input
| Custom
Задайте тип данных с фиксированной точкой продукта как Full precision
, Same as input
или Custom
.
CustomProductDataType
— Пользовательское слово продукта и дробные длиныnumerictype(true,32,30)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку продукта как масштабированный объект numerictype
без знака или со знаком.
Это свойство применяется, когда вы устанавливаете свойство 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
без знака или со знаком.
Это свойство применяется, когда вы устанавливаете свойство AccumulatorDataType
на Custom
.
StateDataType
— Слово состояния и дробные длиныSame as accumulator
(значение по умолчанию) | Same as input
| Custom
Задайте тип данных с фиксированной точкой состояния как один из Same as input
, Same as accumulator
или Custom
.
Это свойство не применяется ни к одной прямой форме или прямой форме, я фильтрую структуры.
CustomStateDataType
— Пользовательское слово состояния и дробные длиныnumerictype(true,16,15)
(значение по умолчанию) | numerictypeЗадайте фиксированную точку состояния как масштабированный объект numerictype
без знака или со знаком.
Это свойство применяется, когда вы устанавливаете свойство StateDataType
на Custom
.
OutputDataType
— Выведите слово и дробные длиныSame as accumulator
(значение по умолчанию) | Same as input
| Custom
Задайте выходной тип данных с фиксированной точкой как один из Same as input
, Same as accumulator
или Custom
.
CustomOutputDataType
— Custom слово вывода и дробные длиныЗадайте выходную фиксированную точку как масштабированный объект numerictype
без знака или со знаком.
Это свойство применяется, когда вы устанавливаете свойство OutputDataType на Custom
.
Для версий ранее, чем R2016b, используйте функцию step
, чтобы запустить алгоритм Системного объекта. Аргументы к step
являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.
Например, y = step(obj,x)
и y = obj(x)
выполняют эквивалентные операции.
y = fir(x)
y = fir(x,coeff)
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. Свойства объектов соответствуют параметрам блоков.
Указания и ограничения по применению:
Только свойство Numerator
является настраиваемым для генерации кода.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
Эта генерация HDL-кода поддержки объектов, если вам установили HDL Coder™. HDL Coder обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.