- •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
7.4. Проектирование ких-фильтров fir1 – фильтр fir проектируется с использованием метода окна:
B = FIR1(N,Wn) проектирует НЧ цифровой фильтр FIR N-го порядка и возвращает коэффициенты в векторе B длиной N + 1. Частота среза Wn должна быть между 0 < Wn < 1.0, с 1.0 соответствует половине частоты дискретизации.
Если Wn – двухэлементный вектор, Wn = [W1 W2], FIR1 возвращает полосовой фильтр порядка N с полосой W1 < W < W2. B = FIR1(N,Wn,'high') проектирует ВЧ-фильтр. B=FIR1(N,Wn,'stop') проектирует фильтр с полосой задержки, если Wn = [W1 W2]. Для высокочастотных и фильтров с полосой задержки N должно быть четным.
По умолчанию FIR1 использует окно Хэмминга. Другие представленные окна, включая прямоугольное (Boxcar), Хэмминга, Бартлетта, Блэкмана, Кайзера и Чебышева (Chebwin), могут быть определены с помощью необязательных аргументов. Например, B=FIR1(N,Wn,bartlett(N+1)) использует окно Бартлетта. B=FIR1(N,Wn,'high',chebwin(N+1,R)) использует окно Чебышева.
Смотри также FIR2, FIRLS, REMEZ, BUTTER, CHEBY1, CHEBY2, YULEWALK, FREQZ и FILTER.
Fir2– проектирование фильтра fir с использованием оконного метода для произвольной формы фильтра:
B = FIR2(N,F,M) проектирует цифровой фильтр FIR N-го порядка с произвольной частотной характеристикой, определяемой векторами F и M, и возвращает коэффициенты фильтра вектора B длиной N + 1. Вектора F и M определяют частоту и амплитуду контрольных точек для фильтра, такие, что PLOT(F,M) может отобразить желаемую частоту отклика. Частоты в F должны быть между 0.0 < F < 1.0, с 1.0 соответствуют половине заданной частоты дискретизации. Они должны располагаться по возрастанию с началом в 0.0 и окончанием в 1.0.
По умолчанию FIR2 использует окно Хэмминга. Другие представленные окна, включая прямоугольное (Boxcar), Хэннинга, Бартлетта, Блэкмана, Кайзера и Чебышева (Chebwin), могут быть определены с использованием необязательных аргументов. Например, B=FIR2(N,F,M,bart-lett(N+1)) использует окно Бартлетта. B=FIR2(N,F,M,chebwin(N+1,R)) использует окно Чебышева.
Смотри также FIR1, FIRLS, REMEZ, BUTTER, CHEBY1, CHEBY2, YULEWALK, FREQZ и FILTER.
Firls – проектирование ких-фильтра с использованием минимизации ошибок методом наименьших квадратов (мнк):
B=FIRLS(N,F,M) возвращает длину вектораB, содержащего N + 1 коэффициентов КИХ-фильтра, который дает наилучшую аппроксимацию желаемой частотной характеристики, описанной векторами F и M, в смысле МНК. F – вектор краев полосы частот, расположен в порядке возрастания от 0 до 1. 1, соответствует частоте Найквиста или половине заданной частоты дискретизации. M – вещественный вектор того же размера, что и F, который определяет желаемую амплитудную характеристику фильтра B. Желаемый отклик – это линейное соединение точек (F(k), M(k)) и (F(k + 1), M(k+1)) для нечетных k. Таким образом, желаемая амплитуда получается способом кусочной линеаризации.
B=FIRLS(N,F,M,W) использует веса W для взвешивания ошибки. W имеет одно вхождение для каждой частоты (таким образом, это половина длин F и M), которые сообщают FIRLS, на что делать акцент, чтобы минимизировать СКО для всех полос частот относительно других полос.
B=FIRLS(N,F,M,'Hilbert') и B=FIRLS(N,F,M,W,'Hilbert') проектирует фильтр, который имеет нечетную симметрию, т. е. B(k) = –B(N + 2 – k) для k = 1, ..., N+1. Специальный случай – преобразователь Гильберта, который аппроксимирует амплитуду от 1 через всю входную полосу частот, т. е. B=FIRLS(30,[.1 .9],[1 1],'Hilbert').
Для проектирования дифференциатора используется B=FIRLS(N,F,M, 'differentiator').
B=FIRLS(N,F,M,W,'differentiator') также проектирует фильтры с нечетной симметрией, но со специальной функцией взвешивания для полос с ненулевой амплитудой. Этот фильтр гораздо лучше подходит для низких частот, чем для верхних.
Смотри также REMEZ, FIR1, FIR2, FREQZ и FILTER.