- •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
5.15. Графика
MATLAB предоставляет замечательные возможности построения плоских и трехмерных графиков. Команда plotdemo позволяет увидеть некоторые из этих возможностей в действии.
Команда plot создает линейную систему координат (x, y), где х, y – вектора одинаковой длины. Команда plot(x,y) открывает графическое окно и строит график y(x). Например, график синуса на интервале [–4, 4] строится с помощью следующих команд:
x = –4:.01:4;
y = sin(x)
plot(x,y)
где x – набор точек, разбивающих область определения на интервалы длиной 0.01, а y – вектор значений синусов этих точек (помните, что sin – поэлементная операция (см. 5.7).
Когда экран находится в графическом режиме, нажатие на любую клавишу восстановит изображение командного экрана. Команда shg (show graph) вернет в текущий графический экран.
Построим график y = exp(–x^2) на интервале [–1.5, 1.5]:
x = –1.5:.01:1.5;
y = exp(–x.^2);
plot(x,y)
Заметим, что необходимо поставить точку перед ^, чтобы операция выполнялась поэлементно (см. 5.3). Чтобы научиться использовать такие возможности MATLAB, как множественные графики, заголовки, метки на осях, сетки, управление масштабом, следует обратиться к руководству пользователя MATLAB или прочитать сведения об этих операциях в help.
Документирующая копия графического окна может быть получена командой MATLAB print.
Трехмерные графики поверхностей строятся командой mesh(сетка). Команда mesh(z) строит трехмерный перспективный график элементов матрицы z. Эффект трехмерности достигается с помощью изображения сетки, как бы наброшенной на поверхность. Поэтому такие графики назовем сеточными. Поверхность задается над прямоугольной решеткой в плоскости x – y; z(i, j) – высота точки сеточного графика над плоскостью; i – x-координата; j – y-координата.
6. Записная книжка matlab для Microsoft Word
6.1. Начало работы
Записная книжка MATLAB (М-book) – интерфейс для работы с MATLAB из Microsoft Word. Интерфейс Записной книжки MATLAB позволяет пересылать команды, созданные внутри документа Word, в MATLAB для вычислений. Результат обработки команд MATLAB возвращается в Word и вставляется в документ. Поддерживается вывод результатов из MATLAB в текстовом и графическом представлении. Полное описание работы с Записной книжкой MATLAB содержится в справочной системе MATLAB (раздел "M-book").
Каталог matlab/notebook содержит большое количество M-book – примеров. Чтобы создать М-воок, следует из меню Файл/Создать выбрать шаблон M-book. Теперь, команды, введенные в M-book, могут быть посланы в MATLAB для выполнения.
6.2. Краткий пример использования Записной книжки
Рассмотрим пример использования M-book для ввода свободного текста и выполнения команд MATLAB. Используем функцию MATLAB magic(), чтобы сгенерировать "магическую" квадратную матрицу. На следующей строке вводим соответствующее выражение: x=magic(10) и нажимаем Ctrl-Enter:
[ x=magic(10) ]
x =
92 99 1 8 15 67 74 51 58 40
98 80 7 14 16 73 55 57 64 41
4 81 88 20 22 54 56 63 70 47
85 87 19 21 3 60 62 69 71 28
86 93 25 2 9 61 68 75 52 34
17 24 76 83 90 42 49 26 33 65
23 5 82 89 91 48 30 32 39 66
79 6 13 95 97 29 31 38 45 72
10 12 94 96 78 35 37 44 46 53
11 18 100 77 84 36 43 50 27 59
Выражение MATLAB было автоматически преобразовано в элемент ввода и передано в MATLAB для вычисления, результат размещен сразу после ввода команды.
Далее представлен другой способ выполнения команд. Команда или последовательность команд сначала выделяется (команда imagesc создает изображение матрицы, используя данные для colormap). Затем из меню Notebook выбирается команда Define Input Cell, которая преобразует выделенный фрагмент в элемент ввода:
[ imagesc(x) ]
Команда imagesc создает изображение матрицы, масштабирующей данные для colormap (рис. 6.1).
Рис. 6.1
Команда Evaluate M-book (Alt-R) используется для вычисления всех элементов ввода, определенных в M-book. Попробуйте изменить значение параметра функции magic() и затем перевычислить этот M-book, нажимая Alt-R.
Примечания:
Пункт меню "Перенос MATLAB на передний план" и клавиша (ключ) акселератора (Аlt-М.) облегчает доступ к MATLAB из M-book.
Выбор опции M-book "Остановить вычисление по ошибке" останавливает оценку ряда элементов ввода, когда в одном из них происходит ошибка. Это особенно полезно при оценке всего M-book.