Two-Channel Analysis Subband Filter

Разложите сигнал на высокочастотные и низкочастотные поддиапазоны

Библиотека

Фильтрация/многомерные фильтры

dspmlti4

  • Two-Channel Analysis Subband Filter block

Описание

Блок Двухканальный фильтр поддиапазона анализа разлагает вход на высокочастотные и низкочастотные поддиапазоны, каждый с половинной шириной полосы и половинной частотой дискретизации входного сигнала.

Блок фильтрует вход с помощью пары фильтров highpass и lowpass конечной импульсной характеристики, а затем понижает значения результатов на 2, как показано на следующем рисунке.

Блок реализует шаги конечной импульсной характеристики фильтрации и понижающей дискретизации вместе с помощью структуры полифазы фильтра, которая более эффективна, чем простой алгоритм фильтрации, а затем децимирования, показанный на предыдущем рисунке. Каждый поддиапазон является первой фазой соответствующего полифазного фильтра. Можно реализовать многоуровневую группу фильтров диадического анализа путем соединения нескольких копий этого блока или с помощью блока Dyadic Analysis Filter Bank. Смотрите Создание Многоуровневых Банков Диадического Фильтра Анализа для получения дополнительной информации.

Вы должны предоставить вектор коэффициентов фильтра для lowpass и highpass конечных импульсных характеристик. Каждый фильтр должен быть полупериодическим фильтром, который проходит полосу частот, которую другой фильтр останавливает.

Дополнительные сведения об этом блоке см. в следующих разделах:

Определение конечных импульсных характеристик

Необходимо предоставить вектор коэффициентов числителя для фильтров lowpass и highpass в параметрах Lowpass FIR filter coefficients и Highpass FIR filter coefficients.

Например, чтобы задать фильтр со следующей передаточной функцией, введите вектор [b(1) b(2) ... b(m)].

H(z)=B(z)=b1+b2z1++bmz(m1)

Каждый фильтр должен быть полупериодическим фильтром, который проходит полосу частот, которую другой фильтр останавливает. Можно использовать Two-Channel Synthesis Subband Filter блок, чтобы восстановить вход в этот блок. Для этого необходимо спроектировать идеальные фильтры реконструкции, которые будут использоваться в поддиапазонном фильтре синтеза.

Лучший способ спроектировать идеальные фильтры реконструкции - использовать Wavelet Toolbox™ wfilters function in, чтобы спроектировать оба фильтра как в этом блоке, так и в блоке Two-Channel Synthesis Subband Filter. Можно также использовать другие функции DSP System Toolbox™ и Signal Processing Toolbox™.

Блок Двухканальный фильтр поддиапазона анализа инициализирует все состояния фильтра в нуль.

Обработка на основе фрейма

Когда вы устанавливаете параметр Input processing равным Columns as channels (frame based)блок принимает M -by - N матрицу. Блок обрабатывает каждый столбец входа как высоко- или низкочастотные поддиапазоны соответствующего выходного канала. Можно использовать параметр Rate options, чтобы задать, как блок повторяет вход:

  • Когда вы устанавливаете параметр Rate options равным Enforce single-rate processing, входом в блок может быть M -by - N матрица, где M является произведением двух. Блок обрабатывает каждый столбец входа как независимый канал и разлагает каждый канал с течением времени. Блок выводит две матрицы, где каждый столбец выхода является высоко- или низкочастотным поддиапазоном соответствующего входного столбца. Чтобы сохранить скорость входа выборки, блок уменьшает выход формата кадра в два раза.

  • Когда вы устанавливаете параметр Rate options равным Allow multirate processingблок обрабатывает M входной вход i-by N матрицы как N независимых каналов и разлагает каждый канал с течением времени. Блок выводит две M матрицы -by N, где каждый столбец выхода является высоко- или низкочастотным поддиапазоном соответствующего входного столбца. Входные и выходные форматы кадра одинаковы, но скорость системы координат выхода вдвое меньше скорости входа. Таким образом, общая скорость дискретизации выхода вдвое меньше, чем у входа.

    В этом режиме блок имеет одну систему координат задержки, как описано в разделе Latency.

Выборка на основе обработки

Когда вы устанавливаете параметр Input processing равным Elements as channels (sample based)блок обрабатывает M -by N матричный вход какN независимых каналов. Блок разлагает каждый канал с течением времени и выводит две M матрицы -by N, скорости дискретизации которых вдвое меньше входной частоты выборки. Каждый элемент выходной матрицы является высоко- или низкочастотным поддиапазоном выхода соответствующего элемента входа матрицы.

