Блок создания цифровых фильтров

Обзор блока создания цифровых фильтров

Можно использовать блок 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 для получения информации.

Создайте Lowpass, просачиваются Simulink

Можно использовать блок Digital Filter Design для разработки и реализации цифровой КИХ или БИХ-фильтр. В этой теме вы используете его, чтобы создать КИХ фильтр lowpass:

  1. Откройте Simulink и создайте новый файл модели.

  2. От библиотеки DSP System Toolbox™ Filtering, и затем от библиотеки Filter Implementations, перетаскивают блок Digital Filter Design в вашу модель.

  3. Дважды кликните блок Digital Filter Design.

    Приложение разработчика фильтра открывается.

  4. Установите параметры можно следующим образом, и затем нажмите OK:

    • Response Type = Lowpass

    • Design Method = FIR, Equiripple

    • Filter Order = Minimum order

    • Units = Normalized (0 to 1)

    • wpass = 0.2

    • wstop = 0.5

  5. Нажмите Design Filter в нижней части приложения, чтобы спроектировать фильтр.

    Ваш блок Digital Filter Design теперь представляет фильтр параметрами, которые вы задали.

  6. В меню Edit выберите Convert Structure.

    Диалоговое окно Convert Structure открывается.

  7. Выберите Direct-Form FIR Transposed и нажмите OK.

  8. Переименуйте свой блок Digital Filter Design - Lowpass.

Блок Digital Filter Design теперь представляет фильтр lowpass с КИХ Прямой Формы Транспонированная структура. Фильтр передает все частоты до 20% частоты Найквиста (половина частоты дискретизации) и останавливает частоты, больше, чем или равный 50% частоты Найквиста, как задано параметрами wstop и wpass. В следующей теме Создайте Highpass, Просачиваются Simulink, вы используете блок Digital Filter Design, чтобы создать фильтр highpass. Для получения дополнительной информации о реализации предварительно спроектированного фильтра, смотрите Реализации Цифрового фильтра.

Создайте Highpass, просачиваются Simulink

В этой теме вы создаете фильтр highpass с помощью блока Digital Filter Design:

  1. Если модель, в которой вы создали, Создает Lowpass, Просачиваются, Simulink не открыт на вашем рабочем столе, можно открыть эквивалентную модель путем ввода

    ex_filter_ex4  

    в командной строке MATLAB.

  2. От библиотеки DSP System Toolbox Filtering, и затем от библиотеки Filter Implementations, перетаскивают второй блок Digital Filter Design в вашу модель.

  3. Дважды кликните блок Digital Filter Design.

    Приложение разработчика фильтра открывается.

  4. Установите параметры можно следующим образом:

    • Response Type = Highpass

    • Design Method = FIR, Equiripple

    • Filter Order = Minimum order

    • Units = Normalized (0 to 1)

    • wstop = 0.2

    • wpass = 0.5

  5. Нажмите кнопку Design Filter в нижней части приложения, чтобы спроектировать фильтр.

    Ваш блок Digital Filter Design теперь представляет фильтр параметрами, которые вы задали.

  6. В меню Edit выберите Convert Structure.

    Диалоговое окно Convert Structure открывается.

  7. Выберите Direct-Form FIR Transposed и нажмите OK.

  8. Переименуйте свой блок Digital Filter Design - Highpass .

Блок теперь реализует фильтр highpass с прямым КИХ формы, транспонируют структуру. Фильтр передает все частоты, больше, чем или равный 50% частоты Найквиста (половина частоты дискретизации), и останавливает частоты, меньше чем или равные 20% частоты Найквиста, как задано параметрами wstop и wpass. Этот фильтр highpass является противоположностью фильтра lowpass, описанного в, Создают Lowpass, Просачиваются Simulink. Фильтр highpass передает частоты, зашел в фильтр lowpass и останавливает частоты, переданные фильтром lowpass. В следующей теме, Фильтр Высокочастотный Шум в Simulink, вы используете эти блоки Digital Filter Design, чтобы создать модель, способную к удалению высокочастотного шума от сигнала. Для получения дополнительной информации о реализации предварительно спроектированного фильтра, смотрите Реализации Цифрового фильтра.

