dddtree

Двойное дерево и 1D вейвлет с удвоенной плотностью преобразовывают

Синтаксис

wt = dddtree(typetree,x,level,fdf,df)
wt = dddtree(typetree,x,level,fname)
wt = dddtree(typetree,x,level,fname1,fname2)

Описание

пример

wt = dddtree(typetree,x,level,fdf,df) возвращает дискретный вейвлет преобразовывает (DWT) typetree 1D входного сигнала, x, вниз чтобы выровняться, level. Вейвлет преобразовывает, использует разложение (анализ) фильтры, fdf, для первого уровня и аналитических фильтров, df, для последующих уровней. Поддерживаемый вейвлет преобразовывает, критически выбранный DWT, двойной древовидный комплекс с удвоенной плотностью, и двойной древовидный комплексный вейвлет с удвоенной плотностью преобразовывает. Критически выбранный DWT является разложением набора фильтров в ортогональном или биоортогональном (безызбыточном) основании. Другой вейвлет преобразовывает, сверхдискретизированные наборы фильтров.

пример

wt = dddtree(typetree,x,level,fname) использование фильтры, заданные fname, чтобы получить вейвлет, преобразовывает. Допустимые спецификации фильтра зависят от типа вейвлета, преобразовывают. Смотрите dtfilters для деталей.

пример

wt = dddtree(typetree,x,level,fname1,fname2) использование, которое фильтры, заданные в fname1 для первой стадии двойного древовидного вейвлета, преобразовывают и фильтры, заданные в fname2 для последующих этапов двойного древовидного вейвлета, преобразовывает. Определение различных фильтров для этапа 1 допустимо и необходимо только, когда typetree является 'cplxdt' или 'cplxdddt'.

Примеры

свернуть все

Получите комплексное двойное древовидное преобразование вейвлета шумного Доплеровского сигнала. КИХ просачивается первый и последующий результат этапов приблизительно в аналитическом вейвлете как требуется.

Создайте аналитические фильтры первой стадии для этих двух деревьев.

  Faf{1} = [0         0
   -0.0884   -0.0112
    0.0884    0.0112
    0.6959    0.0884
    0.6959    0.0884
    0.0884   -0.6959
   -0.0884    0.6959
    0.0112   -0.0884
    0.0112   -0.0884
         0         0];
Faf{2} = [ 0.0112  0
    0.0112         0
   -0.0884   -0.0884
    0.0884   -0.0884
    0.6959    0.6959
    0.6959   -0.6959
    0.0884    0.0884
   -0.0884    0.0884
         0    0.0112
         0   -0.0112];

Создайте аналитические фильтры для последующих этапов анализа мультиразрешения.

af{1} = [ 0.0352         0
         0         0
   -0.0883   -0.1143
    0.2339         0
    0.7603    0.5875
    0.5875   -0.7603
         0    0.2339
   -0.1143    0.0883
         0         0
         0   -0.0352];

af{2} = [0   -0.0352
         0         0
   -0.1143    0.0883
         0    0.2339
    0.5875   -0.7603
    0.7603    0.5875
    0.2339         0
   -0.0883   -0.1143
         0         0
    0.0352         0];

Загрузите шумного Доплера, сигнализируют и получают комплексный двойной древовидный вейвлет, преобразовывают вниз к уровню 4.

load noisdopp;
wt = dddtree('cplxdt',noisdopp,4,Faf,af);

Постройте приближение на основе уровня четыре коэффициента приближения.

xapp = dddtreecfs('r',wt,'scale',{5});
plot(noisdopp);  hold on;
plot(cell2mat(xapp),'r','linewidth',3);
axis tight;

Получите преобразование вейвлета с удвоенной плотностью сигнала с двумя разрывами. Используйте уровень коэффициенты детали, чтобы локализовать разрывы.

Создайте сигнал, состоящий из синусоиды на 2 Гц с длительностью 1 секунды. Синусоида имеет разрывы в 0,3 и 0,72 секунды.

N = 1024;
t = linspace(0,1,1024);
x = 4*sin(4*pi*t);
x = x - sign(t - .3) - sign(.72 - t);
plot(t,x); xlabel('t'); ylabel('x');
title('Original Signal');

Получите преобразование вейвлета с удвоенной плотностью сигнала, восстановите приближение на основе уровня коэффициенты детали и постройте результат.

