dsp.SubbandAnalysisFilter

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

Описание

The dsp.SubbandAnalysisFilter объект разлагает сигнал на высокочастотные и низкочастотные поддиапазоны, каждый с половинной шириной полосы входа.

Чтобы разложить сигнал на высокочастотные и низкочастотные поддиапазоны:

  1. Создайте dsp.SubbandAnalysisFilter Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

subAna = dsp.SubbandAnalysisFilter возвращает двухканальный фильтр анализа поддиапазона, subAna, который разлагает входной сигнал на высокочастотный поддиапазон и низкочастотный поддиапазон, каждый с половинной шириной полосы входа.

пример

subAna = dsp.SubbandAnalysisFilter(lpc,hpc) возвращает двухканальный фильтр анализа поддиапазона, subAna, с LowpassCofficients, набор свойств для lpc и HighpassCoefficients значение свойства установлено в lpc.

subAna = dsp.SubbandAnalysisFilter(Name,Value) возвращает двухканальный фильтр анализа поддиапазона, subAna, с каждым заданным набором свойств до заданного значения.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Задайте вектор коэффициентов lowpass конечной импульсной характеристики в нисходящих степенях z. Для lowpass используйте полупериодический фильтр, который пропускает частотную полосу, остановленный фильтром, заданным в HighpassCoefficients свойство. Значения по умолчанию этого свойства задают фильтр на основе вейвлета Daubechies третьего порядка.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Задайте вектор коэффициентов highpass конечной импульсной характеристики filter в нисходящих степенях z. Для высокочастотного фильтра используйте полупериодический фильтр, который пропускает частотную полосу, остановленный фильтром, заданным в свойстве LowpassCoefficients. Значения по умолчанию этого свойства задают фильтр на основе вейвлета Daubechies третьего порядка.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Свойства с фиксированной точкой

Задайте, использовать ли правила полной точности. Если вы задаете FullPrecisionOverride на true, что является значением по умолчанию, объект вычисляет все внутренние арифметические и выходные типы данных с помощью правил полной точности. Эти правила обеспечивают наиболее точные числа с фиксированной точкой. Это также отключает отображение других свойств с фиксированной точкой, потому что они не применяются индивидуально. Эти правила гарантируют, что внутри объекта не происходит квантования. Биты добавляются по мере необходимости, чтобы гарантировать отсутствие округления или переполнения. Если вы задаете FullPrecisionOverride на falseтипы данных с фиксированной точкой управляются с помощью отдельных настроек свойств с фиксированной точкой. Для получения дополнительной информации см. раздел «Полная точность для системных объектов с фиксированной точкой».

Типы данных: logical

Задайте метод округления.

Зависимости

Это свойство применяется только, если объект не находится в режиме полной точности.

Задайте действие переполнения следующим Wrap или Saturate.

Зависимости

Это свойство применяется только, если объект не находится в режиме полной точности.

Задайте коэффициенты конечной импульсной характеристики фильтра типа данных с фиксированной точкой как Same word length as input или Custom.

Задайте коэффициенты конечной импульсной характеристики типа с фиксированной точкой как numerictype (Fixed-Point Designer) объект с Signedness от Auto.

Зависимости

Это свойство применяется только при установке CoefficientsDataType свойство к Custom.

Укажите тип данных продукта как один из Full precision | Same as input | Custom.

Укажите тип фиксированной точки продукта как масштабированный numerictype (Fixed-Point Designer) объект с Signedness от Auto.

Зависимости

Это свойство применяется только при установке ProductDataType свойство к Custom.

Укажите тип данных аккумулятора следующим Full precision, Same as input, Same as product, или Custom.

Задайте тип фиксированной точки аккумулятора как масштабированный numerictype (Fixed-Point Designer) объект с Signedness от Auto.

Зависимости

Это свойство применяется только при установке AccumulatorDataType свойство к Custom.

Задайте тип выходных данных следующим Same as accumulator, Same as product, Same as input, или Custom.

Задайте тип данных с фиксированной точкой на выходе как масштабированный numerictype (Fixed-Point Designer) объект с Signedness от Auto.

Зависимости

Это свойство применяется только, когда вы задаете значение свойства OutputDataType Custom.

Использование

Синтаксис

Описание

пример

[hi,lo] = subAna(x) разлагает входной сигнал, x, в высокочастотный поддиапазон, hiи низкочастотный поддиапазон, lo.

Входные параметры

расширить все

Вход данных, заданный как вектор-столбец или матрица. Количество строк во входе должно быть четным числом.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fi
Поддержка комплексного числа: Да

Выходные аргументы

расширить все

Высокочастотный поддиапазон, возвращенный как вектор-столбец или матрица. Количество строк в этом выходе вдвое меньше количества входных строк.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fi
Поддержка комплексного числа: Да

Низкочастотный поддиапазон, возвращенный как вектор-столбец или матрица. Количество строк в этом выходе вдвое меньше количества входных строк.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | fi
Поддержка комплексного числа: Да

Функции объекта

Чтобы использовать функцию объекта, задайте Системную object™ в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Примечание.Этот пример выполняется только в R2016b или более поздней версии. Если вы используете более ранний релиз, замените каждый вызов функции на эквивалентный step синтаксис. Например, myObject (x) становится шагом (myObject, x).

Разложите сигнал на низкочастотный и высокая частота поддиапазоны с помощью фильтра анализа поддиапазона. Восстановите сигнал с помощью фильтра синтеза поддиапазона.

load dspwlets; % load the filter coefficients lod, hid, lor and hir
subAna = dsp.SubbandAnalysisFilter(lod, hid);
subSynth = dsp.SubbandSynthesisFilter(lor, hir);
u = randn(128,1);

[hi, lo] = subAna(u); % Two channel analysis
y = subSynth(hi, lo); % Two channel synthesis

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

plot(u(1:end-7)-y(8:end));

Figure contains an axes. The axes contains an object of type line.

Алгоритмы

Этот объект реализует алгоритм, входы и выходы, описанные на Two-Channel Analysis Subband Filter блочных страниц с описанием. Свойства объекта соответствуют параметрам блоков, кроме:

  • The SubbandAnalysisFilter объект не имеет свойства, которое соответствует параметру Input processing блока Двухканальный фильтр поддиапазона анализа. Объект принимает, что вход системы координат основан и всегда поддерживает скорость входного кадра.

  • Rate options параметров блоков не поддерживается dsp.SubbandAnalysisFilter объект.

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

.
Введенный в R2012a