Matlab - Espectrograma

 
Vista:

Espectrograma

Publicado por Virginia (3 intervenciones) el 05/05/2013 11:36:50
Hola a todos, tengo un problemita con la función spectrogram() de Matlab y la interfaz gráfica.

En mi interfaz llamo a un timer cada 0.4 seg para que me pinte una señal en tiempo real, recogida de un casco externo en un axes de GUIDE y me gustaría realizar el espectrograma de esta señal tambien cada vez que llamo a mi función con el timer.

El problema que tengo es que la primera vez que llamo con el timer a la función spectrograma me pinta el espectrograma en el axes, pero en las siguientes iteraciones del timer me genera un figure fuera del axes y de mi GUIDE.

Me gustaría saber si alguien sabe como puedo solucionar esto, como hacer que no me genere la figure, o como ocultarla o borrarla y que me lo pinte dentro del axes.

Este es el código:


function ActualizaEspectro(handles,selecEspec)

global e1 data

xlim(handles.axes4,[1 300]);

if selecEspec==2
y1=data(:,1) ;
auxydata1=get(e1,'Ydata')';
if isempty(auxydata1)
auxydata1=y1;
elseif (length(auxydata1)<300)
auxydata1=[auxydata1(1:end);y1];
else
auxydata1=[auxydata1(length(y1):end);y1];
end
set(e1,'Ydata',auxydata1,'Xdata',[1:length(auxydata1)]);

axis(handles.axes5)
spectrogram(y1)


end
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder