Двойное дерево и 1D вейвлет с удвоенной плотностью преобразовывают
возвращает wt
= dddtree(typetree
,x
,level
,fdf
,df
)typetree
дискретный вейвлет преобразовывает (DWT) 1D входного сигнала, x
, вниз выравниваться, level
. Вейвлет преобразовывает, использует разложение (анализ) фильтры, fdf
, для первого уровня и аналитических фильтров, df
, для последующих уровней. Поддерживаемый вейвлет преобразовывает, критически произведенный DWT, двойной древовидный комплекс с удвоенной плотностью, и двойной древовидный комплексный вейвлет с удвоенной плотностью преобразовывает. Критически произведенный DWT является разложением набора фильтров в ортогональном или биоортогональном (безызбыточном) основании. Другой вейвлет преобразовывает, сверхдискретизированные наборы фильтров.
использует фильтры, заданные в wt
= dddtree(typetree
,x
,level
,fname1
,fname2
)fname1
поскольку первая стадия двойного древовидного вейвлета преобразовывает и фильтры, заданные в fname2
поскольку последующие этапы двойного древовидного вейвлета преобразовывают. Определение различных фильтров для этапа 1 допустимо и необходимо только когда typetree
'cplxdt'
или 'cplxdddt'
.
Получите комплексное двойное древовидное преобразование вейвлета шумного Доплеровского сигнала. КИХ просачивается первый и последующий результат этапов приблизительно в аналитическом вейвлете как требуется.
Используйте dtfilters
создать первую стадию аналитические фильтры Farras и анализ 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
Получите преобразование вейвлета с удвоенной плотностью сигнала. Восстановите приближение на основе уровня коэффициенты детали первой установкой lowpass (масштабирование) коэффициенты, равные 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
матрица 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
df
— Анализ фильтрует для уровней> 1Анализ фильтрует для уровней> 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
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 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и второй столбец являются вейвлетом (highpass) фильтр. Для N-by-3 матрица, первый столбец матрицы является масштабирующимся (lowpass), фильтр и вторые и третьи столбцы являются вейвлетом (highpass) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры первой стадии для соответствующего дерева.
Df
— Анализ фильтрует для уровней> 1Аналитические фильтры для уровней> 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) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит аналитические фильтры для соответствующего дерева.
Frf
— Фильтры реконструкции первого уровняФильтры реконструкции первого уровня, возвращенные как 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) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит фильтры синтеза первой стадии для соответствующего дерева.
Rf
— Реконструкция фильтрует для уровней> 1Фильтры реконструкции для уровней> 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) фильтры. Поскольку двойное дерево преобразовывает, каждый элемент массива ячеек содержит фильтры синтеза для соответствующего дерева.
cfs
— Вейвлет преобразовывает коэффициентыВейвлет преобразовывает коэффициенты, возвращенные как 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}(:,:,m)
lowpass, или масштабирование, коэффициенты.
'cplxdddt'
— cfs{j}(:,:,k,m)
j = 1,2... level
уровень.
k = 1,2 является фильтром вейвлета.
m = 1,2 является действительными и мнимыми частями.
cfs{level+1}(:,:,m)
lowpass, или масштабирование, коэффициенты.
dddtree2
| dddtreecfs
| dtfilters
| idddtree
| wfilters
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.