Triangulering med PIC

Berätta om dina pågående projekt.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

> Jag tittade i lite PIC datablad och ad:n i de olika som jag tittade på skulle inte klara av 3x65 kSa

Jag tror att det finns snabbare ADC'er i dsPIC30 serien.
De skulle för övrigt sannolikt passa bra till detta endå...
Användarvisningsbild
BER
Inlägg: 395
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Inlägg av BER »

Jag tror att det finns snabbare ADC'er i dsPIC30 serien.
Stämmer... Jag tänkte inte på att det fanns ds PIC:ar. Jag tittade i 18 serien. dsPIC30F6011A har en 12 bitars ad som klarar 200 kSa så den skulle till exempel funka bra. Det fanns några modeller med 10 bitars ad som klarade upp emot 1 MSa.

Men det kanske finns andra tillverkare än microchip som har något bättre och mer prisvärt. Själv så skall jag övergå från PIC till AVR i alla fall när det gäller rena MCU:er.
jonwas-2
Inlägg: 28
Blev medlem: 11 mars 2006, 17:50:09

Inlägg av jonwas-2 »

Det kan hända att det inte behövs så mkt som 65ksps om man använder korrelationsteorin för att bestämma tidsförskjutningarna, något jag måste prova i labb innan jag designar en ny enhet.

Vet ni hur det är med korrelations teorin? Är det som med FFT, att man får bättre upplösning ju längre man samplar?
Användarvisningsbild
BER
Inlägg: 395
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Inlägg av BER »

Vet ni hur det är med korrelations teorin? Är det som med FFT, att man får bättre upplösning ju längre man samplar?

Antar att du menar hur många sampels som totalt används i beräkningen. I korrelationen så får du räkna på den maximala tids differansen du kan få. Och ta med dem. Formeln är mycket enkel, tror inte de skrev ut den på något bra sätt så jag skriver den nedan.

Rxy[m] = stora sigma(från - till +)(x[n]*y[n+m])
jonwas-2
Inlägg: 28
Blev medlem: 11 mars 2006, 17:50:09

Inlägg av jonwas-2 »

jo jag är med på att man lär ha med det maximala tidsdifferensen som kan uppkomma....


men jag tänkte på om nogranheten i bestämningen av tidsdiferensen ökar med ökade mätvärden??
Så är ju iaf fallet med fourierserier,,, dvs ju fler mätvärden du har på en våg desto noggrannare kan du bestämma frekvenser som förekommer på vågen....

det känns ju som om desto fler värden man har till summorna så borde man få bättre precission på tidsdifferensen...??
Användarvisningsbild
BER
Inlägg: 395
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Inlägg av BER »

Det är ju samma sak med FFT om du vill ha en nogranhet på 0.1 Hz måste du utföra beräkningen med sampels från 10 sekunder. Så samplings hastigheten är ju inte den avgörande faktorn. Dock så avgör den högst mätbara frekvensen.

Ljudet från en projektil träff antar jag kommer att avge ett antal svängningar säg 5. Så det är ju då bra om det samplar så man rydligt kan urskilja dessa,kanske 9 st sampels per svängning. Hur många som totalt sett behöver buffra beror på placeringen på mikrofonerna och längden på ljudet som skall undersökas. Sedan får man räkna på när första ekot kan tänkas komma in. Det gör inget om ekot och orginal signalen överlappar varandra men det behövs några sampels i mellan dem för att kunna urskilja dem.
jonwas-2
Inlägg: 28
Blev medlem: 11 mars 2006, 17:50:09

Inlägg av jonwas-2 »

mmm.. lär ta å köra några prover på det där...
om man tittar på en luftgevärstavla så rör det sig om maximala tidsdifferenser på 0.5ms.... och en frekvens på ljudet på ca 10kHz....
säg att man samplar med 100kHz per kanal och har 3 kanaler och under en tid av 2ms då får man totalt 600 mätvärden att jobba igenom... inte så fasligt mkt... Räcker det?

Men sen är ju saken den att vågorna ibland inte liknar varandra speciellt mkt från sensor till sensor, det kan bli väldigt "konstiga" signaler ibland, och då kanske det blir svårt??

Kan iof prova med andra sensorer som ger ifrån sig en "lämpligare" signal än vanliga kondensatormikrofoner......

Som sagt.. jag lär prova.....
Användarvisningsbild
BER
Inlägg: 395
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Inlägg av BER »

Men sen är ju saken den att vågorna ibland inte liknar varandra speciellt mkt från sensor till sensor, det kan bli väldigt "konstiga" signaler ibland, och då kanske det blir svårt??

Det gör nog inte så mycket då du får ut en tabell hur pass lik signal den hittar med olika förskutning. Amplituden vid den sökta tiden kommer att vara lite lägre om ena signalen är distorderad men den bör ändå helt klart vara urskiljbar.

Har du matlab ?
Bra verktyg att testa med då det finns mycket färdigt, diagram, FFT, AKF, KKF, filter, fönster funktioner, och mycket mer.

