
The Customizable PDM Pitch Filter can filter a specific pitch and its harmonics from a PDM(Pulse Density Modulation) microphone input stream. First, the microphone signal is passed through a variable decimator. This alters the sample rate and allowsthe filtering of lower frquency waves. Second the signal is passed through a variable length moving average filter. Because the bitstream is in PDM format, (1 or -1 at 3.072 Mhz) it is possible to nullify a signal of specific freuqncy by passing the signal through a moving average filter of a specific length. Here is the calculations to find the filter length: samplerate/target_frequency. From there the output is passed through an I2S bus to an audio reciever. Additionally, the decimation ratio and filter length can be customized through an SPI port.
3.072Mhz clock to clk(ui_in[0])VCC and GND pins to its respective sourcesclk pin to a 3.072Mhz clockdata pin to mic_data(ui_in[3])out pin (uo_out[0])MOSI wire to spi_mosi(ui_in[1])CS_N (Chip Select) wire to spi_cs_n(ui_in[2])CS_N to low8h00 then pass in the decimation ratio as 8 bits. Ex: 8h08 This should be a 16 bit input in totalCS_N to highCS_N to low8h01 then pass in the filter length as 8 bits. Ex: 8h80 This should be a 16 bit input in total| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Bit Clock (3.072 Mhz) | PCM Out Mic 0 | Delay Select 0 |
| 1 | LR Clock (48Khz) | PCM Out Mic 1 | Delay Select 1 |
| 2 | PDM Input Mics 0,1 | PCM Out Mic 2 | Delay Select 2 |
| 3 | PDM Input Mics 2,3 | PCM Out Mic 3 | Delay Select 3 |
| 4 | PDM Input Mics 4,5 | PCM Out Mic 4 | Delay Select 4 |
| 5 | PDM Input Mics 6,7 | PCM Out Mic 5 | Beamformed PCM Output |
| 6 | PCM Out Mic 6 | Mic Clock | |
| 7 | PCM Out Mic 7 |