Main Content

fsamp2

Filtro FIR 2-D utilizando muestreo de frecuencia

Descripción

ejemplo

h = fsamp2(Hd) diseña un filtro FIR bidimensional con respuesta de frecuencia y devuelve los coeficientes de filtro en matriz.Hdh El filtro tiene una respuesta de frecuencia que pasa a través de puntos en . diseña filtros FIR bidimensionales basados en una respuesta de frecuencia bidimensional deseada muestreada en puntos del plano cartesiano.hHdfsamp2

h = fsamp2(f1,f2,Hd,[m n]) produce un filtro -by- FIR haciendo coincidir la respuesta del filtro en los puntos de los vectores y .mnf1f2 Los vectores de frecuencia y están en frecuencia normalizada, donde 1.0 corresponde a la mitad de la frecuencia de muestreo, o radianes.f1f2 El filtro resultante se ajusta lo más cerca posible de la respuesta deseada en el sentido de mínimos cuadrados. Para obtener los mejores resultados, debe haber al menos puntos de frecuencia deseados. emite una advertencia si especifica menos puntos.m*nfsamp2m*n

Ejemplos

contraer todo

Se utiliza para diseñar un filtro de paso de banda bidimensional aproximadamente simétrico con banda de paso entre 0,1 y 0,5 (frecuencia normalizada, donde 1,0 corresponde a la mitad de la frecuencia de muestreo, ofsamp2

<math display="block">
<mrow>
<mi>π</mi>
</mrow>
</math>
radianes).

Cree una matriz que contenga la respuesta de paso de banda deseada.Hd Se utiliza para crear los vectores de frecuencia y .freqspacef1f2

[f1,f2] = freqspace(21,'meshgrid'); Hd = ones(21);  r = sqrt(f1.^2 + f2.^2); Hd((r<0.1)|(r>0.5)) = 0; colormap(jet(64)) mesh(f1,f2,Hd)

Diseñe el filtro que pasa a través de esta respuesta.

h = fsamp2(Hd); freqz2(h)

Argumentos de entrada

contraer todo

Respuesta de frecuencia, especificada como una matriz numérica. es una matriz que contiene la respuesta de frecuencia deseada muestreada en puntos igualmente espaciados entre -1.0 y 1.0 a lo largo de los ejes y de frecuencia.Hdxy El valor 1.0 corresponde a la mitad de la frecuencia de muestreo, o radianes.

Hd(f1,f2)=Hd(ω1,ω2)|ω1=πf1,ω2=πf1

Para obtener los mejores resultados, utilice los puntos de frecuencia devueltos para crear .freqspaceHd

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Vector de frecuencia, especificado como vector numérico.

Tipos de datos: double

Vector de frecuencia, especificado como vector numérico.

Tipos de datos: double

Tamaño del filtro FIR de salida , especificado como un vector de 2 elementos de enteros positivos.h El filtro tiene filas y columnas.mn

Tipos de datos: double

Argumentos de salida

contraer todo

Filtro FIR 2-D, devuelto como una matriz numérica. regresa como una molécula computacional, que es la forma adecuada para usar con .fsamp2hfilter2 Si especifica una matriz de respuesta de frecuencia , tendrá el mismo tamaño.Hdh Si es de clase , también es de clase .Hdsinglehsingle De lo contrario, es de clase .hdouble

Tipos de datos: single | double

Algoritmos

calcula el filtro tomando la transformación inversa discreta de Fourier de la respuesta de frecuencia deseada.fsamp2h Si la respuesta de frecuencia deseada es real y simétrica (fase cero), el filtro resultante también es de fase cero.

Referencias

[1] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 213-217.

Introducido antes de R2006a