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

ft="bp"//полосовой ких фильтр для 20 - 1050 Гц

fl2=20/fd

fh2=1050/fd

n2=200

[y,b]=fun_filter_kix(y,fd,Tmax,dT,ft,n2,fh2,fl2,t)//=====KИХ==

ftype="sb"//режекторный бих фильтр для 125 - 570 Гц

x_ot3=131

x_do3=528

frq=[x_ot3/fd x_do3/fd];n_real3=12

n3=6;zx=0//БИХ

[y,hz3]=fun_filter(y,fd,Tmax,dT,ftype,n3,frq,x_ot3,x_do3,t,zx)

ftype="sb"//режекторный бих фильтр для 872 - 1050 Гц

x_ot4=850

x_do4=1400

frq=[x_ot4/fd x_do4/fd];n_real4=18

n4=9;zx=0//БИХ

[y,hz4]=fun_filter(y,fd,Tmax,dT,ftype,n4,frq,x_ot4,x_do4,t,zx)

figure();plot(y);

xtitle('Фильтрованый сигнал','Длительность реализации в натуральных единицах','Сигнал - (В)');set(gca(),"grid",[1 1])

figure();plot(t,y);

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

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

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

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

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

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

text1=uicontrol(main453,'style','text','string','1. БИХ фильтр верхних частот','position',[15, 440, 200, 20]);

text01=uicontrol(main453,'style','text','string','Границы полос пропускания:','position',[15, 420, 200, 20]);

text02=uicontrol(main453,'style','text','string','_','position',[50, 400, 65, 20]);

set(text02,'string', sprintf("От \ %1.0f Гц",x_ot1));

text03=uicontrol(main453,'style','text','string','_','position',[115, 400,65, 20]);

set(text03,'string', sprintf(" до \ %1.0f Гц",max(fd)/2));

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

set(text04,'string', sprintf("Заданный порядок фильтра \ = %1.0f",n1));

text041=uicontrol(main453,'style','text','string','_','position',[15, 360,200, 20]);

set(text041,'string', sprintf("Рассчитанный порядок фильтра \ = %1.0f",n_real1));

disp(hz1,'Kоэффициенты первого фильтра hz1 =')

text05=uicontrol(main453,'style','text','string','2. Полосовой КИХ фильтр','position',[15, 300, 200, 20]);

text06=uicontrol(main453,'style','text','string','Границы полос пропускания:','position',[15, 280, 200, 20]);

text07=uicontrol(main453,'style','text','string','_','position',[50, 260, 65, 20]);

set(text07,'string', sprintf("От \ %1.0f Гц",fl2*fd));

text08=uicontrol(main453,'style','text','string','_','position',[115, 260,65, 20]);

set(text08,'string', sprintf(" до \ %1.0f Гц",fh2*fd));

text09=uicontrol(main453,'style','text','string','_','position',[15, 240,200, 20]);

set(text09,'string', sprintf("Заданный порядок фильтра \ = %1.0f",n2));

text091=uicontrol(main453,'style','text','string','_','position',[15, 220,200, 20]);

set(text091,'string', sprintf("Рассчитанный порядок фильтра \ = %1.0f",length(b)));

disp(b,'Kоэффициенты второго фильтра b =')

text010=uicontrol(main453,'style','text','string','3. Заграждающий БИХ фильтр','position',[240, 440, 200, 20]);

text011=uicontrol(main453,'style','text','string','Границы полос пропускания:','position',[240, 420, 200, 20]);

text012=uicontrol(main453,'style','text','string','_','position',[275, 400, 65, 20]);

set(text012,'string', sprintf("От \ %1.0f Гц",x_ot3));

text013=uicontrol(main453,'style','text','string','_','position',[340, 400,65, 20]);

set(text013,'string', sprintf(" до \ %1.0f Гц",x_do3));

text014=uicontrol(main453,'style','text','string','_','position',[240, 380,200, 20]);