Вычисление вейвлет-фильтра Symlet
symaux функция генерирует коэффициенты фильтра масштабирования для «наименее асимметричных» вейвлетов Daubechies.
является заказом w = symaux(n)n Масштабирующий фильтр Symlet, такой, что sum(w) = 1.
Примечание
Нестабильность может возникнуть, когда n слишком большой. Начиная со значений n в диапазоне 30, выходной сигнал функции больше не будет точно представлять коэффициенты масштабного фильтра.
Как n увеличивается время, необходимое для быстрого вычисления коэффициентов фильтра.
Для n = 1, 2 и 3, порядок n Фильтры Symlet и порядок n Фильтры Daubechies идентичны. См. Экстремальная фаза.
В этом примере создается коэффициент фильтра масштабирования symlet, норма которого равна 1. Вы также подтвердите, что коэффициенты удовлетворяют необходимому соотношению.
Вычислите коэффициенты масштабного фильтра порядка 10 symlet, сумма которых .
n = 10; w = symaux(n,sqrt(2));
Подтвердите, что сумма коэффициентов равна , а норма равна 1.
sqrt(2)-sum(w)
ans = 0
1-sum(w.^2)
ans = 1.1324e-14
Поскольку целочисленные трансляции функции масштабирования образуют ортогональный базис, коэффициенты удовлетворяют соотношению δ (k). Подтвердите это, взяв автокорреляцию коэффициентов и построив график результата.
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 одного порядка являются решениями одного и того же полиномиального уравнения.
Создайте масштабный фильтр Daubechies порядка 4 и постройте его график.
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, масштабный фильтр symlet порядка 4 и постройте его график. Symlets - «наименее асимметричные» вейвлеты Daubechies, полученные из другого выбора между корнями 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')
Вычислите конвейер (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
В этом примере используются:
Для данной опоры ортогональный вейвлет с фазовым откликом, который больше всего напоминает линейный фазовый фильтр, называется наименее асимметричным. Симлеты являются примерами наименьших асимметричных вейвлетов. Они представляют собой модифицированные версии классических вейвлетов базы данных Daubechies. В этом примере показано, что symlet порядка 4 имеет почти линейный фазовый отклик, а вейвлет Daubechies порядка 4 - нет.
Сначала постройте график функций масштабирования порядка 4 symlet и порядка 4 Daubechies. Хотя ни один из них не является идеально симметричным, обратите внимание, насколько симлет более симметричен.
[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

Создайте фильтры, связанные с вейвлетами symlet и Daubechies порядка 4.
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')

Этот пример демонстрирует, что для данной поддержки совокупная сумма возведенных в квадрат коэффициентов масштабного фильтра увеличивается быстрее для экстремального фазового вейвлета, чем для других вейвлетов.
Создание коэффициентов масштабного фильтра для db15 и sym15 вейвлеты. Оба вейвлета имеют опору ширины = 29.
[~,~,LoR_db,~] = wfilters('db15'); [~,~,LoR_sym,~] = wfilters('sym15');
Затем создайте коэффициенты масштабного фильтра для coif5 вейвлет. Этот вейвлет также имеет поддержку ширины = 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, указанный как положительное целое число.
sumw - Сумма коэффициентовСумма коэффициентов масштабного фильтра, заданная как положительное вещественное число. Установить в значение sqrt(2) для формирования вектора коэффициентов, нормой которых является 1.
w - Коэффициенты фильтраВектор коэффициентов масштабного фильтра порядка n Симлет.
Коэффициенты фильтра масштабирования удовлетворяют ряду свойств. Эти свойства можно использовать для проверки результатов. Дополнительные сведения см. в разделе Коэффициенты фильтра масштабирования единичной нормы.
Вейвлет Хаара, также известный как вейвлет Даубехиеса порядка 1, db1, является единственным компактно поддерживаемым ортогональным вейвлетом, который является симметричным или эквивалентно имеет линейную фазу. Никакой другой компактно поддерживаемый ортогональный вейвлет не может быть симметричным. Однако можно получить вейвлеты, которые минимально асимметричны, что означает, что их фаза будет очень почти линейной. Для данной опоры ортогональный вейвлет с фазовым откликом, который больше всего напоминает линейный фазовый фильтр, называется наименее асимметричным.
Построение компактно поддерживаемого ортогонального вейвлетного базиса включает в себя выбор корней конкретного полиномиального уравнения. Различные варианты корней приводят к вейвлетам, фазы которых различны. Выбор корней, лежащих в пределах единичной окружности в комплексной плоскости, приводит к созданию фильтра с очень нелинейной фазой. Говорят, что такой вейвлет имеет экстремальную фазу и имеет энергию, сконцентрированную на малых абсциссах. Пусть {hk} обозначает набор коэффициентов масштабирования, связанных с экстремальным фазовым вейвлетом, где k = 1,...,M. Тогда для любого другого набора коэффициентов масштабирования {gk}, полученных из другого выбора корней, следующее неравенство будет сохраняться для всех J = 1,...,M :
{hk} иногда называют фильтром минимальной задержки [2].
Уравнение полинома, упомянутое выше, зависит от требуемого количества моментов N исчезновения для импульса. Для построения вейвлет-базиса выбирают корни уравнения. В случае наименьших асимметричных вейвлетов и экстремальных фазовых вейвлетов для порядков 1, 2 и 3 фактически нет выбора. Для N = 1, 2 и 3 dbN и symN фильтров равны. Пример фильтров масштабирования Symlet и Daubechies показывает, что два разных фильтра масштабирования могут удовлетворять одному и тому же полиномиальному уравнению. Для получения дополнительной информации см. Daubechies [1].
[1] Daubechies, I. Десять лекций по вейвлетам, серия региональных конференций CBMS-NSF по прикладной математике. Филадельфия, Пенсильвания: SIAM Ed, 1992.
[2] Оппенгейм, Алан В. и Рональд В. Шефер. Дискретно-временная обработка сигналов. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1989.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.