В зависимости от настройки вашего Simulink® параметры конфигурации, выход может иметь одну выборку задержек, как описано в разделе Latency.

Время ожидания

Когда вы устанавливаете параметр Input processing равным Columns as channels (frame based) и параметр Rate options для Enforce single-rate processingБлок Двухканальный фильтр поддиапазона анализа всегда имеет задержку нулевой задачи. Zero-tasking latency означает, что блок распространяет первую выборку входа (полученную в момент времени t = 0) как первая выходная выборка.

Когда вы устанавливаете параметр Rate options равным Allow multirate processingБлок Двухканальный фильтр поддиапазона анализа может проявлять задержку. Величина задержки зависит от настройки параметра Input processing этого блока и настройки параметра конфигурации Treat each discrete rate as a separate task Simulink. Следующая таблица суммирует условия, которые производят задержку, когда блок выполняет многократную обработку.

Input processingTreat each discrete rate as a separate taskВремя ожидания

Elements as channels (sample based)

Off

Ничего.

On

Одна выборка. Первая выходная выборка в каждом канале всегда имеет значение 0.

Columns as channels (frame based)

On или Off

Одна система координат. Все выборки в первой выходной системе координат имеют значение 0.

Примечание

Для получения дополнительной информации о задержках и режимах задачи Simulink, смотрите Избыточную алгоритмическую задержку (Задержка Задачи) и Основанное на времени Планирование и Генерация кода (Simulink Coder).

Создание многоуровневых банков диадического фильтра анализа

Блок Двухканальный фильтр поддиапазона анализа является основным модулем группы диадических фильтров анализа. Можно соединить несколько из этих блоков для реализации банка фильтров n-уровня, как показано на следующем рисунке. Обзор банков фильтров диадического анализа см. в Dyadic Analysis Filter Bank страницы с описанием блока.

Когда вы создаете банк фильтров путем соединения нескольких копий этого блока, выходные значения банка фильтров различаются в зависимости от наличия задержек. Хотя выходные значения различаются, оба множеств значений действительны; различие возникает из-за изменений задержки. Смотрите раздел Latency для получения дополнительной информации о том, когда задержка может произойти в блоке Двухканальный фильтр поддиапазона анализа.

В некоторых случаях, вместо подключения нескольких блоков Двухканального анализа Поддиапазона Фильтра, можно использовать блок Dyadic Analysis Filter Bank, который быстрее и требует меньше памяти. В частности, блок Dyadic Analysis Filter Bank более эффективен при следующих условиях:

  • Формат кадра сигнала, который вы разлагаете, кратен 2n.

  • Вы разлагаете сигнал на n + 1 или 2n поддиапазоны.

Во всех других случаях используйте блоки Двухканальный фильтр поддиапазона анализа для реализации ваших банков фильтров.

Блок Dyadic Analysis Filter Bank позволяет вам задать фильтры банка фильтров путем предоставления векторов коэффициентов фильтра, так же как и этот блок. Блок Dyadic Analysis Filter Bank предоставляет дополнительную опцию использования основанных на вейвлете фильтров, которые проектируются блоком при помощи заданного вейвлета.

Типы данных с фиксированной точкой

Блок Двухканальный Банк Поддиапазонного Фильтра Анализа состоит из двух блоков Десятикратного уменьшения конечной импульсной характеристики, как показано на следующей схеме.

Для сигналов с фиксированной точкой можно задать коэффициент, выход продукта, аккумулятор и типы выходных данных блоков Десятикратное Уменьшение, как обсуждается в параметры. Для схемы, показывающей использование этих типов данных, смотрите FIR Decimation страницу с описанием блока.

Параметры

Main Tab

Lowpass FIR filter coefficients

Задайте вектор коэффициентов lowpass конечной импульсной характеристики в нисходящих степенях z. Фильтр lowpass должен быть полупериодическим фильтром, который проходит полосу частот, остановленную фильтром, заданным в параметре Highpass FIR filter coefficients. Значения по умолчанию этого параметра задают фильтр на основе вейвлета Daubechies третьего порядка. Когда вы используете Two-Channel Synthesis Subband Filter блок, чтобы восстановить вход в этот блок, вам нужно спроектировать идеальные фильтры реконструкции, чтобы использовать их в поддиапазонном фильтре синтеза. Для получения дополнительной информации см. раздел «Определение фильтров конечной импульсной характеристики».

Highpass FIR filter coefficients

