Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

intfilt

Diseño de filtros FIR de interpolación

Descripción

ejemplo

b = intfilt(l,p,alpha) diseña un filtro FIR de fase lineal que realiza una interpolación ideal de límite de banda mediante las muestras distintas de cero 2*p más cercanas, cuando se utiliza en una secuencia intercalada con l-1 ceros consecutivos cada l muestras, suponiendo una limitación de banda original de alpha veces la frecuencia de Nyquist. El filtro devuelto b es idéntico al utilizado por interp.

b = intfilt(l,n,'Lagrange') diseña un filtro FIR que realiza una interpolación polinómica de Lagrange de n-ésimo orden en una secuencia intercalada con l-1 ceros consecutivos cada l muestras.

Ejemplos

contraer todo

Diseñe un filtro de interpolación digital para sobremuestrear una señal por siete, mediante el método de banda limitada. Especifique un factor de "limitación de banda" de 0,5 y utilice muestras de 2×2 en la interpolación.

upfac = 7;
alpha = 0.5;
h1 = intfilt(upfac,2,alpha);

El filtro funciona mejor cuando la señal original está limitada por banda a alpha veces la frecuencia de Nyquist. Cree una señal de ruido de banda limitada generando 200 números aleatorios gaussianos y filtrando la secuencia con un filtro paso bajo FIR de 40.º orden. Reinicie el generador de números aleatorios para obtener resultados reproducibles.

lowp = fir1(40,alpha);

rng('default')
x = filter(lowp,1,randn(200,1));

Aumente la tasa de muestreo de la señal insertando ceros entre cada par de muestras de x.

xr = upsample(x,upfac);

Utilice la función filter para producir una señal interpolada.

y = filter(h1,1,xr);

Compense el retraso introducido por el filtro. Represente la señal original y la interpolada.

delay = mean(grpdelay(h1));

y(1:delay) = [];

stem(1:upfac:upfac*length(x),x)
hold on
plot(y)

xlim([400 700])

Figure contains an axes object. The axes object contains 2 objects of type stem, line.

intfilt también realiza la interpolación polinómica de Lagrange.

  • La interpolación polinómica de primer orden no es más que una interpolación lineal, que se realiza con un filtro triangular.

  • La interpolación de orden cero se realiza con un filtro de media móvil y se asemeja a la salida de una pantalla de muestreo y retención.

Interpole la señal original y superponga el resultado.

h2 = intfilt(upfac,1,'Lagrange');

y2 = filter(h2,1,xr);
y2(1:floor(mean(grpdelay(h2)))) = [];

plot(y2)
hold off

Figure contains an axes object. The axes object contains 3 objects of type stem, line.

Argumentos de entrada

contraer todo

Número de muestras, especificado como un escalar entero positivo. intfilt diseña un filtro FIR de fase lineal con una secuencia intercalada con l-1 ceros consecutivos cada l muestras.

Número de muestras distintas de cero, especificado como un escalar entero positivo. intfilt diseña un filtro FIR de fase lineal que realiza una interpolación de banda limitada con las muestras distintas de cero 2*p más cercanas.

Medida inversa del ancho de banda de transición, especificada como un escalar. alpha es inversamente proporcional al ancho de banda de transición del filtro y también afecta al ancho de banda de las regiones de no atención de la banda de parada. Especificar alpha permite especificar qué parte del intervalo de Nyquist ocupa su señal de entrada. Esto es beneficioso para las señales que se van a interpolar porque permite aumentar el ancho de banda de transición sin afectar a la interpolación y da como resultado una mejor atenuación de la banda de parada en un l y p dados. Si establece alpha en 1, se supone que su señal ocupa todo el intervalo de Nyquist. Establecer alpha en menos de uno permite que haya regiones de no atención en la banda de parada. Por ejemplo, si su señal ocupa la mitad del intervalo de Nyquist, puede establecer alpha en 0,5.

Orden de los polinomios de Lagrange, especificado como un escalar entero positivo. El filtro FIR realiza una interpolación polinómica de Lagrange de n-ésimo orden en una secuencia intercalada con l-1 ceros consecutivos cada l muestras. Si tanto n como l son pares, el filtro diseñado no es de fase lineal.

Método de interpolación polinómica, especificado como "Lagrange".

Argumentos de salida

contraer todo

Coeficientes del filtro, devueltos como un vector. Los elementos de b son los coeficientes de un filtro FIR. Si se especifica alpha, se asume una limitación de banda original de alpha veces la frecuencia de Nyquist. b tiene una longitud 2*l*p-1.

En la interpolación polinómica de Lagrange de orden n, b tiene una longitud (n+1)*l para n pares y una longitud (n+1)*l-1 para n impares.

Algoritmos

El método de banda limitada utiliza firls para diseñar un filtro FIR de interpolación. El método polinómico utiliza la fórmula de interpolación polinómica de Lagrange sobre muestras igualmente espaciadas para construir el filtro adecuado. Ambos tipos de filtros son básicamente de paso bajo y tienen una ganancia de l en la banda de paso.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |