Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Buscar y rastrear crestas usando el espectrograma reasignado

Cargue un archivo de datos que contenga un pulso de elocalización emitido por un murciélago marrón grande () y medido con un intervalo de muestreo de 7 microsegundos.Eptesicus fuscus Cree un calendario de MATLAB® utilizando la señal y la información de tiempo.

load batsignal  t = (0:length(batsignal)-1)*DT; sg = timetable(seconds(t)',batsignal);

Abra y arrastre el horario desde el navegador del espacio de trabajo a la tabla Signal.Analizador de señal Haga clic en ▼ para crear dos pantallas en paralelo.Display Grid Seleccione cada pantalla y haga clic en el botón para añadir una vista de espectrograma.Time-Frequency

Arrastre el horario a ambas pantallas.

Seleccione la pestaña.Spectrogram En la pantalla de la derecha, compruebe.Reassign Para cada pantalla:

  • Establezca la resolución de tiempo en 280 microsegundos y especifique la superposición del 85% entre los segmentos adyacentes.

  • Utilice el control deslizante para aumentar la fuga hasta que el RBW sea de aproximadamente 4,5 kHz.Leakage

  • Fije los límites de potencia a – 45 dB y – 20 dB.

El espectrograma reasignado muestra claramente tres crestas de frecuencia de tiempo. Para rastrear las crestas, seleccione la pantalla a la derecha. En la pestaña, haga clic y seleccione.DisplayGenerate ScriptSpectrogram Script El script aparece en el editor.

% Compute spectrogram  % Generated by MATLAB(R) 9.7 and Signal Processing Toolbox 8.2. % Generated on: 26-Dec-2018 17:21:44  % Parameters timeLimits = seconds([0 0.002793]); % seconds frequencyLimits = [0 71428.57]; % Hz leakage = 0.9; timeResolution = 0.00028; % seconds overlapPercent = 85; reassignFlag = true;  %% % Index into signal time region of interest sg_batsignal_ROI = sg(:,'batsignal'); sg_batsignal_ROI = sg_batsignal_ROI(timerange(timeLimits(1),timeLimits(2),'closed'),1);  % Compute spectral estimate % Run the function call below without output arguments to plot the results [P,F,T] = pspectrum(sg_batsignal_ROI, ...     'spectrogram', ...     'FrequencyLimits',frequencyLimits, ...     'Leakage',leakage, ...     'TimeResolution',timeResolution, ...     'OverlapPercent',overlapPercent, ...     'Reassign',reassignFlag);

Ejecute el script. Trace el espectrograma reasignado.

mesh(seconds(T),F,P) xlabel('Time') ylabel('Frequency') axis tight view(2) colormap pink

Utilice la función para rastrear las crestas.tfridge

[fridge,~,lridge] = tfridge(P,F,0.01,'NumRidges',3,'NumFrequencyBins',10);  hold on plot3(seconds(T),fridge,P(lridge),':','linewidth',3) hold off

Gracias a Curtis Condon, Ken White, y al Feng del Beckman Center en la Universidad de Illinois por los datos de murciélago y permiso para utilizarlo en este ejemplo.

Consulte también

Aplicaciones

Funciones

Ejemplos relacionados

Más acerca de