dsp.FIRInterpolator

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

Описание

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

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

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

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

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

При особых условиях этот Системный объект также поддерживает генерацию кода SIMD. Для получения дополнительной информации смотрите Генерацию кода.

Создание

Описание

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

пример

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в 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 (Fixed-Point Designer) с размером слова 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).

Примечание: audioDeviceWriter Система object™ не поддерживается в 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