fireqint

КИХ-интерполяторы Equiripple

Синтаксис

b = fireqint(n,l,alpha)
b = fireqint(n,l,alpha,w)
b = fireqint('minorder',l,alpha,r)
b = fireqint({'minorder',initord},l,alpha,r)

Описание

b = fireqint(n,l,alpha) разрабатывает КИХ equiripple фильтр, полезный для интерполяции входных сигналов. n является порядком фильтра, и это должно быть целое число. l, также целое число, является коэффициентом интерполяции. alpha является bandlimitedness фактором, идентичным той же функции в intfilt.

alpha обратно пропорционален пропускной способности перехода фильтра. Это также влияет на пропускную способность областей-ухода в полосе задерживания. Определение alpha позволяет вам управлять, сколько из интервала Найквиста занимает ваш входной сигнал. Это может быть выгодно для сигналов, которые будут интерполированы, потому что это позволяет вам увеличивать пропускную способность перехода, не влияя на интерполяцию, приводя к лучшему затуханию полосы задерживания для данного l. Если вы устанавливаете alpha на 1, fireqint принимает, что ваш сигнал занимает целый интервал Найквиста. При установке alpha на значение меньше чем один позволяет для областей-ухода в полосе задерживания. Например, если ваш вход занимает половину интервала Найквиста, вы могли бы установить alpha на 0,5.

Сигнал, который будет интерполирован, принят, чтобы иметь нуль (или незначительный) степень в диапазоне частот между (alpha *π) и π. alpha должен поэтому быть положительной скалярной величиной между 0 и 1. обработка fireqint такие полосы как области-ухода для оценки проекта фильтра.

b = fireqint(n,l,alpha,w) позволяет вам задавать вектор весов в w. Количество весов, требуемых в w, дано 1 + floor (l/2). Веса в w применяются к пульсации полосы пропускания и затуханиям полосы задерживания. Используя веса (значения между 0 и 1) позволяет вам задать различные затухания в различных частях полосы задерживания, а также обеспечение способности настроить компромисс между пульсацией полосы пропускания и затуханием полосы задерживания.

b = fireqint('minorder',l,alpha,r) позволяет вам разрабатывать фильтр минимального заказа, который соответствует спецификациям проекта. r является вектором максимальных отклонений или пульсаций от идеального ответа значения фильтра. Когда вы используете входной параметр minorder, необходимо обеспечить векторный r. Число элементов, требуемое в r, дано 1 + floor (l/ 2).

b = fireqint({'minorder',initord},l,alpha,r) добавляет аргумент initord, таким образом, можно обеспечить первоначальную оценку порядка фильтра. Любое положительное целое число допустимо здесь. Снова, необходимо обеспечить r, вектор максимальных отклонений или пульсаций, от идеального ответа значения фильтра.

Примеры

свернуть все

Разработайте фильтр интерполяции минимального заказа с набором l к 6 и набором alpha к 0,8. Вектор пульсаций должен быть предоставлен входным параметром minorder.

b = fireqint('minorder',6,.8,[0.01 .1 .05 .02]);

Создайте многофазный фильтр интерполяции.

hm = dsp.FIRInterpolator(6,'Numerator',b)
hm = 
  dsp.FIRInterpolator with properties:

        NumeratorSource: 'Property'
              Numerator: [1x70 double]
    InterpolationFactor: 6

  Show all properties

Вот zerophase ответ интерполятора.

zerophase(hm);

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

Смотрите также

| | | |

Введенный в R2011a