# impulse response calculation

Started by December 1, 2005
```Hello All!

For channel equalization I need to simulate several environments (rural,
urban..etc).
Channel models paper,
as this describes several channel models but I don't find that formula from
which I can calculate the impuse response
values in order to do the simulation in matlab.

Balage

```
```"Balage" <balage@balage.com> wrote in message
news:dmn19m\$fhp\$1@namru.matavnet.hu...
> Hello All!
>
> For channel equalization I need to simulate several environments (rural,
> urban..etc).
> I read the IEEE 802.16 recommendation on Time Varying Radio Propagation
> Channel models paper,
> as this describes several channel models but I don't find that formula
> from which I can calculate the impuse response
> values in order to do the simulation in matlab.
>
> Balage
>

A simple impulse response would be something like this:

Define each path's geometry.
Define the reflection coefficients at the bounce points in the path -
amplitude and maybe phase although I'll bet you don't know the path
accurately enough to know the phase or the exact location of the reflection
point along the path within a fraction of a wavelength.  So, maybe amplitude
is plenty good enough.
(Note that the numbers are probably only good within some frequency range -
so the impulse response / FIR filter is really only good in that range as a
model of the channel).
This should give you the path length and transmission loss.
The path length will give you the delay time for the path.

Do this for each path.

You will end up with a sequence of path lengths/delay times and
attenuations.
This is very similar to a FIR filter but the delay times are probably not
right on a grid of equally-spaced times.
Often you can just move the delay times to match your sample time grid -
because again, you don't really know phase anyway.  By this I mean you are
moving the path time locations within a wavelength and perhaps not more than
some other critical characteristic of the signal.

The impulse response of the FIR filter is the model of the impulse response
of the channel in the frequency range of interest.
What I like to do is randomize the phase (or delay) of the paths, apply the
signal, and get a statistical view of the output of the channel.  This is
because you don't know exact phase anyway.  From this you get a best case,
worst case and expected value ... etc. set of results.  The worst case is
usually zero of course - when there is perfectly destructive interference.

If the channel is very complicated with many, many paths then you might save
compute time by doing fast frequency domain convolution:
FFT the signal of M samples - zero padded to N samples.
FFT one instance of the FIR filter of L samples - zero padded to N samples.
where N>=M+L-1
multiply the results
IFFT the product to get the channel output

FFT the next instance of the FIR filter....etc.

I hope this helps.

Fred

```