Digital Signal Processing Reference
In-Depth Information
FIGURE 10.61. A 32-bit pseudorandom noise generator.
The noise generator is a software-based implementation of a maximal length
sequence technique used for generating pseudorandom numbers. This pseudo-
random noise generator was implemented in Example 3.4. The output of the noise
generator provides uncorrelated noise input to each of the 10 sets of bandpass filters.
The noise generation example in Chapter 3 uses the process shown in Figure 10.61.
Because each
3 -octave filer can be scaled individually, a total of 30 levels can be
controlled. The output of each octave bandpass filter (except the last one) becomes
the input to an interpolation lowpass filter, using a 2 : 1 interpolation factor. The
ripple in the output spectrum is minimized by having each adjacent
3 -octave filter
with crossover frequencies at the 3-dB points.
The center frequency and bandwidth of each filter are determined by the sam-
pling rate. The sampling rate of the highest-octave filter is processed at 16,384
samples per second (you can use a sampling rate of 16 kHz, 48 kHz, etc.), and each
successively lower-octave band is processed at half the rate of the next higher band.
Only three separate sets of 41 coefficients are used for the lower, middle, and
higher
3 -octave bands. For each octave band, the coefficients are combined as follows:
= (
)(
) + (
)(
) + (
)(
)
HHL
HL
HL
ij
lj
32
i
-
mj
31
i
-
hj
3
i
where i
=
1,2,...,10 bands and j
=
0,1,...,40 coefficients; L 1 , L 2 ,..., L 30 repre-
sent the level of each
3 -octave band filter; and H lj , H mj , H hj represent the j th coeffi-
cient of the lower, middle, and higher
3 -octave band FIR filter. For example, for the
first band ( i
=
1),
= (
)(
) + (
)(
) + (
)(
)
HHLHL HL
HHL HL HL
0
l
0
1
m
0
2
h
0
3
= (
)(
) + (
)(
) + (
)(
)
1
l
1
1
m
1
2
h
1
3
M
= (
)(
) + (
)(
) + (
)(
)
HHLHLHL
40
l
40
1
m
40
2
h
40
3
Search WWH ::




Custom Search