wt = dddtree('ddt',x,1,'filters1');
wt.cfs{2} = zeros(1,512);
xrec = idddtree(wt);
plot(t,xrec,'linewidth',2)
set(gca,'xtick',[0 0.3 0.72 1]); set(gca,'xgrid','on');

Получите комплексное двойное древовидное преобразование вейвлета сигнала с двумя разрывами. Используйте коэффициенты детали первого уровня, чтобы локализовать разрывы.

Создайте сигнал, состоящий из синусоиды на 2 Гц с длительностью 1 секунды. Синусоида имеет разрывы в 0,3 и 0,72 секунды.

N = 1024;
t = linspace(0,1,1024);
x = 4*sin(4*pi*t);
x = x - sign(t - .3) - sign(.72 - t);
plot(t,x); xlabel('t'); ylabel('x');
title('Original Signal');

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

wt = dddtree('cplxdt',x,1,'FSfarras','qshift06');
wt.cfs{2} = zeros(1,512,2);
xrec = idddtree(wt);
plot(t,xrec,'linewidth',2)
set(gca,'xtick',[0 0.3 0.72 1]); set(gca,'xgrid','on');

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

свернуть все

Тип разложения вейвлета, заданного как один из 'dwt', 'ddt', 'cplxdt' или 'cplxdddt'. Тип, 'dwt', дает критически выбранный (безызбыточный) дискретный вейвлет, преобразовывают. Другие типы разложения производят сверхдискретизированный вейвлет, преобразовывает. 'ddt' производит вейвлет с удвоенной плотностью, преобразовывают. 'cplxdt' производит двойной древовидный комплексный вейвлет, преобразовывают. 'cplxdddt' производит двойной древовидный комплексный вейвлет с удвоенной плотностью, преобразовывают.

Входной сигнал, заданный как строка ровной длины или вектор-столбец. Если L является значением level разложения вейвлета, 2L должен разделить длину x. Кроме того, длина сигнала должна быть больше, чем или равной продукту максимальной продолжительности разложения (анализ) фильтры и 2(L-1).

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

Уровень разложения вейвлета, заданного как целое число. Если L является значением level, 2L должен разделить длину x. Кроме того, длина сигнала должна быть больше, чем или равной продукту максимальной продолжительности разложения (анализ) фильтры и 2(L-1).

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

Уровень аналитические фильтры, заданные как матричный или массив ячеек матриц. Задайте fdf как матрицу, когда typetree будет 'dwt' или 'ddt'. Размер и структура матрицы зависят от входа typetree можно следующим образом:

  • 'dwt' — Это - критически выбранный дискретный вейвлет, преобразовывают. В этом случае fdf является матрицей 2D столбца с lowpass (масштабирование), просачиваются, первый столбец и highpass (вейвлет) просачиваются второй столбец.

  • 'ddt' — Это - вейвлет с удвоенной плотностью, преобразовывают. DWT с удвоенной плотностью является совершенным набором фильтров реконструкции с тремя каналами. fdf является матрицей с тремя столбцами с lowpass (масштабирование), просачиваются, первый столбец и два highpass (вейвлет) просачиваются вторые и третьи столбцы. В вейвлете с удвоенной плотностью преобразовывают, один lowpass и два фильтра highpass составляют совершенный набор фильтров реконструкции с тремя каналами. Это эквивалентно трем фильтрам, формирующим трудный кадр. Вы не можете произвольно выбрать, два вейвлета просачиваются DWT с удвоенной плотностью. Три фильтра вместе должны сформировать трудный кадр.

Задайте fdf как 1 2 массив ячеек матриц, когда typetree будет двойным древовидным преобразованием, 'cplxdt' или 'cplxdddt'. Размер и структура элементов матрицы зависят от входа typetree можно следующим образом:

  • Поскольку двойной древовидный комплексный вейвлет преобразовывает, 'cplxdt', fdf{1} является матрицей 2D столбца, содержащей lowpass (масштабирующий) фильтр и highpass (вейвлет) фильтры для первого дерева. Масштабирующийся фильтр является первым столбцом, и фильтр вейвлета является вторым столбцом. fdf{2} является матрицей 2D столбца, содержащей lowpass (масштабирование) и highpass (вейвлет) фильтры для второго дерева. Масштабирующийся фильтр является первым столбцом, и фильтр вейвлета является вторым столбцом.

  • Поскольку двойной древовидный комплексный вейвлет с удвоенной плотностью преобразовывает, 'cplxdddt', fdf{1} является матрицей с тремя столбцами, содержащей lowpass (масштабирование) и два highpass (вейвлет), фильтры для первого дерева и fdf{2} являются матрицей с тремя столбцами, содержащей lowpass (масштабирование) и два highpass (вейвлет) фильтры для второго дерева.

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

