Main Content

fwind1

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

Descripción

ejemplo

h = fwind1(Hd,win) utiliza una especificación de ventana 1D para diseñar un filtro FIR bidimensional basado en la respuesta de frecuencia deseada. regresa como una molécula computacional, que es la forma adecuada para usar con . utiliza la ventana unidimensional para formar una ventana bidimensional aproximadamente simétrica utilizando el método de Huang.hHdfwind1hfilter2fwind1win

sólo funciona con ventanas 1-D; para trabajar con ventanas bidimensionales.fwind1fwind2

h = fwind1(Hd,win1,win2) utiliza las dos ventanas 1D, y , para crear una ventana 2D separable.win1win2 Si es y es , entonces es -by- .length(win1)nlength(win2)mhmn La longitud de las ventanas controla el tamaño del filtro resultante.

h = fwind1(f1,f2,Hd,___) permite especificar la respuesta de frecuencia deseada en frecuencias arbitrarias ( y ) a lo largo de los ejes y.Hdf1f2x-y

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 1D.

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)

Diseñe la ventana 1D. En este ejemplo se utiliza una ventana Hamming de longitud 21.

win = 0.54 - 0.46*cos(2*pi*(0:20)/20);

Trazar la ventana 1-D.

figure plot(linspace(-1,1,21),win);

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

h = fwind1(Hd,win);

Visualice la respuesta de frecuencia real de este filtro.

freqz2(h)

Argumentos de entrada

contraer todo

Respuesta de frecuencia deseada, especificada como una matriz numérica. se muestrea en puntos igualmente espaciados entre -1,0 y 1,0 (en frecuencia normalizada, donde 1,0 corresponde a la mitad de la frecuencia de muestreo, o radianes) a lo largo de los ejes y de frecuencia.Hdxy Para obtener resultados precisos, utilice los puntos de frecuencia devueltos para crear .freqspaceHd

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

Ventana 1-D, especificada como una matriz numérica. Puede especificar mediante ventanas del software de Signal Processing Toolbox, como , , , , , , , o .winboxcarhamminghanningbartlettblackmankaiserchebwin Si es , entonces es -by- . La longitud de la ventana controla el tamaño del filtro resultante.length(win)nhnn

Tipos de datos: single | double

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

Tipos de datos: single | double

Ventana 1-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 una matriz numérica de clase , cuando la entrada es de clase o cualquier clase de entero.doubleHddouble Si es de clase , la matriz de salida es de clase .Hdsinglesingle

Algoritmos

toma una especificación de ventana unidimensional y forma una ventana bidimensional aproximadamente circularmente simétrica utilizando el método de Huang,fwind1

w(n1,n2)=w(t)|t=n12+n22,

donde está la ventana unidimensional yw(t)w(n1,n2es la ventana bidimensional resultante.)

Dadas dos ventanas, forma una ventana bidimensional separable:fwind1

w(n1,n2)=w1(n1)w2(n2).

llamadas con y la ventana bidimensional. calcula utilizando una transformación inversa de Fourier y la multiplicación por la ventana bidimensional:fwind1fwind2Hdfwind2h

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

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

Referencias

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

Introducido antes de R2006a