
- •1. Общая характеристика цифровых фильтров
- •1.1. Свойства цифровых фильтров
- •1.2. Представление цифрового фильтра в виде разностного уравнения
- •2. Ких-фильтры. Методы синтеза
- •2.1. Прямоугольное окно
- •2.2. Обобщенное окно Хэмминга
- •2.3. Окно Блэкмана
- •2.4. Окно Кайзера
- •3. Бих-фильтры. Методы синтеза
- •3.1. Аналоговые фильтры-прототипы
- •3.1.1. Фильтры Баттерворта
- •3.1.2. Фильтры Чебышева
- •3.1.3. Эллиптические фильтры
- •3.1.4. Фильтры Бесселя
- •3.2. Методы дискретизации аналогового фильтра
- •3.2.1. Метод инвариантного преобразования импульсной характеристики
- •3.2.2. Метод билинейного преобразования
- •3.3. Преобразования полосы частот для аналоговых фильтров
- •3.4. Преобразование полосы для цифровых фильтров
- •4. Методы реализации цифровых фильтров
- •4.1. Прямая форма
- •4.2. Прямая каноническая форма
- •4.3. Каскадная форма
- •4.4. Параллельная форма
- •5. Работа в среде matlab
- •5.1. Ввод матриц
- •5.2. Матричные операции
- •5.3. Операторы, выражения и переменные
- •5.4. Функции построения матриц
- •5.5. Операторы for, while, if
- •5.6. Скалярные функции
- •5.7. Векторные функции
- •5.8. Mатричные функции
- •5.9. Подматрицы и форма записи с двоеточием
- •5.10. M-файлы
- •5.11. Текстовые строки, сообщения об ошибках, ввод данных
- •5.12. Сравнение эффективности алгоритмов
- •5.13. Формат вывода
- •5.14. Протокол
- •5.15. Графика
- •6. Записная книжка matlab для Microsoft Word
- •6.1. Начало работы
- •6.2. Краткий пример использования Записной книжки
- •7. Проектирование цифровых фильтров в среде matlab
- •Filtic – cоздание начального состояния для функции filter:
- •Freqs – частотная характеристика аналогового фильтра:
- •Freqspace – формирование последовательности отсчетов частоты:
- •Freqz – частотная характеристика цифрового фильтра.
- •Grpdelay – групповая задержка цифрового фильтра:
- •Impz – импульсный отклик цифрового фильтра:
- •Unwrap – корректировка фазовых углов:
- •Zplane – отображение нулей и полюсов цифрового фильтра:
- •7.2. Проектирование цифровых бих-фильтров besself – проектирование аналогового фильтра Бесселя:
- •Butter – проектирование цифрового и аналогового фильтров Баттерворта:
- •Cheby1 – проектирование цифрового и аналогового фильтров Чебышева – первого типа:
- •Cheby2 – проектирование цифрового и аналогового фильтров Чебышева второго типа:
- •Ellip – проектирование эллиптического цифрового и аналогового фильтров:
- •Yulewalk – проектирование рекурсивного фильтра с использованием метода наименьших квадратов по заданной амплитудно-частотной характеристике:
- •7.3. Выбор порядка бих-фильтра buttord – выбор порядка фильтра Баттерворта:
- •Cheb1ord – выбор порядка для фильтра Чебышева первого порядка:
- •Cheb2ord– выбор порядка для фильтра Чебышева первого порядка:
- •Ellipord – выбор порядка эллиптического фильтра:
- •7.4. Проектирование ких-фильтров fir1 – фильтр fir проектируется с использованием метода окна:
- •Fir2– проектирование фильтра fir с использованием оконного метода для произвольной формы фильтра:
- •Firls – проектирование ких-фильтра с использованием минимизации ошибок методом наименьших квадратов (мнк):
- •Intfilt – расчет интерполирующего ких-фильтра:
- •Remez – синтез оптимального fir-фильтра с равномерной (чебышевской) аппроксимацией на основе алгоритма Паркса – Мак-Клелана:
- •7.5. Преобразования czt–z-преобразование по спиральному контуру:
- •Dct– дискретное косинусное преобразование:
- •Impinvar – метод инвариантной импульсной характеристики для перевода аналогового фильтра в цифровой:
- •8. Примеры проектирования цифровых фильтров
- •8.1. Генерация входной последовательности сигнала
- •8.2. Реализация спектрального анализа с использованием бпф
- •8.3. Синтез цифрового ких-фильтра
- •8.4. Реализация цифровой фильтрации
- •Список литературы
- •Содержание
- •197376, С.-Петербург, ул. Проф. Попова, 5
Impz – импульсный отклик цифрового фильтра:
[H,T] = IMPZ(B,A) считает импульсный отклик фильтра B/A, выбирая число выборок, и возвращает отклик в векторе-столбце H и вектор промежутков времени (или образца интервалов) в T (T = [0, 1, 2, ...]').
[H,T] = IMPZ(B,A,N) считает N выборок импульсного отклика.
[H,T] = IMPZ(B,A,N,Fs) вычисляет N выборок и шкалу T так, что образцы разделены на 1/Fs. Fs = 1 по умолчанию.
[H,T] = IMPZ(B,A,[],Fs) выбирает число выборок и шкалу T так, что шаблоны разделены на 1/Fs.
IMPZ без выходных аргументов рисует импульсный отклик, используя STEM(T,H), в текущем графическом окне.
Смотри такжеIMPULSE в"Controls Toolbox for continuous systems".
Unwrap – корректировка фазовых углов:
UNWRAP(P) корректирует фазовые углы элементов одномерного массива P в (радианах) при переходе через значение , дополняя их значениями 2 для того, чтобы убрать разрывы функции.
Смотри также ANGLE, ABS.
Zplane – отображение нулей и полюсов цифрового фильтра:
ZPLANE(Z,P) рисует нули Z и полюсы P (в векторах-столбцах) с указателем на единичную окружность. Каждый ноль представляется "o" и каждый полюс "x" на графике. Множество нулей и полюсов отображается множеством номеров, отображаемых справа вверху нуля или полюса. ZPLANE(Z,P), где Z и/или P – матрица точек нулей или полюсов, тогда различные столбцы будут отображаться разными цветами.
Если аргумент – строка, то ZPLANE найдет корни аргумента, используя ROOTS. Таким образом, ZPLANE(B,A), где B и A – вектора-строки, содержащие передаточную функцию полиномиальных коэффициентов корней и полюсов графика B(z)/A(z).
[H1,H2,H3]=ZPLANE(Z,P) возвращает вектор указателей на строки и сгенерированные объекты текста. H1 – вектор-определитель для нулей, H2 – вектор-определитель полюсов и H3 – вектор-определитель оси единичной окружности и возвращает текст, содержащий в себе нули и полюса. Если нет нулей или полюсов, то H1 или H2 возвращают пустые матрицы.
Смотри также FREQZ.
7.2. Проектирование цифровых бих-фильтров besself – проектирование аналогового фильтра Бесселя:
[B,A] = BESSELF(N,Wn) проектирует аналоговый НЧ фильтр БесселяN-го порядка и возвращает коэффициенты фильтра в векторах B и A длиной N + 1. Частота среза Wn должна быть больше 0.
Если Wn – двухэлементный вектор, Wn = [W1 W2], BESSELF возвращает 2N – полосный фильтр с полосой W1 < W < W2.
[B,A] = BESSELF(N,Wn,'high') проектирует ВЧ-фильтр.
[B,A] = BESSELF(N,Wn,'stop') – режекторный (с полосой непропускания) фильтр, если Wn = [W1 W2].
Когда функция используется с тремя аргументами в левой части, т. е. [Z,P,K] = BESSELF(...), то нули и полюса возвращаются в векторах-столбцах Z и P длиной N и скаляр K содержит коэффициент усиления.
Когда используется с четырьмя аргументами в левой части, то [A,B,C,D] = BESSELF(...) возвращает матрицы пространства состояний.
Смотри такжеBESSELAP, BUTTER, CHEBY1, CHEBY2, FREQZ и FILTER.
Butter – проектирование цифрового и аналогового фильтров Баттерворта:
[B,A] = BUTTER(N,Wn) проектирует цифровой НЧ-фильтр Баттерворта N-го порядка и возвращает коэффициенты фильтра в векторах B и A длиной N + 1. Частота среза Wn должна быть 0.0 < Wn < 1.0, с 1.0 соответствующей половине заданной частоты дискретизации. Если Wn – двухэлементный вектор, Wn = [W1 W2], BUTTER возвращает полосовой фильтр порядка 2N с полосой пропускания W1 < W < W2.
[B,A] = BUTTER(N,Wn,'high') – проектируется ВЧ-фильтр.
[B,A] = BUTTER(N,Wn,'stop') – проектируется режекторный (с полосой непропускания) фильтр, если Wn = [W1 W2].
Когда используется с тремя аргументами в левой части, то[Z,P,K] = BUTTER(...), нули и полюса возвращаются в векторах-столбцах Z и P длиной N и скаляром К – коэффициентом усиления.
Когда используется с четырьмя аргументами в левой части, то [A,B,C,D] = BUTTER(...) возвращает матрицы пространства состояний.
BUTTER(N,Wn,'s'), BUTTER(N,Wn,'high','s') и BUTTER(N,Wn,'stop','s') проектируют аналоговые фильтры Баттерворта. Поэтому, Wn может быть больше 1.0.
Смотри такжеBUTTORD, BESSELF, CHEBY1, CHEBY2, ELLIP, FREQZ и FILTER.