Двухдерево и двойная плотность 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'
.
Получите комплексное двойное древовидное вейвлет-преобразование шумного доплеровского сигнала. Конечная импульсная характеристика на первой и последующих стадиях приводят к приблизительно аналитическому вейвлет при необходимости.
Использование dtfilters
для создания первого этапа фильтров анализа Фарраса и 6-таповых фильтров анализа Q-сдвига Кингсбери для последующих этапов мультирезолюционного анализа.
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
Получите вейвлет преобразование двойной плотности сигнала с двумя разрывами. Используйте коэффициенты детализации уровня 1, чтобы локализовать разрывы.
Создайте сигнал, состоящий из 2-Hz синусоиды длительностью 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-Hz синусоиды длительностью 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
- Фильтры анализа первого уровняАнализ уровня 1 фильтрует, задается как матрица или массив ячеек матриц. Задайте fdf
как матрица, когда typetree
является 'dwt'
или 'ddt'
. Размер и структура матрицы зависят от typetree
введите следующим образом:
'dwt'
- Это критически выбранное дискретное вейвлет. В этом случае fdf
- двухколоночная матрица с lowpass (масштабирование) фильтром в первом столбце и highpass (вейвлет) фильтром во втором столбце.
'ddt'
- Это вейвлет двойной плотности. DWT с двойной плотностью представляет собой трехканальный идеальный блок фильтров реконструкции. fdf
является трехколоночной матрицей с lowpass (масштабирование) фильтром в первом столбце и двумя highpass (вейвлет) фильтрами во втором и третьем столбцах. В преобразовании вейвлета двойной плотности один lowpass и два highpass фильтра составляют трехканальный идеальный набор фильтров реконструкции. Это эквивалентно трем фильтрам, образующим плотную систему координат. Вы не можете произвольно выбрать два вейвлета в DWT с двойной плотностью. Три фильтра вместе должны сформировать плотную систему координат.
Задайте fdf
как массив ячеек 1 на 2 матриц при typetree
является преобразованием двойственного дерева, 'cplxdt'
или 'cplxdddt'
. Размер и структура элементов матрицы зависят от typetree
введите следующим образом:
Для двухдревовидного комплексного вейвлет, 'cplxdt'
, fdf{1}
- двухколоночная матрица, содержащая lowpass (масштабирование) фильтр и highpass (вейвлет) фильтры для первого дерева. Масштабный фильтр является первым столбцом, а вейвлет - вторым столбцом. fdf{2}
- двухколоночная матрица, содержащая lowpass (масштабирование) и highpass (вейвлет) фильтры для второго дерева. Масштабный фильтр является первым столбцом, а вейвлет - вторым столбцом.
Для двойного древовидного комплексного вейвлет двойной плотности, 'cplxdddt'
, fdf{1}
- трехколоночная матрица, содержащая lowpass (масштабирование) и два highpass (вейвлет) фильтра для первого дерева и fdf{2}
- трехколоночная матрица, содержащая lowpass (масштабирование) и два highpass (вейвлет) фильтра для второго дерева.
Типы данных: double
df
- Фильтры анализа для уровней > 1Фильтры анализа для уровней > 1, заданные как матрица или массив ячеек матриц. Задайте df
как матрица, когда typetree
является 'dwt'
или 'ddt'
. Размер и структура матрицы зависят от typetree
введите следующим образом:
'dwt'
- Это критически выбранное дискретное вейвлет. В этом случае df
- двухколоночная матрица с lowpass (масштабирование) фильтром в первом столбце и highpass (вейвлет) фильтром во втором столбце. Для критически выбранных ортогональных или биортогональных DWT фильтрует в df
и fdf
должны быть идентичными.
'ddt'
- Это вейвлет двойной плотности. DWT с двойной плотностью представляет собой трехканальный идеальный блок фильтров реконструкции. df
является трехколоночной матрицей с lowpass (масштабирование) фильтром в первом столбце и двумя highpass (вейвлет) фильтрами во втором и третьем столбцах. В преобразовании вейвлета двойной плотности один lowpass и два high pass фильтра должны представлять собой трехканальный идеальный набор фильтров реконструкции. Это эквивалентно трем фильтрам, образующим плотную систему координат. Для double-плотности DWT фильтрует в df
и fdf
должны быть идентичными.
Задайте df
как массив ячеек 1 на 2 матриц при typetree
является преобразованием двойственного дерева, 'cplxdt'
или 'cplxdddt'
. Для двухдревовидных преобразований фильтрует в fdf
и df
должно быть другим. Размер и структура элементов матрицы в массиве ячеек зависят от typetree
введите следующим образом:
Для двухдревовидного комплексного вейвлет, 'cplxdt'
, df{1}
- двухколоночная матрица, содержащая lowpass (масштабирование) и highpass (вейвлет) фильтры для первого дерева. Масштабный фильтр является первым столбцом, а вейвлет - вторым столбцом. df{2}
- двухколоночная матрица, содержащая 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-на-2 или N-на-3 матрица для вейвлет-преобразований с одним деревом или массив ячеек из двух матриц N-на-2 или N-на-3 для вейвлет-преобразований с двумя деревьями. Матрицы N -by-3 для вейвлет двойной плотности. Для матрицы N -by-2 первым столбцом матрицы является фильтр масштабирования (lowpass), а вторым - вейвлет (highpass). Для матрицы N -by-3 первый столбец матрицы является фильтром масштабирования (lowpass), а второй и третий столбцы являются вейвлет (highpass) фильтрами. Для преобразования двойственного дерева каждый элемент массива ячеек содержит фильтры анализа для соответствующего дерева.
Frf
- Фильтры реконструкции первого уровняФильтры реконструкции первого уровня, возвращенные как матрица N-на-2 или N-на-3 для вейвлет-преобразований с одним деревом или массив ячеек из двух матриц N-на-2 или N-на-3 для вейвлет с двумя деревьями. Матрицы N -by-3 для вейвлет двойной плотности. Для матрицы N -by-2 первым столбцом матрицы является фильтр масштабирования (lowpass), а вторым - вейвлет (highpass). Для матрицы N -by-3 первый столбец матрицы является фильтром масштабирования (lowpass), а второй и третий столбцы являются вейвлет (highpass) фильтрами. Для преобразований двойственного дерева каждый элемент массива ячеек содержит фильтры синтеза первого этапа для соответствующего дерева.
Rf
- Фильтры реконструкции для уровней > 1Фильтры реконструкции для уровней > 1, возвращенные как N-на-2 или N-на-3 матрица для вейвлет-преобразований с одним деревом или массив ячеек из двух N-на-2 или N-на-3 матриц для вейвлет с двумя деревьями. Матрицы N -by-3 для вейвлет двойной плотности. Для матрицы N -by-2 первым столбцом матрицы является фильтр масштабирования (lowpass), а вторым - вейвлет (highpass). Для матрицы N -by-3 первый столбец матрицы является фильтром масштабирования (lowpass), а второй и третий столбцы являются вейвлет (highpass) фильтрами. Для двухдревовидных преобразований каждый элемент массива ячеек содержит фильтры синтеза для соответствующего дерева.
cfs
- Вейвлеты вейвлет-преобразованияВейвлеты вейвлет-преобразования, возвращенные как 1-by- (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, или масштабирования.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.