Author Contributions
Conceptualization, S.J.C.I. and B.S.M.; methodology, S.J.C.I. and B.S.M.; software, S.J.C.I.; validation, S.J.C.I.; formal analysis, S.J.C.I. and B.S.M.; investigation, S.J.C.I.; resources, B.S.M.; data curation, S.J.C.I. and B.M; writing—original draft preparation, S.J.C.I.; writing—review and editing, S.J.C.I. and B.S.M.; visualization, S.J.C.I.; supervision, B.S.M.; project administration, B.S.M.; funding acquisition, B.S.M. All authors have read and agreed to the published version of the manuscript.
Figure 1.
PDM microphones’ DAS beamformers. Each PDM-mic requires a decimation filter with frequency response and R downsampling. Then, each filter output is delayed by a factor. Finally, all delayed signals are weighted (factor ) and summed together.
Figure 1.
PDM microphones’ DAS beamformers. Each PDM-mic requires a decimation filter with frequency response and R downsampling. Then, each filter output is delayed by a factor. Finally, all delayed signals are weighted (factor ) and summed together.
Figure 2.
Normalized power (polar) of a uniform linear array of an microphones DAS beamformer. Three audio sources of 1 kHz, 3 kHz, and 5 kHz are located at 20, 60, and 110 degrees, respectively, i.e., the three with equal strength. The beamformer is placed on the X-axis. Therefore, its directivity pattern is symmetric about this axis.
Figure 2.
Normalized power (polar) of a uniform linear array of an microphones DAS beamformer. Three audio sources of 1 kHz, 3 kHz, and 5 kHz are located at 20, 60, and 110 degrees, respectively, i.e., the three with equal strength. The beamformer is placed on the X-axis. Therefore, its directivity pattern is symmetric about this axis.
Figure 3.
Generic decimation filter structure. In order to avoid aliasing, the input data at sampling rate is low-pass filtered and then downsampled by R. If correctly filtered, the output data at sampling rate contain the same information as decimated by R.
Figure 3.
Generic decimation filter structure. In order to avoid aliasing, the input data at sampling rate is low-pass filtered and then downsampled by R. If correctly filtered, the output data at sampling rate contain the same information as decimated by R.
Figure 4.
Low-pass filter design parameters. The passband and stopband regions are defined by and , respectively, and their respectives ripples are defined by and . The whole filter frequency response is constrained to the input sampling rate ().
Figure 4.
Low-pass filter design parameters. The passband and stopband regions are defined by and , respectively, and their respectives ripples are defined by and . The whole filter frequency response is constrained to the input sampling rate ().
Figure 5.
Normalized frequency spectra of linear-phase Samadi filters () with and : (a) magnitude, (b) phase, and (c) group delay. It is observed that, in case, wp changes linearly with L, that the phase is linear for both N values and that the group delay is proportional to N.
Figure 5.
Normalized frequency spectra of linear-phase Samadi filters () with and : (a) magnitude, (b) phase, and (c) group delay. It is observed that, in case, wp changes linearly with L, that the phase is linear for both N values and that the group delay is proportional to N.
Figure 6.
Normalized frequency spectra of Samadi filters with and : (a) magnitude, (b) phase, and (c) group delay. It is observed that, approximately until , the magnitude is flat, the phase is linear, and the group delay is proportional to d. For , the frequency response is nonlinear in magnitude, phase, and group delay.
Figure 6.
Normalized frequency spectra of Samadi filters with and : (a) magnitude, (b) phase, and (c) group delay. It is observed that, approximately until , the magnitude is flat, the phase is linear, and the group delay is proportional to d. For , the frequency response is nonlinear in magnitude, phase, and group delay.
Figure 7.
Minimum (a) N and (b) K values calculated using Algorithm 1 for dB and different values of d and wp. It is observed that wp and d have a negative correlation for a given N value i.e., when wp increases, d decreases.
Figure 7.
Minimum (a) N and (b) K values calculated using Algorithm 1 for dB and different values of d and wp. It is observed that wp and d have a negative correlation for a given N value i.e., when wp increases, d decreases.
Figure 8.
(a) Delayed decimation filter, (b) its version as a multi-stage decimation filter with the stage being a Samadi filter, and (c) its version with Samadi filter decomposed into its binomial components. Samadi filter stage is meant to control the overall filter delay (Δ) and the equiripple filter to compensate the non-linear response of the Samadi filter in its non-flat band. The optional Stages 1 to are meant to compensate and downsample the overall frequency response.
Figure 8.
(a) Delayed decimation filter, (b) its version as a multi-stage decimation filter with the stage being a Samadi filter, and (c) its version with Samadi filter decomposed into its binomial components. Samadi filter stage is meant to control the overall filter delay (Δ) and the equiripple filter to compensate the non-linear response of the Samadi filter in its non-flat band. The optional Stages 1 to are meant to compensate and downsample the overall frequency response.
Figure 9.
PDM-mic array DAS beamformer using delayed decimation filters.
Figure 9.
PDM-mic array DAS beamformer using delayed decimation filters.
Figure 10.
(a) Magnitude frequency spectrum of internal stages of the delayed decimation filter in the whole input range, and (b) the same frequency spectrum in the 0 kHz to 50 kHz range.
Figure 10.
(a) Magnitude frequency spectrum of internal stages of the delayed decimation filter in the whole input range, and (b) the same frequency spectrum in the 0 kHz to 50 kHz range.
Figure 11.
(a) Magnitude and (b) phase frequency spectrum of the delayed decimation filter. (c) Passband ripple frequency spectrum.
Figure 11.
(a) Magnitude and (b) phase frequency spectrum of the delayed decimation filter. (c) Passband ripple frequency spectrum.
Figure 12.
Delayed decimation filter group delay.
Figure 12.
Delayed decimation filter group delay.
Figure 13.
PDM microphones’ DAS beamformer at PDM domain. Each PDM-mic output is delayed by a factor, then all delayed signals are weighted (factor ) and summed together. Finally, the resulting sum is filtered and downsampled.
Figure 13.
PDM microphones’ DAS beamformer at PDM domain. Each PDM-mic output is delayed by a factor, then all delayed signals are weighted (factor ) and summed together. Finally, the resulting sum is filtered and downsampled.
Table 1.
Decimation filter specifications.
Table 1.
Decimation filter specifications.
Parameter | Value |
---|
input sampling rate () | 3072.0 |
output sampling rate () | 16.0 |
passband frequency () | 7.5 |
stopband frequency () | 8.0 |
passband ripple () | ≤0.0116 (≤0.1 dB) |
stopband ripple () | ≤0.0001 (≤−80.0 dB) |
decimation factor (R) | 192 |
filter input length () | 1 |
filter output length () | 24 |
phase response | linear or almost linear |
Table 2.
Microphone array specifications.
Table 2.
Microphone array specifications.
Parameter | Value |
---|
number of microphones (M) | 40
() |
minimum distance between microphones (Dmin) | 22.0 |
array dimensions | |
maximum required delay () | 314.47 |
mth-filter channel gain () | 1 |
frame length (for frequency domain implementations) (Lframe) | 4.0 |
Table 3.
Required resources to implement a beamformer using 40 shared delayed decimation filters.
Table 3.
Required resources to implement a beamformer using 40 shared delayed decimation filters.
| Value | Unit |
---|
beamformer’s storage requirement () | 39,478 | bit |
beamformer’s number of multiplications per second () | 6.9624 × 10 | |
beamformer’s number of additions per second () | 8.81696 × 10 | |
beamformer’s total number of additions per second () | 2.45858 × 10 | |
estimated minimum frequency in a single-core/single-adder processor (fcpu) | 2458.58 | |
estimated number of adders in an FPGA running at 64 MHz () | 39 | - |
estimated number of adders in a VLSI circuit running at 10 MHz () | 246 | - |
Table 4.
Delayed decimation filter resource requirements breakdown. The first row corresponds to the Lth-band filter stage, the second and third ones are to the and parts of the Samadi filter, respectively, and the last one to the equiripple filter.
Table 4.
Delayed decimation filter resource requirements breakdown. The first row corresponds to the Lth-band filter stage, the second and third ones are to the and parts of the Samadi filter, respectively, and the last one to the equiripple filter.
Stage | (bit) | (MPS) | (APS) | (APS) | (MHz) | | |
---|
lthband | 138 | 15,680,000 | 15,616,000 | 15,616,000 | 15.62 | 1 | 2 |
maxflat — | 552 | 1,536,000 | 6,144,000 | 39,936,000 | 39.94 | 1 | 4 |
maxflat — | 2714 | 0 | 3,776,000 | 3,776,000 | 3.78 | 1 | 1 |
equir | 9164 | 5,040,000 | 5,024,000 | 171,344,000 | 171.34 | 3 | 18 |
Table 5.
Comparison of the proposed beamformer architecture based on delayed decimation filter (
delayed_bf) and other state-of-the-art beamformer architectures implementing a DAS beamformer, as specified in
Table 1 and
Table 2. All percentages are related to the respective value for the
pdm_multi architecture, the most efficient state-of-the-art architecture found for the given specification [
13].
Table 5.
Comparison of the proposed beamformer architecture based on delayed decimation filter (
delayed_bf) and other state-of-the-art beamformer architectures implementing a DAS beamformer, as specified in
Table 1 and
Table 2. All percentages are related to the respective value for the
pdm_multi architecture, the most efficient state-of-the-art architecture found for the given specification [
13].
DAS Beamformer Architecture | Beamformer’s Storage Requirement () in Bit | Beamformer’s Total Number of Additions per Second () in APS | Estimated Minimum Frequency in a Single-Core/Single-Adder Processor () in MHz | Estimated Number of Adders in an FPGA Running at 64 MHz () | Estimated Number of Adders in a VLSI Circuit Running at 10 MHz () |
---|
Using delayed decimation filter (delayed_bf) | 39.5 (−52%) | 24.6 (−19%) | 2458.58 (−19%) | 39 (−19%) | 246 (−20%) |
Using a multi-stage decimation filter (pcm_multi) | 210.0 (+155%) | 41.8 (+37%) | 4184.94 (+37%) | 66 (+37%) | 419 (+37%) |
Using a single-stage memory saving decimation filter (pcm_single_memsav) | 27.4 (−67%) | 243.0 (+697%) | 24,303.98 (+697%) | 380 (+692%) | 2431 (+694%) |
Using a multi-stage decimation filter at PDM domain (pdm_multi) | 82.3 (0%) | 30.5 (0%) | 3050.29 (0%) | 48 (0%) | 306 (0%) |
Using a single-stage memory saving decimation filter at PDM domain (pdm_single_memsav) | 77.8 (−6%) | 35.5 (+16%) | 3553.26 (+16%) | 56 (+17%) | 356 (+16%) |