Вейвлет Symlet фильтрует вычисление
Функция symaux
генерирует масштабирующиеся коэффициенты фильтра для "наименьшего количества асимметричных" вейвлетов Daubechies.
w = symaux(n)
w = symaux(___,sumw)
порядок w
= symaux(n
)n
Symlet, масштабирующий фильтр, таким образом что sum(w) = 1
.
Нестабильность может произойти, когда n
является слишком большим. Начиная со значений n
в области значений 30-х функциональный вывод больше не будет точно представлять масштабирующиеся коэффициенты фильтра.
Когда n
увеличивается, время, требуемое вычислить коэффициенты фильтра быстро, растет.
В этом примере вы сгенерируете symlet, масштабирующий коэффициенты фильтра, норма которых равна 1. Вы также подтвердите, что коэффициенты удовлетворяют необходимое отношение. Этот пример требует Signal Processing Toolbox™.
Вычислите масштабирующиеся коэффициенты фильтра порядка 10 symlet, чья сумма равняется.
n = 10; w = symaux(n,sqrt(2));
Подтвердите, что сумма коэффициентов равна и норма равна 1.
sqrt(2)-sum(w)
ans = 0
1-sum(w.^2)
ans = 1.1324e-14
Поскольку целочисленные переводы масштабирующейся функции формируют ортогональное основание, коэффициенты удовлетворяют отношение . Подтвердите это путем взятия автокорреляции коэффициентов и графического вывода результата.
corrw = xcorr(w,w); stem(corrw) grid on title('Autocorrelation of scaling coefficients')
stem(corrw(2:2:end)) grid on title('Even-indexed autocorrelation values')
Этот пример показывает, что symlet и Daubechies, масштабирующий фильтры того же порядка, являются оба решениями того же полиномиального уравнения.
Сгенерируйте порядок 4 Daubechies, масштабирующий фильтр, и постройте его.
wdb4 = dbaux(4)
wdb4 = 1×8
0.1629 0.5055 0.4461 -0.0198 -0.1323 0.0218 0.0233 -0.0075
stem(wdb4)
title('Order 4 Daubechies Scaling Filter')
wdb4 является решением уравнения: P = conv (wrev (w), w) *2, где P является "лагранжевым торусом" фильтр для N = 4. Оцените P и постройте его. P является симметричным фильтром, и wdb4 является минимальным решением для фазы предыдущего уравнения на основе корней P.
P = conv(wrev(wdb4),wdb4)*2;
stem(P)
title('''Lagrange trous'' filter')
Сгенерируйте wsym4, порядок 4 symlet масштабирующий фильтр и постройте его. Симлеты являются вейвлетами "наименьшего количества асимметричного" Добечиса, полученными из другого выбора между корнями P.
wsym4 = symaux(4)
wsym4 = 1×8
0.0228 -0.0089 -0.0702 0.2106 0.5683 0.3519 -0.0210 -0.0536
stem(wsym4)
title('Order 4 Symlet Scaling Filter')
Вычислите conv (wrev (wsym4), wsym4) *2 и подтвердите, что wsym4 является другим решением уравнения P = conv (wrev (w), w) *2.
P_sym = conv(wrev(wsym4),wsym4)*2; err = norm(P_sym-P)
err = 1.8677e-15
Для оказавшего поддержку ортогональный вейвлет с фазовым откликом, который наиболее тесно напоминает линейный фильтр фазы, называется наименее асимметричный. Symlets являются примерами наименьшего количества асимметричных вейвлетов. Они - измененные версии классических вейвлетов дб Daubechies. В этом примере вы покажете, что порядок 4 symlet имеет почти линейный фазовый отклик, в то время как порядок 4 вейвлет Daubechies не делает.
Сначала постройте порядок 4 symlet и порядок 4 Daubechies, масштабирующий функции. В то время как ни один не совершенно симметричен, отметьте, сколько еще симметричный symlet.
[phi_sym,~,xval_sym]=wavefun('sym4',10); [phi_db,~,xval_db]=wavefun('db4',10); subplot(2,1,1) plot(xval_sym,phi_sym) title('sym4 - Scaling Function') grid on subplot(2,1,2) plot(xval_db,phi_db) title('db4 - Scaling Function') grid on
Сгенерируйте фильтры, сопоставленные с порядком 4 symlet и вейвлетами Daubechies.
scal_sym = symaux(4,sqrt(2)); scal_db = dbaux(4,sqrt(2));
Вычислите частотную характеристику масштабирующихся фильтров синтеза.
[h_sym,w_sym] = freqz(scal_sym); [h_db,w_db] = freqz(scal_db);
Чтобы избежать визуальных разрывов, разверните углы фазы частотных характеристик и постройте их. Отметьте, как хорошо угол фазы фильтра symlet аппроксимирует прямую линию.
h_sym_u = unwrap(angle(h_sym)); h_db_u = unwrap(angle(h_db)); figure plot(w_sym/pi,h_sym_u,'.') hold on plot(w_sym([1 end])/pi,h_sym_u([1 end]),'r') grid on xlabel('Normalized Frequency ( x \pi rad/sample)') ylabel('Phase (radians)') legend('Phase Angle of Frequency Response','Straight Line') title('Symlet Order 4 - Phase Angle')
figure plot(w_db/pi,h_db_u,'.') hold on plot(w_db([1 end])/pi,h_db_u([1 end]),'r') grid on xlabel('Normalized Frequency ( x \pi rad/sample)') ylabel('Phase (radians)') legend('Phase Angle of Frequency Response','Straight Line') title('Daubechies Order 4 - Phase Angle')
sym4
и вейвлеты db4
не симметричны, но биоортогональный вейвлет. Постройте масштабирующуюся функцию, сопоставленную с вейвлетом bior3.5
. Вычислите частотную характеристику фильтра масштабирования синтеза для вейвлета и проверьте, что это имеет линейную фазу.
[~,~,phi_bior_r,~,xval_bior]=wavefun('bior3.5',10); figure plot(xval_bior,phi_bior_r) title('bior3.5 - Scaling Function') grid on
[LoD_bior,HiD_bior,LoR_bior,HiR_bior] = wfilters('bior3.5'); [h_bior,w_bior] = freqz(LoR_bior); h_bior_u = unwrap(angle(h_bior)); figure plot(w_bior/pi,h_bior_u,'.') hold on plot(w_bior([1 end])/pi,h_bior_u([1 end]),'r') grid on xlabel('Normalized Frequency ( x \pi rad/sample)') ylabel('Phase (radians)') legend('Phase Angle of Frequency Response','Straight Line') title('Biorthogonal 3.5 - Phase Angle')
Этот пример демонстрирует, что для оказавшего поддержку, совокупная сумма коэффициентов в квадрате масштабирующегося фильтра увеличивается более быстро для экстремального вейвлета фазы, чем другие вейвлеты.
Во-первых, установите порядок к 15 и сгенерируйте масштабирующиеся коэффициенты фильтра для вейвлета Daubechies и Symlet. Оба вейвлета имеют поддержку длины 29.
n = 15; [~,~,LoR_db,~] = wfilters('db15'); [~,~,LoR_sym,~] = wfilters('sym15');
Затем, сгенерируйте масштабирующиеся коэффициенты фильтра для порядка 5 Coiflet. Этот вейвлет также имеет поддержку длины 29.
[~,~,LoR_coif,~] = wfilters('coif5');
Подтвердите, что сумма коэффициентов для всех трех вейвлетов равняется .
sqrt(2)-sum(LoR_db)
ans = 2.2204e-16
sqrt(2)-sum(LoR_sym)
ans = 0
sqrt(2)-sum(LoR_coif)
ans = 2.2204e-16
Постройте совокупные суммы коэффициентов в квадрате. Отметьте, как быстро Daubechies суммируют увеличения. Это вызвано тем, что его энергия сконцентрирована в маленьких абсциссах. Поскольку вейвлет Daubechies имеет экстремальную фазу, совокупная сумма ее коэффициентов в квадрате увеличивается более быстро, чем другие два вейвлета.
plot(cumsum(LoR_db.^2),'rx-') hold on plot(cumsum(LoR_sym.^2),'mo-') plot(cumsum(LoR_coif.^2),'b*-') legend('Daubechies','Symlet','Coiflet') title('Cumulative Sum')
n
Порядок symletПорядок symlet, заданного как положительное целое число.
sumw
— Сумма коэффициентовСумма масштабирующихся коэффициентов фильтра, заданных как положительное вещественное число. Установите на sqrt(2)
, чтобы сгенерировать вектор коэффициентов, норма которых равняется 1.
w
Отфильтруйте коэффициентыВектор масштабирующихся коэффициентов фильтра порядка n
symlet.
Масштабирующиеся коэффициенты фильтра удовлетворяют много свойств. Можно использовать эти свойства проверять результаты. Смотрите, что Модульная Норма Масштабирует Коэффициенты Фильтра для получения дополнительной информации.
Вейвлет Хаара, также известный как вейвлет Daubechies порядка 1, db1
, является единственным сжато поддерживаемым ортогональным вейвлетом, который симметричен, или эквивалентно имеет линейную фазу. Никакой другой сжато поддерживаемый ортогональный вейвлет не может быть симметричным. Однако возможно вывести вейвлеты, которые минимально асимметричны, означая, что их фаза будет очень почти линейна. Для оказавшего поддержку ортогональный вейвлет с фазовым откликом, который наиболее тесно напоминает линейный фильтр фазы, называется least asymmetric.
Построение сжато поддерживаемого ортогонального основания вейвлета включает корни выбора конкретного полиномиального уравнения. Различный выбор корней приведет к вейвлетам, фазы которых отличаются. Пример Наименьшее количество Асимметричного Вейвлета и Фазы сравнивает вейвлеты с различными фазами. Symlet в качестве примера и Daubechies Scaling Filters показывают, что два различных фильтра масштабирования могут удовлетворить тому же полиномиальному уравнению. Для получения дополнительной информации смотрите Daubechies [1].
Как упомянуто в Наименьшем количестве Асимметричного Вейвлета, при построении вейвлета, необходимо выбрать среди набора корней конкретного уравнения. Выбор базируется, которые лежат в модульном кругу в результатах комплексной плоскости в фильтре с очень нелинейной фазой. Такой вейвлет, как говорят, имеет extremal phase и сконцентрировал энергию в маленьких абсциссах. Позвольте {hk} обозначить набор масштабных коэффициентов, сопоставленных с экстремальным вейвлетом фазы, где k = 1,...,N. Затем для любого другого набора масштабирующихся коэффициентов {gk}, следующий из различного выбора корней, следующее неравенство будет содержать для всего J = 1,...,N:
Неравенство проиллюстрировано в примере Экстремальная Фаза. {hk} иногда называются минимальным фильтром задержки [2].
[1] Daubechies, я. (1992), Десять Лекций по Вейвлетам, ряду конференции CBMS-NSF в прикладной математике, SIAM Эд.
[2] Оппенхейм, Алан V и Рональд В. Шафер. Обработка сигналов дискретного времени. Englewood Cliffs, NJ: Prentice Hall, 1989.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.