Разложите сигнал на высокочастотные и низкочастотные поддиапазоны
Фильтрация / Многоскоростные фильтры
dspmlti4
Блок Two-Channel Analysis Subband Filter разлагает вход на высокочастотные и низкочастотные поддиапазоны, каждого с половиной пропускной способности и половины частоты дискретизации входа.
Блок фильтрует вход с парой highpass и lowpass КИХ-фильтров, и затем субдискретизирует результаты 2, как проиллюстрировано в следующей фигуре.
Блок реализует КИХ-фильтрацию и субдискретизацию шагов вместе с помощью многофазной структуры фильтра, которая более эффективна, чем прямой алгоритм "фильтр затем десятикратно уменьшает" показанный в предыдущей фигуре. Каждый поддиапазон является первой фазой соответствующего многофазного фильтра. Можно реализовать многоуровневый двухместный аналитический набор фильтров путем соединения нескольких копий этого блока или при помощи блока Dyadic Analysis Filter Bank. Смотрите Создающие Многоуровневые Двухместные Аналитические Наборы фильтров для получения дополнительной информации.
Необходимо обеспечить вектор коэффициентов фильтра для lowpass и highpass КИХ-фильтров. Каждый фильтр должен быть полуленточным фильтром, который передает диапазон частот, который останавливает другой фильтр.
Смотрите следующие темы для получения дополнительной информации об этом блоке:
Необходимо обеспечить вектор коэффициентов числителя для lowpass, и highpass просачивается параметры Highpass FIR filter coefficients и Lowpass FIR filter coefficients.
Например, чтобы задать фильтр со следующей передаточной функцией, введите векторный [b(1) b(2) ... b(m)]
.
Каждый фильтр должен быть полуленточным фильтром, который передает диапазон частот, который останавливает другой фильтр. Можно использовать блок Two-Channel Synthesis Subband Filter, чтобы восстановить вход к этому блоку. Для этого необходимо разработать совершенные фильтры реконструкции, чтобы использовать в фильтре поддиапазона синтеза.
Лучший способ разработать совершенные фильтры реконструкции состоит в том, чтобы использовать функцию wfilters
Wavelet Toolbox™ в разработать обоих фильтры и в этом блоке и в блоке Two-Channel Synthesis Subband Filter. Можно также использовать другой DSP System Toolbox™ и функции Signal Processing Toolbox™.
Блок Two-Channel Analysis Subband Filter инициализирует все состояния фильтра, чтобы обнулить.
Когда вы устанавливаете параметр 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 матричный вход как M · N независимые каналы. Блок анализирует каждый канал в зависимости от времени и выходные параметры два M-by-N матрицы, частоты дискретизации которых являются половиной входной частоты дискретизации. Каждый элемент в выходной матрице является верхним уровнем - или низкочастотный поддиапазон вывод соответствующего элемента входной матрицы.
В зависимости от установки ваших параметров конфигурации Simulink® вывод может иметь одну выборку задержки, как описано в разделе Latency.
Когда вы устанавливаете параметр Input processing на Columns as channels (frame based)
и параметр Rate options к Enforce single-rate processing
, блок Two-Channel Analysis Subband Filter всегда имеет определяющую задачу для нуля задержку. Zero-tasking latency означает, что блок распространяет первую входную выборку (полученный во время t =0
) как первая выходная выборка.
Когда вы устанавливаете параметр Rate options на Allow multirate processing
, блок Two-Channel Analysis Subband Filter может показать задержку. Сумма задержки зависит от установки параметра Input processing этого блока и установки параметра конфигурации Treat each discrete rate as a separate task Simulink. Следующая таблица обобщает условия, которые производят задержку, когда блок выполняет многоскоростную обработку.
Input processing | Treat each discrete rate as a separate task | Задержка |
---|---|---|
| Off | 'none'. |
On | Одна выборка. Первая выходная выборка в каждом канале всегда имеет значение | |
| On или Off | Один кадр. Все выборки в первом выходном кадре имеют значение |
Для получения дополнительной информации о задержке и режимах управления задачами Simulink, смотрите Избыточную Алгоритмическую Задержку (Определяющий задачу для Задержки) и Основанное на времени Планирование и Генерация кода (Simulink Coder).
Блок Two-Channel Analysis Subband Filter является основной единицей двухместного аналитического набора фильтров. Можно соединить несколько из этих блоков, чтобы реализовать набор фильтров n-уровня, как проиллюстрировано в следующей фигуре. Для анализа двухместных аналитических наборов фильтров смотрите страницу с описанием блока Dyadic Analysis Filter Bank.
Когда вы создаете набор фильтров путем соединения нескольких копий этого блока, выходные значения набора фильтров отличаются в зависимости от того, существует ли задержка. Хотя выходные значения отличаются, оба множества значений допустимы; различие является результатом изменений в задержке. Смотрите раздел Latency для получения дополнительной информации о том, когда задержка сможет произойти в блоке Two-Channel Analysis Subband Filter.
В некоторых случаях, вместо того, чтобы соединить несколько Двухканальных Аналитических блоков Фильтра Поддиапазона, можно использовать блок Dyadic Analysis Filter Bank, который быстрее и требует меньшей памяти. В частности, блок Dyadic Analysis Filter Bank более эффективен при следующих условиях:
Формат кадра сигнала, который вы анализируете, является кратным 2n.
Вы разлагаете сигнал на n+1
или 2n поддиапазоны.
Во всех других случаях используйте Двухканальные Аналитические блоки Фильтра Поддиапазона, чтобы реализовать ваши наборы фильтров.
Блок Dyadic Analysis Filter Bank позволяет вам задавать фильтры набора фильтров путем обеспечения векторов коэффициентов фильтра, как этот блок делает. Блок Dyadic Analysis Filter Bank предоставляет дополнительную возможность использования основанных на вейвлете фильтров, которые блочные конструкции при помощи вейвлета вы задаете.
Блок Two-Channel Analysis Subband Filter Bank состоит из двух КИХ-блоков Десятикратного уменьшения как показано в следующей схеме.
Для сигналов фиксированной точки можно установить коэффициент, продукт вывод, аккумулятор и типы выходных данных КИХ-блоков Десятикратного уменьшения, как обсуждено в Параметрах. Для схемы, показывающей использование этих типов данных, смотрите страницу с описанием блока FIR Decimation.
Main Tab
Задайте вектор lowpass КИХ-коэффициентов фильтра в убывающих степенях z. Фильтр lowpass должен быть полуленточным фильтром, который передает диапазон частот, зашел в фильтр, заданный в параметре Highpass FIR filter coefficients. Значения по умолчанию этого параметра задают фильтр на основе третьего порядка вейвлет Daubechies. Когда вы используете блок Two-Channel Synthesis Subband Filter, чтобы восстановить вход к этому блоку, необходимо разработать совершенные фильтры реконструкции, чтобы использовать в фильтре поддиапазона синтеза. Для получения дополнительной информации смотрите Определение КИХ-Фильтров.
Задайте вектор highpass КИХ-коэффициентов фильтра в убывающих степенях z. Фильтр highpass должен быть полуленточным фильтром, который передает диапазон частот, зашел в фильтр, заданный в параметре Lowpass FIR filter coefficients. Значения по умолчанию этого параметра задают фильтр на основе третьего порядка вейвлет Daubechies. Когда вы используете блок Two-Channel Synthesis Subband Filter, чтобы восстановить вход к этому блоку, необходимо разработать совершенные фильтры реконструкции, чтобы использовать в фильтре поддиапазона синтеза. Для получения дополнительной информации смотрите Определение КИХ-Фильтров.
Задайте, как блок должен обработать вход. Можно установить этот параметр на одну из следующих опций:
Columns as channels (frame based)
(значение по умолчанию) — Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
— Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.
Задайте правило обработки уровня для блока. Можно установить этот параметр на одну из следующих опций:
Enforce single-rate processing
— Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как независимый канал и анализирует каждый канал в зависимости от времени. Вывод имеет ту же частоту дискретизации как вход, но выходной формат кадра вдвое меньше чем это входного формата кадра. Чтобы выбрать эту опцию, необходимо установить параметр Input processing на Columns as channels (frame based)
.
Allow multirate processing
— Когда вы выбираете эту опцию, ввод и вывод блока одного размера, но частота дискретизации вывода вдвое меньше чем это входа.
Некоторые настройки этого параметра заставляют блок иметь ненулевую задержку. Смотрите Задержку для получения дополнительной информации.
Data Types Tab
Выберите округляющийся режим для операций фиксированной точки. Коэффициенты фильтра не повинуются этому параметру; они всегда округляются к 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
и wrap
, смотрите режим переполнения для операций фиксированной точки.
Rounding mode и параметры Saturate on integer overflow не имеют никакого эффекта на числовые результаты, когда все эти условия соблюдают:
Типом данных Product output является Inherit: Inherit via internal rule
.
Типом данных Accumulator является Inherit: Inherit via internal rule
.
С этими настройками типа данных блок действует в режиме максимальной точности.
Задайте содействующий тип данных. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование содействующего типа данных в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same word length as input
Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Coefficients.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте минимальное значение коэффициентов фильтра. Значением по умолчанию является (незаданный) []
. Программное обеспечение Simulink использует это значение, чтобы выполнить:
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте максимальное значение коэффициентов фильтра. Значением по умолчанию является (незаданный) []
. Программное обеспечение Simulink использует это значение, чтобы выполнить:
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте тип выходных данных продукта. Смотрите Типы данных с фиксированной точкой и Типы данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule
. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.
Фактический продукт вывел размер слова, может быть равным или больше, чем расчетный идеальный продукт выходной размер слова, в зависимости от настроек на панели Hardware Implementation диалогового окна Configuration Parameters.
Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип данных аккумулятора. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Можно установить этот параметр на:
Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule
. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.
Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить его на:
Правило, которое наследовало тип данных, например, Inherit: Same as accumulator
Выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.
Смотрите Типы данных Управляющего сигнала (Simulink) для получения дополнительной информации.
Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []
. Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []
. Программное обеспечение Simulink использует это значение, чтобы выполнить:
Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.
Плавающая точка двойной точности
Плавающая точка с одинарной точностью
Фиксированная точка (подписался только),
8-, 16-, и 32-битные целые числа со знаком
[1] Fliege, N. J. Многоскоростная цифровая обработка сигналов: многоскоростные системы, наборы фильтров, вейвлеты. Западный Сассекс, Англия: John Wiley & Sons, 1994.
[2] Странг, G. и Т. Нгуен. Вейвлеты и наборы фильтров. Веллесли, MA: Wellesley-Кембриджское нажатие, 1996.
[3] Vaidyanathan, P. P. Многоскоростные системы и наборы фильтров. Englewood Cliffs, NJ: Prentice Hall, 1993.