Анализ фильтрует для уровней> 1, заданный как матричный или массив ячеек матриц. Задайте df как матрицу, когда typetree будет 'dwt' или 'ddt'. Размер и структура матрицы зависят от входа typetree можно следующим образом:

  • 'dwt' — Это - критически выбранный дискретный вейвлет, преобразовывают. В этом случае df является матрицей 2D столбца с lowpass (масштабирование), просачиваются, первый столбец и highpass (вейвлет) просачиваются второй столбец. Для критически выбранного ортогонального или биоортогонального DWT фильтры в df и fdf должны быть идентичными.

  • 'ddt' — Это - вейвлет с удвоенной плотностью, преобразовывают. DWT с удвоенной плотностью является совершенным набором фильтров реконструкции с тремя каналами. df является матрицей с тремя столбцами с lowpass (масштабирование), просачиваются, первый столбец и два highpass (вейвлет) просачиваются вторые и третьи столбцы. В вейвлете с удвоенной плотностью преобразовывают, один lowpass и два фильтра highpass должны составить совершенный набор фильтров реконструкции с тремя каналами. Это эквивалентно трем фильтрам, формирующим трудный кадр. Для DWT с удвоенной плотностью фильтры в df и fdf должны быть идентичными.

Задайте df как 1 2 массив ячеек матриц, когда typetree будет двойным древовидным преобразованием, 'cplxdt' или 'cplxdddt'. Для двойных древовидных преобразований фильтры в fdf и df должны отличаться. Размер и структура элементов матрицы в массиве ячеек зависят от входа typetree можно следующим образом:

  • Поскольку двойной древовидный комплексный вейвлет преобразовывает, 'cplxdt', df{1} является матрицей 2D столбца, содержащей lowpass (масштабирование) и highpass (вейвлет) фильтры для первого дерева. Масштабирующийся фильтр является первым столбцом, и фильтр вейвлета является вторым столбцом. df{2} является матрицей 2D столбца, содержащей lowpass (масштабирование) и highpass (вейвлет) фильтры для второго дерева. Масштабирующийся фильтр является первым столбцом, и фильтр вейвлета является вторым столбцом.

  • Поскольку двойной древовидный комплексный вейвлет с удвоенной плотностью преобразовывает, 'cplxdddt', df{1} является матрицей с тремя столбцами, содержащей lowpass (масштабирование) и два highpass (вейвлет), фильтры для первого дерева и df{2} являются матрицей с тремя столбцами, содержащей lowpass (масштабирование) и два highpass (вейвлет) фильтры для второго дерева.

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

Отфильтруйте имя, заданное как вектор символов, или представьте скаляр в виде строки. Для критически выбранного DWT задайте любой допустимый ортогональный или биоортогональный фильтр вейвлета. Смотрите wfilters для деталей. Поскольку вейвлет с удвоенной плотностью преобразовывает, 'ddt', допустимым выбором является 'filters1' и 'filters2'. Поскольку комплексный двойной древовидный вейвлет преобразовывает, допустимым выбором является 'dtfP' с P = 1, 2, 3, 4. Поскольку двойной древовидный вейвлет с удвоенной плотностью преобразовывает, единственным допустимым выбором является 'dddtf1'. Дополнительную информацию см. в dtfilters на допустимых именах фильтра для сверхдискретизированных наборов фильтров вейвлета.

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

Имя фильтра первой стадии, заданное как вектор символов или скаляр строки. Определение различного фильтра для первой стадии допустимо и необходимо только в двойном дереве, преобразовывает, 'cplxdt' и 'cplxddt'. В комплексном двойном древовидном вейвлете преобразовывают, можно использовать любой допустимый фильтр вейвлета для первой стадии. В двойном древовидном вейвлете с удвоенной плотностью преобразовывают, фильтры первой стадии должны сформировать совершенный набор фильтров реконструкции с тремя каналами.

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