Отфильтруйте высокочастотный шум в Simulink

В предыдущих темах вы использовали блоки Создания цифровых фильтров, чтобы создать КИХ фильтры highpass и lowpass. В этой теме вы используете эти блоки, чтобы создать модель, которая удаляет высокочастотный шум из сигнала. В этой модели вы используете фильтр highpass, который взволнован с помощью универсального случайного сигнала, чтобы создать высокочастотный шум. После того, как вы добавите этот шум в синусоиду, вы используете фильтр lowpass, чтобы отфильтровать высокочастотный шум:

  1. Если модель, в которой вы создали, Создает Highpass, Просачиваются, Simulink не открыт на вашем рабочем столе, можно открыть эквивалентную модель путем ввода

    ex_filter_ex5 

    в командной строке MATLAB.

  2. Перетащите следующие блоки в свою модель.

    БлокБиблиотекаКоличество
    Add

    Библиотека Simulink Math Operations

    1

    Random Source

    Источники

    1

    Sine Wave

    Источники

    1

    Time Scope

    Приемники

    1

  3. Установите параметры для этих блоков, как обозначено в следующей таблице. Оставьте параметры не перечисленными в таблице при их настройках по умолчанию.

    Установки параметров для других блоков

    БлокУстановка параметра
    Добавление
    • Icon shape = rectangular

    • List of signs = ++

    Случайный источник
    • Source type =  = Uniform

    • Minimum = 0

    • Maximum = 4

    • Sample mode = Discrete

    • Sample time = 1/1000

    • Samples per frame = 50

    Sine wave
    • Frequency (Hz) = 75

    • Sample time = 1/1000

    • Samples per frame = 50

    Осциллограф времени
    • File> Number of Input Ports> 3

    • View> Configuration Properties

      • Откройте вкладку Time и установите Time span = One frame period

  4. Соедините блоки как показано в следующем рисунке. Вы можете должны быть изменить размер некоторых блоков, чтобы выполнить эту задачу.

  5. Во вкладке Modeling нажмите Model Settings. Диалоговое окно Configuration Parameters открывается.

  6. В панели Solver, установленной параметры можно следующим образом, и затем, нажимают OK:

    • Start time = 0

    • Stop time = 5

    • Type = Fixed-step

    • Solver = Discrete (no continuous states)

  7. Во вкладке Simulation выберите Run.

    Симуляция модели начинается, и осциллограф отображает эти три входных сигнала.

  8. После того, как симуляция завершена, выберите View> Legend в меню Time Scope. Легенда появляется в окне Time Scope. Можно перетащить его где угодно на отображении осциллографа. Чтобы изменить названия канала, дважды кликните в легенде и замените названия канала по умолчанию на следующее:

    • Добавьте = Noisy Sine Wave

    • Создание цифровых фильтров – Lowpass = Filtered Noisy Sine Wave

    • Sine wave = Original Sine Wave

    На следующем шаге вы выберете цвет, стиль и маркер каждого канала.

  9. В окне Time Scope выберите View> Style и установите следующее:

    СигналСтрокаМаркерЦвет
    Шумный Sine wave - NoneBlack
    Фильтрованный шумный Sine wave - diamondRed
    Исходный Sine wave None *Blue
  10. Отображение Time Scope должно теперь появиться следующим:

    Вы видите, что фильтр lowpass отфильтровывает высокочастотный шум в шумной синусоиде.

Вы теперь использовали блоки Создания цифровых фильтров, чтобы создать модель, которая удаляет высокочастотный шум из сигнала. Для получения дополнительной информации об этих блоках, смотрите страницу с описанием блока Digital Filter Design. Для получения информации о другом блоке, способном к разработке и реализации фильтров, смотрите Мастер Реализации Фильтра. Чтобы изучить, как сохранить ваши проекты фильтра, смотрите Сохранение и Открытие Сеансов Создания фильтра. Чтобы изучить, как импортировать и экспортировать ваши проекты фильтра, смотрите Импорт и экспорт Квантованные Фильтры.