exponenta event banner

intfilt

Конструкция интерполяционного КИХ-фильтра

Описание

пример

b = intfilt(l,p,alpha) конструирует линейный фазовый FIR-фильтр, который выполняет идеальную интерполяцию с ограничением полосы пропускания с использованием ближайшего 2*p ненулевые выборки при использовании в последовательности, чередующейся с l-1 последовательных нулей каждый l образцы, предполагая оригинальную ограниченность полосы пропускания alpha умножить частоту Найквиста. Возвращенный фильтр b идентичен используемому interp.

b = intfilt(l,n,'Lagrange') конструирует фильтр FIR, который выполняет nПолиномиальная интерполяция Лагранжа в последовательности, перемежающейся с l-1 последовательных нулей каждый l образцы.

Примеры

свернуть все

Сконструировать цифровой интерполяционный фильтр для увеличения дискретизации сигнала на семь с использованием метода ограничения полосы пропускания. Укажите коэффициент «ограничения полосы пропускания» для 0,5 и используйте выборки 2 × 2 в интерполяции.

upfac = 7;
alpha = 0.5;
h1 = intfilt(upfac,2,alpha);

Фильтр работает лучше всего, когда исходный сигнал ограничен полосой пропускания alpha умножить частоту Найквиста. Создание шумового сигнала с ограниченной полосой пропускания путем генерации 200 гауссовых случайных чисел и фильтрации последовательности фильтром нижних частот КИХ 40-го порядка. Сбросьте генератор случайных чисел для воспроизводимых результатов.

lowp = fir1(40,alpha);

rng('default')
x = filter(lowp,1,randn(200,1));

Увеличение частоты дискретизации сигнала путем вставки нулей между каждой парой выборок x.

xr = upsample(x,upfac);

Используйте filter функция для получения интерполированного сигнала.

y = filter(h1,1,xr);

Скомпенсировать задержку, введенную фильтром. Постройте график исходных и интерполированных сигналов.

delay = mean(grpdelay(h1));

y(1:delay) = [];

stem(1:upfac:upfac*length(x),x)
hold on
plot(y)

xlim([400 700])

Figure contains an axes. The axes contains 2 objects of type stem, line.

intfilt также выполняет полиномиальную интерполяцию Лагранжа.

  • Полиномиальная интерполяция первого порядка является просто линейной интерполяцией, которая выполняется треугольным фильтром.

  • Интерполяция нулевого порядка выполняется с помощью фильтра скользящего среднего и напоминает выходной сигнал дисплея выборки и удержания.

Интерполяция исходного сигнала и наложение результата.

h2 = intfilt(upfac,1,'Lagrange');

y2 = filter(h2,1,xr);
y2(1:floor(mean(grpdelay(h2)))) = [];

plot(y2)
hold off

Figure contains an axes. The axes contains 3 objects of type stem, line.

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

свернуть все

Число выборок, указанное как положительный целочисленный скаляр. intfilt конструирует линейный фазовый FIR-фильтр с использованием последовательности, перемежающейся с l-1 последовательных нулей каждый l образцы.

Число ненулевых отсчетов, указанное как положительный целочисленный скаляр. intfilt конструирует линейный фазовый КИХ-фильтр, который выполняет полосовую интерполяцию с использованием ближайших 2 *p ненулевые образцы.

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

Порядок многочлена Лагранжа, заданный как положительный целочисленный скаляр. Фильтр FIR выполняет nПолиномиальная интерполяция Лагранжа в последовательности, перемежающейся с l-1 последовательных нулей каждый l образцы. Если оба n и l четные, проектируемый фильтр не является линейной фазой.

Метод полиномиальной интерполяции, заданный как «Лагранж».

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

свернуть все

Коэффициенты фильтра, возвращаемые как вектор. Элементы b - коэффициенты КИХ-фильтра. Если alpha уточняется, он предполагает оригинальную бандитность alpha умножить частоту Найквиста. b длина 2 *l*p-1.

Для nинтерполяция полинома Лагранжа третьего порядка, b имеет длину (n+1)*l для n четность и длина (n+1)*l-1 для n нечетные.

Алгоритмы

Метод с ограничением полосы пропускания firls для проектирования интерполяционного КИХ-фильтра. Полиномиальный метод использует формулу полиномиальной интерполяции Лагранжа на равноотстоящих выборках для построения соответствующего фильтра. Оба типа фильтров являются в основном низкочастотными и имеют коэффициент усиления l в полосе пропускания.

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

.

См. также

| | | |

Представлен до R2006a