Detektera ljud. Hur?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
klasg
Inlägg: 187
Blev medlem: 29 juni 2005, 21:12:24

Detektera ljud. Hur?

Inlägg av klasg »

Hejsan. Länge sedan jag var här nu...
Tänkte höra med er om hur svårt det skulle vara och gärna också om ni råkar veta någon bra sida som ger information om "projektet". Jag har sökt här på forumet och på google, utan att egentligen hitta någonting.

Problemet kan fattas ganska kort: Att detektera ett visst ljud, en viss frekvens, eller möjligen ett spann mellan några frekvenser. Vilken/vilka frekvenser det rör sig om vet jag inte än... Ljudet kommer förekomma tätt och jag måste kunna detektera ljudet på kortast möjliga tid, några µS eller snabbare. Går det?

Tänkte lösa det med en lämplig PIC i assembly. Förslag på PIC? Eller på annat sätt?
Vad tror ni, det borde väl inte bli för svårt? Hur ska jag gå till väga?

Tack på förhand.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Hmm, vill du få ut en viss frekvens så går det inte på någta us, det kommer alltid att ta en viss tid oaktat hur du gör ditt filter. I Princip så den teoretisk minsta möjliga tiden 1/f. Vill du ha brantare filter så kommer latencyn att bli längre hur du än gör.

EDIT. Jo, filtrering GÅR göra i en PIC även om det inte är helt optimalt, beroende på frekvenser och önkad latency så är 10,12 och 16 serien för långsamma rent generellt iaf.
Användarvisningsbild
klasg
Inlägg: 187
Blev medlem: 29 juni 2005, 21:12:24

Inlägg av klasg »

Så vad är bäst/vilket går snabbast. Filtrera i PICen eller göra ett passivt filter? Låter man PICen köra i t ex. 20MHz borde det väl gå ganska snabbt?
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Jo, men du skall sampla ett antal sampels (räcker inte interna A/D-till så är det lite struligare i och med att man behöver en extern A/D) Sen måste du göra FFT eller någon annan filtrering ( FFT är inte filter, jag vet, men går använda för detektering). Problemet är att det ofta kör ihop sig med mängden internminne i just picarna när man skall göra sådant. Renansas R8C är nog den billigaste uC som är lämpad för jobbet.
http://www.renesas.com/fmwk.jsp?cnt=r8c ... ny_series/

Vill du köra PIC så är analogt filter ofta en bra lösning och matar du in den på komparator ingång på PIC så blir det lättbyggt och smidigt. Du skiver inget om det alltid är samma nivå som skall detekteras eller om nivåerna skiljer sig åt, hur mycket brus och buller det är i övrigt och så vidare.

Snabbheten har två sidor. En sida är rena fysiken/matematiken som sätter en gräns för hur snabbt du kan detektera ett ljud - alla filter, analoga som digitala har en latency. Den andra snabbheten är hur snabbt du kan proccesera fitret. FFT är (iaf med denna prestandanivå) postanalys och därmed ligger man alltid efter. Ett analogt filter är så snabbt som det går och komparatorn är snabb även den.
Skriv svar