fir1
|
Страница в процессе разработки. |
Расчет коэффициентов КИХ-фильтра c использованием различных окон.
| Библиотека |
|
Синтаксис
Вызов функции
Используйте функцию fir2 для оконных фильтров с произвольной частотной характеристикой.
|
Аргументы
Входные аргументы
#
n —
порядок фильтра
скаляр
Details
Порядок фильтра, заданный как положительное целое число.
Для фильтров верхних частот и режекторных фильтров функция fir1 всегда использует четный порядок фильтра. Порядок должен быть четным, поскольку симметричные КИХ-фильтры нечетного порядка должны иметь нулевое усиление на частоте Найквиста. Если для фильтра верхних частот или заграждающего фильтра указано нечетное n, то функция fir1 увеличивает n на 1.
| Типы данных |
|
#
Wn —
частота среза
скаляр | двухэлементный вектор | многоэлементный вектор
Details
Частота среза, заданная как скаляр, двухэлементный вектор или многоэлементный вектор.
Все элементы Wn должны находиться в диапазоне от 0 до 1, где 1 соответствует частоте Найквиста. Частота Найквиста равна половине частоты дискретизации, или рад/отсчет.
-
Если
Wn— скаляр, то функцияfir1проектирует фильтр нижних или верхних частот с частотой срезаWn. Частота среза — это частота, на которой передаточное соотношение составляет-6дБ. -
Если
Wn— двухэлементный вектор[W1 W2], гдеW1<W2, тоfir1проектирует полосовой или режекторный фильтр с нижней частотой срезаW1и верхней частотой срезаW2. -
Если
Wn— многоэлементный вектор[W1 W2 … Wn], гдеW1<W2< … <Wn, тоfir1проектирует многополосный фильтрn-го порядка с полосами0< <W1,W1< <W2,…,Wn< <1.
| Типы данных |
|
#
window —
окно
вектор
Details
Вектор для оконной обработки импульсной характеристики. Вектор окна должен содержать n + 1 элемент. По умолчанию функция fir1 использует окно Хэмминга. Список доступных окон:
-
"bartlett"— окно Бартлетта; -
"blackman"— окно Блэкмана;
-
"chebyshev"— окно Чебышева;
-
"hamming"— окно Хэмминга; -
"hann"— окно Ханна; -
"kaiser"— окно Кайзера;
-
"triangular"— треугольное окно;
Для окон Кайзера и Чебышева можно указать опциональные параметры.
Примеры:
Использование окна Кайзера с параметром beta = 4.0:
b = fir1(N, Wn, window("kaiser", N+1, 4.0))
Использование окна Чебышева с 65.0 дБ относительного ослабления боковых лепестков:
b = fir1(N, Wn, window("chebyshev", N+1, 65.0), "high")
| Типы данных |
|
#
ftype —
тип фильтра
"low" | "high" | "bandpass" | "stop" | "DC-0" | "DC-1"
Details
Тип фильтра:
-
"low"определяет фильтр нижних частот с частотой срезаWn,"low"— значение по умолчанию для скалярной функцииWn. -
"high"определяет фильтр верхних частот с частотой срезаWn. -
"bandpass"определяет полосовой фильтр, еслиWn— двухэлементный вектор,"bandpass"— значение по умолчанию, еслиWnсостоит из двух элементов. -
"stop"определяет режекторный фильтр, еслиWn— двухэлементный вектор. -
"DC-0"определяет, что первая полоса многополосного фильтра является полосой задерживания,"DC-0"— значение по умолчанию, еслиWnсостоит более чем из двух элементов. -
"DC-1"определяет, что первая полоса многополосного фильтра является полосой пропускания.
#
scaleopt —
масштабирование фильтра
"scale" (по умолчанию) | "noscale"
Details
Масштабирование фильтра:
-
"scale"масштабирует коэффициенты таким образом, чтобы амплитудно-частотная характеристика фильтра в центре полосы пропускания была равна1(0дБ). -
"noscale"не масштабирует коэффициенты.
Алгоритмы
Функция fir1 использует приближение наименьших квадратов для вычисления коэффициентов фильтра, а затем сглаживает импульсную характеристику с помощью window.