Задайте вектор коэффициентов highpass конечной импульсной характеристики filter, в нисходящих степенях z. Фильтр highpass должен быть полуполосой фильтром, который пропускает частоту полосы останавливается фильтром, заданным в параметре Lowpass FIR filter coefficients. Значения по умолчанию этого параметра задают фильтр на основе вейвлета Daubechies третьего порядка. Когда вы используете Two-Channel Synthesis Subband Filter блок, чтобы восстановить вход в этот блок, вам нужно спроектировать идеальные фильтры реконструкции, чтобы использовать их в поддиапазонном фильтре синтеза. Для получения дополнительной информации см. раздел «Определение фильтров конечной импульсной характеристики».

Input processing

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

  • Columns as channels (frame based) (по умолчанию) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) - Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Rate options

Задайте правило обработки скорости для блока. Можно задать для этого параметра одну из следующих опций:

  • Enforce single-rate processing - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как независимый канал и разлагает каждый канал с течением времени. Выходной параметр имеет ту же частоту дискретизации, что и входной параметр, но выходной формат кадра вдвое меньше, чем у размера входного кадра. Чтобы выбрать эту опцию, вы должны задать параметр Input processing равным Columns as channels (frame based).

  • Allow multirate processing - Когда вы выбираете эту опцию, вход и выход блока совпадают по размеру, но частота дискретизации вывода вдвое меньше, чем у входа.

Некоторые настройки этого параметра приводят к ненулевой задержке блока. Для получения дополнительной информации см. раздел Задержка.

Data Types Tab

Rounding mode

Выберите режим округления для операций с фиксированной точкой. Коэффициенты фильтра не подчиняются этому параметру; они всегда округлены до Nearest.

Примечание

Настройки Rounding mode и Saturate on integer overflow не влияют на числовые результаты, когда существуют все следующие условия:

  • Product output Inherit: Inherit via internal rule

  • Accumulator Inherit: Inherit via internal rule

  • Output Inherit: Same as accumulator

С этими настройками типа данных блок эффективно работает в режиме полной точности.

Saturate on integer overflow

Когда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate и wrap, см. Режим переполнения для операций с фиксированной точкой.

Примечание

Параметры Rounding mode и Saturate on integer overflow не влияют на числовые результаты, когда все эти условия выполняются:

  • Product output данных Inherit: Inherit via internal rule.

  • Accumulator данных Inherit: Inherit via internal rule.

С этими настройками типа данных блок работает в режиме полной точности.

Coefficients

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

  • Правило, которое наследует тип данных, например Inherit: Same word length as input

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Coefficients.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Coefficients Minimum

Задайте минимальное значение коэффициентов фильтра. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Автоматическое масштабирование типов данных с фиксированной точкой

Coefficients Maximum

Задайте максимальное значение коэффициентов фильтра. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Автоматическое масштабирование типов данных с фиксированной точкой

Product output

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

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

    Примечание

    Фактический выходной размер слова продукта может быть равен или больше вычисленного идеального продукта выхода размера слова, в зависимости от настроек на панели Hardware Implementation диалогового окна Параметры конфигурации.

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Product output.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Accumulator

Задайте тип данных аккумулятора. См. типы данных с фиксированной точкой для рисунков, описывающих использование типа данных аккумулятора в этом блоке. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Accumulator.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Output

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

  • Правило, которое наследует тип данных, например Inherit: Same as accumulator

  • Выражение, которое вычисляет допустимый тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Output.

Смотрите Типы Данных Управляющего Сигнала (Simulink) для получения дополнительной информации.

Output Minimum

Задайте минимальное значение, которое должен выдать блок. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Проверка области значений симуляции (см. «Задание диапазонов сигнала» (Simulink))

  • Автоматическое масштабирование типов данных с фиксированной точкой

Output Maximum

Задайте максимальное значение, которое должен выдать блок. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Проверка области значений симуляции (см. «Задание диапазонов сигнала» (Simulink))

  • Автоматическое масштабирование типов данных с фиксированной точкой

Lock data type settings against changes by the fixed-point tools

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.

Поддерживаемые типы данных

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Фиксированная точка (только со знаком)

  • 8-, 16- и 32-битные целые числа со знаком

Ссылки

[1] Флиге, Н. Дж. Multirate Digital Signal Processing: Multirate Systems, Filter Banks, вейвлеты. Западный Сассекс, Англия: John Wiley & Sons, 1994.

[2] Странг, Г. и Т. Нгуен. Вейвлеты и банки фильтров. Wellesley, MA: Wellesley-Cambridge Press, 1996.

[3] Vaidyanathan, P. P. Multirate Systems and Filter Banks. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1993.

Расширенные возможности

.
Представлено до R2006a