Main Content

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.

envelope

Descripción

ejemplo

[yupper,ylower] = envelope(x) devuelve las envolventes superior e inferior de la secuencia de entrada, como la magnitud de su señal analítica.x La señal analítica de se encuentra utilizando la transformación discreta de Fourier como se implementa en .xhilbert La función elimina inicialmente la media de y la añade de nuevo después de calcular los sobres.x Si es una matriz, entonces opera independientemente sobre cada columna de .xenvelopex

ejemplo

[yupper,ylower] = envelope(x,fl,'analytic') devuelve los sobres de determinado utilizando la magnitud de su señal analítica.x La señal analítica se calcula filtrando con un filtro Hilbert FIR de longitud.xfl Esta sintaxis se utiliza si especifica solo dos argumentos.

ejemplo

[yupper,ylower] = envelope(x,wl,'rms') devuelve los sobres de raíz-media cuadrada superior e inferior de .x Los sobres se determinan mediante una ventana deslizante de muestras de longitud.wl

ejemplo

[yupper,ylower] = envelope(x,np,'peak') devuelve los sobres pico superior e inferior de .x Los sobres se determinan mediante interpolación de spline sobre máximalocal separada por al menos muestras.np

ejemplo

envelope(___) sin argumentos de salida traza la señal y sus envolventes superior e inferior. Esta sintaxis acepta cualquiera de los argumentos de entrada de sintaxis anteriores.

Ejemplos

contraer todo

Generar un chirp cuadrático modulado por un gaussiano. Especifique una frecuencia de muestreo de 2 kHz y una duración de la señal de 2 segundos.

t = 0:1/2000:2-1/2000; q = chirp(t-2,4,1/2,6,'quadratic',100,'convex').*exp(-4*(t-1).^2); plot(t,q)

Calcular los sobres superior e inferior del chirp usando la señal analítica.

[up,lo] = envelope(q); hold on plot(t,up,t,lo,'linewidth',1.5) legend('q','up','lo') hold off

La señal es asimétrica debido a la media distinta de cero.

Utilícelo sin argumentos de salida para trazar la señal y los sobres en función del número de muestra.envelope

envelope(q)

Cree una señal de dos canales muestreada a 1 kHz durante 3 segundos:

  • Un canal es un sinusoides en descomposición exponencial. Especifique una frecuencia de 7 Hz y una constante de tiempo de 2 segundos.

  • El otro canal es un chirp modulado gaussiano desplazado por el tiempo con un valor dc de 2. Especifique una frecuencia de chirrido inicial de 30 Hz que decaiga a 5 Hz después de 2 segundos.

Traza la señal.

t = 0:1/1000:3; q1 = sin(2*pi*7*t).*exp(-t/2); q2 = chirp(t,30,2,5).*exp(-(2*t-3).^2)+2; q = [q1;q2]';  plot(t,q)

Calcular los sobres superior e inferior de la señal. Utilice un filtro Hilbert con una longitud de 100. Trazar los canales y los sobres. Utilice líneas sólidas para los sobres superiores y las líneas discontinuas para los sobres inferiores.

[up,lo] = envelope(q,100,'analytic'); hold on plot(t,up,'-',t,lo,'--') hold off

Llame sin argumentos de salida para producir una gráfica de la señal y sus envolventes en función del número de muestra.envelope Aumenta la longitud del filtro a 300 para obtener una forma más suave. El indicador es el valor predeterminado cuando se especifican dos argumentos de entrada.'analytic'

envelope(q,300)

Calcular y trazar los sobres RMS en movimiento de una grabación de un silbato de tren. Utilice una ventana con una longitud de 150 muestras.

load('train')  envelope(y,150,'rms')

Trazar las envolventes de pico superior e inferior de una señal de voz suavizada a lo largo de intervalos de 30 muestras.

load('mtlb')  envelope(mtlb,30,'peak')

Crear y trazar una señal que se asemeja a la detección inicial de un pulso de luz que se propaga a través de un medio dispersivo.

t = 0.5:-1/100:-2.49; z = airy(t*10).*exp(-t.^2);  plot(z)

Determinar los sobres de la secuencia utilizando la magnitud de su señal analítica. Traza los sobres.

envelope(z)

Calcular la envolvente analítica de la señal utilizando un filtro Hilbert de 50 toques.

envelope(z,50,'analytic')

Calcular la envolvente RMS de la señal utilizando una ventana móvil de 40 muestras. Trazar el resultado.

envelope(z,40,'rms')

Determine los sobres máximos. Utilice la interpolación de spline con condiciones no anudas sobre máximas locales separadas por al menos 10 muestras.

envelope(z,10,'peak')

Argumentos de entrada

contraer todo

Secuencia de entrada, especificada como vector o matriz. Si es un vector, se trata como un solo canal.x Si es una matriz, calcula las estimaciones de sobre de forma independiente para cada columna.xenvelope Todos los elementos de deben ser finitos.x

Ejemplo: es una señal de vector de fila de un solo canal.cos(pi/4*(0:159))+randn(1,160)

Ejemplo: es una señal de dos canales.cos(pi./[4;2]*(0:159))'+randn(160,2)

Tipos de datos: single | double

Longitud del filtro Hilbert, especificada como un escalar entero positivo. El filtro se crea mediante la ventana de un filtro de pared de ladrillo ideal con una ventana Kaiser de longitud y forma parámetrofl β = 8.

Tipos de datos: single | double

Longitud de ventana, especificada como un escalar entero positivo.

Tipos de datos: single | double

Separación de picos, especificada como un escalar entero positivo.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Sobres de señal superior e inferior, devueltos como vectores o matrices.

Capacidades ampliadas

Introducido en R2015b