Tänk även på att du kommer att behöva ett lågpassfilter som bryter bort insignalen så att den blir mindre än kvantiserings bruset vid halva samplings frekvensen. Ett filter med liten fasförskutning är ett måste när tidsskillnader skall mätas.
jonwas-2
Inlägg: 28
Blev medlem: 11 mars 2006, 17:50:09

Inlägg av jonwas-2 »

Jorå nog har jag matlab alltid, ett mkt bra verktyg!

Du verkar var väldigt duktig på signalbehandling.
Känns som jag borde ta en kurs i det :)

Jag är inte riktigt med i filterdiskutionen, är jag helt ute och cyklar då jag uppfatade det så att jag ska se till att filtrera bort frekvenser på signalen som är högre än kvantiseringsbruset?
Är detta för att jag inte ska bli lurad av korskorrelationsberäkningarna om vilken tidsförskjutning som hör till "min" signal och inte brusets?

Men om man ska ha filter så lär det ju också blir svårt att göra tre filter som har exakt samma fasförskjutning...

Du kanske har något tips om litteratur som jag kan läsa på detta område,,, det verkar som att jag behöver det :)
Användarvisningsbild
BER
Inlägg: 395
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Inlägg av BER »

är jag helt ute och cyklar då jag uppfatade det så att jag ska se till att filtrera bort frekvenser på signalen som är högre än kvantiseringsbruset?

nja. Nyquist säger samplings frekvensen skall vara dubbla frekvensen av signalbandbredden. För att då säkerställa att insignalens bandbredd inte kan vara för hög så behövs ett lågpassfilter. SQNR för en tio bitars ad blir 4,8 +6*10 = 64.8 dB och om jag minns rätt medför detta att ett filter som dämpar minst -64.8 dB vid halva samplingsfrekvensen skall användas. Kruxet är att en del branta filter fasförskuter signalen mycket.

Litteratur.. inte de bästa kanske men i alla fall:
"Digital Signal Processing" ISBN 0-471-97631-8
"Modern elektronisk mätteknik" ISBN 91-47-01098-3
jonwas-2
Inlägg: 28
Blev medlem: 11 mars 2006, 17:50:09

Inlägg av jonwas-2 »

ok... men då är det samma princip som jag fått lärt mig att man måste göra när man kör FFT på en signal.

Men en tanke som jag fick när du sa att man kan köra korskorrelation var att man då kanske kan använda piezokristaller (ultraljudsmotagare) som sensorer isället .
Dessa "ringer" med 40kHz då kulan slår i papperet, då kanske man kan vara säker på att inga högre frekvenser kommer med i signalen, utan att använda filter....
dessutom får man en "snygg" signal från samtliga kanaler....

Vad tror du om det?


Jag har provat med dessa sensorer i några test tidigare med luftpistol och då fick jag alltid fina signaler... men jag fick svårt att få ut någon tidsförskjutning.... men då visste jag inte om korskorrelationen.
Användarvisningsbild
BER
Inlägg: 395
Blev medlem: 9 mars 2005, 00:02:10
Ort: Östergötland

Inlägg av BER »

Jag har själv inte testat piezo element, men en "vanlig" microfonkapsel borde vara konstruerad för att vara linjär i det hörbara spectrat. Så en titt i datablad skulle nog inte skada om man har tänkt att anända dem, så att de verkligen funkar bra på högre frekvenser.

Jag har för mig att en pizeokristall lämnar i från sig en laddning som är proportionell mot förändringen på kraften som den utsätts för. Vet ej hur man löser den elektriska anpassningen, men det kanske är integrerat i en ultraljuds sensor. Jag skulle i vilket fall som helst använda ett filter innan, då man ibland lyckas få in både det en och andra som man inte hade tänkt sig.

Ett vanligt första ordningens RC-filter kan fungera bra, simulera i matlab och kontrollera vad du har för fasförskutning vid de olika frekvenserna. För att minska kraven på filtret innan AD:n kan man öka samplings frekvensen och sedan lågpass filtrera i mjukvara(då utan fasförskutning) och decimera så att man kommer ner till önskat antal sampel.
jonwas-2
Inlägg: 28
Blev medlem: 11 mars 2006, 17:50:09

Inlägg av jonwas-2 »

Precis, ett piezoelement ger ifrån sig en ladddning, det går att förstärka genom en vanlig bryggförstärkare, man lär bara koppla lite annorlunda än med ett vanlig kondensatorelement,

kapseln till piezo elementen är så konstruerade att det sitter som en upphängd "skiva" i kapseln som har en självsvängning på 40kHz och därför så ger den bara ifrån sig signaler med 40kHz, självklart kan det komma med andra frekvenser också, men de är så väldigt mkt lägre amplitud än självsvängningen har så det borde inte spela så stor roll.

Jag ska ta å prova lite olika... det vore skönt om man slapp filter,, men det kanske är ett måste....tester får utvisa :o
Skriv svar