Отфильтруйте имя для этапов> 1, заданный как вектор символов или представьте скаляр в виде строки. Необходимо задать фильтр первого уровня, который отличается от вейвлета, и масштабирование просачивается, последующие уровни при использовании двойного древовидного вейвлета преобразовывают, 'cplxdt' или 'cplxdddt'. Смотрите dtfilters для допустимого выбора.

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

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

свернуть все

Вейвлет преобразовывает, возвращенный как структура с этими полями:

Тип разложения вейвлета (набор фильтров), используемый в анализе, возвращенном как один из 'dwt', 'ddt', 'cplxdt' или 'cplxdddt'. Тип, 'dwt', дает критически выбранный дискретный вейвлет, преобразовывают. Другие типы соответствуют сверхдискретизированному вейвлету, преобразовывает. 'ddt' является вейвлетом с удвоенной плотностью, преобразовывают, 'cplxdt' является двойным древовидным комплексным вейвлетом, преобразовывают, и 'cplxdddt' является двойным древовидным комплексным вейвлетом с удвоенной плотностью, преобразовывают.

Уровень разложения вейвлета, возвращенного как положительное целое число.

Разложение (анализ) и реконструкция (синтез) фильтры, возвращенные как структура с этими полями:

Аналитические фильтры первой стадии, возвращенные как N-by-2 или N-by-3 матрица для одно-древовидного вейвлета, преобразовывают, или массив ячеек двух N-by-2 или N-by-3 матрицы для двойного древовидного вейвлета преобразовывает. Матрицами является N-by-3 для вейвлета с удвоенной плотностью, преобразовывает. Для N-by-2 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и второй столбец является вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры первой стадии для соответствующего дерева.

Аналитические фильтры для уровней> 1, возвращенный как N-by-2 или N-by-3 матрица для одно-древовидного вейвлета преобразовывают, или массив ячеек двух N-by-2 или N-by-3 матрицы для двойного древовидного вейвлета преобразовывает. Матрицами является N-by-3 для вейвлета с удвоенной плотностью, преобразовывает. Для N-by-2 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и второй столбец является вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры для соответствующего дерева.

Фильтры реконструкции первого уровня, возвращенные как N-by-2 или N-by-3 матрица для одно-древовидного вейвлета, преобразовывают, или массив ячеек двух N-by-2 или N-by-3 матрицы для двойного древовидного вейвлета преобразовывает. Матрицами является N-by-3 для вейвлета с удвоенной плотностью, преобразовывает. Для N-by-2 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и второй столбец является вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит фильтры синтеза первой стадии для соответствующего дерева.

Фильтры реконструкции для уровней> 1, возвращенный как N-by-2 или N-by-3 матрица для одно-древовидного вейвлета преобразовывают, или массив ячеек двух N-by-2 или N-by-3 матрицы для двойного древовидного вейвлета преобразовывает. Матрицами является N-by-3 для вейвлета с удвоенной плотностью, преобразовывает. Для N-by-2 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и второй столбец является вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабированием (lowpass) фильтр, и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит фильтры синтеза для соответствующего дерева.

Вейвлет преобразовывает коэффициенты, возвращенные как 1 на (level +1) массив ячеек матриц. Размер и структура элементов матрицы массива ячеек зависят от типа вейвлета, преобразовывают, typetree, можно следующим образом:

  • 'dwt'cfs{j}

    • j = 1,2... level является уровнем.

    • cfs{level+1} является lowpass, или масштабированием, коэффициентами.

  • 'ddt'cfs{j}(:,:,k)

    • j = 1,2... level является уровнем.

    • k = 1,2 является фильтром вейвлета.

    • cfs{level+1}(:,:) является lowpass, или масштабированием, коэффициентами.

  • 'cplxdt'cfs{j}(:,:,m)

    • j = 1,2... level является уровнем.

    • m = 1,2 является действительными и мнимыми частями.

    • cfs{level+1}(:,:) является lowpass, или масштабированием, коэффициентами.

  • 'cplxdddt'cfs{j}(:,:,k,m)

    • j = 1,2... level является уровнем.

    • k = 1,2 является фильтром вейвлета.

    • m = 1,2 является действительными и мнимыми частями.

    • cfs{level+1}(:,:) является lowpass, или масштабированием, коэффициентами.

Введенный в R2013b