xCORE Microphone Array board questions

Voice related projects and technical discussions
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

xCORE Microphone Array board questions

Post by aclassifier »

About the circular board (XK-USB-MIC-UF216) at XMOS and Digi-Key.

I cannot find it in the list of targets on xTIMEcomposer (14.4.1)?

Is it possible to use this board, with respect to xTIMEcomposer, XC etc. just like "any other" board, like the xCore-200 Explorer kit?

Is there any data available about the sensitivity of the microphones, each and all added?

How much of the XUF216-512 (with 2 tiles and 8 logical cores) is available after some typical DSP/sound libraries have been installed?
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/
SGapp
Member++
Posts: 21
Joined: Mon May 04, 2020 4:32 pm
Location: Berlin, Germany

Post by SGapp »

Hi,
I will try to answer your questions based on my knowledge.
I have worked with the xCore Microphone Array and developed a 16-microphone USB interface inspired by this board.
aclassifier wrote: Mon Feb 08, 2021 4:12 pm I cannot find it in the list of targets on xTIMEcomposer (14.4.1)?
I used the XUF212-512-TQ128-C20 as a target and it worked for me.
aclassifier wrote: Mon Feb 08, 2021 4:12 pm Is it possible to use this board, with respect to xTIMEcomposer, XC etc. just like "any other" board, like the xCore-200 Explorer kit?
I don't know how other boards are used but this board can be programmed and debugged via the XTAG debugger.
aclassifier wrote: Mon Feb 08, 2021 4:12 pm Is there any data available about the sensitivity of the microphones, each and all added?
Sensitivity of the IM69D130 microphone is specified at -36dBFS. Have a look at the microphones product page and the schematics in Hardware Manual here
aclassifier wrote: Mon Feb 08, 2021 4:12 pm How much of the XUF216-512 (with 2 tiles and 8 logical cores) is available after some typical DSP/sound libraries have been installed?
The number of available cores depends on the number of microphones you need to decimate from PDM to PCM.
The lib_mic_array user guide specifies:
- 1 to 4 microphones: Two cores + Application core
- 5 to 8 microphones: Three cores + Application core
- 9 to 12 microphones: Four cores + Application core
- 13 to 16 microphones: Six cores + Application core
You can find more details in https://www.xmos.ai/download/lib_mic_ar ... .1rc1).pdf
This can occupy a whole tile for the decimation process. The other tile is used for USB and the compiler issues this warning that no more than 6 cores should be used on the USB tile to ensure USB communication within specification.

I hope this clarifies things for you.
Cheers,
Simon
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

Post by aclassifier »

Thanks, Simon for a very comprehensive reply!

Do you have any idea of why that board doesn't have a unique xTIMEcomposer ID?

If I decide to go for this project 'I plan to use all the six on-board microphones, and it will be a stand alone unit, with a small display and a sounding unit for people with hearing loss.

I plan to discover a mobile ringing, make an alarm clock (I have a nice clock/calendar breakout board that I have used in several products), plus listen to the house fire alarm plus a local fire detector through a door (I think a door dampens about 15 dB [1]). But I'm only just started think about this one unit only project. But I will blog about it.

If anybody has any thoughs about the feasability of such a product using that board, I'll be glad to get any opinions. Pro or con!

Øyvind

[1] https://ri.diva-portal.org/...
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/
SGapp
Member++
Posts: 21
Joined: Mon May 04, 2020 4:32 pm
Location: Berlin, Germany

Post by SGapp »

Hey Øyvind,
I am happy to help. When I first started looking into this topic, I had similar questions to yours where it took me some time to understand the answers. I hope my answers will speed up your understanding process :)
aclassifier wrote: Tue Feb 09, 2021 9:38 pm Do you have any idea of why that board doesn't have a unique xTIMEcomposer ID?
I don't know anything about it.
aclassifier wrote: Tue Feb 09, 2021 9:38 pm If I decide to go for this project 'I plan to use all the six on-board microphones, and it will be a stand alone unit, with a small display and a sounding unit for people with hearing loss.
You might be happy to hear that the board provides seven microphones, six arranged on the edge of the PCB and one in the center.

I think this board is well suited for your project, maybe even a little oversized. Do you intend to use a beamforming algorithm (there are multiple Delay and sum beamforming examples from XMOS) for fire alarm detection? Because otherwise I don't really see an advantage in using more than one microphone.
Simon
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

Post by aclassifier »

I was counting the holes! Hah! (And obviously had a blind spot for the "Seven INFINEON IM69D130 MEMS microphones" text. Almost unbelievable that the microphones are that small. But since they are MEMS, I assume they don't come larger.

Using an 8-core processor to control the temperature and light of an aquarium (I can hear them laugh at work, back then) (but it is much better than overloading an ATMega..), or, or.. [1].

Since I am retired and have this as a hobby then the road is much part of the goal. I haven't done DSP'ing for 25+ years. Plus learning by doing!

Beamforming, nice to try! To see how XMOS utilise the cores, interesting. I still have a lot to learn in that respect!

Øyvind

[1] My XMOS pages (Standard disclaimer)
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/