- •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
Impinvar – метод инвариантной импульсной характеристики для перевода аналогового фильтра в цифровой:
[BZ,AZ] = IMPINVAR(B,A,Fs) создает цифровой фильтр с коэффициентами числителя и знаменателя BZ и AZ соответственно, чей импульсный отклик эквивалентен импульсному отклику аналогового фильтра с коэффициентами B и A при частоте дискретизации Fs (в герцах).
Если Fs не определено, то по умолчанию равно 1 Гц.
Смотри также BILINEAR.
8. Примеры проектирования цифровых фильтров
8.1. Генерация входной последовательности сигнала
В примере используется входная последовательность x полигармонического сигнала с частотами F1 = 3 Гц, F2 =7 Гц, F3 =25 Гц, частота дискретизации Fs=128 Гц, время наблюдения T = 4 c.
T = 4; % время реализации
Fs = 128; % частота дискретизации
n = T *Fs; % длина реализации
t = (0:n-1)/Fs; % шаг дискретизации
indx = (0:n-1)'; % вектор целых чисел 512
Генерация полигармоническиого сигнала: ai cos (wit), wi = 3, 7, 10, 25 Гц:
format short
w1 = 3;
w2 = 7;
w3 = 10;
w4 = 25;
x = 30*cos(w1*2*pi*t) + 60*cos(w2*2*pi*t) + 90*cos(w3*2*pi*t) + 30*cos(w4*2*pi*t);
Построение графика входной последовательности (рис. 8.1):
clf, plot(t,x)
ylabel('Amplitude (mkV)')
xlabel('Time')
title('Input sequence')
Рис. 8.1
На 8.1 показан график входной последовательности полигармонического сигнала.
8.2. Реализация спектрального анализа с использованием бпф
Следующий листинг иллюстрирует вычисление прямого дискретного преобразования Фурье для взвешенной с помощью окна реализации сигнала с использованием функций одномерного преобразования FFT, построение графика модуля спектральной функции (рис. 8.2):
format long e
FT=fft(bartlett(n).*x');
FT=FT(1:n/2);
step = indx(1:(n/2))*(1/T); % разрешение FFT
clf, plot(step,abs(FT),'b')
axis([0 35 0 max(abs(FT))]);
grid on
ylabel('Magnitude')
xlabel('Frequency (Hertz)')
title('Power spectrum')
Рис. 8.2
На рисунке 8.2. приведена амплитудно-частотная характеристика входного сигнала.
8.3. Синтез цифрового ких-фильтра
Приводится пример синтеза низкочастотного КИХ-фильтра с использованием окон Хэмминга (амплитудно-частотная характеристика (АХЧ) показана на рис. 8.3) и Бартлетта (АЧХ изображена на рис. 8.4).
Wn = (13/Fs)*2; % частота среза
len = 21; % длина фильтра
b = FIR1(len, Wn); % проектирование НЧ–фильтра
% с окном Хэмминга
[H,F] = freqz(b,1,n,Fs);
clf, plot (F,abs(H));
ylabel('Magnitude')
xlabel('Frequency (Hertz) ')
title('Filter Response')
Рис. 8.3
Wn = (13/Fs)*2; % частота среза
len = 21; % длина фильтра
% проектирование фильтра с окном Бартлетта
b = FIR1(len,Wn,bartlett(len+1));
[H,F] = freqz(b,1,n,Fs);
clf, plot (F,abs(H));
ylabel('Magnitude')
xlabel('Frequency (Hertz) ')
title('Filter Response')
Рис. 8.4
Рис. 8.5
Рис.8.6
Далее рассмотрен пример синтеза цифровых БИХ–фильтров Баттерворта. АЧХ НЧ–фильтра приведена на рис. 8.5. На рис. 8.6 приводится АЧХ для полосового фильтра.
Wn = (13/Fs)*2;
[b,a] = BUTTER(4,Wn); % проектирование НЧФ
[H,F] = freqz(b,a,n,Fs);
clf,plot (F,abs(H));
ylabel('Magnitude')
xlabel('Frequency (Hertz) ')
title('Filter Response')
Wn = [(5/Fs)*2 (13/Fs)*2];
[b,a] = BUTTER(6,Wn);
% проектирование полосового фильтра
[H,F] = freqz(b,a,n,Fs);
clf,plot (F,abs(H));
ylabel('Magnitude')
xlabel('Frequency (Hertz) ')
title('Filter Response')