dsp. DyadicSynthesisFilterBank

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

Описание

Система dsp.DyadicSynthesisFilterBank object™ восстанавливает сигналы от поддиапазонов с меньшей пропускной способностью и более низкими частотами дискретизации. Набор фильтров использует серию highpass и lowpass КИХ-фильтров, чтобы неоднократно восстановить сигнал.

Восстановить сигналы от поддиапазонов с меньшей пропускной способностью и более низкими частотами дискретизации:

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

dydsyn = dsp.DyadicSynthesisFilterBank
dydsyn = dsp.DyadicSynthesisFilterBank(Name,Value)

Описание

пример

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

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

Свойства

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

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

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

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

Укажите, что тип фильтра раньше определял highpass, и lowpass КИХ просачивается набор фильтров как один из Custom, Haar, Daubechies, Symlets, Coiflets, Biorthogonal, Reverse Biorthogonal или Discrete Meyer. Если вы устанавливаете это свойство на Custom, свойства CustomLowpassFilter и CustomHighpassFilter задают коэффициенты фильтра. В противном случае объект использует функцию wfilters, чтобы создать фильтры. В зависимости от фильтра может применяться свойство WaveletOrder или FilterOrder. Для списка поддерживаемых вейвлетов см. следующую таблицу.

ФильтрДемонстрационная установка для связанных свойств спецификации фильтраСоответствующий синтаксис функций Wavelet Toolbox™
Haar'none'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'none'wfilters('dmey')

По порядку, чтобы автоматически разработать основанные на вейвлете фильтры, установите продукт Wavelet Toolbox. В противном случае используйте свойства CustomLowpassFilter и CustomHighpassFilter задать lowpass и highpass КИХ-фильтры.

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

Зависимости

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

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

Задайте вектор highpass КИХ-коэффициентов фильтра в убывающих степенях 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. В асимметричной структуре низкочастотным входом поддиапазона к каждому уровню является вывод предыдущего уровня, в то время как высокочастотный вход поддиапазона к каждому уровню является входом к набору фильтров. В симметричной структуре и минимумом - и высокочастотными входными параметрами поддиапазона к каждому уровню являются выходные параметры от предыдущего уровня.

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

y = dydsyn(x)

Описание

пример

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

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

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

Примечание: Этот пример запускается только в 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]);

Постройте сигналы denoised и оригинал.

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

Алгоритмы

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

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

Смотрите также

Системные объекты

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