Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мой диплом. УРА!!! 3.1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.26 Mб
Скачать

Продолжение приложения б

a=[.0001 .0001 .0002 .0002 .0003 .0003 .0004 .0004 .0005 .0005 .0006 .0006 .0007 .0007 .0008 .0008 .0009 .0009 ...

.001 .001 .002 .002 .003 .003 .004 .004 .005 .005 .006 .006 .007 .007 .008 .008 .009 .009 ...

.01 .01 .02 .02 .03 .03 .04 .04 .05 .05 .06 .06 .07 .07 .08 .08 .09 .09 ...%9*2*6=108

.1 .1 .2 .2 .3 .3 .4 .4 .5 .5 .6 .6 .7 .7 .8 .8 .9 .9 ...

1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 ...

10 10 20 20 30 30 40 40 50 50 60 60 70 70 80 80 90 90];

b=[aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 ...

aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 ...

aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 ...

aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 ...

aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 ...

aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1 aa1-1 aa2+1 aa2+1 aa1-1];

c=3000*ones(1,108);

ПРИЛОЖЕНИЕ В

(обязательное)

Программа в система matlab для построения спектрограмм по трем каналам

%% параметры

% пути к файлам

%p='D:\_____\';% для ноута 11''

p='s:\ATR\';%дляПК

filenameX='2014206055635320_POLE__1_2.atr';

filenameY='2014206055635320_POLE__1_2.atr';

% время

filetime=datenum(2014,07,25,05,56,35.320);

EQtime=datenum(2014,07,25,06,07,02.125);

dt=4;

% фильтр

fmin=3;

fmax=20;

% прочее

delimeter=' ';

nStrok=9;

L=86400;

fs=200;

%% загружаем

% 1-й

data666 = importdata([p filenameX], delimeter, nStrok);

dataX=data666.data;

% 2-й

Продолжение приложения В

data666 = importdata([p filenameY], delimeter, nStrok);

dataY=data666.data;

clear data666;

%% фильтруем

[b,a]=butter(3,[fminfmax]/fs*2);

dataXf=filter(b,a,dataX-mean(dataX));

dataYf=filter(b,a,dataY-mean(dataY));

%% вырезаем

% EQtime - времяземлетрясения

% filetime - времяначалафайла

% они даны в сутках, например 735812.1666240741

% L - кол-во секунд в сутках, =86400

% fs - частота дискретизации, Гц , =200

% dt - длина интересующей нас записи, с

dataXfC=dataXf(((EQtime-filetime)*L*fs-dt*fs/2):((EQtime-filetime)*L*fs+dt*fs/2));

dataYfC=dataYf(((EQtime-filetime)*L*fs-dt*fs/2):((EQtime-filetime)*L*fs+dt*fs/2));

%% ищемразброс

r=max((dataXfC.^2+dataYfC.^2).^.5);

%% вращаем, рисуем

am=99999999999999999999999;

amax=0;

figure(1);

fori=1:18

alf=(i-1)*10;

[ X1,Y1 ] = Func_rotate(dataXfC,dataYfC,alf );

Продолжение приложения в

subplot('position',[.05 .05*(i+.5) .2 .049]);

plot(1:length(X1),X1)

grid on, axis tight, ylim([-r r]);

ylabel(num2str(alf));

ifi>1, set(gca,'xticklabel',''), end

subplot('position',[.3 .05*(i+.5) .2 .049]);

plot(1:length(Y1),Y1)

grid on, axis tight, ylim([-r r]);

ylabel(num2str(alf));

ifi>1, set(gca,'xticklabel',''), end

subplot('position',[.55 .05*(i+.5) .2 .049]);

plot(1:length(X1),X1.^3)

grid on, axis tight, ylim([-r.^3 r.^3]);

ylabel(num2str(alf));

ifi>1, set(gca,'xticklabel',''), end

subplot('position',[.8 .05*(i+.5) .2 .049]);

plot(1:length(Y1),Y1.^3)

grid on, axis tight, ylim([-r.^3 r.^3]);

ylabel(num2str(alf));

ifi>1, set(gca,'xticklabel',''), end

ifstd(Y1)<am

am=std(Y1);

ii=alf;

end

ifstd(Y1)>amax