dsp.FIRInterpolator

Многофазный КИХ-интерполятор

Описание

dsp.FIRInterpolator Система object™ сверхдискретизировала вход целочисленным фактором повышающей дискретизации, L, сопровождаемым КИХ-реконструкционным фильтром. Коэффициенты фильтра масштабируются коэффициентом интерполяции. Многофазная структура интерполяции реализует фильтр. Получившийся сигнал дискретного времени имеет уровень выборки времена L исходный уровень выборки.

Сверхдискретизировать вход:

  1. Создайте dsp.FIRInterpolator объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

firinterp = dsp.FIRInterpolator возвращает КИХ-интерполятор, firinterp, который сверхдискретизировал входной сигнал фактором 3 и применяет КИХ-фильтр, чтобы интерполировать выход.

пример

firinterp = dsp.FIRInterpolator(interpFactor,num) возвращает КИХ-интерполятор с InterpolationFactor с целочисленным знаком набор свойств к interpFactor и Numerator набор свойств к num.

firinterp = dsp.FIRInterpolator(___,Name,Value) возвращает КИХ-объект интерполятора с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в кавычки. Можно использовать этот синтаксис с любыми предыдущими комбинациями входных аргументов.

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Задайте целочисленный коэффициент, L, на который можно увеличить уровень выборки входного сигнала. Многофазная реализация использует L многофазные подфильтры, чтобы вычислить свертки на уровне более низкой частоты дискретизации. КИХ-интерполятор задерживает и чередует эти свертки более низкого уровня, чтобы получить более высокий уровень выход.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

КИХ-содействующий источник фильтра, заданный как также:

  • 'Property' – Коэффициенты числителя заданы через Numerator свойство.

  • 'Input port' – Коэффициенты числителя заданы как вход к объектному алгоритму.

Задайте коэффициенты числителя КИХ-реконструкционного фильтра как коэффициенты полинома в z–1. Индексируя от нуля, коэффициенты фильтра:

H(z)=n=0N1b(n)zn

Чтобы действовать как эффективный реконструкционный фильтр, коэффициенты должны соответствовать фильтру lowpass с нормированной частотой среза, не больше, чем обратная величина InterpolationFactor. Коэффициенты фильтра масштабируются значением InterpolationFactor свойство прежде, чем отфильтровать сигнал. Сформировать L многофазные подфильтры, Numerator добавлен с нулями при необходимости.

Зависимости

Это свойство применяется когда NumeratorSource установлен в 'Property'.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного числа: Да

Свойства фиксированной точки

Отметьте, чтобы использовать правила полной точности для вычислений с фиксированной точкой, заданных как одно из следующего:

  • true – Объект вычисляет все внутренние типы арифметических и выходных данных, использующие правила полной точности. Эти правила обеспечивают самые точные численные данные фиксированной точки. В этом режиме не применяются другие свойства фиксированной точки. Никакое квантование не происходит в объекте. Биты добавляются, по мере необходимости, чтобы гарантировать, что никакое округление или переполнение не происходят.

  • false – Типами данных с фиксированной точкой управляют посредством отдельных настроек свойства фиксированной точки.

Для получения дополнительной информации смотрите Полную точность для Fixed-Point System Objects and Set System Object Fixed-Point Properties.

Округление метода для операций фиксированной точки. Для получения дополнительной информации смотрите округление режима.

Зависимости

Это свойство не отображается и не оказывает влияния на числовые результаты, когда следующим условиям отвечают:

  • FullPrecisionOverride установите на true.

  • FullPrecisionOverride установите на false, ProductDataType установите на 'Full precision', AccumulatorDataType установите на 'Full precision', и OutputDataType установите на 'Same as accumulator'.

При этих условиях объект действует в режиме максимальной точности.

Действие переполнения для операций фиксированной точки, заданных как одно из следующего:

  • 'Wrap' – Объект переносит результат своих операций фиксированной точки.

  • 'Saturate' – Объект насыщает результат своих операций фиксированной точки.

Для получения дополнительной информации о действиях переполнения смотрите режим переполнения для операций фиксированной точки.

Зависимости

Это свойство не отображается и не оказывает влияния на числовые результаты, когда следующим условиям отвечают:

  • FullPrecisionOverride установите на true.

  • FullPrecisionOverride установите на false, OutputDataType установите на 'Same as accumulator', ProductDataType установите на 'Full precision', и AccumulatorDataType установите на 'Full precision'

При этих условиях объект действует в режиме максимальной точности.

Тип данных КИХ фильтрует коэффициенты, заданные как:

  • Same word length as input – Размер слова коэффициентов совпадает с размером слова входа. Дробная длина вычисляется, чтобы дать самую лучшую точность.

  • Custom – Содействующий тип данных задан как пользовательский числовой тип через CustomCoefficientsDataType свойство.

Word и дробные длины содействующего типа данных, заданного как numerictype автосо знаком с размером слова 16 и дробной длиной 15.

Зависимости

Это свойство применяется, когда вы устанавливаете CoefficientsDataType свойство к Custom.

