exponenta event banner

dsp. DyadicSynthesisFilterBank

Восстановление сигналов из поддиапазонов

Описание

dsp.DyadicSynthesisFilterBank Система object™ восстанавливает сигналы из поддиапазонов с меньшими полосами пропускания и меньшими скоростями дискретизации. Банк фильтров использует ряд фильтров FIR верхних и нижних частот для многократного восстановления сигнала.

Для восстановления сигналов из поддиапазонов с меньшими полосами пропускания и более низкими скоростями дискретизации:

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

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

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

Создание

Описание

пример

dydsyn = dsp.DyadicSynthesisFilterBank возвращает набор фильтров синтеза, dydsyn, который восстанавливает сигнал из своих поддиапазонов с меньшими полосами пропускания и меньшими скоростями дискретизации.

dydsyn = dsp.DyadicSynthesisFilterBank(Name,Value) возвращает объект банка фильтров диадического синтеза, для каждого свойства которого задано заданное значение.

Свойства

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

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

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

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

Укажите тип фильтра, используемого для определения фильтров FIR верхних и нижних частот в наборе фильтров в качестве одного из Custom, Haar, Daubechies, Symlets, Coiflets, Biorthogonal, Reverse Biorthogonal, или Discrete Meyer. Если для этого свойства задано значение Custom, CustomLowpassFilter и CustomHighpassFilter свойства задают коэффициенты фильтра. В противном случае объект использует wfilters Функция (Vavelet Toolbox) для построения фильтров. В зависимости от фильтра, WaveletOrder или может применяться свойство FilterOrder. Список поддерживаемых вейвлетов см. в следующей таблице.

ФильтрПример настройки для связанных свойств спецификации фильтраСинтаксис соответствующей функции Vavelet Toolbox™
HaarНичегоwfilters('haar')
DaubechiesH.WaveletOrder = 4wfilters('db4')
SymletsH.WaveletOrder = 3wfilters('sym3')
CoifletsH.WaveletOrder = 1wfilters('coif1')
BiorthogonalH.FilterOrder = '[3/1]'wfilters('bior3.1')
Reverse BiorthogonalH.FilterOrder = '[3/1]'wfilters('rbior3.1')
Discrete MeyerНичегоwfilters('dmey')

Для автоматического проектирования вейвлет-фильтров установите продукт Wavelet Toolbox. В противном случае используйте CustomLowpassFilter и CustomHighpassFilter для указания низкочастотных и высокоскоростных фильтров FIR.

Укажите вектор коэффициентов фильтра КИХ нижних частот в степени убывания z. Используйте фильтр полуполосы, который пропускает полосу частот, остановленную фильтром, указанным в CustomHighpassFilter собственность. Чтобы идеально восстановить сигнал, разложенный dsp.DyadicAnalysisFilterBank Сущность изобретения заключается в том, что проектируют фильтры в наборе фильтров синтеза для точной реконструкции выходов набора фильтров анализа. В остальном реконструкция несовершенна. Значения по умолчанию этого свойства определяют идеальный фильтр реконструкции для настроек по умолчанию банка фильтров анализа (на основе вейвлета Daubechies третьего порядка).

Зависимости

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

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

Укажите вектор коэффициентов КИХ-фильтра верхних частот в степенях убывания z. Используйте фильтр полуполосы, который пропускает полосу частот, остановленную фильтром, указанным в CustomLowpassFilter собственность. Чтобы идеально восстановить сигнал, разложенный dsp.DyadicAnalysisFilterBank Сущность изобретения заключается в том, что проектируют фильтры в наборе фильтров синтеза для точной реконструкции выходов набора фильтров анализа. В остальном реконструкция несовершенна. Значения по умолчанию этого свойства определяют идеальный фильтр реконструкции для настроек по умолчанию банка фильтров анализа (на основе вейвлета Daubechies третьего порядка).

Зависимости

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

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

Укажите порядок вейвлета, выбранного в Filter собственность.

Зависимости

Это свойство применяется при установке Filter свойство для ортогонального вейвлета: Daubechies (Daubechies экстремальная фаза), Symlets (Daubechies наименее асимметричные), или Coiflets.

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

Укажите порядок вейвлета для стадии фильтра синтеза как:

  • Первый заказ: '[1/1]', '[1/3]', или '[1/5]'.

  • Второй порядок: '[2/2]', '[2/4]', '[2/6]', или '[2/8]'.

  • Третий порядок: '[3/1]', '[3/3]', '[3/5]', '[3/7]', или '[3/9]'.

  • Четвёртый порядок: '[4/4]'.

  • Пятый порядок: '[5/5]'.

  • Шестой порядок: '[6/8]'.

Зависимости

Это свойство применяется при установке Filter свойство для Biorthogonal или Reverse Biorthogonal.

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

Укажите количество уровней банка фильтров как скалярное целое число. Асимметричная структура N-уровня имеет N + 1 входных поддиапазонов, а симметричная структура N-уровня имеет 2N входных поддиапазонов.

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

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

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

Синтаксис

Описание

пример

y = dydsyn(x) восстанавливает вход конкатенированного поддиапазона x производить y. Каждый столбец ввода x содержит поддиапазоны для независимого сигнала. Верхние строки содержат высокочастотные поддиапазоны, а нижние - низкочастотные поддиапазоны.

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

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

Ввод данных, заданный как вектор столбца или матрица. Каждый столбец ввода x содержит поддиапазоны для независимого сигнала. Верхние строки содержат высокочастотные поддиапазоны, а нижние - низкочастотные поддиапазоны. Количество строк x должно быть кратным 2N, где N - значение NumLevels собственность.

Типы данных: single | double
Поддержка комплексного номера: Да

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

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

Восстановленный сигнал, возвращаемый в виде вектора столбца или матрицы.

Типы данных: single | double
Поддержка комплексного номера: Да

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

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

release(obj)

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

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

Примеры

свернуть все

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

Вход квадратной волны Denoise с использованием диадического анализа и банков фильтров синтеза.

t = 0:.0001:.0511;
x= square(2*pi*30*t);
xn = x' + 0.08*randn(length(x),1);
dydanl = dsp.DyadicAnalysisFilterBank;

Коэффициенты фильтра соответствуют haar вейвлет.

dydanl.CustomLowpassFilter = [1/sqrt(2) 1/sqrt(2)];
dydanl.CustomHighpassFilter = [-1/sqrt(2) 1/sqrt(2)];
dydsyn = dsp.DyadicSynthesisFilterBank;
dydsyn.CustomLowpassFilter = [1/sqrt(2) 1/sqrt(2)];
dydsyn.CustomHighpassFilter = [1/sqrt(2) -1/sqrt(2)];
C = dydanl(xn);

Выходы поддиапазонов.

C1 = C(1:256); C2 = C(257:384); C3 = C(385:512);

Установите более высокие частотные коэффициенты на ноль, чтобы удалить шум.

x_den = dydsyn([zeros(length(C1),1);...
    zeros(length(C2),1);C3]);

Постройте график исходных и деноизированных сигналов.

subplot(2,1,1), plot(xn); title('Original noisy Signal');
subplot(2,1,2), plot(x_den); title('Denoised Signal');

Figure contains 2 axes. Axes 1 with title Original noisy Signal contains an object of type line. Axes 2 with title Denoised Signal contains an object of type line.

Алгоритмы

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

Объект получает данные только в виде вектора или матрицы конкатенированных поддиапазонов.

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