Метод вейвлет-перетворення

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

li>

  • Samsung electronic. K6R4016V1C dataseet.
  • ГОСТ 23751-79. Платы печатные. Общие технические условия.
  • 11.Новиков Л.В. Основы вейвлет-анализа сигналов. Учебное пособие. Санкт-Петербург: 1999, 152 с.

    12.Л. Л. Маслюк, А.М. Переберен Введение в вейвлет-анализ. Учебный курс М: 1998, 370с.

    13.

    14.Шикин Е В, Боресков А В. Компьютерная графика. Динамика, реалистические изображения. Диалог Мифи, М: 1996, 289 с.

    1. Разевиг В.Д. Применение программ PCAD и PСSpiсe для схемотехнического моделирования на ПЭВМ: В 4 выпусках.- М: Радио и связь, 1992. 56c.
    2. Яншин А.А. Теоретические основы конструирования и надежности ЭВА, - М.: Радио и связь. - 1983. - 276 с.
    3. Павлов С.В., Превар А.П., Матохнюк М.В., Чернуха А. Застосування оптико-електронних та лазерних технологій при аналізі мікроциркуляторних змін у вогнищі гострого гнійного запалення в ділянці нижніх кінцівок / OPTOELECTRONIC INFORMATIJN-POWER TECHNOLOGIES / Вінниця, 2002.- №2 - С.148.
    4. Павлов С.В., Мисловський І.Д., Ахмед Авад. Оптико-електронні інформаційні технології дослідження рівня перифепійного кровообігу/ Матеріали I Всеукраїнської науково-практичної конференції “Медичні технології і вища освіта”.- Луцк, 2004. С. 137-144.
    5. Петрук В.Г., Черноволик Г.О., Шевчук С.В., Безсмертний Ю.О. Математична модель перетворення проміння при поверхневим шаром біотканини з системною патологією / OPTOELECTRONIC INFORMATIJN-POWER TECHNOLOGIES / Вінниця, 2002. -№2 - С.154.
    6. Н.І. Заболотна, С.В. Павлов, В.В. Шолота Компютерне моделювання задач лазерної та оптоелектронної техніки /Вінниця-ВНТУ, 2003. 149 с.

    Додаток А (Віконне перетворення сигналу)

     

    Додаток Б (Трьохвимірна спектограма)

     

    Додаток В (Лістинг програми)

     

    procedure TData. AutoSetMarkers;

    const

    SC=513;

    var

    X,

    x1,x2, // кінцеві координати для циклів

    x11,x22, // поправочні для попередніх

    xmp1,xmp2 // координати для максимуму производной

    : Longint;

    XI : Array[1..5] of integer; // буде містити координати // перепадів 3-х к ряду

    sign : shortint; // важливий лише знак

    max,maxp, // знайдене максимальне значення

    HMW // скільки вже було

    : integer;

    was : Boolean;

    A : Array of integer;

    begin

    x1:=0;

    x2:=fcount-1;

    Was:=false;

    SetLength(A,fcount);

    FillChar(XI,SizeOf(XI),0);

    for x:=0 to fcount-1 do begin

    if Markers[x] then

    if not was then begin x1:=x; was:=true end

    else begin x2:=x; end;

    A[x]:=0;

    end;

    ClearAllMarkers; // очищаємо всі маркери

    while Der[1,x1]=0 do inc(x1);

    sign:=Der[1,x1];

    x11:=0;

    for x:=x1+1 to x2-1 do

    if (Sign*Der[1,x]<0) then begin

    // знайшли перепад між - и +

    if x11=0 then x11:=x;

    x22:=x;

    A[x]:=SC; // помічаємо перепад

    sign:=-sign

    end;

    x1:=x11;// скорочуємо діапазон

    x11:=0;

    x2:=x22;

    XI[1]:=x1;

    for x:=x1+1 to x2 do

    if A[x]=SC then

    if XI[2]=0 then XI[2]:=x

    else begin

    XI[3]:=x;

    if x11=0 then x11:=xi[2];

    if (items[XI[2]]-items[XI[1]]=0) or

    (abs((items[XI[3]]-items[XI[2]])/(items[XI[2]]-items[XI[1]]))<=GO.MarkSens/100)

    then continue;

    A[XI[2]]:=items[XI[2]]-items[XI[1]];

    A[XI[2]+1]:=items[XI[3]]-items[XI[2]];

    XI[1]:=XI[2];

    XI[2]:=XI[3];

    end;

    max:=0;HMW:=0; // знаходимо максимум по которому відловлювати

    for x:=x1 to x2 do

    if A[x]=SC then A[x]:=0;

    for x:=x1 to x2 do

    if (A[x]>0)and(A[x]<>SC) then begin

    inc(HMW);

    if A[x]>max then max:=A[x];

    if HMW>=30 then break;

    end;

    x:=x1;

    while x<=x2 do

    if (abs(max-A[x])<=max*0.3) then begin

    FillChar(XI,SizeOf(XI),0);

    XI[1]:=x;

    for x11:=x+1 to x2 do // знаходимо місце для 3-го маркеру

    if A[x11]*A[x]>0 then begin

    XI[3]:=x11;

    break

    end;

    if XI[3]=0 then begin inc(x);continue;end;

    maxp:=0;xmp1:=0;xmp2:=0;

    for x11:=XI[1]+1 to XI[3] do // знаходимо місце для 2-го маркеру

    if Der[1,x11]>maxp then begin

    maxp:=Der[1,x11];

    xmp1:=x11;

    xmp2:=x11;

    end else

    if Der[1,x11]=maxp then xmp2:=x11;

    XI[2]:=(xmp1+xmp2) div 2;

    for x11:=XI[3]+2 to x2 do // знаходимо місце для 4-го маркеру

    if A[x11]*A[XI[3]+1]>0 then begin

    XI[4]:=x11;

    break

    end;

    if XI[4]=0 then begin inc(x);continue;end;

    for x11:=XI[4]+2 to x2-2 do // знаходимо місце для 5-го маркеру

    if (Der[1,x11]<0)and(Der[1,x11+1]<0) then begin

    XI[5]:=x11-1;

    break

    end;

    if XI[5]=0 then begin inc(x);continue;end;

    // корекція

    XI[1]:=XI[1]-2;

    For x11:=xi[2]-2 downto xi[1]+1 do

    if (Der[1,x11]=0)or(Der[1,x11-1]*Der[1,x11]<0){or

    (Der[2,x11]=0)or(Der[2,x11-1]*Der[2,x11]<0)} then begin

    XI[1]:=x11-1;

    break;

    end;

    XI[3]:=XI[3]-1;

    XI[4]:=XI[4]-1;

    for x11:=1 to 5 do

    Markers[XI[x11]]:=True;

    max:=(max+A[x])div 2;

    x:=XI[5]+1;

    end

    else inc(x);

    end;