Моделирование систем ЦОС
Фильтрация сигнала
Фильтрацией называется изменение амплитуды и/или фазы входных сигналов. Одна из типичных задач для фильтра – удаление нежелательных высокочастотных составляющих в сигнале и усиление полезной низкочастотной составляющей.
Амплитудно-частотная характеристика (АЧХ) фильтра – это зависимость его коэффициента усиления от частоты сигнала. Фильтр усиливает сигнал в одних полосах частот и подавляет в других.
Типы частотно-избирательных фильтров
- Фильтр нижних частот (ФНЧ) – пропускает низкие частоты до определенной частоты среза и подавляет высокие частоты;
- Фильтр верхних частот (ФВЧ) – подавляет низкие частоты и пропускает высокие частоты;
- Полосно-пропускающий фильтр – пропускает сигнал только в определенной полосе частот и подавляет во всех остальных;
- Полосно-заграждающий фильтр – подавляет сигнал в определенной полосе частот и пропускает во всех остальных;
- Резонансный фильтр – пропускает сигнал на одной конкретной частоте;
- Фильтр-пробка – подавляет сигнал на одной конкретной частоте.
АЧХ этих типов фильтров схематически изображены на рисунке.
Спецификация фильтра на примере фильтра нижних частот
Рассмотрим подробнее фильтр нижних частот (ФНЧ). Он пропускает низкие частоты до определенной частоты среза и подавляет высокие частоты. График АЧХ такого фильтра схематически приведен на рисунке:
У АЧХ фильтра нижних частот можно выделить 3 основные полосы:
-
Полоса пропускания (passband) – диапазон частот, в котором должен находиться полезный сигнал. Граница полосы пропускания – частота . Она отсчитывается по уровню –3 дБ от максимума. Усиление сигнала в этой полосе в идеале должно быть постоянным, но на практике на АЧХ присутствуют пульсации, допустимый уровень которых определяется параметром (дБ).
-
Полоса заграждения (stopband) – диапазон частот, в котором сигнал должен гарантированно ослабляться не менее чем на дБ. Полоса заграждения начинается с частоты .
-
Полоса перехода (transition band) находится между этими полосами. Усиление в этой полосе плавно спадает.
Блоки фильтров Engee
Engee предоставляет набор блоков для анализа, проектирования и реализации фильтров. Эти блоки находятся в библиотеке Обработка сигналов -> Фильтры.
Фильтрация с помощью блока Notch-Peak Filter
Блок Notch-Peak Filter – это блок режекторного и узкополосного БИХ-фильтров второго порядка с настраиваемыми параметрами. Он фильтрует входной сигнал по времени, используя заданную центральную частоту и полосу пропускания 3 дБ. Блок находится в библиотеке Обработка сигналов -> Фильтры -> Расчет фильтров.
Нам понадобятся следующие параметры этого блока:
- Filter specification – параметры или коэффициенты, которые блок использует для проектирования фильтра. По умолчанию установлено значение
Bandwidth and center frequency(проектирование фильтра с использованием параметров 3 dB bandwidth (Hz) и Notch/Peak center frequency (Hz)). - 3 dB bandwidth (Hz) – полоса пропускания 3 дБ.
- Notch/Peak center frequency (Hz) – центральная частота режекторного или узкополосного фильтра.
- Input sample rate (Hz) — частота дискретизации входного сигнала.
Далее вы построите модель, которая считывает файл MysterySig1.wav, содержащий речевой сигнал и помеху в виде тонального сигнала на частоте 7350 Гц. Затем помеха отфильтровывается с помощью блока Notch-Peak Filter.
✏️Задание 1
Загрузите в модель сигнал с помехой и постройте его спектр:
- Создайте новую модель. Добавьте в модель блок From Multimedia File. В окне настроек блока задайте значение параметра File name (имя файла) равным
MysterySig1.wav, а значение параметра Samples per audio channel (число отсчетов на аудиоканал) – равным1. - Добавьте в модель блок Заглушка. Соедините его вход с выходом блока From Multimedia File.
- Залогируйте выходной сигнал блока From Multimedia File.
- В окне настроек модели задайте время моделирования равным
5с, а размер шага –1/22050. - Запустите модель. Постройте график сигнала в частотной области.
Решение
Модель:
Спектр сигнала:
✏️Задание 2
Отфильтруйте помеху:
- Добавьте в модель блок Notch-Peak Filter. Подсоедините этот блок между блоками From Multimedia File и Заглушка.
- В окне настроек блока задайте следующие значения параметров:
|
Параметр |
Filter specification |
3 dB bandwidth (Hz) |
Notch/Peak center frequency (Hz) |
Input sample rate (Hz) |
|
Значение |
|
|
|
|
- Залогируйте выходной сигнал блока Notch-Peak Filter.
- Запустите модель. Постройте на одном полотне графики исходного и отфильтрованного сигналов в частотной области.
Решение
Модель:
Спектры сигналов:
На спектре видно, что в отфильтрованном сигнале помеха на частоте 7350 Гц исчезла.
Фильтрация с помощью блока Биквадратный фильтр
Блок Биквадратный фильтр моделирует биквадратный БИХ-фильтр. Блок реализует статические БИХ-фильтры с фиксированными коэффициентами. Блок находится в библиотеке Обработка сигналов -> Фильтры -> Реализация фильтров.
Коэффициенты фильтра могут быть заданы в окне настроек блока в виде матрицы SOS (second-order section, секционный фильтр второго порядка) или через входной порт. Матрица SOS (параметр Матрица SOS (Mx6)) представляет собой матрицу размером , где — количество секций. Каждая строка матрицы SOS содержит коэффициенты числителя и знаменателя ( и ) соответствующей секции фильтра:
Ведущие коэффициенты знаменателя равны единице.
Масштабные коэффициенты (параметр Масштабные значения) используются как коэффициенты усиления для каждой секции фильтра. Можно задать скаляр с вещественным значением или вектор длины , где – вторая размерность матрицы SOS. Если задан скаляр, то его значение задает коэффициент усиления перед первой секцией фильтра второго порядка. Остальные значения коэффициента усиления по умолчанию равны 1. Если задан вектор значений, то каждое значение определяет коэффициенты усиления для каждой секции фильтра.
В следующем Задании вы реализуете фильтр нижних частот с помощью блока Биквадратный фильтр и примените его к сигналу MysterySig1.wav. В результате будут подавлены все высокочастотные составляющие исходного сигнала вместе с тональным сигналом на частоте 7350 Гц.
✏️Задание 3
Модифицируйте модель, построенную в предыдущем Задании:
-
Удалите из модели блок Notch-Peak Filter. На его место вставьте блок Биквадратный фильтр.
-
В окне настроек блока задайте значение параметра Источник коэффициентов равным
Поле ввода параметров, а значение параметра Структура фильтра равнымПрямая форма II. -
Задайте значение параметра Матрица SOS (Mx6) в виде следующей матрицы:
[1 2 1 1 -0.7827 0.9412; 1 2 1 1 -0.8560 0.8308; 1 2 1 1 -1.0198 0.7273; 1 2 1 1 -1.2259 0.6351; 1 2 1 1 -1.4028 0.5679; 1 1 0 1 -0.7367 0]
- Задайте значение параметра Масштабные значения в виде вектора
[0.2896 0.2437 0.1769 0.1023 0.0413 0.1317 1]
Остальные параметры блока оставьте заданными по умолчанию.
-
Залогируйте выходной сигнал блока Биквадратный фильтр.
-
Запустите модель. Постройте на одном полотне графики исходного и отфильтрованного сигналов в частотной области.
Решение
Модель:
Спектры сигналов:
На спектре видно, что мощность высокочастотных составляющих исходного сигнала оказалась ослабленной, но пик, соответствующий тональному сигналу на частоте 7350 Гц, полностью не исчез.
Работа с приложением Редактор цифровых фильтров
Редактор цифровых фильтров — это приложение Engee, предназначенное для гибкой настройки и проектирования различных типов цифровых фильтров. С помощью данного инструмента можно проектировать фильтры, которые удовлетворяют различным требованиям по частотным характеристикам, обеспечивая эффективную фильтрацию сигналов в различных областях, таких как цифровая обработка сигналов, телекоммуникации и аудиотехника.
Чтобы открыть редактор фильтров, зайдите в окно приложений Engee и выберите Редактор цифровых фильтров.
Приложение открывается в отдельной вкладке браузера и требует некоторое время для загрузки:
В редакторе можно выбрать тип фильтра, метод синтеза, порядок фильтра и задать частотные параметры в зависимости от конкретных задач. После всех выставленных настроек нужно нажать кнопку Синтез фильтра внизу редактора для отображения информации на графиках.
Настройка фильтров осуществляется с помощью четырех модулей:
- Тип АЧХ фильтра (выбор типа АЧХ фильтра и метода синтеза фильтра);
- Порядок фильтра (выбор степени полинома, определяющего сложность фильтра, а также задание коэффициента плотности сетки частоты);
- Требования по частоте (настройка частоты дискретизации, частоты пропускания и частоты подавления);
- Требования по амплитуде (настройка уровня пульсаций и подавления).
В разделе Информация о фильтре показаны параметры и характеристики фильтра.
Приложение предоставляет следующие возможности для графического и численного отображения характеристик проектируемого фильтра:
- спецификация фильтра;
- амплитудно-частотная характеристика фильтра, показывающая зависимость коэффициента усиления сигнала от частоты;
- фазо-частотная характеристика фильтра, показывающая зависимость фазового сдвига сигнала от частоты;
- совместное отображение амплитудно-частотной и фазо-частотной характеристик;
- групповое время запаздывания, показывающее среднюю задержку сигнала на различных частотах;
- фазовая задержка, показывающая временную задержку фазы сигнала;
- импульсная характеристика, показывающая отклик фильтра на единичный импульс (дельта-функцию);
- переходная характеристика, показывающая отклик фильтра на единичную ступенчатую функцию (функцию Хевисайда);
- нуль-полюсная диаграмма, определяющая точки обращения в ноль полинома числителя (нули) и знаменателя (полюса).
- коэффициенты фильтра (коэффициенты числителя и знаменателя передаточной функции фильтра).
Для выгрузки результатов синтеза фильтра нужно нажать кнопку Коэффициенты фильтра в модуле Информация о фильтре:
В колонках Числитель и Знаменатель представлены коэффициенты передаточной функции цифрового фильтра.
При нажатии на кнопки Числитель и Знаменатель будут выгружены txt-файлы — num.txt для числителя и denom.txt для знаменателя.
В следующем упражнении вы загрузите речевой сигнал MysterySig2.wav, искаженный цветным шумом (спектр цветного шума распределен неравномерно, в отличие от белого шума), удалите шумовую составляющую с помощью фильтра нижних частот, коэффициенты которого будут вычислены в приложении Редактор цифровых фильтров.
✏️Задание 4
Загрузите в модель сигнал с шумом и постройте его спектр:
- Создайте новую модель. Добавьте в модель блок From Multimedia File. В окне настроек блока задайте значение параметра File name (имя файла) равным
MysterySig2.wav, а значение параметра Samples per audio channel (число отсчетов на аудиоканал) – равным1. - Добавьте в модель блок Заглушка. Соедините его вход с выходом блока From Multimedia File.
- Залогируйте выходной сигнал блока From Multimedia File.
- В окне настроек модели задайте время моделирования равным
5с, а размер шага –1/22050. - Запустите модель. Постройте график сигнала в частотной области.
Решение
Модель:
Спектр сигнала:
✏️Задание 5
Спроектируйте фильтр нижних частот с помощью приложения Редактор цифровых фильтров:
-
Откройте приложение Редактор цифровых фильтров.
-
Задайте следующие значения параметров фильтра:
- Тип АЧХ фильтра –
Фильтр нижних частот; - Метод синтеза фильтра –
КИХ,Равномерный; - Порядок фильтра –
Минимальный порядок; - Коэффициент плотности сетки частоты –
20.
Требования по частоте:
- Размерность –
Гц; - Частота дискретизации Fs –
22050; - Частота пропускания Fpass –
7500; - Частота подавления Fstop –
8000.
Требования по амплитуде:
- Единицы измерения –
дБ; - Пульсации (Apass) –
1; - Подавление (Astop) –
40.
-
Нажмите на кнопку Синтез фильтра.
-
Нажмите на кнопку Коэффициенты фильтра. Сохраните коэффициенты числителя на вашем компьютере в файле
num.txt.
Решение
✏️Задание 6
Выполните фильтрацию сигнала с помощью спроектированного фильтра:
- Вернитесь к вашей модели. Добавьте в модель блок Дискретный КИХ-фильтр. Он находится в библиотеке Базовые -> Дискретные. Подсоедините его между блоками From Multimedia File и Заглушка.
- Из файла
num.txtскопируйте вектор коэффициентов фильтра и вставьте его в поле значений параметра Коэффициенты в окне настроек блока Дискретный КИХ-фильтр. Напомним, что элементы вектора заключаются в квадратные скобки[...]. - Залогируйте выходной сигнал блока Дискретный КИХ-фильтр.
- Запустите модель. Постройте на одном полотне графики исходного и отфильтрованного сигналов в частотной области.
Решение
Модель:
Спектры сигналов: