yulewalk

Рекурсивное создание цифровых фильтров

Синтаксис

Описание

пример

[b,a] = yulewalk(n,f,m) возвращает коэффициенты передаточной функции nБИХ фильтр I порядка, частота величины котором приблизительно совпадает со значениями, приведенными в f и m.

Примеры

свернуть все

Спроектируйте lowpass 8-го порядка с нормализованной частотой среза 0,6. Постройте график его частотной характеристики и наложите характеристику соответствующего идеального фильтра.

f = [0 0.6 0.6 1];
m = [1 1 0 0];

[b,a] = yulewalk(8,f,m);
[h,w] = freqz(b,a,128);

plot(w/pi,mag2db(abs(h)))
yl = ylim;
hold on
plot(f(2:3),yl,'--')
xlabel('\omega/\pi')
ylabel('Magnitude')
grid

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

Увеличьте затухание в полосе задерживания путем определения более широкого диапазона переходов.

f = [0 0.55 0.6 0.65 1];
m = [1 1 0.5 0 0];

[b,a] = yulewalk(8,f,m);
h = freqz(b,a,128);

hold on
plot(w/pi,mag2db(abs(h)))
hold off
ylim(yl)

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

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

свернуть все

Порядок фильтра, заданный как положительный целочисленный скаляр.

Типы данных: single | double

Частотные точки, заданные как вектор точек в области значений от 0 до 1, где 1 соответствует частоте Найквиста или половине частоты дискретизации. Первая точка f должно быть 0, а последняя точка 1. Все промежуточные точки должны быть в порядке возрастания. f может иметь повторяющиеся частотные точки, соответствующие шагам в частотной характеристики.

Пример: [0 0.25 0.4 0.5 0.5 0.7 1] задает нерегулярно выбранный область значений Nyquist.

Типы данных: single | double

Величина ответ, заданный как вектор, содержащий желаемые отклики в точках, заданных в f. m должна быть такой же длины, как и f.

Пример: [0 1 1 1 0 0 0] задает характеристику величины полосы пропускания.

Типы данных: single | double

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

свернуть все

Фильтруйте коэффициенты, возвращенные как векторы-строки. Выходы фильтра упорядочены в нисходящих степенях z:

B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(n+1)zn.

Совет

При определении частотной характеристики избегайте чрезмерно резких переходов от полосы пропускания к полосе остановки. Возможно, вам потребуется поэкспериментировать с наклоном переходной области, чтобы получить лучшее создание фильтра.

Алгоритмы

yulewalk проектирует рекурсивные цифровые фильтры БИХ, используя аппроксимацию методом наименьших квадратов к заданной частотной характеристике. Функция выполняет подгонку в временной интервал.

  • Чтобы вычислить коэффициенты знаменателя, yulewalk использует модифицированные уравнения Юла-Уокера с коэффициентами корреляции, вычисленными обратным преобразованием Фурье заданной частотной характеристики.

  • Чтобы вычислить числитель, yulewalk выполните следующие шаги:

    1. Вычислите полином числителя, соответствующий аддитивному разложению степени частотной характеристики.

    2. Оцените полную частотную характеристику, соответствующие полиномы числителя и знаменателя.

    3. Используйте метод спектрального факторизации, чтобы получить импульсную характеристику фильтра.

    4. Получите полином числителя методом наименьших квадратов для этой импульсной характеристики.

Ссылки

[1] Фридлендер, Б. и Боаз Порат. Модифицированный метод Юла-Уокера спектральной оценки ARMA. IEEE® Сделки по аэрокосмическим электронным системам. Том AES-20, № 2, 1984, с. 158-173.

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

.

См. также

| | | | | | |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте