# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

# fwind1

2-D FIR filter using 1-D window method

## Syntax

`h = fwind1(Hd, win)h = fwind1(Hd, win1, win2)h = fwind1(f1, f2, Hd,...)`

## Description

`fwind1` designs two-dimensional FIR filters using the window method. `fwind1` uses a one-dimensional window specification to design a two-dimensional FIR filter based on the desired frequency response `Hd`. `fwind1` works with one-dimensional windows only; use `fwind2` to work with two-dimensional windows.

`h = fwind1(Hd, win)` designs a two-dimensional FIR filter `h` with frequency response `Hd`. (`fwind1` returns `h` as a computational molecule, which is the appropriate form to use with `filter2`.) `fwind1` uses the one-dimensional window `win` to form an approximately circularly symmetric two-dimensional window using Huang's method. You can specify `win` using windows from the Signal Processing Toolbox software, such as `boxcar`, `hamming`, `hanning`, `bartlett`, `blackman`, `kaiser`, or `chebwin`. If `length(win)` is `n`, then `h` is `n`-by-`n`.

`Hd` is a matrix containing the desired frequency response sampled at equally spaced points between -1.0 and 1.0 (in normalized frequency, where 1.0 corresponds to half the sampling frequency, or π radians) along the x and y frequency axes. For accurate results, use frequency points returned by `freqspace` to create `Hd`. (See the entry for `freqspace` for more information.)

`h = fwind1(Hd, win1, win2)` uses the two one-dimensional windows `win1` and `win2` to create a separable two-dimensional window. If `length(win1)` is `n` and `length(win2)` is `m`, then `h` is `m`-by-`n`.

`h = fwind1(f1, f2, Hd,...)` lets you specify the desired frequency response `Hd` at arbitrary frequencies (`f1` and `f2`) along the x- and y-axes. The frequency vectors `f1` and `f2` should be in the range -1.0 to 1.0, where 1.0 corresponds to half the sampling frequency, or π radians. The length of the windows controls the size of the resulting filter, as above.

## Class Support

The input matrix `Hd` can be of class `double` or of any integer class. All other inputs to `fwind1` must be of class `double`. All outputs are of class `double`.

## Examples

Use `fwind1` to design an approximately circularly symmetric two-dimensional bandpass filter with passband between 0.1 and 0.5 (normalized frequency, where 1.0 corresponds to half the sampling frequency, or π radians):

1. Create a matrix `Hd` that contains the desired bandpass response. Use `freqspace` to create the frequency range vectors `f1` and `f2`.

```[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)```

2. Design the filter using a one-dimensional Hamming window.

```h = fwind1(Hd,hamming(21)); freqz2(h)```

collapse all

### Algorithms

`fwind1` takes a one-dimensional window specification and forms an approximately circularly symmetric two-dimensional window using Huang's method,

`$w\left({n}_{1},{n}_{2}\right)={w\left(t\right)|}_{t=\sqrt{{n}_{{}_{1}}^{2}+{n}_{2}^{2}}},$`

where w(t) is the one-dimensional window and w(n1,n2) is the resulting two-dimensional window.

Given two windows, `fwind1` forms a separable two-dimensional window:

`$w\left({n}_{1},{n}_{2}\right)={w}_{1}\left({n}_{1}\right){w}_{2}\left({n}_{2}\right).$`

`fwind1` calls `fwind2` with `Hd` and the two-dimensional window. `fwind2` computes `h` using an inverse Fourier transform and multiplication by the two-dimensional window:

`${h}_{d}\left({n}_{1},{n}_{2}\right)=\frac{1}{{\left(2\pi \right)}^{2}}{\int }_{-\pi }^{\pi }{\int }_{-\pi }^{\pi }{H}_{d}\left({\omega }_{1},{\omega }_{2}\right){e}^{j{\omega }_{1}{n}_{1}}{e}^{j{\omega }_{2}{n}_{2}}d{\omega }_{1}d{\omega }_{2}$`
`$h\left({n}_{1},{n}_{2}\right)={h}_{d}\left({n}_{1},{n}_{2}\right)w\left({n}_{2},{n}_{2}\right).$`

## References

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