Двойное дерево и двойная плотность 1-D вейвлет-преобразования
возвращает значение wt = dddtree(typetree,x,level,fdf,df)typetree дискретное вейвлет-преобразование (DWT) входного сигнала 1-D, x, до уровня, level. Вейвлет-преобразование использует фильтры разложения (анализа), fdf, для первого уровня и фильтров анализа, df, для последующих уровней. Поддерживаемыми вейвлет-преобразованиями являются критически дискретизированные DWT, двойная плотность, комплекс с двойным деревом и комплексное вейвлет-преобразование с двойным деревом. Критически дискретизированный DWT представляет собой разложение банка фильтров в ортогональном или биоргональном базисе (нередундантном). Другие вейвлет-преобразования являются банками фильтров с избыточной выборкой.
использует фильтры, указанные в wt = dddtree(typetree,x,level,fname1,fname2)fname1 для первого этапа вейвлет-преобразования двойного дерева и фильтров, указанных в fname2 для последующих этапов вейвлет-преобразования двойного дерева. Указание различных фильтров для этапа 1 допустимо и необходимо только в том случае, если typetree является 'cplxdt' или 'cplxdddt'.
Получить комплексное вейвлет-преобразование двойного дерева шумного доплеровского сигнала. Фильтры FIR на первом и последующих этапах приводят к приблизительно аналитическому вейвлету, как требуется.
Использовать dtfilters для создания фильтров анализа Фарраса первого этапа и фильтров анализа Кингсбери Q-сдвига с 6 отводами для последующих этапов анализа множественных решений.
df = dtfilters('dtf1');Фильтры Фарраса и Кингсбери находятся в df{1} и df{2}соответственно. Загрузите шумный доплеровский сигнал и получите комплексное вейвлет-преобразование двойного дерева до уровня 4.
load noisdopp; wt = dddtree('cplxdt',noisdopp,4,df{1},df{2});
Постройте график аппроксимации на основе коэффициентов аппроксимации четвертого уровня.
xapp = dddtreecfs('r',wt,'scale',{5}); plot(noisdopp) hold on plot(cell2mat(xapp),'r','linewidth',3) axis tight

Использование выходных данных dtfiltersили само имя фильтра, в dddtree является предпочтительным, чем ввод вручную усеченных коэффициентов фильтра. Чтобы продемонстрировать негативное влияние на реконструкцию сигнала, создайте усечённые версии фильтров анализа Фарраса и Кингсбери. Отображение различий между усеченным и исходным фильтрами.
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];
max(max(abs(df{1}{1}-Faf{1})))ans = 2.6792e-05
max(max(abs(df{1}{2}-Faf{2})))ans = 2.6792e-05
max(max(abs(df{2}{1}-af{1})))ans = 3.6160e-05
max(max(abs(df{2}{2}-af{2})))ans = 3.6160e-05
Получите комплексное вейвлет-преобразование двойного дерева до уровня 4 с помощью усеченных фильтров. Выполните обратное преобразование и сравните реконструкцию с исходным сигналом.
wt = dddtree('cplxdt',noisdopp,4,Faf,af);
xrec = idddtree(wt);
max(abs(noisdopp-xrec))ans = 0.0024
Выполните то же самое с использованием имени фильтра. Подтвердите, что разница меньше.
wt = dddtree('cplxdt',noisdopp,4,'dtf1'); xrec = idddtree(wt); max(abs(noisdopp-xrec))
ans = 2.1893e-07
Получить вейвлет-преобразование двойной плотности сигнала с двумя разрывами. Используйте коэффициенты детализации первого уровня для локализации разрывов.
Создайте сигнал, состоящий из волны синуса на 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('Time (s)') title('Original Signal') grid on

Получить вейвлет-преобразование двойной плотности сигнала. Реконструируйте приближение на основе коэффициентов детализации уровня один, предварительно установив коэффициенты нижних частот (масштабирование) равными 0. Постройте график результата. Наблюдайте за особенностями реконструкции, выровненными с разрывами сигнала.
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('Time (s)') title('Original Signal') grid on

