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.

sfdr

Rango dinámico libre espurio

Descripción

ejemplo

r = sfdr(x) devuelve el rango dinámico libre espurio (SFDR), , en dB de la señal sinusoidal real, . calcula el espectro de potencia utilizando un periodograma modificado y una ventana Kaiser con 38.rxsfdrβ La media se resta de antes de calcular el espectro de potencia.x El número de puntos utilizados en el cálculo de la transformación discreta de Fourier (DFT) es el mismo que la longitud de la señal, .x

r = sfdr(x,fs) devuelve el SFDR de la señal de entrada de dominio de tiempo, , cuando se especifica la frecuencia de muestreo, , .xfs El valor predeterminado de es 1 Hz.fs

ejemplo

r = sfdr(x,fs,msd) devuelve el SFDR teniendo en cuenta únicamente las espuelas que están separadas de la frecuencia fundamental (portadora) por la distancia mínima de espolón, , especificada en ciclos/tiempo unitario.msd La frecuencia de muestreo es .fs Si la frecuencia portadora es , entonces se ignoran todos los espolones en el intervalo ( , ).FcFc-msdFc+msd

ejemplo

r = sfdr(sxx,f,'power') devuelve el SFDR del espectro de potencia unilateral de una señal de valor real, . es el vector de frecuencias correspondiente a las estimaciones de potencia en .sxxfsxx El primer elemento de must equal 0.f El algoritmo elimina toda la potencia que disminuye monótonamente lejos de la bandeja de CC.

r = sfdr(sxx,f,msd,'power') devuelve el SFDR teniendo en cuenta únicamente las espuelas separadas de la frecuencia fundamental (portadora) por la distancia mínima de espolón, .msd Si la frecuencia portadora es , entonces se ignoran todos los espolones en el intervalo ( , ).FcFc-msdFc+msd Cuando la entrada a es un espectro de potencia, especificar puede evitar que los altos niveles de lóbulo lateral se identifiquen como espolones.sfdrmsd

ejemplo

[r,spurpow,spurfreq] = sfdr(___) devuelve la potencia y la frecuencia del espolón más grande.

ejemplo

sfdr(___) sin argumentos de salida traza el espectro de la señal en la ventana de figura actual. Utiliza diferentes colores para dibujar el componente fundamental, el valor de CC y el resto del espectro. Sombrea el SFDR y muestra su valor por encima del trazado. También etiqueta el espolón fundamental y el más grande.

Ejemplos

contraer todo

Obtenga el SFDR para un tono de 10 MHz con amplitud 1 muestreada a 100 MHz. Hay un espolón en el 1o armónico (20 MHz) con una amplitud de

<math display="block">
<mrow>
<mn>3</mn>
<mo>.</mo>
<mn>1</mn>
<mn>6</mn>
<mo>×</mo>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
.

deltat = 1e-8; fs = 1/deltat; t = 0:deltat:1e-5-deltat; x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t); r = sfdr(x,fs)
r = 70.0063 

Visualice el espectro de la señal. Anote el valor fundamental, el DC, el spur y el SFDR.

sfdr(x,fs);

Obtenga el SFDR para un tono de 10 MHz con amplitud 1 muestreada a 100 MHz. Hay un espolón en el 1o armónico (20 MHz) con una amplitud de

<math display="block">
<mrow>
<mn>3</mn>
<mo>.</mo>
<mn>1</mn>
<mn>6</mn>
<mo>×</mo>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
y otro espolón a 25 MHz con una amplitud de
<math display="block">
<mrow>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>5</mn>
</mrow>
</msup>
</mrow>
</math>
. Omita el primer armónico utilizando una distancia mínima de espolón de 11 MHz.

deltat = 1e-8; fs = 1/deltat; t = 0:deltat:1e-5-deltat; x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t)+ ...     0.1e-5*cos(2*pi*25e6*t); r = sfdr(x,fs,11e6)
r = 120.0000 

Visualice el espectro de la señal. Anote el valor fundamental, el DC, los spurs y el SFDR.

sfdr(x,fs,11e6);

Obtenga el espectro de potencia de un tono de 10 MHz con amplitud 1 muestreada a 100 MHz. Hay un espolón en el 1o armónico (20 MHz) con una amplitud de

<math display="block">
<mrow>
<mn>3</mn>
<mo>.</mo>
<mn>1</mn>
<mn>6</mn>
<mo>×</mo>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
. Utilice el espectro de potencia unilateral y un vector de las frecuencias correspondientes en Hz para calcular el SFDR.

deltat = 1e-8; fs = 1/deltat; t = 0:deltat:1e-6-deltat; x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t); [sxx,f] = periodogram(x,rectwin(length(x)),length(x),fs,'power'); r = sfdr(sxx,f,'power');

Visualice el espectro de la señal. Anote el valor fundamental, el DC, el primer espolón y el SFDR.

sfdr(sxx,f,'power');

Determine la frecuencia en MHz para el espolón más grande. La señal de entrada es un tono de 10 MHz con amplitud 1 muestreada a 100 MHz. Hay un espolón en el primer armónico (20 MHz) con una amplitud de

<math display="block">
<mrow>
<mn>3</mn>
<mo>.</mo>
<mn>1</mn>
<mn>6</mn>
<mo>×</mo>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
.

deltat = 1e-8; t = 0:deltat:1e-6-deltat; x = cos(2*pi*10e6*t)+3.16e-4*cos(2*pi*20e6*t); [r,spurpow,spurfreq] = sfdr(x,1/deltat); spur_MHz = spurfreq/1e6
spur_MHz = 20 

Cree una superposición de tres sinusoides, con frecuencias de 9,8, 14,7 y 19,6 kHz, en ruido aditivo gaussiano blanco. La señal se muestrea a 44,1 kHz. La onda sinusoidal de 9,8 kHz tiene una amplitud de 1 voltio, la onda de 14,7 kHz tiene una amplitud de 100 microvoltios y la señal de 19,6 kHz tiene una amplitud de 30 microvoltios. El ruido tiene 0 media y una varianza de 0,01 microvoltios. Además, la señal tiene un desplazamiento de CC de 0,1 voltios.

rng default  Fs = 44.1e3; f1 = 9.8e3; f2 = 14.7e3; f3 = 19.6e3; N = 900;  nT = (0:N-1)/Fs; x = 0.1+sin(2*pi*f1*nT)+100e-6*sin(2*pi*f2*nT) ...     +30e-6*sin(2*pi*f3*nT)+sqrt(1e-8)*randn(1,N);

Trazar el espectro y SFDR de la señal. Muestre su espolón fundamental y su mayor. El nivel de CC se excluye del cálculo SFDR.

sfdr(x,Fs);

Argumentos de entrada

contraer todo

Señal sinusoidal de valor real, especificada como vector de fila o columna. La media se resta de antes de obtener el espectro de potencia para el cálculo SFDR.x

Ejemplo: x = cos(pi/4*(0:79))+1e-4*cos(pi/2*(0:79));

Tipos de datos: double

Frecuencia de muestreo de la señal en ciclos/tiempo unitario, especificada como escalar positivo. Cuando la unidad de tiempo es segundos, está en Hz.fs

Tipos de datos: double

Número mínimo de ubicaciones discretas de transformación de Fourier (DFT) que se deben ignorar en el cálculo SFDR, especificado como un escalar positivo. Puede utilizar este argumento para ignorar espuelas o lóbulos laterales que se producen cerca de la frecuencia fundamental. Por ejemplo, si la frecuencia portadora es , se omiten todas las espuelas del rango.Fc(Fc-msd, Fc+msd)

Tipos de datos: double

Espectro de potencia unilateral para utilizar en el cálculo SFDR, especificado como vector de fila o columna.

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 del periodograma de un sinusoides de dos canales ruidoso muestreado a 2o Hz y las frecuencias a las que se calcula.[sxx,f] = periodogram(cos(pi./[4;2]*(0:159))'+randn(160,2),'power')

Tipos de datos: double

Vector de frecuencias correspondientes a las estimaciones de potencia en , especificado como vector de fila o columna.sxx

Argumentos de salida

contraer todo

Rango dinámico libre espurio en dB, especificado como un escalar de valor real. El rango dinámico libre espurio es la diferencia en dB entre la potencia en la frecuencia máxima y la potencia en la siguiente frecuencia más grande (spur). Si la entrada son datos de series temporales, las estimaciones de potencia se obtienen de un periodograma modificado utilizando una ventana Hamming. La longitud del DFT utilizado en el periodograma es igual a la longitud de la señal de entrada, .x Si desea utilizar un espectro de potencia diferente como base para la medición SFDR, puede introducir su espectro de potencia utilizando la bandera.'power'

Tipos de datos: double

Potencia en dB del espolón más grande, especificado como un escalar de valor real.

Tipos de datos: double

Frecuencia en Hz del espolón más grande, especificado como un escalar de valor real. Si no suministra la frecuencia de muestreo como argumento de entrada, asume una frecuencia de muestreo de 1 Hz.sfdr

Tipos de datos: double

Más acerca de

contraer todo

Funciones de medición de distorsión

Las funciones , , , y medir la respuesta de un sistema débilmente no lineal estimulado por un sinusoides.thdsfdrsinadsnr

Cuando se le da entrada de dominio de tiempo, realiza un periodograma utilizando una ventana Kaiser con una gran atenuación del lóbulo lateral.sfdr Para encontrar la frecuencia fundamental, el algoritmo busca en el periodograma el componente espectral distinto de cero más grande. A continuación, calcula el momento central de todas las ubicaciones adyacentes que disminuyen monotónicamente lejos del máximo. Para ser detectable, el fundamental debe estar al menos en la segunda bandeja de frecuencia. Si un armónico se encuentra dentro de la región decreciente monotonicamente en el vecindario de otro, su poder se considera que pertenece al armónico más grande. Este armónico más grande puede o no ser el fundamental. El algoritmo ignora toda la potencia que disminuye monótonamente lejos de la bandeja de CC.

falla si el fundamental no es el componente espectral más alto de la señal.sfdr

Asegúrese de que los componentes de frecuencia estén lo suficientemente separados como para acomodar el ancho del lóbulo lateral de la ventana Kaiser. Si esto no es factible, puede utilizar la marca y calcular un periodograma con una ventana diferente.'power'

Introducido en R2013a