Можно использовать блок Digital Filter Design для разработки и реализации цифровой фильтр. Фильтр, который вы проектируете, может отфильтровать одноканальные или многоканальные сигналы. Блок Digital Filter Design идеален для симуляции числового поведения вашего фильтра в системе с плавающей точкой, таков как персональный компьютер или микросхема DSP. Можно использовать Simulink® Продукт Coder™, чтобы сгенерировать код С от вашего блока фильтра.
Вы выполняете все создание фильтра и анализ в рамках приложения разработчика фильтра, которое открывается, когда вы дважды кликаете блок Digital Filter Design. Разработчик фильтра обеспечивает обширные параметры создания фильтра и аналитические инструменты, такие как графики импульсной характеристики и нуль полюса.
Если вы спроектировали свой фильтр с помощью разработчика фильтра, блок автоматически понимает фильтр с помощью структуры фильтра, которую вы задаете. Можно затем использовать блок, чтобы отфильтровать сигналы в модели. Можно также подстроить фильтр путем изменения параметров спецификации фильтра во время симуляции. Выходные параметры блока Digital Filter Design численно совпадают с выходными параметрами эквивалентной Системы фильтра object™, когда вы передаете тот же вход.
Блок Digital Filter Design позволяет вам сохранять фильтры, вы проектируете, экспортируете фильтры (к MATLAB® рабочая область, MAT-файлы, и т.д.), и фильтры импорта, спроектированные в другом месте.
Чтобы изучить, как сохранить ваши проекты фильтра, смотрите Сохранение и Открытие Сеансов Создания фильтра. Чтобы изучить, как импортировать и экспортировать ваши проекты фильтра, смотрите Импорт и экспорт Квантованные Фильтры.
Примечание
Можно использовать блок Digital Filter Design для разработки и реализации фильтр. Чтобы реализовать предварительно спроектированный фильтр, используйте Дискретные КИХ-блоки Фильтра Фильтра или Biquad. Оба метода реализуют создание фильтра таким же образом и имеют то же поведение в процессе моделирования и генерацию кода.
Смотрите страницу с описанием блока Digital Filter Design для получения дополнительной информации. Для получения информации о выборе между блоком Digital Filter Design и Мастером Реализации Фильтра, смотрите, Выбирают Filter Design Block.
Этот раздел объясняет сходства и различия между блоками Мастера Реализации Создания цифровых фильтров и Фильтра.
Блок Digital Filter Design и Мастер Реализации Фильтра подобны следующими способами:
Создание фильтра и опции анализа — Оба блока используют приложение разработчика фильтра для создания фильтра и анализа.
Выходные значения — Если выход обоих блоков является плавающей точкой двойной точности, плавающей точкой с одинарной точностью, или фиксированной точкой, выходными значениями обоих блоков численно, совпадают с выходными значениями эквивалентных Системных объектов, когда вы передаете тот же вход.
Блок Digital Filter Design и Мастер Реализации Фильтра обрабатывают следующие вещи по-другому:
Поддерживаемые структуры фильтра — Оба блока поддерживают многие из тех же основных структур фильтра, но Мастер Реализации Фильтра поддерживает больше структур, чем блок Digital Filter Design. Это вызвано тем, что блок может реализовать фильтры с помощью Суммы, Усиления и блоков Задержки. Смотрите страницы с описанием блока Filter Realization Wizard и Digital Filter Design для списка всех структур, которые они поддерживают.
Поддержка типов данных — одна поддержки блока Filter Realization Wizard - и расчет с плавающей точкой с двойной точностью для всех структур фильтра и расчет фиксированной точки для некоторых структур фильтра. Блок Digital Filter Design только поддерживает один - и расчет с плавающей точкой с двойной точностью.
Блок по сравнению с блоком Wizard — The Digital Filter Design является самим фильтром, но блок Filter Realization Wizard только позволяет вам создать новые фильтры и поместить их в существующую модель. Таким образом Мастер Реализации Фильтра не является блоком, который обрабатывает данные в вашей модели, это - мастер, который генерирует блоки фильтра (или подсистемы), который можно затем использовать, чтобы обработать данные в модели.
Следующее является определенными ситуациями, где только блок Digital Filter Design или Мастер Реализации Фильтра являются соответствующими.
Создание цифровых фильтров
Используйте, чтобы симулировать один - и фильтры с плавающей точкой с двойной точностью.
Используйте, чтобы сгенерировать высоко оптимизированный ANSI® Код С, который реализует фильтры с плавающей точкой для встраиваемых систем.
Отфильтруйте мастер реализации
Использование, чтобы симулировать числовое поведение фиксированной точки просачивается микросхема DSP, программируемая пользователем вентильная матрица (FPGA) или интегрированный канал приложений (ASIC).
Используйте, чтобы симулировать один - и фильтры с плавающей точкой с двойной точностью со структурами, которые не поддерживает блок Digital Filter Design.
Используйте, чтобы визуализировать структуру фильтра, когда блок может создать фильтр из Суммы, Усиления и блоков Задержки.
Используйте, чтобы быстро сгенерировать несколько блоков фильтра.
Смотрите Мастер Реализации Фильтра и страницу с описанием блока Filter Realization Wizard для получения информации.
Можно использовать блок Digital Filter Design для разработки и реализации цифровой КИХ или БИХ-фильтр. В этой теме вы используете его, чтобы создать КИХ фильтр lowpass:
Откройте Simulink и создайте новый файл модели.
От библиотеки DSP System Toolbox™ Filtering, и затем от библиотеки Filter Implementations, перетаскивают блок Digital Filter Design в вашу модель.
Дважды кликните блок Digital Filter Design.
Приложение разработчика фильтра открывается.
Установите параметры можно следующим образом, и затем нажмите OK:
Response Type = Lowpass
Design Method = FIR
, Equiripple
Filter Order = Minimum order
Units = Normalized (0 to 1)
wpass = 0.2
wstop = 0.5
Нажмите Design Filter в нижней части приложения, чтобы спроектировать фильтр.
Ваш блок Digital Filter Design теперь представляет фильтр параметрами, которые вы задали.
В меню Edit выберите Convert Structure.
Диалоговое окно Convert Structure открывается.
Выберите Direct-Form FIR Transposed и нажмите OK.
Переименуйте свой блок Digital Filter Design - Lowpass
.
Блок Digital Filter Design теперь представляет фильтр lowpass КИХ Прямой Формы Транспонированная структура. Фильтр передает все частоты до 20% частоты Найквиста (половина частоты дискретизации) и останавливает частоты, больше, чем или равный 50% частоты Найквиста, как задано параметрами wstop и wpass. В следующей теме Создайте Highpass, Просачиваются Simulink, вы используете блок Digital Filter Design, чтобы создать фильтр highpass. Для получения дополнительной информации о реализовании предварительно спроектированного фильтра, смотрите Реализации Цифрового фильтра.
В этой теме вы создаете фильтр highpass с помощью блока Digital Filter Design:
Если модель, в которой вы создали, Создает Lowpass, Просачиваются, Simulink не открыт на вашем рабочем столе, можно открыть эквивалентную модель путем ввода
ex_filter_ex4
в командной строке MATLAB.
От библиотеки DSP System Toolbox Filtering, и затем от библиотеки Filter Implementations, перетаскивают второй блок Digital Filter Design в вашу модель.
Дважды кликните блок Digital Filter Design.
Приложение разработчика фильтра открывается.
Установите параметры можно следующим образом:
Response Type = Highpass
Design Method = FIR
, Equiripple
Filter Order = Minimum order
Units = Normalized (0 to 1)
wstop = 0.2
wpass = 0.5
Нажмите кнопку Design Filter в нижней части приложения, чтобы спроектировать фильтр.
Ваш блок Digital Filter Design теперь представляет фильтр параметрами, которые вы задали.
В меню Edit выберите Convert Structure.
Диалоговое окно Convert Structure открывается.
Выберите Direct-Form FIR Transposed и нажмите OK.
Переименуйте свой блок Digital Filter Design - Highpass
.
Блок теперь реализует highpass фильтр с прямым КИХ формы, транспонируют структуру. Фильтр передает все частоты, больше, чем или равный 50% частоты Найквиста (половина частоты дискретизации), и останавливает частоты, меньше чем или равные 20% частоты Найквиста, как задано параметрами wstop и wpass. Этот фильтр highpass является противоположностью фильтра lowpass, описанного в, Создают Lowpass, Просачиваются Simulink. Фильтр highpass передает частоты, зашел в фильтр lowpass и останавливает частоты, переданные фильтром lowpass. В следующей теме, Фильтр Высокочастотный Шум в Simulink, вы используете эти блоки Digital Filter Design, чтобы создать модель, способную к удалению высокочастотного шума от сигнала. Для получения дополнительной информации о реализовании предварительно спроектированного фильтра, смотрите Реализации Цифрового фильтра.
В предыдущих темах вы использовали блоки Создания цифровых фильтров, чтобы создать КИХ фильтры highpass и lowpass. В этой теме вы используете эти блоки, чтобы создать модель, которая удаляет высокочастотный шум из сигнала. В этой модели вы используете фильтр highpass, который взволнован с помощью универсального случайного сигнала, чтобы создать высокочастотный шум. После того, как вы добавите этот шум в синусоиду, вы используете фильтр lowpass, чтобы отфильтровать высокочастотный шум:
Если модель, в которой вы создали, Создает Highpass, Просачиваются, Simulink не открыт на вашем рабочем столе, можно открыть эквивалентную модель путем ввода
ex_filter_ex5
в командной строке MATLAB.
Перетащите следующие блоки в свою модель.
Блок | Библиотека | Количество |
---|---|---|
Add (Simulink) | Библиотека Simulink Math Operations | 1 |
Random Source | Источники | 1 |
Sine Wave | Источники | 1 |
Time Scope | Приемники | 1 |
Установите параметры для этих блоков, как обозначено в следующей таблице. Оставьте параметры не перечисленными в таблице при их настройках по умолчанию.
Установки параметров для других блоков
Блок | Установка параметра |
---|---|
Добавление |
|
Случайный источник |
|
Sine wave |
|
Time Scope |
|
Соедините блоки как показано в следующем рисунке. Вы можете должны быть изменить размер некоторых блоков, чтобы выполнить эту задачу.
Во вкладке Modeling нажмите Model Settings. Диалоговое окно Configuration Parameters открывается.
В панели Solver, установленной параметры можно следующим образом, и затем, нажимают OK:
Start time = 0
Stop time = 5
Type = Fixed-step
Solver = Discrete (no continuous states)
Во вкладке Simulation выберите Run.
Симуляция модели начинается, и осциллограф отображает эти три входных сигнала.
После того, как симуляция завершена, выберите View> Legend в меню Time Scope. Легенда появляется в окне Time Scope. Можно перетащить его где угодно на отображении осциллографа. Чтобы изменить названия канала, дважды кликните в легенде и замените названия канала по умолчанию на следующее:
Добавьте = Noisy Sine Wave
Создание цифровых фильтров – Lowpass = Filtered Noisy Sine Wave
Sine wave = Original Sine Wave
На следующем шаге вы выберете цвет, стиль и маркер каждого канала.
В окне Time Scope выберите View> Style и установите следующее:
Сигнал | Строка | Маркер | Цвет |
---|---|---|---|
Шумный Sine wave | - | None | Black |
Фильтрованный шумный Sine wave | - | diamond | Red |
Исходный Sine wave | None | * | Blue |
Отображение Time Scope должно теперь появиться следующим:
Вы видите, что фильтр lowpass отфильтровывает высокочастотный шум в шумной синусоиде.
Вы теперь использовали блоки Создания цифровых фильтров, чтобы создать модель, которая удаляет высокочастотный шум из сигнала. Для получения дополнительной информации об этих блоках, смотрите страницу с описанием блока Digital Filter Design. Для получения информации о другом блоке, способном к разработке и реализованию фильтров, смотрите Мастер Реализации Фильтра. Чтобы изучить, как сохранить ваши проекты фильтра, смотрите Сохранение и Открытие Сеансов Создания фильтра. Чтобы изучить, как импортировать и экспортировать ваши проекты фильтра, смотрите Импорт и экспорт Квантованные Фильтры.