En matlab, para leer los .sac de los terremotos tengo un problema. Cargo el startup_GISMO.m y copio el codigo del tp:
help loadsac
ds46=datasource(’sac’,’4695.SAC’);
anyscnl = scnlobject(’*’,’*’,’*’,’*’);
w46 = waveform(ds46,anyscnl,’1/1/2010’,’12/31/201
v46 = get(w46,’data’)
plot(v46)
specgram(v46)
y cuando lo ejecuto, me tira el siguient error:
Error: File: C:\Users\usuario\Desktop\GISMO_r267\GISMO\@waveform\waveform.m Line: 67 Column: 49
Expected a variable, function, or constant, found ")".
Cuando me fijo que es, me marca una funcion con argumentos vacios. Cuando lo probe el martes en el aula no me tiraba este error.
¿Alguien sabe como solucionarlo?
Desde ya, muchas gracias
Francisco
% Nombre del archivo: 0107.IC.KMI.00.BHZ.M.SAC
% El archivo .sac está en el directorio dónde se corre éste script
dsKMI_00Z = datasource('sac','0107.IC.KMI.00.BHZ.M.SAC');
anyscnl = scnlobject('*','*','*','*');
wfKMI_00Z = waveform(dsKMI_00Z,anyscnl,'1/1/2010','12/31/2011')
KMI_00Z = get(dsKMI_00Z,'data')
Puntualmente, cuándo corro éste script, los errores que me salen son:
??? Error: File: z:\facultad\66.74_señales_y_sistemas\proyectos\proyecto_1ro_2011\gismo\@waveform\waveform.m Line: 67 Column: 51
Expected a variable, function, or constant, found ")".
Error in ==> Z:\Facultad\66.74_Señales_y_sistemas\Proyectos\Proyecto_1ro_2011\EQ_signals\KMI\cargar.m
On line 5 ==> wfKMI_00Z = waveform(dsKMI_00Z,anyscnl,'1/1/2010','12/31/2011')
Qué puede estar pasando?
Gracias,
Santiago.
dsp para leerlo copie el codigo, y aca se los copio
ds46=datasource('sac','data/2010.012.21.52.44.6945.NA.SABA..BHE.R.SAC');
anyscnl = scnlobject('*','*','*','*');
w46 = waveform(ds46,anyscnl,'1/1/2010','12/31/2011');
v46 = get(w46,'data');
fijense que en la primera linea, estoy leyendo el archivo que esta en la carpeta data, sino ponen carpeta, ponen el nombre del archivo directamente
para hacer todo esto en un script, tienen que crear un .m con estas lineas y guardarlo en la misma carpeta gismo
saludos
Gracias de todas formas Mariano!
si ponés "sac+file+.m" en google el primer link te lleva a esta página:
http://web.utah.edu/thorne/software.html
son funciones de matlab que corren en cualquier versión. Te recomiendo darle una mirada a esta página y no bajarte una nueva versión de MatLab.
Saludos,
G.
Entonces, con usar directamente la función rsac() que aparece en la página que pasaste, ya es suficiente.
Ésta bien esto que digo?
Muchas gracias de nuevo,
Ignacio.
no es obligatorio usar el paquete Gismo.
Saludos,
G.
En la teorica se dijo que el gsismo funcionaba solo en la version 7 de Matlab y que se iba a subir en la pagina otro programa para leer este tipo de ondas. Alguien sabe cual es?
Entre a la pagina que dijo Gabian (http://web.utah.edu/thorne/software.html) y me baje el script rsac.m
Este script tambien funciona con Octave!
La forma de usarlo es muy simple (incluso lo dice en los comentarios del script mismo) y es la siguiente:
octave:49> ls /home/leo/stuff/facu/señales_y_sistemas/Proyecto
Enunciado.pdf my_processing.log scripts señales
Aca scripts y señales son 2 directorios. En scripts tengo los scripts que voy a usar para el TP y en señales todos los archivos que me baje de las estaciones sismograficas
octave:51> ls /home/leo/stuff/facu/señales_y_sistemas/Proyecto/señales
2011.107.01.57.44.2250.GT.CPUP.00.BHN.M.SAC
2011.107.01.57.46.1250.GT.CPUP.00.BHZ.M.SAC
2011.107.01.57.46.6000.GT.CPUP.00.BHE.M.SAC
2011.107.01.57.49.7483.IU.LCO..BHE.M.SAC
2011.107.01.57.55.3483.IU.LCO..BHZ.M.SAC
2011.107.01.58.01.9483.IU.LCO..BHN.M.SAC
2011.107.01.58.45.6195.IU.TRQA.00.BHZ.M.SAC
2011.107.01.58.48.1695.IU.TRQA.10.BHZ.M.SAC
2011.107.01.59.31.5000.GT.PLCA.00.BHN.M.SAC
2011.107.01.59.35.4500.GT.PLCA.00.BHZ.M.SAC
2011.107.01.59.39.2000.GT.PLCA.00.BHE.M.SAC
2011.107.02.04.08.1450.TR.SVB..BHE.M.SAC
2011.107.02.04.09.6350.TR.SVB..BHN.M.SAC
2011.107.02.04.10.6250.CU.GRGR.00.BHZ.M.SAC
2011.107.02.04.12.1650.TR.SVB..BHZ.M.SAC
2011.107.02.04.22.9500.G.FDF.00.BHN.M.SAC
2011.107.02.04.23.6500.G.FDF.00.BHE.M.SAC
2011.107.02.04.27.3500.G.FDF.00.BHZ.M.SAC
Student.sac.tar
octave:53> ls /home/leo/stuff/facu/señales_y_sistemas/Proyecto/scripts
rsac.m
octave:55>
Para poder usar el script rsac.m me tengo que parar en el directorio donde esta:
octave:55> cd /home/leo/stuff/facu/señales_y_sistemas/Proyecto/scripts
octave:57> pwd
ans = /home/leo/stuff/facu/señales_y_sistemas/Proyecto/scripts
octave:59>
Ahora todo lo que hay que hacer es cargar el archivo .SAC en una variable
octave:60> senal = rsac ('../señales/2011.107.01.57.44.2250.GT.CPUP.00.BHN.M.SA
C');
octave:62>
Aca, senal es una variable con 3 columnas con la siguiente informacion (como se ve en los comentarios del script rsac.m):
% Column 1 contains time values.
% Column 2 contains amplitude values.
% Column 3 contains all SAC header information.
Para comprobar que funciono podemos plotear las primeras 2 columnas de la señal y ver como quedo:
octave:62> plot(senal(:,1),senal(:,2))
octave:64>
Les deberia abrir un grafico con la señal que van a analizar.
Espero que sirva para todos los que tenian problemas cargando los archivos SAC.
Saludos