Forum: Digitale Signalverarbeitung / DSP MEMS Ultraschallmikro mit PDM


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Burkhard K. (buks)


Bewertung
3 lesenswert
nicht lesenswert
Das SPH0641LU4H-1 von Knowles ist ein für den Ultraschallbereich bis 
mind. 80 kHz spezifiertes Bottom-Port MEMS-Mikro mit PDM Ausgang. 
(http://www.knowles.com/eng/content/download/5990/105795/version/1/file/SPH0641LU4H-1.pdf)

Ich denke an eine Anwendung für einen Fledermausdetektor. Mein 
Verständnisproblem:

   - 80 kHz --> Nyquist Frequenz = 160 kHz
   - obere Grenzfrequenz x64 --> Clock Rate = 10,24MHz

Tatsächlich ist die Clockrate mit max. 4.8 MHz (Ultraschallbereich) 
spezifiert. Wie passen 80 kHz Bandbreite und 4,8 MHz Takt zusammen? Und 
welche effektive Auflösung bekomme ich der maximalen Clock-Rate? (Im 
Datenblatt nicht spezifiert)

Oder versteckt sich das Geheimnis auf Seite 8 ("Interface Circuit") - 
zwei Mikrophone anschliessen und damit die effektive Clockrate 
verdoppeln (Datenübertragung erfolgt jeweils an der anderen Taktflanke).


Gruß,
Burkhard

BTW: Die tatsächliche Mikrofonempfindlichkeit liegt wohl noch deutlich 
höher als 100 kHz; 80 kHz sind für einen Fledermausdetektor eigentlich 
zu wenig. Zur Zeit arbeite ich mit einem Mikrophon mit Analog-Ausgang 
und sample mit 1MS/s (die dann auf 500 kS/s dezimiert werden, um noch 
ein halbes Bit Auflösung rauszukitzeln).

von Andreas F. (chefdesigner)


Bewertung
0 lesenswert
nicht lesenswert
Das ist misverständlich. Ist die Clockrate die PDM-Auflösung? Oder ist 
das eine fixe PWM?

Eigentlich ist es so, daß die PDM mit einem freilaufenden Delta-Sigma 
erzeugt wird und dann gesampelt und dezimiert werden muss. Wenn diese 
aber diskret mit den 4 MHz korrelliert, ist die Auflösung limitert.

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Was sind denn das für Mikrofone? die 80kHz können auch akustische Gründe 
haben. Bei den Frequenzen ergeben sich mit den üblichen Systemen ja 
gewaltige Beugungseffekte, weil die Wellenlängen im Bereich der 
Membranen liegen und da sehr krumme Freqeuzngänge zustandekommen.

von Burkhard K. (buks)


Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt ist im Thread-Opener verlinkt - gleich im ersten Absatz.

Es ist sehr knapp formuliert - ich verstehe es so, dass mit jeder 
Taktflanke ein Bit auf die Datenleitung gelegt wird. Je nach (am Mikro 
fest) eingestellter Adresse entweder bei steigender oder fallender 
Flanke. PDM-Auflösung also maximal 4,8 MHz, bzw. 9,6 MHz bei zwei 
Mikros.

Auf welchem Weg aus dem analogen das PDM-Signal erzeugt wird, bleibt 
hinter den knappen Formulierungen "PDM output" und "Polarity: Increasing 
sound pressure - Increasing density of 1’s" verborgen.

Ich selbst habe bisher keine Erfahrung mit PDM-Mikros, tue mich daher 
schwer, die knappen Ausführungen zu interpretieren.


Gruß,
Burkhard

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt habe ich mir schon angesehen, aber allein mir fehlt der 
Glaube: Die Freifeldfrequenzkurve ist eine Spassamngabe und niemals so 
zu erwarten, schon gar nicht für beide Achsenwinkel (von wegen "OMNI"). 
Diese Mikros sind logischerweise ->Druckempfänger aber ein 
omnidirektionales Verhalten über den Frequenzgang im gesamten Raum ist 
bei Mikros eh illusorische. Eine seriöse Angabe wäre zumindest eine 
ungefähre off axis response. Egal ...

Was das digitale timing angeht, ist es grundsätzlich einfach so, daß man 
mit höherem Takt die höhere Genauigkeit bekommt, also z.B. 10101010 für 
einen mittleren Pegel statt einfach nur 11001100 oder gar 11110000 bei 
geringeren Frequenzen. Die applizierte Frequenz scheint aber bei diesen 
Sensoren je nach Bereich noch den Modulator umzuschalten. Großartige 
Optionen scheinen dann für Ultraschall nicht zu bestehen, wie man sieht. 
Nimm halt irgendwas um 4MHz, was zum Systemtakt passt und sich leicht 
dezimieren lässt.

Die effektive Auflösung gegenüber z.B. 192kHz Abtastfrequenz bei Audio, 
die 80kHz repräsentieren könnten und mit denen man das dezimierte Signal 
wenigstens weiterverarbeiten müsste, wäre mit einem sich ergebenden 
Faktor von rund 32 dann aber auch eher gering aufgelöst, dafür, dass es 
1 Bit Audio ist. Das liefe aus meiner Sicht auf so 128 Taps hinaus zum 
dezimieren. Das bringt eine Qualität von gefühlt 30dB sfdr, was nicht so 
wirklich an die angebichen >60dB(A) SNR heranreicht, aber mehr ist wohl 
nicht drin. Höhere Filterausdehnung wird sehr schnell ineffektiv. Ich 
würde ein CIC mit einem FIR paaren.

Ich würde mir aber von der Ultraschallqualität dieser Mikros also nicht 
allzuviel versprechen, zumal der maximale Schalldruck mit 120db (SPL 
nehme ich an) nicht 100% "fledermaustauglich" ist.

von Burkhard K. (buks)


Bewertung
0 lesenswert
nicht lesenswert
Danke Jürgen für die Erläuterungen.

Klingt, als ob ich beim meinem bisherigen, analogen Ansatz bleiben 
sollte. Da habe ich das "Soundshaping" (regelbare Vorverstärkung, 12bit 
SAR ADC) zumindest selbst in der Hand - und dazu noch ein paar dB SPL 
mehr.

Ironischerweise hatte ich mir gerade von einem Mikro mit digitalem 
Ausgang versprochen, Übersteuerungen - z.B. bei direktem Überflug - 
besser vermeiden zu können.

Gruß,
Burkhard

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Burkhard,

>>>>Klingt, als ob ich beim meinem bisherigen, analogen Ansatz bleiben
sollte.
<<<<

Nee, nimm die.

Knowles MEMS Micros habe ich auch schon ganze Weile zum Ultraschall 
Aufnehmen rumzuliegen ohne bisher dazu gekommen zu sein. Mit den Dingern 
Fledermäuse zu belauschen ist m.E. eine sehr gute Idee.

Meine Meinung:

Zu den geäußerten Bedenken: Knowles macht seit Jahrzenten super mics, 
deren Datenblätter sind vertrauenswürdig, das ist kein China startup. 
Die Frequenzgangskurven sind real, die zeigen für andere mics auch 
krummere Kurven!

SPL: Weiß nicht, ob die relativ taub sind, müsste man nochmal schauen, 
glaub ich aber nicht. Knowles kommt von Hörgeräten, die Dinger müssen 
empfindlich funktionieren.

PDM: 'pulse density modulation', ein einfacher Tießpass reicht 
eigentlich aus. Für 60 dB SNR muß man was Schlaueres machen, muss man 
sich bei sigma/Delta Wandlern abschauen. Wahrscheinlich sagt Knowles 
aber auch wie man ihre mics demodulieren soll. Muß man aber nochmal 
kucken.

Will haben:
Knowles mic an kleinem FPGA schiebt Fledermaus Daten in die USB 
Schnittstelle des Telephons, dort dann Frequenz/Zeit Diagramm.

Hoffe, Du machst weiter und ich kann Deine Schaltung nachbauen.

Cheers
Detlef

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert

von Markus F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja das Thema gab es schon einmal und ich habe das damals auch mal mit 
verfolgt - sehe aber, dass es wohl nicht weiter ging. Hier nun meine 2 
Cent zum Thema:

Man kann so einen PDM-Datenstrom mit diversen mehr oder weniger schlauen 
Methoden dezimieren. Das Einfachste ist, einfach 1024 Samples 
aufzuintegrieren und das als Wert zu nehmen. Dann bekommt man ein auf 
3kHz reduziertes Signal. Mehr gibt es wieder, wenn man das für 
überlappende Gruppen von Samples macht, also z.B.

von 0 ... 1023 , 10... 1033, dann hat man die 100fache Auflösung. 
(Ungefähr). Wären dann 300kHz Bandbreite.

Zum Schluss schneidet man die erzeugten Oberwellen einfach mit einem 
klassischen Tiefpass weg. Z.B. bei 100kHz. Das müsste dann für das Micro 
reichen.

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Detlef _. schrieb:
> Mit den Dingern
> Fledermäuse zu belauschen ist m.E. eine sehr gute Idee.
Wenn's reicht, denn die Tierchen nutzen Frequenzen bis fast zum 
Dreifachen dessen, was die Mikros können.

> PDM: 'pulse density modulation', ein einfacher Tießpass reicht
> eigentlich aus. Für 60 dB SNR muß man was Schlaueres machen,
Die bekommt man bei der Konstellation der Frequenzen nicht hin. Ich 
betreibe z.B. meine simplen DA-Ausgänge bei den Eval boards mit z.B. 
25MHz und erreiche bei einem "normalen" 2-stufigen Analogfilter gerade 
so eine erträgliche Audioqualität. Bei 1kHz sind das vielleicht 60dB 
THDN, darüber defintiv weniger:
http://www.96khz.org/htm/virtualpldorgan01spartan3e.htm

Mit z.B. 100 MHz in den neueren Versionen geht es jeweils um 10dB 
besser. Hier haben wir aber nur 1/25tel der Taktfrequenz, wollen jedoch 
4x höherere Frequenzen abbilden. Keine Chance.

> sich bei sigma/Delta Wandlern abschauen. Wahrscheinlich sagt Knowles
> aber auch wie man ihre mics demodulieren soll. Muß man aber nochmal
> kucken.

Was man machen kann, ist die Entzerzerrung in die Filterung mit 
einbauen, aber dafür benötigt man genauere Infos über das 
Übertragungsverhalten,bzw man muss es ausmessen, weil ja auch das MEMS 
selber bereits eine Entzerrung  Vorverzerrung vornimmt  vornehmen 
kann. So oder so benötigt man schon einiges an Filterei.

> Will haben:
> Knowles mic an kleinem FPGA schiebt Fledermaus Daten in die USB
> Schnittstelle des Telephons, dort dann Frequenz/Zeit Diagramm.
Dann vielleicht so: Wandlung auf eine Audiofrequenz und Übertragung an 
einen USB-Chip. Das geht z.B. auch direkt mit Audio-Chips, die einen 
digitalen Eingang verarbeiten können und S/PDIF abgeben. Dann einfach 
einen externen Converter dranhängen.

Im FPGA würde ich ausgehend von der S/PDIF Frequenz das Mic mit einem 
Drittel des Taktes versorgen und 32:3 dezimieren - und dann nochmal 
einen Faktor 2 per DDC über einen Tiefpass. Das ergibt (exakt) 192.000. 
Die 192k wären IMO die minimale Frequenz, mit der man die 80k noch 
halbwegs sauber abbilden könnte. Mit einem kleinen Converter bekommt man 
es auf einen Stereokanal mit 96kHz verteilt und kann es in zwei Bändern 
übertragen, wenn der Converter nur 96k kann. Diese Dinge gibt es in der 
Bucht zu unter 20 Euronen.

Der S/PDIF Takt liesse sich bei Bedarf aus 25 MHz erzeugen, wie ich es 
schon mehrfach gepostet habe. Mit der Mimik liesse sich parallel und 
Synchron auch sicher ein FDTI chip betreiben.

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Markus F. schrieb:
> Das Einfachste ist, einfach 1024 Samples
> aufzuintegrieren und das als Wert zu nehmen. Dann bekommt man ein auf
> 3kHz reduziertes Signal. Mehr gibt es wieder, wenn man das für
> überlappende Gruppen von Samples macht, also z.B.

Das ist aber auch letzlich nichts anderes, als ein CIC-Filter nur eben 
mit anderen Eingangs- und Ausgangsfrequenzen. Da man das auch irgendwie 
verarbeiten können soll / wollen wird, wäre eine chip-kompatible 
Audiosamplefrequenz sicher hilfreich. Dann kann man es auch im PC 
leichter erfassen.

>3kHz
Es wären 3kHz, was die Grundwelle angeht, aber enthalten wäre noch 
deutlich mehr, da es ja eine Faltung mit einem Rechteck ist. Man kann 
natürlich nur mit einem FIR arbeiten und über eine entsprechende Anzahl 
von Samples ausdehnen.

von Burkhard K. (buks)


Bewertung
0 lesenswert
nicht lesenswert
Danke Euch für die Antworten und Hinweise.

Im Augenblick sample ich die Daten von meinem analogen Mikrofon mit 1 
MS/s und schreibe sie in den RAM meines Baseboards - das reicht für ca. 
30 Sekunden bei zwei Kanälen. Für die zeitgedehnte Audioausgabe benutze 
ich den wunderbar flexiblen CS4344 - z.B. 50 kHz für 20fache Dehnung. 
Mit dieser Kombination bin ich von "Standard"-Audiofrequenzen 
unabhängig. Das sollte für die Analyse der Frequenzinformation auch 
gelten?

Bei den digitalen PDM-Mikros schreckt mich der - für mich als 
DSP-Änfänger hohe - Einarbeitungsaufwand. FIR-Filter verstehe ich und 
mein Board bietet ausreichend Resourcen. Delta-Sigma dagegen will 
(noch?) nicht so recht in meinem Kopf.

Was die Frequenzbereich betrifft - grundsätzlich können Fledermäuse bis 
200 kHz erreichen - einige in Europa vorkommende Arten schaffen um die 
140 kHz. Das mit einem MEMS zu erfassen ist wohl illusorisch. Allerdings 
liegen die meisten Ortungs-Rufe deutlich niedriger, ein Abendsegler 
tummelt sich bei 40 kHz abwärts, die Mückenfledermaus vielleicht bei 70 
kHz abwärts, die häufige Zwergfledermaus etwas darunter.

Die lautesten Arten schaffen wohl bis zu 140 dB(SPL), ob das auf die in 
Europa vertretenen Arten zutrifft weiss ich nicht, das Knowles-Mikro 
wäre am Anschlag, wenn z.B. ein Tier beim Überflug in unmittelbarer Nähe 
ruft. Das analoge Pendant bieten ca. 4 dB mehr.


Gruß,
Burkhard

@Detlef - Datenausgabe per USB steht auf meiner Liste - allerdings 
bleibe ich (Hobbyprojekt) sicher noch eine Weile auf meinem 
Nexys4-Baseboard.

von Jürgen S. (engineer) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Welche analoge Mikro verwendest Du? Ich habe mal mit meinen Studiosachen 
gemessen: Ein Mikro schafft bis 50kHz - beim Wandler muss ich den 
AA-filter rausnehmen. Von der Dynamik in dem Bereich ist das aber so 
eine Sache.

Zu dem Thema Sigma-Delta:

In der Grafik oben habe ich einen solchen Ausgang mal simuliert und zwar 
für 80kHz optimiert (obere Grenzfrequenz).

Die grüne Kurve ist das Ergebnis einer Aufaddition von 64 Werten. Wenn 
man das filtert und sampelt sollte es für einfache Zwecke reichen.

von Audiohans (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nur weil im Excel keine Knicke sichtbar werden, heisst es nicht, dass 
das ein guter Sinus ist oder wird. Wir reden hier von einem 50:1 
Verhältnis. Das wird bestenfalls 8-Bit Audio. Komplexere Signalformen 
möchte ich mir gar nicht vorstellen.

von Burkhard K. (buks)


Bewertung
0 lesenswert
nicht lesenswert
Jürgen S. schrieb:
> Welche analoge Mikro verwendest Du? Ich habe mal mit meinen Studiosachen
> gemessen: Ein Mikro schafft bis 50kHz - beim Wandler muss ich den
> AA-filter rausnehmen. Von der Dynamik in dem Bereich ist das aber so
> eine Sache.

Ein "MoMiMic" (mit Vorverstärker) von Dodotronic: 
http://www.dodotronic.com/index.php/mini-microphone/?v=3a52f3c22ed6
Die Abbildung ist wohl älter, der Sensor auf meinem Exemplar ist ein 
MEMS, vermutlich ein SPH1611LR5H-1 von Knowles - aber das ist nur 
geraten. Nach Angaben des Herstellers soll die Grenzfrequenz oberhalb 
von 200 kHz liegen.
* Vorteile:
  Spannungsversorgung und Signalbereich passen zum PModAD1 von Digilent 
- kann ohne weitere Anpassungen angeschlossen werden.
* Nachteile:
  bei hoher Lautstärke kann das Signal den Eingangsbereich des 
ADC-Moduls kurzzeitig überschreiten (> Vdd  /  < 0 V) - clipped dann 
analog und digital.
* Eine in unmittelbarer Nähe rufende Fledermaus bringt den Sensor an den 
Anschlag. Erst vor wenigen Tagen beobachtet - die Entfernung zum Tier 
betrug etwa 3 bis 4 Meter.
* Der Hersteller verrät den Sensor nicht. Frequenzgang daher nicht genau 
bekannt.

>
> Zu dem Thema Sigma-Delta:
>
> In der Grafik oben habe ich einen solchen Ausgang mal simuliert und zwar
> für 80kHz optimiert (obere Grenzfrequenz).
>
> Die grüne Kurve ist das Ergebnis einer Aufaddition von 64 Werten. Wenn
> man das filtert und sampelt sollte es für einfache Zwecke reichen.

Danke Jürgen. Viele Fledermausrufe sweepen über einen Bereich von z.B. 
70 bis 30 kHz in ca. 10 ms - fällt so ein Signal noch unter "einfache 
Zwecke"?

Ich habe beide Arten (analog und digital) Sensoren bestellt und um sie 
für meine Zecke auszutesten.

Anschlusskabel:
Die PDM-Variante erfordert eine an die 4.8 MHz Clk / Daten angepasste 
Kabelverbindung (ca. 50 cm) . Ich hatte zunächst an LWL-Kabel und 
Optokoppler gedacht - aber das Mikro toleriert max. 3 ns Rise/Fall Time 
- dafür wäre ein Optokoppler zu langsam (HFBR 5 MHz: ca. 15 ns). Ist es 
sinnvoll, die Flanke mit einem schnellen Schmitt-Trigger aufzumotzen 
(Jitter?) - oder lieber gleich zu SMA/RG58 mit passenden Treibern 
greifen?

Gruß,
Burkhard

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
>>>>>>>>>>
Anschlusskabel:
Die PDM-Variante erfordert eine an die 4.8 MHz Clk / Daten angepasste
Kabelverbindung (ca. 50 cm) . Ich hatte zunächst an LWL-Kabel und
Optokoppler gedacht - aber das Mikro toleriert max. 3 ns Rise/Fall Time
- dafür wäre ein Optokoppler zu langsam (HFBR 5 MHz: ca. 15 ns). Ist es
sinnvoll, die Flanke mit einem schnellen Schmitt-Trigger aufzumotzen
(Jitter?) - oder lieber gleich zu SMA/RG58 mit passenden Treibern
greifen?


Wie willst Du denn dei PDM Variante bespielen? 50cm bei 4.8MHz ist 
schlecht, soviel treiben die mics nicht (wahrscheinlich), direkt ran an 
das mic mit der Electronic, wie bei Deinem link.

Cheers
Detlef

von Burkhard K. (buks)


Bewertung
0 lesenswert
nicht lesenswert
Detlef _. schrieb:
> direkt ran an das mic mit der Electronic, wie bei Deinem link.

Du meinst, direkt ran an das Basisboard / PMod Port? Das wäre ungünstig, 
jeder Tastendruck, jedes Drehen am Volume etc. würde vom Mikro 
registriert werden. Irgendeine Distanz braucht es schon - die 
Spannungsversorgung müsste natürlich mitgeführt werden damit die 
Elektronik am Mic sitzt.

Gruß,
Burkhard

von Audiohans (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Solche Mikros stecken in den Geräten eigentlich auf einer eigenen 
Platine, die nicht in der Nähe der Hauptplatine positioniert ist. Der 
umgekehrte Weg wäre, die Taster und Schalter auszulagern.

von Markus F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@Burkhard: wie hast du es nun gelöst?

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Burkhard K. schrieb:
> Viele Fledermausrufe sweepen über einen Bereich von z.B.
> 70 bis 30 kHz in ca. 10 ms - fällt so ein Signal noch unter "einfache
> Zwecke"?

Wenn das Mikro es überträgt und die Samplerrate reicht, warum nicht?
Du solltest eben die SV entsprechend auslegen.

von Andreas F. (chefdesigner)


Bewertung
0 lesenswert
nicht lesenswert
Ich komme nochmals zurück auf diese Frage:

Beitrag "Re: MEMS Ultraschallmikro mit PDM"


Burkhard K. schrieb:
> Es ist sehr knapp formuliert - ich verstehe es so, dass mit jeder
> Taktflanke ein Bit auf die Datenleitung gelegt wird.

Wie wird das praktisch erreicht, dass bei der PDM eine Frequenz 
vorgegeben werden kann? Soweit ich mich damit befasst habe, sind die 
Modulatoren in der Frequenz freilaufend und optimieren damit ihre 
Nulldurchgänge, haben also das geringste Störspetktrum!

?

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Sehr wahrscheinlich wird es kein freilaufender oder nach einer 
Modulationsmethode arbeitende PWM- sondern eine mit vorzugebender 
Frequenz sein. Das interne Dezimationsfilter arbeitet sicher auf 
derselben Frequenz, womit es dann automatisch passt. Da der Filter hart 
an der fs hängt, kann er entsprechend optimiert sein. Außerdem dürfte 
der eigentliche Takt intern mit einer PLL hochgeschoben werden. Von 
einer ASIC-App habe ich ziemlich gut vor Augen, was da geht: 3Mit S/PDIF 
rein, intern auf dem 1024fachen für die lockin-PLL.

von Burkhard K. (buks)


Bewertung
1 lesenswert
nicht lesenswert
Wenn ich die Application Notes diverser Hersteller anschaue, dann laufen 
wohl alle gängigen MEMS PDM Mikros mit fester Clock, z.B.:

  * Audio Precision: 
http://users.ece.utexas.edu/~bevans/courses/rtdsp/lectures/10_Data_Conversion/AP_Understanding_PDM_Digital_Audio.pdf

  * Invensense: 
http://www.invensense.com/wp-content/uploads/2015/02/Analog-and-Digital-MEMS-Microphone-Design-Considerations.pdf

von Jürgen S. (engineer) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Klar, eine variable PDM löst zwar besser auf, müsste aber auch erst in 
irgendeiner Weise gefiltert werden und digital ist das nicht einfach, 
wenn die Frequenz zu hoch ist. Und nicht jeder will da mit einem FPGA 
dran, um ausreichend Taktreserve zu haben.

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Burkhard K. schrieb:
> SPH0641LU4H-1 von Knowles ist ein für den Ultraschallbereich bis
> mind. 80 kHz spezifiertes Bottom-Port MEMS-Mikro

Als aktuelles update zu dem Thema:

Auch die konventionellen MEMS-Mikros, die für den Audiobereich 
spezifiziert sind, liefern teilweise bis ca. 40kHz relevanten 
Ultraschall. Der muss entsprechend gefiltert werden. Habe aktuell wieder 
eine solche Anwendung.

von Detlef _. (detlef_a)


Bewertung
1 lesenswert
nicht lesenswert
Hi,

die Dinger kann man super an einen ST Cortex basteln. Mehrere wird 
schwierig.

Beitrag "Hook up a MEMS microphone to the I2S of a Cortex M4"

Cheers
Detlef

von Burkhard K. (buks)


Bewertung
0 lesenswert
nicht lesenswert
Jürgen S. schrieb:
> Auch die konventionellen MEMS-Mikros, die für den Audiobereich
> spezifiziert sind, liefern teilweise bis ca. 40kHz relevanten
> Ultraschall.

Wie schon in meinem anderen Beitrag gesagt, PDM-MEMS für Ultraschall 
habe ich aufgegeben, weil es nicht weit genug reicht (80 kHz). Ich will 
nicht ausschliessen, dass auch andere (analoge) MEMS-Mikros geeignet 
sind, steht nur leider nicht in den Datenblättern.

Das FG-23629 von Knowles dagegen ist bis 100 kHz beschrieben und reicht 
noch viel weiter; nur den Empfindlichkeitsabfall von -12 dB/Oktave muss 
ein Vorverstärker entsprechend ausgleichen. Eine entsprechende Schaltung 
lässt sich auch mit 3.3V gut betreiben.

Ein wenig O.T.: Leider ist das FG-23629 inzwischen so gefragt, dass es 
erst ab 25 Euro über den Ladentisch geht.

von Mausfänger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Burkhard K. schrieb:
> Wie schon in meinem anderen Beitrag gesagt, PDM-MEMS für Ultraschall
> habe ich aufgegeben,

Eigentlich schade, denn das Bild in dem von Detlef gelinkten Beitrag 
sieht doch sehr nach Fledermaus aus:

https://www.mikrocontroller.net/attachment/330834/spectrum.jpg

von Robert K. (Firma: Medizintechnik) (robident)


Bewertung
0 lesenswert
nicht lesenswert
Detlef _. schrieb:
> die Dinger kann man super an einen ST Cortex basteln. Mehrere wird
> schwierig.

Kennt jemand eine Type die Ultraschall bis 175kHz kann und einen 
Prozessor, der bis zu 4 (oder 6) davon verarbeiten kann?

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Robert K. schrieb:
> Detlef _. schrieb:
>> die Dinger kann man super an einen ST Cortex basteln. Mehrere wird
>> schwierig.
>
> Kennt jemand eine Type die Ultraschall bis 175kHz kann

Existiert wahrscheinlich nicht in breitbandiger Form. Schmalbandige 
Wandler für ca. 200kHz sind ganz gängig.


> und einen Prozessor, der bis zu 4 (oder 6) davon verarbeiten kann?

Das schafft nen Cortex M4 wahrscheinlich nicht, der bräuchte dann 4 SPI 
Schnittstellen. Hätte er die, müsste er ~20MBit/s wegschaufeln. Da 
braucht man was Kräftigeres, RPi zum Bleistift.

Cheers
Detlef

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Robert K. schrieb:
> und einen
> Prozessor, der bis zu 4 (oder 6) davon verarbeiten kann?

XMOS
https://www.xmos.com/products/voice/micarray

: Bearbeitet durch User
von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Die PDM- und PWM-Datenströme prozessiert man - besonders bei 
Sonderanwendungen - am besten mit einem kleinen FPGA, wenn man nicht 
schon die gesamte notwendige Signalaufbereitung damit macht. Dann kommt 
man mit einem kleineren Mikrocontroller aus und ist in der Wahl und der 
Konfiguration der Filter völlig frei.

Was mit DSPs geht und mein manchen Prozessoren vorrealisiert ist, passt 
nicht und die SW ist immer irgendwie rechenzeitoptimiert und damit ein 
Kompromiss. Die Filter für Ultraschall müssen logischerweise 
entsprechend ausgelegt werden.

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> Robert K. schrieb:
>> und einen
>> Prozessor, der bis zu 4 (oder 6) davon verarbeiten kann?
>
> XMOS
> https://www.xmos.com/products/voice/micarray

249$ :(( Viel zu teuer.

Cheers
Detlef

von K. L. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Detlef _. schrieb:
> 249$ :(( Viel zu teuer.

Kennt jemand Alternativen?
Es geht um die Erfassung von Störschall und die Analyse desselben.
Der Störschall ist im Ultraschallbereich, teilweise jedenfalls.

Bevor Rückfragen kommen: Kein Audio. Schallbasierte Messtechnik. 
Erfassung von Geschwindigkeit, Position und Annäherung. U.A. 
Schutzschaltung gegen Anstossen.

von Detlef _. (detlef_a)


Bewertung
1 lesenswert
nicht lesenswert
Hi,

>> Alternativen

Produktsuche bei ST liefert z.B. den STM32F411CC . Der hat 5 SPI und 5 
I2S Schnittstellen.

Hier
Beitrag "Hook up a MEMS microphone to the I2S of a Cortex M4"

hab ich mal gezeigt, wie man eine SPI Schnittstelle eines Cortex M4 zu 
I2S umlügt und ein MEMS Mic ranhängt. Bei dem obengenannten uC sind also 
sicher 5 und vielleicht 10 MEMS Mics anbaubar.

Ansonsten schliesse ich mich meinem Vorredner an, mittleres CPLD oder 
allerkleinstes FPGA kann auch paar MEMS Mics bespassen.

Weiterhin wäre es vermutlich möglich, direkt die MEMS über GPIOs 
einzulesen. Der Datenstrom kommt mit ca. 3MBit/s, mit der Frequenz kann 
ein Cortex mit 100MHz oder so ein Port schon lesen und dann muss er nur 
noch addieren.

Oder man baut die 'add and dump' Dezimation diskret mit digitaler Logik 
auf. das sind auch nicht mehr als 5 ICs oder so.

So schöne Dinge, so wenig Zeit.

Cheers
Detlef

von K. L. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Haben denn die MEMS-Mikrofone mehrheitlich eine I2C Schnittstelle? Die, 
die ich so finde (und die beschafft wurden) haben einen direkten 
digitalen Ausgang. Andere sind total analog.

Die digitalen senden auch 2 Kanäle mit PWM. Sind schon 6MHz. Wir hätten 
auch mehrere.

Ich könnte einen Port mit bis zu 8 MEMS in einem Zyklus einlesen, z.B. 
per Interrupt, müsste gehen, wenn die synchron sind.

>'add and dump' Dezimation
wie würde man die realisieren, angenommen der Controller schafft es?

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Klaus L. schrieb:
> Haben denn die MEMS-Mikrofone mehrheitlich eine I2C Schnittstelle? Die,
> die ich so finde (und die beschafft wurden) haben einen direkten
> digitalen Ausgang. Andere sind total analog.

Ja, direkt digital. Die Schnittstelle heißt I2S, nicht I2C. Schlicht: 
Für jeden Takt gibts ein Bit auf der Datenleitung.


> Die digitalen senden auch 2 Kanäle mit PWM. Sind schon 6MHz. Wir hätten
> auch mehrere.

Ah, kenn ich nicht. Hast Du einen link auf ein Datenblatt?

>
> Ich könnte einen Port mit bis zu 8 MEMS in einem Zyklus einlesen, z.B.
> per Interrupt, müsste gehen, wenn die synchron sind.

Ja, synchron sind die bei gleichem Takt. Ist aber sehr auf Kante genäht. 
3Mio Interrupts pro sec bei 100MHz Takt ist schon sportlich, geht vllt. 
nicht.

>
>>'add and dump' Dezimation
> wie würde man die realisieren, angenommen der Controller schafft es?

Du willst z.B. von 3MHz auf 30kHz dezimieren, Faktor 100. Dann zählst 
Du, wieviele von den 100Bit gesetzt sind, fertig ist die Laube. Das 
läuft unter 'add and dump' oder 'CIC' , das ist ein 100er FIR Filter mit 
allen Koeffizienten 1 und einer folgenden Dezimation um 100. Schlichter 
hack, geht aber viel besser, ist aufwändig, hab ich hier mal probiert:

Beitrag "FIR Filter Optimierung eines PDM Signals auf STM32F407 simuliert mit Matlab"

Cheers
Gute Nacht
Detlef

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
>Dann zählst wieviele von den 100Bit gesetzt sind, fertig ist die Laube.
Die 0er würde ich noch abziehen, damit es symmetrisch wird und einen 
echten Nullwert ergibt.

Der CIC-Filter ist die bessere Version dieses MeanValues, aber für Audio 
auf Sample-Frequenz leider ebenso gut nutzbar, wie Putzlumpen beim 
Beseitigen von Hochwasser im Keller. Das geht nur bei hoher 
Überabtastung gut und wenn man die HF-Durchlässigkeit des CIC hernach, 
davor oder innendrin beseitig.



Detlef _. schrieb:
>> Die digitalen senden auch 2 Kanäle mit PWM. Sind schon 6MHz. Wir hätten
>> auch mehrere.
>
> Ah, kenn ich nicht. Hast Du einen link auf ein Datenblatt?
Die gehen bis 4MHz und verbinden zwei Mikrofone dadurch, dass sie auf 
beiden Taktflanken senden. Sozusagen DDR. Die beiden Mikros sind auf dem 
Datenausgang als "physical wired or" verdrahtet:

https://www.cui.com/blog/analog-or-digital-how-to-choose-the-right-mems-microphone-interface

von Detlef _. (detlef_a)


Bewertung
0 lesenswert
nicht lesenswert
Jürgen S. schrieb:
> Detlef _. schrieb:
>>> Die digitalen senden auch 2 Kanäle mit PWM. Sind schon 6MHz. Wir hätten
>>> auch mehrere.
>>
>> Ah, kenn ich nicht. Hast Du einen link auf ein Datenblatt?
> Die gehen bis 4MHz und verbinden zwei Mikrofone dadurch, dass sie auf
> beiden Taktflanken senden. Sozusagen DDR. Die beiden Mikros sind auf dem
> Datenausgang als "physical wired or" verdrahtet:
>
> https://www.cui.com/blog/analog-or-digital-how-to-
> choose-the-right-mems-microphone-interface

Auf wählbaren Flanken senden können die Knowles Mics auch. Hatte Klaus 
L. so verstanden, dass er zwei Mics in einem Gehäuse hat.

Cheers
Detlef

von Jürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Detlef _. schrieb:
> Auf wählbaren Flanken senden können die Knowles Mics auch.

Yepp. Dabei muss dann logischerweise beachtet werden, das auch 
alternativ auszuwerten. Die einschlägigen Chips machen das teilweise.

>dass er zwei Mics in einem Gehäuse hat.
Da ist mir keines bekannt. Ich sehe auch den Zweck nicht. Wenn man zwei 
nahe sitzende MICs braucht, wird man die eher selber räumlich optimiert 
setzen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.