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.

powerbw

Descripción

bw = powerbw(x) Devuelve el ancho de banda de 3 dB (media potencia), de la señal de entrada,.bwx

ejemplo

bw = powerbw(x,fs) Devuelve el ancho de banda de 3 dB en términos de la frecuencia de muestreo,.fs

ejemplo

bw = powerbw(pxx,f) Devuelve el ancho de banda de 3 dB de la estimación de densidad espectral de potencia (PSD),.pxx Las frecuencias, corresponden a las estimaciones en.fpxx

bw = powerbw(sxx,f,rbw) calcula el ancho de banda de 3 dB de la estimación del espectro de potencia,.sxx Las frecuencias, corresponden a las estimaciones en. es el ancho de banda de resolución utilizado para integrar cada estimación de potencia.fsxxrbw

bw = powerbw(___,freqrange,r) especifica el intervalo de frecuencia sobre el que se calcula el nivel de referencia, utilizando cualquiera de los argumentos de entrada de sintaxis anteriores. debe estar dentro de la banda de destino.freqrange

Si también especifica, la función calcula la diferencia de frecuencia entre los puntos donde el espectro cae por debajo del nivel de referencia por dB o alcanza un punto final.rr

ejemplo

[bw,flo,fhi,power] = powerbw(___) también devuelve los límites inferior y superior del ancho de banda de potencia y la potencia dentro de esos límites.

powerbw(___) sin argumentos de salida traza el PSD o el espectro de potencia en la ventana de la figura actual y anota el ancho de banda.

Ejemplos

contraer todo

Genere 1024 muestras de un chirp muestreado a 1024 kHz. El Chirp tiene una frecuencia inicial de 50 kHz y alcanza los 100 kHz al final del muestreo. Agregue ruido Gaussiano blanco de tal forma que la relación señal-ruido sea de 40 dB.

nSamp = 1024; Fs = 1024e3; SNR = 40;  t = (0:nSamp-1)'/Fs;  x = chirp(t,50e3,nSamp/Fs,100e3); x = x + randn(size(x))*std(x)/db2mag(SNR);

Calcule el ancho de banda de 3 dB de la señal y anote en una gráfica de la densidad espectral de potencia (PSD).

powerbw(x,Fs)

ans = 4.4386e+04 

Genere otro Chirp. Especifique una frecuencia inicial de 200 kHz, una frecuencia final de 300 kHz y una amplitud que sea el doble que la de la primera señal. Añadir ruido Gaussiano blanco.

x2 = 2*chirp(t,200e3,nSamp/Fs,300e3); x2 = x2 + randn(size(x2))*std(x2)/db2mag(SNR);

Concatenar los cantos para producir una señal de dos canales. Calcule el ancho de banda de 3 dB de cada canal.

y = powerbw([x x2],Fs)
y = 1×2
104 ×

    4.4386    9.2208

Anote los anchos de banda de 3 dB de los dos canales en una gráfica de los PSD.

powerbw([x x2],Fs);

Agregue los dos canales para formar una nueva señal. Trace el PSD y anote el ancho de banda de 3 dB.

powerbw(x+x2,Fs)

ans = 9.2243e+04 

Genere 1024 muestras de una sinusoide de 100,123 kHz muestreada a 1024 kHz. Agregue ruido Gaussiano blanco de tal forma que la relación señal-ruido sea de 40 dB. Restablezca el generador de números aleatorios para obtener resultados reproducibles.

nSamp = 1024; Fs = 1024e3; SNR = 40; rng default  t = (0:nSamp-1)'/Fs;  x = sin(2*pi*t*100.123e3); x = x + randn(size(x))*std(x)/db2mag(SNR);

Utilice la función para calcular la densidad espectral de potencia (PSD) de la señal.periodogram Especifique una ventana de Kaiser con la misma longitud que la señal y un factor de forma de 38. Calcule el ancho de banda de 3 dB de la señal y anote en una gráfica del PSD.

[Pxx,f] = periodogram(x,kaiser(nSamp,38),[],Fs);  powerbw(Pxx,f);

Generar otra sinusoide, esta con una frecuencia de 257,321 kHz y una amplitud que es el doble que la de la primera sinusoide. Añadir ruido Gaussiano blanco.

x2 = 2*sin(2*pi*t*257.321e3); x2 = x2 + randn(size(x2))*std(x2)/db2mag(SNR);

Concatenar las sinusoides para producir una señal de dos canales. Calcule el PSD de cada canal y utilice el resultado para determinar el ancho de banda de 3 dB.

[Pyy,f] = periodogram([x x2],kaiser(nSamp,38),[],Fs);  y = powerbw(Pyy,f)
y = 1×2
103 ×

    3.1753    3.3015

Anote los anchos de banda de 3 dB de los dos canales en una gráfica de los PSD.

powerbw(Pyy,f);

Agregue los dos canales para formar una nueva señal. Estime el PSD y anote el ancho de banda de 3 dB.

[Pzz,f] = periodogram(x+x2,kaiser(nSamp,38),[],Fs);  powerbw(Pzz,f);

Genere una señal cuyo PSD se asemeje a la respuesta de frecuencia de un filtro FIR de paso de banda de 88th-Order con frecuencias de corte normalizadas

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>2</mn>
<mn>5</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample y
<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mn>5</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample.

d = fir1(88,[0.25 0.45]);

Calcule el ancho de banda ocupado de 3 dB de la señal. Especifique como nivel de referencia la potencia media de la banda entre

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>2</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample y
<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>6</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample. Trace el PSD y anote el ancho de banda.

