i'll do my best to explain, but bear in mind that the theory involved here is degree level, so don't worry yourself if you don't understand!
an impulse is created by recording a wide frequency sound (generally a sweeping sine wave, but i've heard that it used to be done with gunshots) in the environment you want to be sampled.
imagine the environment has a sound, or sample, but not really. you can only hear it by the effect it has on other sounds. what's going on here, is that it's convolving it's sample with the sounds that come through it.
if we have the original unaltered sound, and the recording of the sound in the environment, we can "deconvolve" the two, the output of which is the sample of the environment.
then we can convolve other sounds with this sample, and hear their effect on these other sounds, without actually playing those sounds in the environment. as long as the sample we took covers the entire frequency range, we know what effect the environment will have on it, and this information is stored in the impulse file.
convolution is done by doing the fourier transform on the sound and the impulse, then multiplying the points together. the output of this is then inverse fourier transformed, and this is the sound convolved with the impulse.
we use the fourier transform because convolution normally is too difficult for CPU to do fast. multiplication in the fourier domain = convolution in the time domain.
i hope that helps.. aha.
thanks,