Изучение характеристик сигналов электроэнцефалографических, электромиографических, реографических и электрокардиографических исследований, страница 18


ПРИЛОЖЕНИЯ

Приложение 1

Алгоритм анализа сигнала и квантования

clear

load ("real2.dat","s");s1=s;s=0;

load ("ideal2.dat","s");s2=s;s=0;

exec("fun_harakteristikki.sci",-1)

exec("fun_sortirovka.sci",-1)

exec("fun_acp.sci",-1)

Tmax=2.8//Длительность записи реального сигнал

iTmax=1.1//Длительность записи идеального сигнал

N=length(s1)//объем выборки

t=0:(Tmax/(N-1)):Tmax// Вектор времени

figure();plot(t,s1);set(gca(),"grid",[1 1]);xtitle('График реального сигнала','Длительность записи (с)','Сигнал (В)');

//2.___Построить функцию распределения. Привести гистограмму и график функции распределения.

[Sv,f]=fun_sortirovka(s1,N)

figure();plot(Sv,f);set(gca(),"grid",[1 1]);xtitle('График функции распределения', 'Вариационный ряд Sv', 'Функция распределения f')

figure();   histplot(11,s1);   xtitle('Гистограмма', 'Вариационный ряд', 'Функция распределения')

//3.___Определить: минимум, максимум, среднее значение процесса и размах, медиану, верхнюю и нижнюю квантили, дисперсию и средне-квадратическое отклонение реального.

[fd,Razmax,dispers,Sstdev,Smean,Smax,Smin,Xvkv,Xmed,Xnkv,dT]=fun_harakteristikki(s1,Tmax,N,f,Sv)

//4.___Определить частоту дискретизации, длительность и объем выборки, требуемую разрядность АЦП. Оформить рассчитанные значения в виде таблицы.

[R,V0,skv]=fun_acp(s1)//R - разрядность ацп

//Для идеального сигнала

iN=length(s2)//объем выборки

iV0=9.580254

iVa=s2*iV0// Определим аналоговый эквивалент квантованного сигнала

it=0:(iTmax/(iN-1)):iTmax// Вектор времени

figure();plot(it,s2);set(gca(),"grid",[1 1]);xtitle('График идеального сигнала','Длительность записи (с)','Сигнал (В)');

figure();plot(it,iVa);set(gca(),"grid",[1 1]);xtitle('График аналогового эквивалента идеального сигнала','Длительность записи (с)','Сигнал (В)');

[Sv,f2]=fun_sortirovka(iVa,iN)

//вычисление характеристик идеального сигнала

[ifd,iRazmax,idispers,iSstdev,iSmean,iSmax,iSmin,iXverkv,iXmkv,iXnkv,idT]=fun_harakteristikki(iVa,iTmax,iN,f2,Sv)

//------вывод переменных

main=figure() //Создание графического объекта

set(main,'figure_name','   Вывод переменных')//Заголовок окна.

text1=uicontrol(main,'style','text','string','Реальный сигнал:','position',[15, 440, 150, 20]);

text01=uicontrol(main,'style','text','string','_','position',[15, 420, 150, 20]);

set(text01,'string', sprintf("Объем выборки\t = %1.0f",N));

text2=uicontrol(main,'style','text','string','_','position',[15, 400, 150, 20]);

set(text2,'string', sprintf("Минимум\t = %1.2f",Smin));

text3=uicontrol(main,'style','text','string','_','position',[15, 380, 150, 20]);

set(text3,'string', sprintf("Максимум\t = %1.2f",Smax));

text4=uicontrol(main,'style','text','string','_','position',[15, 360, 150, 20]);

set(text4,'string', sprintf("Среднее\t = %1.2f",Smean));

text5=uicontrol(main,'style','text','string','_','position',[15, 340, 150, 20]);

set(text5,'string', sprintf("Размах\t = %1.2f",Razmax));

text6=uicontrol(main,'style','text','string','_','position',[15, 340, 150, 20]);

set(text6,'string', sprintf("Медиана\t = %1.2f",Xmed));

text7=uicontrol(main,'style','text','string','_','position',[15, 320, 150, 20]);

set(text7,'string', sprintf("Нижняя квантиль\t = %1.2f",Xnkv));

text701=uicontrol(main,'style','text','string','_','position',[15, 300, 150, 20]);

set(text701,'string', sprintf("Верхняя квантиль\t = %1.2f",Xvkv));

text8=uicontrol(main,'style','text','string','_','position',[15, 280, 180, 20]);

set(text8,'string', sprintf("Частота дискретизации\t = %1.2f",fd));