powerbw(d,[],[0.2 0.6]*pi,3);

Salida del ancho de banda, sus límites inferior y superior, y la potencia de la banda. Especificar una frecuencia de muestreo de

<math display="block">
<mrow>
<mn>2</mn>
<mi>π</mi>
</mrow>
</math>
equivale a dejar la tasa desconfigurada.

[bw,flo,fhi,power] = powerbw(d,2*pi,[0.2 0.6]*pi);  fprintf('bw = %.3f*pi, flo = %.3f*pi, fhi = %.3f*pi \n', ...     [bw flo fhi]/pi)
bw = 0.200*pi, flo = 0.250*pi, fhi = 0.450*pi  
fprintf('power = %.1f%% of total',power/bandpower(d)*100)
power = 96.9% of total 

Agregue un segundo canal con frecuencias de corte normalizadas

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>5</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample y
<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>8</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample y una amplitud que es una décima parte de la del primer canal.

d = [d;fir1(88,[0.5 0.8])/10]';

Calcule el ancho de banda de 6 dB de la señal de dos canales. Especifique como nivel de referencia el nivel de potencia máximo del espectro.

powerbw(d,[],[],6);

Salida del ancho de banda de 6 dB de cada canal y los límites inferior y superior.

[bw,flo,fhi] = powerbw(d,[],[],6); bds = [bw;flo;fhi];  fprintf('One: bw = %.3f*pi, flo = %.3f*pi, fhi = %.3f*pi \n',bds(:,1)/pi)
One: bw = 0.198*pi, flo = 0.252*pi, fhi = 0.450*pi  
fprintf('Two: bw = %.3f*pi, flo = %.3f*pi, fhi = %.3f*pi \n',bds(:,2)/pi)
Two: bw = 0.294*pi, flo = 0.503*pi, fhi = 0.797*pi  

Argumentos de entrada

contraer todo

Señal de entrada, especificada como vector o matriz. Si es un vector, se trata como un solo canal.x Si es una matriz, a continuación, calcula el ancho de banda de potencia independientemente para cada columna. debe ser de valor finito.xpowerbwx

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

Frecuencia de muestreo, especificada como un escalar real positivo. La frecuencia de muestreo es el número de muestras por unidad de tiempo. Si el tiempo se mide en segundos, entonces la frecuencia de muestreo está en hercios.

Tipos de datos: single | double

Estimación de densidad espectral de potencia (PSD), especificada como vector o matriz. Si es una estimación unilateral, entonces debe corresponder a una señal real.pxx Si es una matriz, a continuación, calcula el ancho de banda de cada columna de forma independiente.pxxpowerbwpxx

La densidad espectral de potencia debe expresarse en unidades lineales, no en decibelios. Se utiliza para convertir valores de decibelios en valores de potencia.db2pow

Ejemplo: Especifica la estimación de PSD de periodograma de una sinusoide de dos canales ruidosa muestreada a 2 π Hz y las frecuencias en las que se calcula.[pxx,f] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2))

Tipos de datos: single | double

Frecuencias, especificadas como vector. Si el primer elemento es 0, entonces asume que el espectro es un espectro unilateral de una señal real.fpowerbw En otras palabras, la función duplica el valor de potencia en la bandeja de frecuencia cero, ya que busca el punto de 3 dB.

Tipos de datos: single | double

Estimación del espectro de potencia, especificada como vector o matriz. Si es una matriz, a continuación, calcula el ancho de banda de cada columna de forma independiente.sxxobwsxx

El espectro de potencia debe expresarse en unidades lineales, no en decibelios. Se utiliza para convertir valores de decibelios en valores de potencia.db2pow

Ejemplo: Especifica la estimación del espectro de potencia periodograma de una sinusoide de dos canales incrustada en el ruido Gaussiano blanco y las frecuencias normalizadas en las que se calcula.[sxx,w] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2),'power')

Tipos de datos: single | double

Ancho de banda de resolución, especificado como un escalar positivo. El ancho de banda de resolución es el producto de dos valores: la resolución de frecuencia de la transformada discreta de Fourier y el ancho de banda de ruido equivalente de la ventana utilizada para computar el PSD.

Tipos de datos: single | double

Rango de frecuencias, especificado como un vector de dos elementos de valores reales. Si se especifica, el nivel de referencia es el nivel de potencia medio en la banda de referencia.freqrange Si no se especifica, el nivel de referencia es el nivel de potencia máximo del espectro.freqrange

Tipos de datos: single | double

Descenso del nivel de potencia, especificado como un escalar real positivo expresado en dB.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Ancho de banda de potencia, devuelto como un escalar o vector.

  • Si especifica una frecuencia de muestreo, entonces tiene las mismas unidades que.bwfs

  • Si no especifica una frecuencia de muestreo, entonces tiene unidades de Rad/sample.bw

Límites de frecuencia de ancho de banda, devueltos como escalares.

Energía almacenada en el ancho de banda, devuelta como un escalar o vector.

Algoritmos

Para determinar el ancho de banda de 3 dB, calcula una estimación del espectro de potencia periodograma utilizando una ventana rectangular y toma el máximo de la estimación como nivel de referencia.powerbw El ancho de banda es la diferencia de frecuencia entre los puntos donde el espectro cae por lo menos 3 dB por debajo del nivel de referencia. Si la señal alcanza uno de sus puntos finales antes de caer por 3 dB, después utiliza el punto final para computar la diferencia.powerbw

Consulte también

| | | |

Introducido en R2015a