|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 06 Mar 2002 10:39:47 To : Mihail S. Sidorenko Subject : график wavelet-преобразования -------------------------------------------------------------------------------- Tue Mar 05 2002 22:02, Mihail S. Sidorenko wrote to Evgenij Masherov: MSS> Привет, Evgenij! EM>> А как отыгрывается разный масштаб по времени? И как +/- делать - EM>> красным/синим? MSS> Hасчёт красного/синего позволю себе не согласиться - это не наглядно, MSS> т.к. чисто зрительно синие компоненты будут восприниматься темнее MSS> красных с той же интенсивностью, тогда как наличие больших по модулю MSS> отрицательных коэффициентов вейвлет-разложения не в меньшей мере MSS> свидетельствует о наличии сингулярностей в данном "месте" сигнала, чем MSS> положительные коэффициенты :) Хотя я действовал именно так. Просто есть некий стандарт, к которому привыкли г-да доктора:) (Я-то санитар:) Именно + красный, - - синий. Разумеется, непринципиально... EM>> Интересен практический опыт... MSS> Hу... что есть практический опыт? Если кому интересно, могу (ему) MSS> отправить небольшую софтину собственного приготовления ;) , которая MSS> раскладывает звуковой сигнал из wav-файла по разным ортонормированный MSS> вейвлет-базисам и выводит результат как раз в таком виде. Только я это MSS> пишу для себя, поэтому разобраться в сырцах будет непросто. Здесь могу MSS> привести часть исходного текста программы: (заранее извиняюсь за плохой MSS> стиль и неоптимальность) И какой вейвлет пользуете? MSS> \\d[j][k] - массив коэффициентов вейвлет-разложения, j = 1..N - MSS> различные \\масштабы, k = 0..2^(N - j) - соотв. коэффициенты на каждом MSS> масштабе, \\X_MAX - максимальная x-координата экрана, pos - позиция MSS> начала окна \\отображения MSS> for( j = 1; j < N; j++) MSS> for( x = 0; x < MAX_X; x++) MSS> { MSS> c = (int)(a * d[j][(int)((x + pos) / pow(2, j))]); MSS> if(c < 0) MSS> color = RGB(0, 0, c); MSS> else MSS> color = RGB(c, 0, 0); MSS> Line(x, Y_OFFSET + j * Y_W, x, Y_OFFSET + (j + 1) * Y_W, color); MSS> } MSS> В результате получается график из N полосок шириной Y_W пикселов. MSS> Параметр a выбирается из таких соображений, чтобы все значения попадали MSS> в диапазон (-255, 255). Строится в общепринятом :) порядке - сверху MSS> высокие частоты (точнее, масштабы), снизу - низкие. Если ещё что-нибудь MSS> хотите узнать - с радостью отвечу. Т.е. для HЧ масштаба на всю длину, а для мелких - соответственно фрагментируется? MSS> С уважением, Mihail. Взаимно. Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300216e6cf8.html, оценка из 5, голосов 10
|