Получить вейвлет-преобразование двойного дерева сигнала, восстановить аппроксимацию на основе коэффициентов детализации уровня один и построить график результата.
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')

typetree - Тип вейвлет-разложения'dwt' | 'ddt' | 'cplxdt' | 'cplxdddt'Тип вейвлет-декомпозиции, указанный как один из 'dwt', 'ddt', 'cplxdt', или 'cplxdddt'. Тип, 'dwt'дает критически дискретизированное (нерезервируемое) дискретное вейвлет-преобразование. Другие типы декомпозиции производят сверхдискретизированные вейвлет-преобразования. 'ddt' создает вейвлет-преобразование с двойной плотностью. 'cplxdt' создает двойное древовидное комплексное вейвлет-преобразование. 'cplxdddt' создает двойное древовидное комплексное вейвлет-преобразование с двойной плотностью.
x - Входной сигналВходной сигнал, заданный как строка или вектор столбца четной длины. Если L - значение level вейвлет-декомпозиции, 2L должен разделить длину x. Кроме того, длина сигнала должна быть больше или равна произведению максимальной длины фильтров разложения (анализа) и 2 (L-1).
Типы данных: double
level - Уровень вейвлет-разложенияУровень вейвлет-разложения, заданный как целое число. Если L - значение level, 2L должны разделить длину x . Кроме того, длина сигнала должна быть больше или равна произведению максимальной длины фильтров разложения (анализа) и 2 (L-1).
Типы данных: double
fdf - Фильтры анализа первого уровняФильтры анализа уровня один, заданные как матрица или массив ячеек матриц. Определить fdf как матрица, когда typetree является 'dwt' или 'ddt'. Размер и структура матрицы зависят от typetree введите следующее:
'dwt' - Это критически дискретизированное дискретное вейвлет-преобразование. В этом случае fdf - матрица из двух столбцов с фильтром нижних частот (масштабирование) в первом столбце и фильтром верхних частот (вейвлет) во втором столбце.
'ddt' - это вейвлет-преобразование с двойной плотностью. DWT с двойной плотностью представляет собой трехканальный идеальный набор восстановительных фильтров. fdf - матрица из трех столбцов с фильтром нижних частот (масштабирование) в первом столбце и двумя фильтрами верхних частот (вейвлет) во втором и третьем столбцах. В вейвлет-преобразовании с двойной плотностью одиночный низкочастотный и два высокочастотных фильтра образуют трехканальный идеальный набор восстановительных фильтров. Это эквивалентно трем фильтрам, образующим плотную раму. Нельзя произвольно выбирать два вейвлет-фильтра в DWT двойной плотности. Три фильтра вместе должны образовывать плотную раму.
Определить fdf как массив ячеек 1 на 2 матриц, когда typetree является преобразованием с двойным деревом, 'cplxdt' или 'cplxdddt'. Размер и структура матричных элементов зависят от typetree введите следующее:
Для комплексного вейвлет-преобразования с двойным деревом, 'cplxdt', fdf{1} - матрица из двух столбцов, содержащая фильтр нижних частот (масштабирование) и фильтры верхних частот (вейвлет) для первого дерева. Фильтр масштабирования является первым столбцом, а вейвлет-фильтр - вторым столбцом. fdf{2} - матрица из двух столбцов, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для второго дерева. Фильтр масштабирования является первым столбцом, а вейвлет-фильтр - вторым столбцом.
Для двойного древесного комплексного вейвлет-преобразования, 'cplxdddt', fdf{1} - матрица из трех столбцов, содержащая фильтры нижних частот (масштабирование) и два фильтра верхних частот (вейвлет) для первого дерева и fdf{2} - матрица из трех столбцов, содержащая фильтры нижних частот (масштабирование) и два фильтра верхних частот (вейвлет) для второго дерева.
Типы данных: double
df - Фильтры анализа для уровней > 1Фильтры анализа для уровней > 1, заданные как матрица или массив ячеек матриц. Определить df как матрица, когда typetree является 'dwt' или 'ddt'. Размер и структура матрицы зависят от typetree введите следующее:
'dwt' - Это критически дискретизированное дискретное вейвлет-преобразование. В этом случае df - матрица из двух столбцов с фильтром нижних частот (масштабирование) в первом столбце и фильтром верхних частот (вейвлет) во втором столбце. Для критически отобранного ортогонального или биортогонального DWT фильтры в df и fdf должны быть идентичными.
'ddt' - это вейвлет-преобразование с двойной плотностью. DWT с двойной плотностью представляет собой трехканальный идеальный набор восстановительных фильтров. df - матрица из трех столбцов с фильтром нижних частот (масштабирование) в первом столбце и двумя фильтрами верхних частот (вейвлет) во втором и третьем столбцах. В вейвлет-преобразовании с двойной плотностью одиночный низкочастотный и два высокочастотных фильтра должны составлять трехканальный идеальный набор восстановительных фильтров. Это эквивалентно трем фильтрам, образующим плотную раму. Для DWT двойной плотности фильтры в df и fdf должны быть идентичными.
Определить df как массив ячеек 1 на 2 матриц, когда typetree является преобразованием с двойным деревом, 'cplxdt' или 'cplxdddt'. Для преобразований с двойным деревом фильтры в fdf и df должно быть иначе. Размер и структура матричных элементов в массиве ячеек зависят от typetree введите следующее:
Для комплексного вейвлет-преобразования с двойным деревом, 'cplxdt', df{1} - матрица из двух столбцов, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для первого дерева. Фильтр масштабирования является первым столбцом, а вейвлет-фильтр - вторым столбцом. df{2} - матрица из двух столбцов, содержащая фильтры нижних частот (масштабирование) и верхних частот (вейвлет) для второго дерева. Фильтр масштабирования является первым столбцом, а вейвлет-фильтр - вторым столбцом.
Для двойного древесного комплексного вейвлет-преобразования, 'cplxdddt', df{1} - матрица из трех столбцов, содержащая фильтры нижних частот (масштабирование) и два фильтра верхних частот (вейвлет) для первого дерева и df{2} - матрица из трех столбцов, содержащая фильтры нижних частот (масштабирование) и два фильтра верхних частот (вейвлет) для второго дерева.
Типы данных: double
fname - Имя фильтраИмя фильтра, указанное как вектор символа или скаляр строки. Для критически отобранного DWT укажите любой допустимый ортогональный или биоргональный вейвлет-фильтр. Посмотрите wfilters для получения подробной информации. Для вейвлет-преобразования с двойной плотностью, 'ddt', допустимые варианты: 'filters1' и 'filters2'. Для сложного вейвлет-преобразования с двойным деревом допустимыми вариантами являются 'dtfP' с P = 1, 2, 3, 4. Для преобразования двойного дерева с двойной плотностью единственным допустимым выбором является 'dddtf1'. Посмотрите dtfilters для получения более подробной информации о действительных именах фильтров для банков вейвлет-фильтров с избыточной выборкой.
Типы данных: char
fname1 - Имя фильтра первой ступениИмя фильтра первой ступени, указанное как вектор символа или скаляр строки. Указание другого фильтра для первого этапа допустимо и необходимо только в преобразованиях с двойным деревом, 'cplxdt' и 'cplxddt'. В сложном вейвлет-преобразовании двойного дерева можно использовать любой допустимый вейвлет-фильтр для первого этапа. В преобразовании двойного дерева двойной плотности фильтры первой ступени должны формировать набор трехканальных идеальных восстановительных фильтров.
Типы данных: char
fname2 - Имя фильтра для ступеней > 1Имя фильтра для этапов > 1, указанное как вектор символа или скаляр строки. При использовании преобразования с двойным деревом необходимо указать фильтр первого уровня, который отличается от фильтров вейвлета и масштабирования на последующих уровнях. 'cplxdt' или 'cplxdddt'. Посмотрите dtfilters для допустимых вариантов.
Типы данных: char
wt - Вейвлет-преобразованиеВейвлет-преобразование, возвращаемое как структура со следующими полями:
type - Тип вейвлет-декомпозиции (банка фильтров)'dwt' | 'ddt' | 'cplxdt' | 'cplxdddt'Тип вейвлет-декомпозиции (банка фильтров), используемый в анализе, возвращаемый как один из 'dwt', 'ddt', 'cplxdt', или 'cplxdddt'. Тип, 'dwt'дает критически дискретизированное дискретное вейвлет-преобразование. Другие типы соответствуют сверхдискретизированным вейвлет-преобразованиям. 'ddt' - вейвлет-преобразование с двойной плотностью, 'cplxdt' является комплексным вейвлет-преобразованием с двойным деревом, и 'cplxdddt' является двойным комплексным вейвлет-преобразованием с двойной плотностью.
level - Уровень вейвлет-разложенияУровень вейвлет-разложения, возвращаемый как положительное целое число.
filters - Фильтры разложения (анализа) и реконструкции (синтеза)Фильтры разложения (анализа) и реконструкции (синтеза), возвращаемые как структура с этими полями:
Fdf - Фильтры анализа первого этапаФильтры анализа первого этапа, возвращаемые как матрица N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массив ячеек из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры анализа первого этапа для соответствующего дерева.
Df - Фильтры анализа для уровней > 1Анализ фильтрует уровни > 1, возвращаемые в виде матрицы N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массива ячеек из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры анализа для соответствующего дерева.
Frf - Фильтры реконструкции первого уровняФильтры восстановления первого уровня, возвращаемые в виде матрицы N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массива ячеек из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры синтеза первой ступени для соответствующего дерева.
Rf - Восстановительные фильтры для уровней > 1Фильтры реконструкции для уровней > 1, возвращаемые в виде матрицы N-by-2 или N-by-3 для вейвлет-преобразований с одним деревом или массива ячеек из двух N-by-2 или N-by-3 матриц для вейвлет-преобразований с двумя деревьями. Матрицы N-by-3 для вейвлет-преобразований двойной плотности. Для N-by-2 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым столбцом - вейвлет (высокопроходный) фильтр. Для N-by-3 матрицы первым столбцом матрицы является масштабный (низкочастотный) фильтр, а вторым и третьим столбцами являются вейвлет (высокопроходные) фильтры. Для преобразований двойного дерева каждый элемент массива ячеек содержит фильтры синтеза для соответствующего дерева.
cfs - Коэффициенты вейвлет-преобразованияКоэффициенты вейвлет-преобразования, возвращаемые как 1-by- (level+ 1) массив ячеек матриц. Размер и структура матричных элементов массива ячеек зависят от типа вейвлет-преобразования ,typetree, следующим образом:
'dwt' — cfs{j}
j = 1,2,... level - уровень.
cfs{level+1} являются коэффициентами нижних частот или масштабированием.
'ddt' — cfs{j}(:,:,k)
j = 1,2,... level - уровень.
k = 1,2 - вейвлет-фильтр.
cfs{level+1}(:,:) являются коэффициентами нижних частот или масштабированием.
'cplxdt' — cfs{j}(:,:,m)
j = 1,2,... level - уровень.
m = 1,2 - действительная и мнимая части.
cfs{level+1}(:,:,m) являются коэффициентами нижних частот или масштабированием.
'cplxdddt' — cfs{j}(:,:,k,m)
j = 1,2,... level - уровень.
k = 1,2 - вейвлет-фильтр.
m = 1,2 - действительная и мнимая части.
cfs{level+1}(:,:,m) являются коэффициентами нижних частот или масштабированием.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.