Main Content

fwind2

Filtro FIR 2-D utilizando el método de ventana 2D

Descripción

ejemplo

h = fwind2(Hd,win) produce el filtro FIR bidimensional utilizando una transformación inversa de Fourier de la respuesta de frecuencia deseada y la multiplicación por la ventana. es una matriz que contiene la respuesta de frecuencia deseada en puntos igualmente espaciados en el plano cartesiano. regresa como una molécula computacional, que es la forma adecuada para usar con . es del mismo tamaño que .hHdwinHdfwind2hfilter2hwin

Se utiliza para diseñar filtros FIR bidimensionales utilizando el método window. utiliza una especificación de ventana bidimensional para diseñar un filtro FIR bidimensional basado en la respuesta de frecuencia deseada. funciona con ventanas bidimensionales; para trabajar con ventanas unidimensionales.fwind2fwind2Hdfwind2fwind1

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

h = fwind2(f1,f2,Hd,win) permite especificar la respuesta de frecuencia deseada en frecuencias arbitrarias ( y ) a lo largo de los ejes y.Hdf1f2x-y Los vectores de frecuencia y deben estar en el rango -1.0 a 1.0, donde 1.0 corresponde a la mitad de la frecuencia de muestreo, o radianes. es del mismo tamaño que .f1f2hwin

Ejemplos

contraer todo

En este ejemplo se muestra cómo diseñar un filtro de paso de banda bidimensional circularmente simétrico mediante un método de ventana 2D.

Cree los vectores de rango de frecuencia y utilice .f1f2freqspace Estos vectores tienen longitud 21.

[f1,f2] = freqspace(21,'meshgrid');

Calcular la distancia de cada posición desde la frecuencia central.

r = sqrt(f1.^2 + f2.^2);

Cree una matriz que contenga la respuesta de paso de banda deseada.Hd En este ejemplo, la banda de paso deseada está entre 0.1 y 0.5 (frecuencia normalizada, donde 1.0 corresponde a la mitad de la frecuencia de muestreo, o

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

Hd = ones(21);  Hd((r<0.1)|(r>0.5)) = 0;

Visualice la respuesta de paso de banda ideal.

colormap(parula(64)) mesh(f1,f2,Hd)

Cree una ventana gaussiana 2D utilizando .fspecial Normalizar la ventana.

win = fspecial('gaussian',21,2); win = win ./ max(win(:));

Muestre la ventana.

mesh(win)

Usando la ventana 2-D, diseñe el filtro que mejor produzca la respuesta de frecuencia deseada

h = fwind2(Hd,win);

Visualice la respuesta de frecuencia real de este filtro.

freqz2(h)

Argumentos de entrada

contraer todo

Respuesta de frecuencia deseada, en puntos igualmente espaciados en el plano cartesiano, especificado como una matriz numérica. La matriz de entrada puede ser de clase o de cualquier clase de entero.Hddouble Todas las demás entradas deben ser de clase .fwind2double Todas las salidas son de clase .double

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

Ventana 2-D, especificada como una matriz numérica.

Tipos de datos: single | double

Frecuencia deseada a lo largo del eje.x- El vector de frecuencia debe estar en el rango -1.0 a 1.0, donde 1.0 corresponde a la mitad de la frecuencia de muestreo, o radianes.

Tipos de datos: single | double

Frecuencia deseada a lo largo del eje.y- El vector de frecuencia debe estar en el rango -1.0 a 1.0, donde 1.0 corresponde a la mitad de la frecuencia de muestreo, o radianes.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Filtro FIR 2-D, devuelto como matriz numérica.

Algoritmos

calcula utilizando una transformación inversa de Fourier y la multiplicación por la ventana bidimensional.fwind2hwin

hd(n1,n2)=1(2π)2ππππHd(ω1,ω2)ejω1n1ejω2n2dω1dω2

h(n1,n2)=hd(n1,n2)w(n1,n2)

Referencias

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

Consulte también

| | | | |

Introducido antes de R2006a