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

save ("f451.sod","iV0","rV0","dT","idT","fd","ifd","N","iN","skv","t")

Приложение 2

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

clear

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

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

load ("f451.sod","iV0","rV0","dT","idT","fd","ifd","N","iN","skv","t")

exec("fun_spektr.sci",-1)

Tmax=2.8//реальный сигнал

iTmax=1.1//идеальный сигнал

y1=skv*rV0

y2=s2*iV0//аналоговый эквивалент

figure();plot(t,y1);set(gca(),"grid",[1 1]);xtitle('Аналоговый эквивалент реального сигнала','Длительность реализации - (с)','Сигнал - (В)');

[m1,f1]=fun_spektr(y1,dT,N,fd);//fmax=fd/2

figure();plot (f1,m1);xtitle('Спектральный анализ - реальный сигнал','Частота (Гц)','Амплитуда (В)');set(gca(),"grid",[1 1])

[m2,f2]=fun_spektr(y2,idT,iN,ifd)

figure();plot (f2,m2);xtitle('Спектральный анализ - идеальный сигнал','Частота (Гц)','Амплитуда (В)');set(gca(),"grid",[1 1])

fmin=f1(1)

fmax=max(f1)

razrechenie=f1(2)-f1(1)//разрешение по частоте для реального сигнала

ifmin=f2(1)

ifmax=max(f2)

irazrechenie=f2(2)-f2(1)//разрешение по частоте для идеального сигнала

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

set(main454,'figure_name','   Вывод переменных')

text1=uicontrol(main454,'style','text','string','Для реального сигнала:','position',[15, 440, 200, 20]);

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

set(text01,'string', sprintf("f min\ = %1.4f",fmin));

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

set(text2,'string', sprintf("f max\ = %1.0f",fmax));

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

set(text3,'string', sprintf("Разрешение по частоте\ = %1.4f",razrechenie));

text4=uicontrol(main454,'style','text','string','Для идеального сигнала','position',[15, 350, 200, 20]);

text5=uicontrol(main454,'style','text','string','_','position',[15, 330, 200, 20]);

set(text5,'string', sprintf("f min\ = %1.4f",ifmin));

text6=uicontrol(main454,'style','text','string','_','position',[15, 310, 200, 20]);

set(text6,'string', sprintf("f max\ = %1.0f",ifmax));

text7=uicontrol(main454,'style','text','string','_','position',[15, 290, 200, 20]);

set(text7,'string', sprintf("Разрешение по частоте\ = %1.4f",irazrechenie));

Приложение 3

Фильтрация исследуемого сигнала

clear

exec("fun_spektr.sci",-1)

exec("fun_filter.sci",-1)

exec("fun_filter_kix.sci",-1)

load ("f451.sod","iV0","rV0","dT","idT","fd","ifd","N","iN","skv","t")

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

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

y=skv*rV0//сигнал для фильтрации

figure();plot(t,y);set(gca(),"grid",[1 1]);xtitle('Аналоговый эквивалент реального сигнала до фильтрации','Длительность реализации - (с)','Сигнал - (В)');

//        [m,f]=fun_spektr(y,dT,N,fd)

//        figure();plot (f,m);xtitle('Спектральный анализ - реальный сигнал до фильтрации','Частота дискретизации','Амплитуда');set(gca(),"grid",[1 1])

//=====//60 - 822 диапазон полезных частот====================

ftype="hp"//бих фильтр верхних частот от 56 Гц

x_ot1=56

x_do1=6000//для построения идеальной ачх

n1=6;n_real1=6

frq=[x_ot1/fd];zx=1//БИХ

[y,hz1]=fun_filter(y,fd,Tmax,dT,ftype,n1,frq,x_ot1,x_do1,t,zx)