exponenta event banner

dsp. SubbandAnalysisFilter

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

Описание

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

Для разложения сигнала на высокочастотные и низкочастотные поддиапазоны:

  1. Создать dsp.SubbandAnalysisFilter и задайте его свойства.

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

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

Создание

Описание

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

пример

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

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

Свойства

развернуть все

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

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

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

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

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

Укажите вектор коэффициентов КИХ-фильтра верхних частот в степенях убывания z. Для фильтра верхних частот используйте фильтр полуполосы, который пропускает полосу частот, остановленную фильтром, указанным в свойстве LowpassCoefficients. Значения этого свойства по умолчанию определяют фильтр на основе вейвлета Daubechies третьего порядка.

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

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

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

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

Укажите метод округления.

Зависимости

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

Укажите действие переполнения как Wrap или Saturate.

Зависимости

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

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

Укажите фиксированный тип коэффициентов FIR-фильтра как numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.

Зависимости

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

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

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

Зависимости

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

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

Укажите тип фиксированной точки накопителя как масштабированный numerictype (Конструктор фиксированных точек) объект с Signedness из Auto.

Зависимости

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

Укажите тип выходных данных как Same as accumulator, Same as product, Same as input, или Custom.

Укажите тип выходной фиксированной точки как масштабированный numerictype (Конструктор фиксированных точек) объект с 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™ System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

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

Примеры

свернуть все

Примечание.Этот пример выполняется только в 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.

Алгоритмы

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

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

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

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

.
Представлен в R2012a