Two-Channel Synthesis Subband Filter

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

Библиотека

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

dspmlti4

  • Two-Channel Synthesis Subband Filter block

Описание

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

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

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

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

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

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

Необходимо предоставить вектор коэффициентов числителя для фильтров 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 Analysis Subband Filter. Для этого необходимо спроектировать фильтры в этом блоке таким образом, чтобы они идеально восстанавливали выходы фильтров анализа.

Лучший способ спроектировать идеальные фильтры реконструкции - использовать Wavelet Toolbox™ wfilters функция для фильтров как в этом блоке, так и в соответствующем блоке Двухканальный фильтр поддиапазона анализа. Можно также использовать функции 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 с той же системой координат. Блок обрабатывает каждый входной столбец как высоко- или низкочастотные поддиапазоны соответствующего выходного канала. Вход самого верхнего входного порта должен содержать высокочастотные поддиапазоны. Блок выводит одну матрицу, где каждый столбец восстанавливается из соответствующих столбцов каждой входной матрицы. Входная и выходная частоты систем координат одинаковы, но формат кадра выхода в два раза больше, чем у входа.

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

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

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

Когда вы устанавливаете параметр Input processing равным Elements as channels (sample based)блок принимает любые две матрицы M -by N с одинаковыми скоростями дискретизации. Блок обрабатывает каждую матрицу M -by N как M· 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 этого блока и настройки параметра конфигурации Simulink Treat each discrete rate as a separate task. Следующая таблица суммирует условия, которые производят задержку, когда блок выполняет многократную обработку.

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

Elements as channels (sample based)

Off

Ничего.

On

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

Columns as channels (frame based)

Off или On

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

Примечание

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

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

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

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

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

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

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

  • Свойства поддиапазонов, с которыми вы работаете, совпадают с свойствами выходов блока Dyadic Analysis Filter Bank. Эти свойства описаны на Dyadic Analysis Filter Bank странице с описанием.

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

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

Блок Двухканальный фильтр поддиапазона синтеза состоит из двух блоков конечной импульсной характеристики Интерполяции, как показано на следующей схеме.

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

В сложение входы в блок Sum (Simulink), показанный на предыдущей схеме, накапливаются с использованием типа данных аккумулятора. Затем выходы блока Sum приводятся от типа данных аккумулятора к типу данных выходов. Поэтому выход блока Двухканальный фильтр поддиапазона синтеза находится в типе выходных данных. Эти типы данных можно также задать в диалоговом окне блока, как описано в разделе Параметры.

Параметры

Main Tab

Lowpass FIR filter coefficients

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

Highpass FIR filter coefficients

Вектор коэффициентов конечной импульсной характеристики фильтра высоких частот в нисходящих степенях z. Фильтр highpass должен быть полуполосой фильтром, который пропускает частоту полосы останавливается фильтром, заданным в параметре Lowpass FIR filter coefficients. Чтобы использовать этот блок для восстановления выхода блока Two-Channel Analysis 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