Для проектирования и реализации цифрового фильтра можно использовать блок «Проектирование цифрового фильтра». Проектируемый фильтр может фильтровать одноканальные или многоканальные сигналы. Блок проектирования цифрового фильтра идеально подходит для моделирования числового поведения фильтра в системе с плавающей запятой, такой как персональный компьютер или микросхема DSP. Продукт Simulink ® Coder™ можно использовать для создания кода C из блока фильтров.
Проектирование и анализ всех фильтров выполняются в приложении дизайнера фильтров, которое открывается при двойном щелчке по блоку «Дизайн цифрового фильтра». Конструктор фильтров предоставляет обширные инструменты проектирования и анализа фильтров, такие как графики нулевого полюса и импульсной характеристики.
После разработки фильтра с помощью конструктора фильтров блок автоматически реализует фильтр с помощью указанной структуры фильтра. Затем можно использовать блок для фильтрации сигналов в модели. Можно также точно настроить фильтр, изменив параметры спецификации фильтра во время моделирования. Выходы блока проектирования цифрового фильтра численно совпадают с выходами эквивалентного фильтра System object™ при прохождении того же входа.
Блок проектирования цифровых фильтров позволяет сохранять проектируемые фильтры, экспортировать фильтры (в рабочее пространство MATLAB ®, MAT-файлы и т.д.) и импортировать фильтры, разработанные в другом месте.
Сведения о том, как сохранить проекты фильтров, см. в разделе Сохранение и открытие сеансов проектирования фильтров. Сведения об импорте и экспорте конструкций фильтров см. в разделе Импорт и экспорт квантованных фильтров.
Примечание
Для проектирования и реализации фильтра можно использовать блок «Проектирование цифрового фильтра». Для реализации заранее разработанного фильтра используйте блоки дискретного фильтра FIR или Biquad Filter. Оба метода реализуют конструкцию фильтра одинаковым образом и имеют одинаковое поведение во время моделирования и генерации кода.
Дополнительные сведения см. на странице ссылок на блок «Проектирование цифрового фильтра». Сведения о выборе между блоком «Проектирование цифрового фильтра» и мастером реализации фильтра см. в разделе Выбор блока проектирования фильтра.
В этом разделе описываются сходства и различия между блоками «Проектирование цифрового фильтра» и «Мастер реализации фильтра».
Блок проектирования цифрового фильтра и мастер реализации фильтра аналогичны следующим способам:
Параметры конструирования и анализа фильтров - оба блока используют приложение конструктора фильтров для конструирования и анализа фильтров.
Выходные значения - если выводом обоих блоков является плавающая точка с двойной точностью, плавающая точка с одной точностью или фиксированная точка, выходные значения обоих блоков численно совпадают с выходными значениями эквивалентных системных объектов при передаче одного и того же ввода.
Блок проектирования цифрового фильтра и мастер реализации фильтра выполняют следующие операции по-разному:
Поддерживаемые структуры фильтров - оба блока поддерживают многие из тех же базовых структур фильтров, но мастер реализации фильтров поддерживает больше структур, чем блок проектирования цифровых фильтров. Это происходит потому, что блок может реализовать фильтры, используя блоки суммы, усиления и задержки. Список всех поддерживаемых структур см. на страницах «Мастер реализации фильтров» и «Справочник по проектированию цифровых фильтров».
Поддержка типа данных - блок мастера реализации фильтра поддерживает вычисления с плавающей запятой с одной и двойной точностью для всех структур фильтров и вычисления с фиксированной точкой для некоторых структур фильтров. Блок проектирования цифрового фильтра поддерживает только вычисления с плавающей запятой с одной и двойной точностью.
Блок в сравнении с мастером (Block versus Wizard) - блок «Digital Filter Design» является самим фильтром, но блок «Filter Implementation Wizard» (Мастер реализации фильтров) позволяет создавать новые фильтры и помещать их в существующую модель. Таким образом, мастер реализации фильтров не является блоком, обрабатывающим данные в модели, а является мастером, генерирующим блоки фильтров (или подсистемы), которые затем можно использовать для обработки данных в модели.
Ниже приведены конкретные ситуации, в которых подходит только блок проектирования цифрового фильтра или мастер реализации фильтра.
Проектирование цифрового фильтра
Используется для моделирования фильтров с плавающей запятой с одинарной и двойной точностью.
Используется для создания высокооптимизированного кода ANSI ® C, реализующего фильтры с плавающей запятой для встраиваемых систем .
Мастер реализации фильтра
Используется для моделирования числового поведения фильтров с фиксированной точкой в микросхеме DSP, программируемой на месте матрице вентилей (FPGA) или интегральной схеме (ASIC).
Используется для моделирования фильтров с плавающей запятой с одинарной и двойной точностью со структурами, которые не поддерживаются блоком проектирования цифровых фильтров.
Используйте для визуализации структуры фильтра, поскольку блок может создавать фильтр из блоков «Сумма», «Коэффициент усиления» и «Задержка».
Используется для быстрого создания нескольких блоков фильтров.
Для получения дополнительной информации см. раздел Мастер реализации фильтра и страница ссылки на блок Мастер реализации фильтра.
Можно использовать блок «Проектирование цифрового фильтра» для проектирования и реализации цифрового фильтра FIR или IIR. В этом разделе он используется для создания фильтра нижних частот FIR:
Откройте Simulink и создайте новый файл модели.
В библиотеке DSP System Toolbox™ Filtering, а затем в библиотеке Filter Implementations щелкните и перетащите в модель блок Digital Filter Design.
Дважды щелкните на блоке «Проектирование цифрового фильтра».
Откроется приложение дизайнера фильтров.
Задайте параметры следующим образом и нажмите кнопку ОК:
Тип ответа = Lowpass
Метод проектирования = FIR, Equiripple
Порядок фильтрации = Minimum order
Единицы = Normalized (0 to 1)
wpass = 0.2
wstop = 0.5
Щелкните Дизайн-фильтр в нижней части приложения, чтобы создать фильтр.
Блок проектирования цифрового фильтра теперь представляет фильтр с указанными параметрами.
В меню «Правка» выберите «Преобразовать структуру».
Откроется диалоговое окно Преобразовать структуру (Convert Structure).
Выберите «Прямая форма» «Перенос FIR» и нажмите «ОК».
Переименование блока Digital Filter Design - Lowpass.
Блок проектирования цифрового фильтра теперь представляет фильтр нижних частот с прямой структурой FIR. Фильтр пропускает все частоты вплоть до 20% частоты Найквиста (половины частоты дискретизации) и останавливает частоты, превышающие или равные 50% частоты Найквиста, как определено параметрами wpass и wstop. В следующем разделе Создание фильтра верхних частот в Simulink используется блок проектирования цифрового фильтра для создания фильтра верхних частот. Дополнительные сведения о реализации заранее разработанного фильтра см. в разделе Реализации цифровых фильтров.
В этом разделе описывается создание фильтра верхних частот с помощью блока «Проектирование цифрового фильтра»:
Если модель, созданная в разделе Создание фильтра нижних частот в Simulink, не открыта на рабочем столе, можно открыть эквивалентную модель, введя
ex_filter_ex4
в командной строке MATLAB.
В библиотеке DSP System Toolbox Filtering, а затем в библиотеке Filter Implementations щелкните и перетащите в модель второй блок Digital Filter Design.
Дважды щелкните на блоке «Проектирование цифрового фильтра».
Откроется приложение дизайнера фильтров.
Установите следующие параметры:
Тип ответа = Highpass
Метод проектирования = FIR, Equiripple
Порядок фильтрации = Minimum order
Единицы = Normalized (0 to 1)
wstop = 0.2
wpass = 0.5
Нажмите кнопку «Создать фильтр» в нижней части приложения, чтобы создать фильтр.
Блок проектирования цифрового фильтра теперь представляет фильтр с указанными параметрами.
В меню «Правка» выберите «Преобразовать структуру».
Откроется диалоговое окно Преобразовать структуру (Convert Structure).
Выберите «Прямая форма» «Перенос FIR» и нажмите «ОК».
Переименование блока Digital Filter Design - Highpass .
Блок теперь реализует фильтр верхних частот с прямой структурой переноса FIR. Фильтр пропускает все частоты, превышающие или равные 50% частоты Найквиста (половине частоты дискретизации), и останавливает частоты, меньшие или равные 20% частоты Найквиста, как определено параметрами wpass и wstop. Этот фильтр верхних частот противоположен фильтру нижних частот, описанному в разделе Создание фильтра нижних частот в Simulink. Фильтр верхних частот пропускает частоты, остановленные фильтром нижних частот, и останавливает частоты, пропущенные фильтром нижних частот. В следующем разделе «Фильтрация высокочастотного шума в Simulink» эти блоки проектирования цифрового фильтра используются для создания модели, способной удалять высокочастотный шум из сигнала. Дополнительные сведения о реализации заранее разработанного фильтра см. в разделе Реализации цифровых фильтров.
В предыдущих разделах для создания фильтров нижних и верхних частот КИХ использовались блоки проектирования цифровых фильтров. В этом разделе эти блоки используются для построения модели, которая удаляет высокочастотный шум из сигнала. В этой модели для создания высокочастотного шума используется фильтр верхних частот, возбуждаемый равномерным случайным сигналом. После добавления этого шума к синусоиде используется фильтр нижних частот для фильтрации высокочастотного шума:
Если модель, созданная в разделе Создание фильтра верхних частот в Simulink, не открыта на рабочем столе, можно открыть эквивалентную модель, введя
ex_filter_ex5
в командной строке MATLAB.
Щелкните и перетащите следующие блоки в модель.
| Блок | Библиотека | Количество |
|---|---|---|
| Добавить (Simulink) | Библиотека математических операций Simulink | 1 |
| Случайный источник | Источники | 1 |
| Синусоидальная волна | Источники | 1 |
| Объем времени | Сливы | 1 |
Задайте параметры для этих блоков, как указано в следующей таблице. Оставьте параметры, не перечисленные в таблице, в настройках по умолчанию.
Настройки параметров для других блоков
| Блок | Настройка параметров |
|---|---|
| Добавить |
|
| Случайный источник |
|
| Синусоидальная волна |
|
| Объем времени |
|
Подключите блоки, как показано на следующем рисунке. Для выполнения этой задачи может потребоваться изменить размер некоторых блоков.

На вкладке Моделирование (Modeling) щелкните Параметры модели (Model Settings). Откроется диалоговое окно Параметры конфигурации (Configuration Parameters).
На панели Решатель (Solver) задайте параметры следующим образом и нажмите кнопку ОК.
Время начала = 0
Время остановки = 5
Тип = Fixed-step
Решатель = Discrete (no continuous states)
На вкладке Моделирование (Simulation) выберите Выполнить (Run).
Начинается моделирование модели, и в области отображаются три входных сигнала.
После завершения моделирования выберите «Вид» > «Легенда» в меню «Область времени». Легенда появится в окне Область времени (Time Scope). Можно щелкнуть и перетащить его в любом месте экрана области. Чтобы изменить имена каналов, дважды щелкните внутри легенды и замените имена каналов по умолчанию на следующие:
Добавить = Noisy Sine Wave
Конструкция цифрового фильтра - Lowpass = Filtered Noisy Sine Wave
Синусоидальная волна = Original Sine Wave
На следующем шаге задаются цвет, стиль и маркер каждого канала.
В окне «Область времени» выберите «Вид» > «Стиль» и задайте следующие параметры:
| Сигнал | Линия | Маркер | Цвет |
|---|---|---|---|
| Шумная синусоидальная волна | - | Ничего | Черный |
| Отфильтрованная шумная синусоидальная волна | - | алмаз | Красный |
| Исходная синусоидальная волна | Ничего | * | Синий |
Теперь появится следующее окно «Time Scope»:

Видно, что фильтр нижних частот отфильтровывает высокочастотный шум в шумовой синусоиде.
Теперь для построения модели, которая удаляет высокочастотный шум из сигнала, используются блоки проектирования цифрового фильтра. Дополнительные сведения об этих блоках см. на странице ссылок на блоки проекта цифрового фильтра. Сведения о другом блоке, способном разрабатывать и внедрять фильтры, см. в разделе Мастер реализации фильтров. Сведения о том, как сохранить проекты фильтров, см. в разделе Сохранение и открытие сеансов проектирования фильтров. Сведения об импорте и экспорте конструкций фильтров см. в разделе Импорт и экспорт квантованных фильтров.