7. Конец.
Контрольный пример должен содержать результаты передискретизации сигнала в масштабах от исходного размера до 1.
2.2.7. Список условных обозначенийАлгоритм использует следующие условные обозначения:
src – исходный сигнал;
src_size – размер исходного сигнала;
res – передискретизированный сигнал;
res_size – размер результата передискретизации;
][ – взятие целой части.
2.3. Описание алгоритма перемножения сигнала и вейвлета 2.3.1. Назначение и характеристика алгоритма перемножения сигнала и вейвлетаДанный алгоритм предназначен для усреднения значений сигнала с использованием вейвлета определенного масштаба. Усреднение заключается в анализе каждого значения сигнала в его окрестностях, причем размер окрестностей и есть ни что иное, как размер вейвлета.
2.3.2. Используемая информацияПри реализации алгоритма используются размерные характеристики сигнала и вейвлета, а также их значения.
В результате перемножения получается массив вещественных чисел с ярко выраженными максимумами и минимумами, соответсвующими степени идентичности значений сигнала вейвлету заданного масштаба.
2.3.4. Математическое описание алгоритма перемножения сигнала и вейвлетаОбобщенное математическое описание перемножения сигнала и вейвлета приведено в п. 2.1.4.2. Для ускорения расчёта и обработки размер результата искусственно увеличим вдвое. Данное допущение также решит проблемы с четностью/нечетностью размеров вейвлета и сигнала.
Итак, если применить удвоение результата к отмеченным в п. 2.1.4.2 формулировкам, исходя из формулы (2.3), имеем следующий результат перемножения:
, (2.5)
где , , – результат перемножения;
, – исходный сигнал;
, – вейвелет;
– модуль (длина) вектора;
– взятие целой части;
– остаток от целочисленного деления;
– функция перемножения, описанная в формуле (2.3);
– логическое «или»;
– логическое «и».
1. res_size ::= 2 * y_size ; max_offset ::= y_size – psi_zise;
null_offset ::= min{psi_size – 1, res_size}; i ::= 0;
2. Если i ≥ null_offset, то переход к п.3;
3. resi ::= 0; i ::= i + 1; переход к п. 2;
4. Если null_offset = res_size, то переход к п. 14;
5. i ::= 0;
6. Если i > max_offset, то переход к п. 11;
7. sum ::= 0; j ::= 0;
8. Если j ≥ psi_size, то переход к п. 9
9. sum ::= sum + yi+j * psij; j ::= j + 1; переход к п. 8
10. res2*i+psi_size-1 ::= sum; res2*i+psi_size ::= 0; i ::= i+1; переход к п. 6
11. i ::= res_size – null_offset;
12. Если i ≥ res_size, то переход к п. 14;
13. resi ::= 0; i ::= i + 1; переход к п.12;
14. Конец.
2.3.6. Требования к контрольному примеруКонтрольный пример должен содержать результаты перемножений сигнала с вейвелетами различных масштабов.
2.3.7. Список условных обозначенийАлгоритм использует следующие условные обозначения:
y – анализируемый сигнал;
y_size – размер анализируемого сигнала;
psi – дискретизированный вейвлет;
psi_size – размер дискретизированного вейвлета;
res – резельтат переменожения сигнала и вейвлета;
res_size – размер результата.
2.4. Описание алгоритма вейвлет-анализа 2.4.1. Назначение и характеристика алгоритма вейвлет-анализаВейвлет-анализ является инструментом, разбивающим данные на составляющие с различными частотами, каждая из которых затем изучается с разрешением, подходящим масштабу. Алгоритм ортогонального вейвелет-анализа, который реализован в данной работе, предназначен для анализа дискретных сигналов в различных масштабах посредством передискретизации ортогонального вейвлета.
2.4.2. Используемая информацияПри реализации алгоритма используются размерные характеристики сигнала и вейвлета, а также их значения.
2.4.3. Результаты решенияРезультатами решения является матрица, каждую точку которой можно сопоставить конкретному значению входного сигнала и конкретному масштабу вейвлета.
2.4.4. Математическое описание алгоритма вейвлет-анализаОбобщенное математическое описание вейвлет-анализа приведено в п. 2.1.4.3. Как и в п. 2.3.4, количество точек в строке удваивается. Вследствие этого, исходя из формулы (2.4), получаем следующее:
, (2.6)
где , , – результат вейвлет-анализа;
, – исходный сигнал;
, – вейвелет;
– модуль (длина) вектора;
– взятие целой части;
– остаток от целочисленного деления;
– функция вейвлет-анализа, описанная в формуле (2.4);
– логическое «или»;
– логическое «и».
2.4.5. Алгоритм вейвлет-анализа1. i ::= 0;
2. Если i ≥ psi_size, то переход к п. 4;
3. psi_scaled ::= resample(psi, psi_size – i);
resi ::= multiply(y, psi_scaled);
i ::= i + 1;
4. Конец.
2.4.6. Требования к контрольному примеруКонтрольный пример должен содержать результаты вейвлет-анализа сигнала, состоящего не менее чем из двух нестационарных составляющих, при помощи вейвлетов, соизмеримых по масштабу с составляющими сигнала.
Алгоритм использует следующие условные обозначения:
y – анализируемый сигнал;
psi – дискретизированнный исходный вейвлет;
psi_size – размер исходного вейвлета;
psi_scaled – смаштабированный (передискретизированный) вейвлет;
res – результат вейвлет анализа;
resample – оператор передискретизации вейвлета (см. п. 2.2);
multiply – оператор перемножения сигнала (см. п. 2.3).
2.5. Описание подпрограммы «Wavelet.Resample» 2.5.1. Вводная частьПодпрограмма Wavelet.Resample служит для масштабирования дисретизированного вейвлета. Подпрограмма производит изменение шага дискретизации вейвлета и соответсвующее усреднение значения сигнала в полученных интервалах. Текст программы приведен в приложении 1.2.
2.5.2. Функциональное назначениеПодпрограмма Wavelet.Resample предназначена для реализации алгоритма передискретизации сигнала.
2.5.3. Описание информацииВходные данные для данной подпрограммы представлены:
int [] data – массив, содержащий значения исходного вейвлета;
int size – требуемый размер вейвлета.
Выходные данные для данной подпрограммы представлены:
double [] res – передискретизированный вейвлет.
2.5.4. Используемые программыВ подпрограмме не используется других подпрограмм.
2.5.5. Схема подпрограммы «Wavelet.Resample»Схема подпрограммы «Wavelet.Resample» приведена на рис. 2.2.
Схема программы Wavelet.Resample
Рис. 2.2
0 комментариев