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 + floorL/2). Веса в w применяются к неравномерности в полосе пропускания и затуханиям в полосе задерживания. Используя веса (значения между 0 и 1) позволяет вам задать различные затухания в различных частях полосы задерживания, а также обеспечение способности настроить компромисс между неравномерностью в полосе пропускания и затуханием в полосе задерживания.

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

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