ad sampling av sinus, rätt??

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

ad sampling av sinus, rätt??

Inlägg av fatpo83 »

jag samplade in en sinus signal på ca 40Hz men en samplingshastighet på 150Hz. men när jag sedan plottade signalen så var det något konstigt...signalen verkar på något sätt vara "modulerad"....

är signalen förvrängd, samplar jag in fel...hoppas någon kan svara på detta.

(jag använder en pic18f2455 och koden är skriven i c)

Bild
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Om signalen bara är plottad rakt av så är det nog korrekt, tänk på att du inte alltid kommer att sampla toppen av varje sinus, utan kanske bara lite till höger och vänster om toppen.

Signalen är fortfarande korrekt samplad, men du behöver fylla i punkterna mellan de samplade punkterna för att få en korrekt bild av hela vågformen...
Användarvisningsbild
AndLi
Inlägg: 18274
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

En tumregel är väll att sampla med 10 ggr den signal man vill ha in.
Altså 400Hz i ditt fall, det finns ju fortfarande risken att du missar den absoluta toppen men resultatet brukar bli bättre.
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

Ska testa med högre samplingshastighet.

Cyr, vad menar du med att fylla i punkterna?
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 »

Precis som alla säger, sampla fortare. Nykvistteoremet är bara tillämligt om du tänker göra fft eller så på signalen, annars så sampla MINST 10 gånger högsta frekvensen du vill "titta på", gärna 20 gånger om du kan.
ncc1701d
Inlägg: 150
Blev medlem: 12 augusti 2005, 19:08:07
Kontakt:

dubbla ska väl räcka?

Inlägg av ncc1701d »

dubbla frekvensen ska väl räcka egentligen?
dvs 80hz ?

Det som syns som "modulering" är väl interferenser kommande av att han inte har en multipel på 40hz?

om han hade höjt till 160Hz = 4x40 hade de väl försvunnit?
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Det står "ca: 40 Hz"..... Sen om man vet att det är en sinus på 40,00000Hz behöver man ju inte sampla den eller hur?

Som bäst kan man behöva mäta toppspänningen men det är ju en helt annan femma.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Nyquist gäller, om man vet att den högsta frekvensen i signalen man vill sampla är < f så räcker det med samplingsfrekvensen 2f, och det ger ingen mer information att sampla med 10f eller 100f.

Men det betyder inte att signalen ser "fin" ut om man plottar den. När man plottar ritas det förmodligen raka linjer mellan varje samplad punkt - och så såg ju inte originalsignalen ut. Man har däremot tillräckligt med information för att återskapa signalen, och det är vad jag menar med att "fylla i punkterna". Man kan öka samplingsfrekvensen i efterhand med ren matematik, t.ex. i matlab (ex: http://itp.nat.uni-magdeburg.de/matlab/ ... nterp.html).

Men det är klart, om man samplar en signal för att titta på den så är det nog enklare att sampla med högre frekvens från början, som redan föreslagits.
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 »

Ja iaf, när frekvenserna är så här låga, en helt annan sak om man är uppe och snurrar i höga frekvenser, då är det mer lönt att lägga energi på att "snygga" signalen. Och vill man använda instrumentet till att mäta annat än sinussignaler med så är det alltid trevlig med rätt hög samplingshasighet. Vill man ha det snyggt presenterat ( typ, enkelt DSO) så måste du få en två till tre sampels minst per pixelra i x-axeln för att de den lite analoga känslan av att man "ser" vad som händer, har man en skärm med gråskalor så kan man låta en ruta med ett mätvärde i blir grå och mer än ett mätvärde på samma kollumn och spännings bli svart. Jag gjorde presntationen på det viset när jag byggde ett enkelt DSO med Palmen som display och det kändes snyggt presentationsmässigt. Räknat på det viset om du vill dra ut en period och inte få "hopp" i kurvan med 8 bitars upplösning så behöver du (för snygg presantation utan signalbehandling) sampla med ungefär 250 gånger grundfrekvensen... Kanske lite lyx att sampla med 10kHz för att titta på en 40Hz signal, men snyggt blir det.
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

Jag trodde att det faktiskt skulle räcka med att sample med 2*f, dvs minst 80Hz i detta fall. Jag läste på om detta, skulle det funka med en anti-aliasing filter på slutet precis innan samplingen som tar bort dessa interfereringar och sånt?

Vad händer om man vill sampla en vanlig DC-signal som inte ändrar sig så mycket men som ändå är lite brusig (typ matning från USB där spänningsfallet ibland sjunker ned till 4.5V beroende på belastning!!)?

Signalen som ser ut som i bilden ovan ser ju inte så bra ut då de data som faktiskt plottats är de värden PICen har att arbeta med!!
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Inlägg av strombom »

Du ska ha ett lågpassfilter innan a/d omvandlaren...
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Ett antialias-filter tar bort frekvenser över halva samplingsfrekvensen, men det hjälper dig inte i det här fallet. Samplingen du har gjort *är* korrekt.

Vad ska du göra med de samplade värdena?
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

Egentligen inget speciellt....jag samplade som sagt matningen på USBn som varierade mycket med tiden, ± 0,5V. Jag ser ju på oscilloskopet att nivån ändras men när jag samplar det så får jag inte de "ändringarna" som jag ser på osciloskopet.

Den största ändringen jag får är på ca 2-3 enheter vilket ger 5/1024*2=0,01 V!! Gör jag rätt nu? Hur ska man sampla en DC nivå?
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Beror på hur snabba ändringar du behöver ha med. Det är inte DC-nivån du samplar utan störningarna...
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

ville bara säga att jag har samplat med 500Hz och det gick fint. Plotten var en ren och "riktig" sinus ;)
Skriv svar