Тип данных продукта выход в этом объекте, заданном как одно из следующего:

  • 'Full precision' – Тип выходных данных продукта имеет полную точность.

  • 'Same as input' – Объект задает тип выходных данных продукта, чтобы совпасть с тем из типа входных данных.

  • 'Custom' – Тип выходных данных продукта задан как пользовательский числовой тип через CustomProductDataType свойство.

Для получения дополнительной информации о типе выходных данных продукта смотрите Типы данных Умножения.

Зависимости

Это свойство применяется, когда вы устанавливаете FullPrecisionOverride к false.

Word и дробные длины типа данных продукта, заданного как числовой тип автосо знаком с размером слова 32 и дробной длиной 30.

Зависимости

Это свойство применяется только, когда вы устанавливаете FullPrecisionOverride к false и ProductDataType к 'Custom'.

Тип данных операции накопления в этом объекте, заданном как одно из следующего:

  • 'Full precision' – Операция накопления имеет полную точность.

  • 'Same as product' – Объект задает тип данных аккумулятора, чтобы совпасть с тем из типа выходных данных продукта.

  • 'Same as input' – Объект задает тип данных аккумулятора, чтобы совпасть с тем из типа входных данных.

  • 'Custom' – Тип данных аккумулятора задан как пользовательский числовой тип через CustomAccumulatorDataType свойство.

Зависимости

Это свойство применяется, когда вы устанавливаете FullPrecisionOverride к false.

Word и дробные длины типа данных аккумулятора, заданного как числовой тип автосо знаком с размером слова 32 и дробной длиной 30.

Зависимости

Это свойство применяется только, когда вы устанавливаете FullPrecisionOverride к false и AccumulatorDataType к 'Custom'.

Тип данных объектного выхода, заданного как одно из следующего:

  • 'Same as accumulator' – Тип выходных данных совпадает с типом типа выходных данных аккумулятора.

  • 'Same as input' – Тип выходных данных совпадает с типом типа входных данных.

  • 'Same as product' – Тип выходных данных совпадает с типом типа выходных данных продукта.

  • 'Custom' – Тип выходных данных задан как пользовательский числовой тип через CustomOutputDataType свойство.

Зависимости

Это свойство применяется, когда вы устанавливаете FullPrecisionOverride к false.

Word и дробные длины типа выходных данных, заданного как числовой тип автосо знаком с размером слова 16 и дробной длиной 15.

Зависимости

Это свойство применяется только, когда вы устанавливаете FullPrecisionOverride к false и OutputDataType к 'Custom'.

Использование

Описание

пример

y = firinterp(x) выводит сверхдискретизированные и отфильтрованные значения, y, из входного сигнала, x.

y = firinterp(x,num) использует КИХ-фильтр, num, интерполировать входной сигнал. Эта настройка допустима только когда 'NumeratorSource' свойство установлено в 'Input port'.

Входные параметры

развернуть все

Ввод данных, заданный как вектор или матрица. Ki-by-N входная матрица обработан как N независимые каналы, и Системный объект интерполирует каждый канал по первой размерности и генерирует Ki*L-by-N выходная матрица, где L является коэффициентом интерполяции.

Этот вход переменного размера поддержки объектов и не поддерживает комплексные входные параметры фиксированной точки без знака.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Поддержка комплексного числа: Да

КИХ-коэффициенты фильтра, заданные как вектор-строка.

Зависимости

Этот вход принят только когда 'NumeratorSource' свойство установлено в 'Input port'.

Типы данных: double
Поддержка комплексного числа: Да

Выходные аргументы

развернуть все

КИХ-выходной параметр интерполятора, возвращенный как вектор или матрица размера Ki*L-by-N, где L является коэффициентом интерполяции.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Поддержка комплексного числа: Да

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

freqzЧастотная характеристика фильтра
fvtoolВизуализируйте частотную характеристику фильтров DSP
infoИнформация о Системном объекте фильтра
costОценить затраты на применение фильтра обьектов
polyphaseМногофазное разложение многоскоростного фильтра
generatehdlСгенерируйте HDL-код для квантованного фильтра DSP (требует Filter Design HDL Coder),
impzИмпульсная характеристика дискретного времени фильтрует Системный объект
coeffsОтфильтруйте коэффициенты
stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

развернуть все

Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным step синтаксис. Например, obj(x) становится step(obj,x).

Примечание: dsp.AudioFileReader и audioDeviceWriter Системные объекты не поддержаны в MATLAB Online.

В этом примере показано, как удвоить уровень выборки звукового сигнала от 22,05 кГц до 44,1 кГц и проигрывать аудио.

afr = dsp.AudioFileReader('OutputDataType',...
   'single');
adw = audioDeviceWriter(44100);
firinterp = dsp.FIRInterpolator(2, ...
   firpm(30, [0 0.45 0.55 1], [1 1 0 0]));
 
while ~isDone(afr)
     frame = afr();
     y = firinterp(frame);
     adw(y);
end

pause(1);
release(afr); 
release(adw);

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока FIR Interpolation. Свойства объектов соответствуют параметрам блоков, кроме:

  • FIRInterpolator объект не имеет свойства, которое соответствует параметру Input processing блока FIR Interpolation.

  • Параметры блоков Rate options не поддержаны FIRInterpolator объект.

Расширенные возможности

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Представленный в R2012a