- •Расчет аналоговых и цифровых фильтров
- •Содержание
- •1. Общая теория
- •1.1. Свойства цифровых фильтров
- •1.2. Представление цифрового фильтра в виде разностного уравнения
- •1.3 Аналоговые фильтры-прототипы
- •1.3.1. Фильтры Баттерворта
- •1.3.2. Фильтры Чебышева
- •1.3.3. Эллиптические фильтры
- •1.3.4. Фильтры Бесселя
- •1.4. Преобразования полосы частот для аналоговых фильтров
- •1.5. Преобразование полосы для цифровых фильтров
- •1.6. Методы дискретизации аналогового фильтра
- •1.6.1. Метод инвариантного преобразования импульсной характеристики
- •1.6.2. Метод билинейного преобразования
- •1.7. Методы синтеза ких-фильтров.
- •1.7.1. Прямоугольное окно
- •1.7.2. Обобщенное окно Хэмминга
- •1.7.3. Окно Блэкмана
- •1.7.4. Окно Кайзера
- •1.8. Методы синтеза бих-фильтров.
- •1.9. Методы реализации цифровых фильтров
- •1.9.1. Прямая форма
- •1.9.2. Прямая каноническая форма
- •1.9.3. Каскадная форма
- •1.9.4. Параллельная форма
- •2. Задание на курсовую работу в таблице 2.1. Представлены варианты на курсовую работу. Вариант выбрается в соответсвии с указанием преподавателя.
- •3. Порядок выполнения задания №1. Расчет аналогового фильтра.
- •Порядок фильтра.
- •Аппроксимация ачх фильтров - общие замечания.
- •Аппроксимация по Баттерворту.
- •Аппроксимация по Чебышеву первого рода.
- •Аппроксимация по Чебышеву второго рода.
- •Аппроксимация по Кауэру. Эллиптический фильтр.
- •Сравнение порядков фильтров при различных способах аппроксимации ачх. Решение уравнения порядка фильтра.
- •Порядок расчет первого задания.
- •4. Порядок выполнения задания №2. Расчет цифрового фильтра методом частотной выборки с использованием окон.
- •Порядок расчет второго задания.
- •5. Порядок выполнения задания №3. Реализация цифрового фильтра в среде Simulink.
- •6. Проектирование цифровых фильтров в среде matlab
- •6.1. Анализ фильтров и выполнение
- •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. Преобразования
- •Dftmtx – матрица дискретного преобразования Фурье (дпф):
- •Impinvar – метод инвариантной импульсной характеристики для перевода аналогового фильтра в цифровой:
- •Список литературы
6.1. Анализ фильтров и выполнение
В задачах расчета цифровых фильтров используются основные функции, рассмотренные далее.
ABS – абсолютное значение и перевод строки в число:
ABS(X) – абсолютное значение элементов . Когда комплексное, то ABS(X) – комплексные модули (величина) элементов X.
Смотри также ANGLE, UNWRAP.
ABS(S), где – строковая переменная MATLAB, возвращает числовое значение, записанное в ASCII-символах строки.
Смотри также SETSTR.
ANGLE – угол фазы:
ANGLE(H) возвращает углы фазы (в радианах) матрицы с комплексными элементами.
Смотри также ABS, UNWRAP.
CONV – свертка и умножение многочленов:
C = CONV(A, B) свертывает вектора и . Результат – вектор длины LENGTH(A) + LENGTH(B) – 1.
Если и – вектора с полиномиальными коэффициентами, то свертывание их эквивалентно умножению двух многочленов.
Смотри также XCORR, DECONV, CONV2.
FFTFILT – метод overlap/add (перекрыть/добавить) фильтрации с использо-ванием FFT:
Y = FFTFILT(B,X) фильтрует вектор с FIR-фильтром B, используя метод перекрыть/добавить;
Y = FFTFILT(B,X,N) использует метод перекрыть/добавить для фильтрования с , используя -точечный метод FFT.
Смотри также FILTER.
FILTER – цифровой фильтр:
Y = FILTER(B, A, X) фильтрует данные вектора с фильтром, описанным векторами и для создания фильтрованных данных Y. Фильтр – реализация прямой формы 2 стандартного разностного уравнения
[Y, Zf] = FILTER(B,A,X,Zi) дает доступ к начальному и конечному состояниям задержек Zi и Zf.
Смотри также FILTFILT.
FILTFILT – прямая и обратная цифровая фильтрация с нулевой фазой:
Y = FILTFILT(B,A,X) фильтрует данные в векторе с фильтром, описанным векторами A и B для создания фильтрованных данных . Фильтр описывается разностным уравнением:
После прямой фильтрации отфильтрованная последовательность разворачивается и вновь пропускается через фильтр. В результирующей последовательности отсутствуют фазовые искажения, при этом фильтр имеет двойной порядок. Длина входного должна быть больше, чем мах(length(b)–1,length(a)–1).
Смотри также FILTER.
Filtic – cоздание начального состояния для функции filter:
Z = filtic(B,A,Y,X) конвертирует пришедший входной вектор и выходной в начальное значение реализованной в прямой форме 2 переменной Z, необходимое в структуре фильтра. Вектора и содержат входную и выходную последовательности в таком порядке:
где nb = length(B)–1 и na = length(A)–1. Короткие входные вектора и дополняются нулями до длины nb и na соответственно. Если или длиннее, чем или , то значения, превосходящие длины, не подходят для инициализации фильтра, а потому игнорируются.
Z = filtic(B,A,Y ) предполагает, что в прошлом.
Смотри также FILTER.
Freqs – частотная характеристика аналогового фильтра:
H = FREQS(B,A,W) возвращает вектор (комплексный частотный отклик) фильтра
.
Частотный отклик имеет значения в точках вектора . Амплитуда и фаза могут быть получены вызовом FREQS(B,A,W) без выходных параметров.
[H,W] = FREQS(B,A) автоматически выбирает значение частоты 200, на котором и вычисляется частотная характеристика.
FREQS(B,A,N) выбирает частот.
Смотри также LOGSPACE, POLYVAL, INVFREQS и FREQZ.