Sida 2 av 2

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 6 oktober 2011, 23:03:35
av ds77
Det låter som om en enkel 8-bitars AVR är betydligt kraftfullare än en Cortex M4 :) Det kan ju vara så att det är svårare att styra tiden på allt, dessutom om man inte har möjlighet att dedikera all kraft åt denna uppgift. Värt att tänka på är att det viktigaste är att det alltid tar samma tid att köra igenom loopen och att det görs vid samma tillfälle, annars får man problem med jitter, men det borde gå att lösa.

Den andra viktiga saken att fundera över är att det viktigaste _inte_ är att loopen körs så ofta som möjligt... faktum är att du får bättre upplösning på utsignalen ju långsammare du kör den för en given längd på fasackumulatorn.

Viktig sak nummer 3 är att du kan lägga på ett filter på utsignalen om du bara är intresserad av ett smalt band runt en centerfrekvens, då slipper du problemen men de flesta spurioser.

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 7 oktober 2011, 00:35:05
av jesper
Titta igen på DDS lösningen (tack till ds77 för reklamen ;-)
Om du endast ska köra 50 kHz, borde detta kunna lösas med en pytteliten AVR (eller PIC), du kanske även kan skippa R2R stegen då du endast behöver en fyrkant ut. Fast det koster ca 40-45 cent + eventuellt någon kristall för refklocka om den inte kan plockas något annat ställe.

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 7 oktober 2011, 09:50:44
av limpan4all
Nu börjar jag bli lite trött.
Har ni inte läst igenom vad som skrivits?

DET ÄR FULLSTÄNDIGT OMÖJLIGT ATT SKAPA TVÅ ELLER FLERA FYRKANTSVÅGFREKVENSER SOM HAR 0,4ns I SKILLNADSUPPLÖSNING PÅ SIN PERIODTID MED NÅGON FREKVENS SOM HAR 20ns I PERIODTID.

Genomsnittsfrekvensen över tid kan bli exakt rätt men inte tiden för en period. I just mitt fall så skulle frekvensen bli rätt i "genomsnitt" över 50 perioder om man skapar fyrkantvåg från Jespers metod med min 50MHz Cortex M4 dvs 20ns/0,4ns. Men jag behöver att varje enskild period har rätt periodtid, dvs frekvensen skall vara rätt över en endaste period, 20ns är för stort "fel".

Det "går" att filtrera fram ur en analog signal (DDS lösning läs sinusvåg eller triangelvåg) via LPF och komparator men inte på någon annan metod.

Om ni hävdar något annat ta er gärna tiden och räkna noga på det hela, ingen vore gladare än jag om jag har fel :vissla: :vissla: :vissla:

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 7 oktober 2011, 10:19:05
av ds77
Jittret kommer ju givetvis 20ns om du bara tar fyrkantsutgången rakt av _men_ en filtrerad version kan vara användbar. Vill du kan du ju göra filtreringen med en PLL, alltså du använder en mjukvaru dds som referens för PLL:en.

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 7 oktober 2011, 10:44:57
av Andax
Tittar man på K60 så har den ett antal tänkbara sätt att fixa det du vill. Den har både en PLL och en FLL. Den har en lågfrekvens oscillator med 9 bitars trim etc. Det innebär att du kan troligtvis fixa vad du vill genom trim alt via PLL.
Problemet blir väl att hela system klockan variera och inte bara sampleklockan. Fast använder du inga tidskritiska protokoll som USB eller ethernet som går på den interna klockan så är du nog safe.

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 7 oktober 2011, 16:13:32
av Swech
Jag är mycket nyfiken på vad fasen som sitter i andra änden och som
kräver 1Hz upplösning.
Vet hur seriös du är limpan vad gäller konstruktion så det är inte något
ifrågasättande utan bara ren nyfikenhet.

