Diffuse Reflections in the Waveguide Mesh
In [416], Manfred Schroeder proposed the design of a
diffuse reflector based on a quadratic residue sequence. A
quadratic residue sequence corresponding to a prime number
is the sequence
mod
, for all integers
. The sequence
is periodic with period
, so it is determined by
for
(i.e., one period of the infinite sequence).
For example, when , the first period of the quadratic residue
sequence is given by
![\begin{eqnarray*}
a_7 &=& [0^2,1^2,2^2,3^2,4^2,5^2,6^2] \quad (\mbox{mod }7)\\
&=& [0, 1, 4, 2, 2, 4, 1]
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/pasp/img4047.png)
An amazing property of these sequences is that their Fourier transforms have precisely constant magnitudes. That is, the sequence

![$\displaystyle \vert C_p(\omega_k)\vert \isdef \vert\dft _k(c_p)\vert
\isdef \l...
...^{p-1} c_p(n) e^{-j2\pi nk/p}\right\vert
= \sqrt{p}, \quad \forall k\in[0,p-1]
$](http://www.dsprelated.com/josimages_new/pasp/img4049.png)
Figure C.35 presents a simple matlab script which demonstrates the constant-magnitude Fourier property for all odd integers from 1 to 99.
function [c] = qrsfp(Ns) %QRSFP Quadratic Residue Sequence Fourier Property demo if (nargin<1) Ns = 1:2:99; % Test all odd integers from 1 to 99 end for N=Ns a = mod([0:N-1].^2,N); c = zeros(N-1,N); CM = zeros(N-1,N); c = exp(j*2*pi*a/N); CM = abs(fft(c))*sqrt(1/N); if (abs(max(CM)-1)>1E-10) || (abs(min(CM)-1)>1E-10) warn(sprintf("Failure for N=%d",N)); end end r = exp(2i*pi*[0:100]/100); % a circle plot(real(r), imag(r),"k"); hold on; plot(c,"-*k"); % plot sequence in complex plane end |
Quadratic residue diffusers have been applied as boundaries of a 2D digital waveguide mesh in [279]. An article reviewing the history of room acoustic diffusers may be found in [94].
Next Section:
Lossless Scattering
Previous Section:
The Lossy 2D Mesh