% llamadaPrincipal.m % 1.Inicializacion close all clear clc % 2.Entradas % 2.1. Parametros de procesado % 2.1.1 Del analisis inicial nombreFichero ='con22'; DeltaT = 0.5; % en segundos tasa_muestreo = 0.1; % en segundos num_canales = 2; % Numero de Canales por_desv = 90; % Porcentaje de desviacion admisible (%) flagAnalizarDatosOriginales = 2; % 1=Datos Originales, 2=Datos Filtrados % 2.1.2 Del analisis espectral % num_puntos = 512; % numero de puntos que se va a usar para la DFT. %Si la longitud es menor que este parametro, %entonces se realiza el zero pading cadena =''; cadena ='respuesta en frecuencia de la seal introducida en el canal '; f = []; % 2.2. Opciones de visualizacion de resultados % 2.2.1 Del analisis inicial flagVerSalidasNumericas = 0; % 1=Si, 0=No flagVerDatosOriginales = 0; % 1=Si, 0=No flagVerDatosFiltrados = 0; % 1=Si, 0=No flagPintarDatosOriginales = 0; % 1=Si, 0=No flagPintarDatosFiltrados = 0; % 1=Si, 0=No % 2.2.2 Del analisis espectral flagVerResultadoPot = 0; % 1=Si, 0=No flagVerMaxMinPot = 0; % 1=Si, 0=No flagPintarPotUN = 1; % 1=Si, 0=No flagPintarPotNor = 1; % 1=Si, 0=No flagPintarPotPorc = 1; % 1=Si, 0=No % 2.3. Opciones de almacenamiento de resultados flagGuardarResultados = 1; % 3. Calculos (llamadaS principalES) % 3.1 Caracterizacion y filtrado inicial de los datos [X,Y,Xb,Yb,max,min,mediana,media,desv,... xmax_loc,ymax_loc,xmin_loc,... ymin_loc]=func_principal(tasa_muestreo,num_canales,por_desv,DeltaT,nombreFichero); % 3.2 Analisis Espectral % flagAnalizarDatosOriginales = 1; % 1=Datos Originales, 2=Datos Filtrados xF = []; yF = []; if(flagAnalizarDatosOriginales==1) xF = [X;X]'; yF = Y; elseif(flagAnalizarDatosOriginales==2) xF = Xb; yF = Yb; end [Pyy,PyyNorm,PyyPorc,Potencia,maximoPotencia,minimoPotencia,... localmaxPot,localminPot,... num_puntos] = analisisFourier(xF,yF,tasa_muestreo,num_canales); % 4. Mostramos resultados % 4.1 Resultados Numericos %4.1.1. Del Analisis inicial if (flagVerDatosOriginales==1) X=[X;X]' Y end if (flagVerDatosFiltrados==1) Xb Yb end if(flagVerSalidasNumericas==1) max min mediana media desv end %4.1.2. Del analisis espectral if (flagVerResultadoPot == 1) Pyy PyyNorm PyyPorc Potencia end if (flagVerMaxMinPot ==1) maximoPotencia minimoPotencia localmaxPot localminPot end % 4.2 Resultados en Graficos %4.2.1. Del Analisis inicial if(flagPintarDatosOriginales==1) figure plot(X,Y) title('Datos Originales') xlabel('t (s)') ylabel('Seales Medidas') end if(flagPintarDatosFiltrados==1) figure plot(Xb,Yb) title('Datos Filtrados') xlabel('t (s)') ylabel('Seales Filtradas') end %4.2.2. Del analisis espectral if(flagPintarPotUN == 1) f=(0:num_puntos/2-1)/(tasa_muestreo*num_puntos); for i=1:num_canales figure plot(f,Pyy(1:num_puntos/2,i)) ylabel(strcat(cadena,num2str(i))) xlabel('frecuencia (Hz)') title('Potencia en unidades naturales') end end if(flagPintarPotNor==1) f=(0:num_puntos/2-1)/(tasa_muestreo*num_puntos); for i=1:num_canales figure plot(f,PyyNorm(1:num_puntos/2,i)) ylabel(strcat(cadena,num2str(i))) xlabel('frecuencia (Hz)') title('Potencia normalizada respecto al mximo de Potencia') end end if(flagPintarPotPorc == 1) f=(0:num_puntos/2-1)/(tasa_muestreo*num_puntos);% for i=1:num_canales figure plot(f,PyyPorc(1:num_puntos/2,i)) ylabel(strcat(cadena,num2str(i))) xlabel('frecuencia (Hz)') title('porcentaje de potencia respecto a la total') end end % 5. Almacenar resultados % ya lo veremos: con wk1write if(flagGuardarResultados==1) % guardaremos Xb, Yb, median, ... end