Swech

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 10 oktober 2011, 08:49:33
av limpan4all
Bör väl inte säga för mycket men...
Det rör sig om "elmätning", dvs faslåst mot vårt allmänna elnät (50 eller 60Hz).
Och vissa mätningar kräver att det skall vara mycket hög noggrannhet i övertonsmätningen vilket i sin tur kräver att samplingsklockan är hårt faslåst mot nätfrekvensen.
Vi kommer att köra minst 1000 faldig översampling. Trots det så visar alla simuleringar att vi inte kan ha en fast samplingsfrekvens (eller stega så grovt som 12Hz) utan måste kunna rucka samplingsklockan så noggrant som 1Hz.
Det förefaller som om en hel del av våra konkurrenter skiter i detta och bara kör ändå.
Men med lite ingenjörsstolthet så skall man göra på "rätt sätt" eller inte göra något alls.
Erfarenhetsmässigt så är det därför Svenska grejor säljs med framgång internationellt trots billigare konkurrentprodukter som "kanske" gör vad dom ska.
Svenska grejor gör det dom ska...

Och som slutkläm, jag anser att om svenska konstruktörer gör undermånlig utrustning som solkar Sverige såsom varumärke så skall dom pryglas. T.ex Elektroluxs kylskåp och damsugarkonstruktörer...
Billigt skit skall ha italienska eller motsvarande varumärken, inte svenska.

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 10 oktober 2011, 09:52:54
av Andax
Jag skulle nog löst det genom att köra med fix samplingsfrekvens och sedan faslåst samplingen genom att "starta om" samplingen vid en noll-genomgång med lämpligt intervall (komparator och interrupt). Då blir det lite av ett undersamplande oscilloskop (du vet de som kanske samplar på 100kHz, men kan återge repetetiva förlopp på kanske 20 ggr högre frekvens eftersom man har lite fasförskjutning mellan varje period).
Skattar du sedan den verkliga frekvensen ur data kan du se exakt vilka sample som är bäst för att räkna på övertoner etc.

Ett annat sätt är att filtermässigt dela upp insignalen i låga frekvenser och höga frekvenser och sampla på två eller flera kanaler. Då är det kanske lättare att få bra värden på övertoner eftersom man kan förstärka upp dessa.

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 10 oktober 2011, 15:13:30
av anders_w
Ett enkelt och mycket bra sätt är likformig sampling följt av digital omsampling med reglering för att faslåsa samplingsfrekvensen mot indata. Kräver ingen speciell hårdvara. Bara rå beräkning. Med så låg samplingsfrekvens som 60 kHz bör även en enklare CPU hinna med...

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 14 oktober 2011, 09:03:20
av Andax
Limpan4all, hur går det? Har ni funderat mer på lösningen? Återsynkning mha. en enkel komparator, omsampling etc...

Re: Hur fixa Hz upplösning vid 50 kHz billigt?

Postat: 14 oktober 2011, 12:53:34
av limpan4all
Har räknat på alla varianter.
Det är inte lösbart direkt via CPU´n hur man än gör (eller någon annan <2,5GHz CPU).
Det överensstämmer inte med standarden då (blr för mycket samplegitter eller mätfel som inte går att räkna bort).
Det måste vara en kontinuerligt variabel frekvens som måste vara korrekt även för ett endaste sample/subsample. Samt så måste CPU lasten vara låg.

Det vi är inne på nu är en extern FLL (frequence locked loop) som ruckas från CPU´n.
Den i sin tur sköter samplingstillfällena på A/D direkt (50kHz sampling på 8 kanaler i 16 bitar (dvs ca 1MByte/s att ta hand om och signalprocessa...) och triggar även DMA överföringen samt kontrolleras via extern neddelning och mäts via capture/compare mot en basfrekvens (CPU klockan), denna i sin tur jämförs mot den uträknade frekvensen hos den mätta signalen och genererar styrdata till FLL´n.

Det enda riktigt bra som kommit ur detta är att jag äntligen till fullo förstår exakt hur en DDS fungerar, tidigare har jag bara använt dom...