Вейвлет 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
Поскольку целочисленные переводы масштабирующейся функции формируют ортогональное основание, коэффициенты удовлетворяют отношению . Подтвердите это путем взятия автокорреляции коэффициентов и графического вывода результата.
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')
Этот пример демонстрирует, что для оказавшего поддержку, совокупная сумма коэффициентов в квадрате масштабирующегося фильтра увеличивается более быстро для экстремального вейвлета фазы, чем другие вейвлеты.
Сгенерируйте масштабирующиеся коэффициенты фильтра для db15
и sym15
вейвлеты. Оба вейвлета имеют поддержку ширины .
[~,~,LoR_db,~] = wfilters('db15'); [~,~,LoR_sym,~] = wfilters('sym15');
Затем сгенерируйте масштабирующиеся коэффициенты фильтра для coif5
вейвлет. Этот вейвлет также имеет поддержку ширины .
[~,~,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.
Построение сжато поддерживаемого ортогонального основания вейвлета включает корни выбора конкретного полиномиального уравнения. Различный выбор корней приведет к вейвлетам, фазы которых отличаются. Выбор базируется, которые лежат в модульном кругу в результатах комплексной плоскости в фильтре с очень нелинейной фазой. Такой вейвлет, как говорят, имеет extremal phase и сконцентрировал энергию в маленьких абсциссах. Позвольте {hk} обозначить набор масштабных коэффициентов, сопоставленных с экстремальным вейвлетом фазы, где k = 1,…,M. Затем для любого другого набора масштабирующихся коэффициентов {gk}, следующий из различного выбора корней, следующее неравенство будет содержать для всего J = 1,…,M:
{hk} иногда называются минимальным фильтром задержки [2].
Полиномиальное упомянутое выше уравнение зависит от желаемого номера исчезающих моментов N для вейвлета. Создать основание вейвлета включает корни выбора уравнения. В случае наименьшего количества асимметричных вейвлетов и экстремальных вейвлетов фазы для порядков 1, 2, и 3, нет эффективно никакого выбора сделать. Для N = 1, 2, и 3, db
N и sym
Фильтры N равны. Symlet в качестве примера и Daubechies Scaling Filters показывают, что два различных фильтра масштабирования могут удовлетворить тому же полиномиальному уравнению. Для получения дополнительной информации смотрите Daubechies [1].
[1] Daubechies, я. Десять лекций по вейвлетам, CBMS-NSF региональный ряд конференции в прикладной математике. Филадельфия, PA: SIAM Эд, 1992.
[2] Оппенхейм, Алан V и Рональд В. Шафер. Обработка сигналов дискретного времени. Englewood Cliffs, NJ: Prentice Hall, 1989.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.