|
[ rsinisa @ 28.02.2011. 00:49 ] @
| Došao sam na ideju da napravim jedan solidan frekvencmetar visoke preciznosti (da ne navodim sad karakteristike, to je tek ideja) koji će, naravno, biti radjen sa mikrokontrolerom, ali sam temu postavio ovde jer se radi o nekim osnovim principima koji nisu usko vezani za MCU.
Elem, gledam ceo dan uputstvo za "Agilent" frekvencmetar 53230A ne bih li video koje sve funkcije mogu da se realizuju i došao sam nečega što gledam pola dana i ne razumem o čemu se radi. Ali prvo da vidimo kako se meri frekvenca.
Prvi princip je direktan, to jest merenje broja impulsa merenog signala za odredjeno vreme. Ako se želi rezolucija od 1 Hz, potrebno je brojati impulse u trajanju od 1 sekunde. Za bolju rezoluciju, vreme se produžava, i to je sasvim jasno, iz čega proizilazi da je ovaj metod dobar za višlje frekvence.
Drugi princip je recipročan, odnosno meri se vreme za odredjeni broj impulsa i dobar je, kažu, jer može da se dobije bolja rezolucija za kraće vreme, ali je potreban referentni takt velike učestanosti, kažu bar 10 puta brži od merene frekvence.
To su neke osnovne stvari poznate manje-više svima. E sad, problem je u onome što piše u uputstvu za navedeni frekvencmetar za slučaj kada se želi rezolucija manja od 1 Hz. Inače, taj frekvencmetar ima ref. oscilator koji radi na 10 MHz.
Konkretno, pominje se merenje frekvence 5 MHz s rezolucijom od 1 mHz (da, 1 miliherc) i evo šta kažu:
"Resolution < 1 Hz
For reading resolutions less than 1 Hz, the resolution can
be specified as shown. For example, a measurement requiring mHz (10-digit)
resolution of a 5 MHz signal using the 53230A can be configured as:
CONF:FREQ 5e6, .001, (@1) // expected frequency, resolution
If the gate time is queried after sending this command, the value returned is:
SENS:FREQ:GATE:TIME?
+1.00000000000000E-002 (10 ms)"
Znači, oni kažu da se za merenje frekvence od 5 MHz sa rezolucijom od 1 mHz koristi interval od svega 10 ms !!! Ceo dan lupam glavu i računam, ali mi ništa nije jasno.
Referenti osc. ima period od 1/10 MHz = 0,1 e-6 s, odn. 0,1 mikrosekundu.
Merena frekvenca od 5 MHz (tj. 5 000 000 Hz) ima period od 1/5 MHz = 0,2 e-6 s, odn 0,2 mikrosekunde.
Za 10 ms biće izbrojano 0,01 s / 0,2 e-6 = 50 000 impulsa.
Ako sada pretpostavimo da je frekvenca 5 000 000,001 Hz, njen period je 0,199 999 999 96 e-6 s.
Za 10 ms biće izbrojano 0,01s / 0,199 999 999 96 e-6 = 50 000,000 01 impulsa, ali pošto je brojač celobrojni, sve iza zareza jednostavno otpada.
E, sad neka mi neko objasni u čemu je stvar? Ili ja negde žestoko grešim, ili nešto ne znam, ili nešto ne razumem.
Pozdrav.
Sinisha
|
[ bogdan.kecman @ 28.02.2011. 07:23 ] @
ne znam kako agilent to radi ali sam skoro pa siguran da merenje radi neki fpga a ne neki mcu ..
a sto se rezolucije tice, pretpostavljam da ili za zadatu rezoluciju bira razlicit freq source kojim ce da broji duzinu impulsa i/ili ce duzinu impulsa da broji xyz puta pa ce onda da izvadi prosek .. obzirom da mu je gate time 10ms ja bih rekao da sigurno vadi prosek, pitanje je samo da li mozda radi brojanje svaki put sa istom ili sa razlicitom osnovnom frekvencijom .. tako da npr on duzinu tog 5000000.001Hz signala meri brojanjem impulsa od 50MHz, 100MHz 500MHz i onda uvati prosek (na primer).
btw imao sam prilike da rasturam par frekvencmentara i razlika izmedju jeftinih i skupih je uglavnom bila u tome da su oni skupi imali referentne kristale sa "dovoljno ppm" koji su bili izolovani nekim "stiroporom" i imali mali grejac+ntc na sebi tako da su odrzavani na konstantoj temperaturi ... za razliku od ovih kineza koji su imali prilicno slicnu arhitekturu (uglavnom je to jedan fpga + jedan custom mcu ) ali su imali "obicne" kristale zalemljene na pcb... razlika u 2 "gotovo identicna" freqmetra (skupi je bio HP, kopija nije imala oznaku uopste) - identicna kutija, identican pcb ... razlika je samo bila sto je HP grejao kristale ... (doduse ovi su imali 2 fpga + mcu, ne znam za sta je drugi fpga al ..)
[ rsinisa @ 28.02.2011. 08:10 ] @
Naravno da MCU ne radi brojanje, on samo pokupi informacije i odradi matematiku.
Ako radi više merenja, pa onda prosek, koja je svrha toga? Isto je kao da radi jedno merenje u trajanju od tih nekoliko merenja.
Pominješ različite frekvence, čak i 500 MHz, ali mi nije jasno otkud 500 MHz kad on ima oscilator na 10 MHz? Ili ima još jedan za koji nisu ništa napisali u uputstvu?
Što se tiče tipa oscilatora, sve mi je to poznato, ali nisam hteo da ulazim u detalje jer me zanima princip. A inače sam se namerio na OCXO od 5 ppb-a; jes da je papren, ali će da služi kao referenca.
Pozdrav.
Sinisha
[ veselinovic @ 28.02.2011. 13:11 ] @
Sinisa,
probaj razmisljati ovako. Ne moram brojati impulse kloka za jedan takt mjerenog signala. Mozda mogu uzeti 100 taktova mjerenog signala i za to vrijeme brojati klok.
E sad, procesor preliminarno odredi koliko taktova ( perioda) mjernog signala koristi.
Naravno, matematika je poslije laka, posebno ako se koristi 2^n taktova.
Tako mogu mjeriti recimo signal frekvencije 1.51Hz sa klokom od 1 Hz.
E sad ako uzmem 10000 taktova imacu vrijeme od 10000/1.51=6622.51 sec.
Elem sa klokom od 1Hz cu odbrojati 6622, a to ce biti 1.5101 Hz.
Dakle fina tacnost.
Namjerno sam uzeo nizak klok, mozes uzeti 1MHz i izmjeriti 1.51MHz za 6 ms.
To je princip.
[ rsinisa @ 28.02.2011. 14:01 ] @
Naravno Jovane, to o čemu ti pričaš je drugi princip koji ja pominjem u prvom postu. Medjutim, ti za tih 6 ms nisi dobio rezoluciju od 0,001 Hz, niti ja mogu da izračunam kako se sa klokom od 10 MHz i vremenom od 10 ms dobije pomenuta rezolucija. Znači, ne radi se ovde o merenju od 0,001 MHz već Hz.
Pozdrav.
Sinisha
[ veselinovic @ 28.02.2011. 16:59 ] @
Da, izvini na off-ovanju teme.
Za sada u mojoj glavi postoje tri mogucnosti:
1. Ili lazu za tacnost( sumnjam)
2. Imaju oscilator na mnogo vise od 10 MHz ( najvjerovatnije)
3. Rade neki analogni fol ( mjesac na nekom nelinearnom elementu- dobije se f1-f2, pa onda izmjere to df, a f2 se zna)
Pozdrav
[ bogdan.kecman @ 28.02.2011. 17:01 ] @
sinisa, spomenuo sam 50, 200, 500MHz zato sto sam video u dosta sprava da neke stvari rade tako sto stave visoki takt na ulaz i onda ga dele zavisno od toga sta i kako mere .. a neki fpga-ovi imaju foru da mogu neke stvari da rade i na rastucu i na padajucu ivicu glavnog clk-a tako da sa 500MHz clk-om on radi sa 1GHz brojanjem posto moze da izbroji i jednu i drugu stranu clk-a... (to ne moze svaki fpga, mislim da agilent to ne ume da je to prednost xilinx-a)
a sad sto se tice preciznosti, ovo sto je veselinovic rekao je jos bolje resenje, umesto da radi semplovanje 10 puta za redom, on broji 10 komada u redu ... tako taman dobijas preciznost koja ti treba... (doduse moraces da meris malo vise od 10 komada u redu da bi dobio preciznos od 0.001 .. ja bi rekao minimum 1000 * koliko je merni takt manji od merenog takta, dakle ako je merni takt 10MHz a mereni 5MHz moras bar 500000 taktova od 5MHz da brojis)
[ bogdan.kecman @ 28.02.2011. 17:04 ] @
sinisa, da li si siguran da postoji samo 10MHz referenca unutra? (aparatusi koje sam ja otvarao su imali vise od jedne reference)
veselinovic, fazni pomak se cesto koristi u merenju doplera kod laserskog daljinomera i prilicno je precizan tako da bi teoretski to moglo biti resenje ali obzirom da fpga trci na jako visojim frekvencijama ne vidim razlog zasto bi im referentni signal bio na tako niskoj frekvenciji ... obican jeftini fpga koji ja koristim za logic analyzer trci sa 100MHz a radim skeniranje na 200MHz (na uzlaznom i silaznom delu clk-a) ...
[ rsinisa @ 28.02.2011. 19:02 ] @
@ veselinovic
I ja mislim da ne lažu za tačnost, ipak to nisu kinezi, i ja pretpostavljam da ima unutra neki množač, a da im je 10 MHz referenca od koje posle prave neku drugu - možda čak i 500 MHz, ima logike. Inače u standardnoj verziji koriste TCXO, a može da se doplati za OCXO.
@ bogdan
Baš sam hteo da te pitam, pošto si imao prilike da otvoriš neki frek.metar, da li si video neki drugi oscilator unutra, jer bez neke visoke frekvence mislim da nema šanse da se dobiju takve karakteristike.
U uputstvu se pominje samo 10 MHz i da je TCXO tipa, ništa drugo. Doduše, ja sam se uhvatio samo za to uputstvo, trebalo bi pogledati i nekog drugog proizvodjača. Inače, Agilent koristi XILINX proizvode, vidi se to na onom eevblog sajtu pošto ludi Australijanac voli da otvara stvari (a ko ne voli?). :)
Na kraju krajeva, nije meni problem da sačekam i celu sekundu kako bih dobio precizno merenje, samo me zanima kako to oni rade. Ima tu još stvari koje mi nisu jasne, ali otom-potom.
Sad ću malo da odradim kalkulaciju za varijantu da ima unutra i 500 MHz osc, da vidim šta će brojke da kažu.
Pozdrav.
Sinisha
[ bogdan.kecman @ 01.03.2011. 12:55 ] @
Citat: rsinisa: @ veselinovic
Baš sam hteo da te pitam, pošto si imao prilike da otvoriš neki frek.metar, da li si video neki drugi oscilator unutra, jer bez neke visoke frekvence mislim da nema šanse da se dobiju takve karakteristike.
zato sam se i ukljucio u raspravu, inace imam slabo iskustva sa tim ... al ove sam neke otvarao .. bila je neka opklada u pitanju .. posto smo tamo radili sa opremom kojoj trebaju gigaherci (sateliti cuda m*da) pa su neki imali ideju kako ti kinezi od 2KE rade isto i imaju istu elektroniku kao ovi od 20+KE posto jeli imaju "istu masku" ... i da, i u kinezi i u hp-u je bilo nekoliko kristala + oba su imala po 2 oscilatora (ono metalno g*vno sa 4 nozice koje daje stabilnu cetvrtku, nema potrebe za externim komponentama) pored nekoliko kristala .. i u hp-u svi kristali su bili termicki stabilni .. to je sve cega se secam .. isto i u spectrum analyzerima .. uglavnom su imali po nekoliko oscilatora i to nekih nebuloznih frekvencija (tipa 102.12MHz, 417.33333MHz i slicno)
Citat:
Na kraju krajeva, nije meni problem da sačekam i celu sekundu kako bih dobio precizno merenje, samo me zanima kako to oni rade. Ima tu još stvari koje mi nisu jasne, ali otom-potom.
Sad ću malo da odradim kalkulaciju za varijantu da ima unutra i 500 MHz osc, da vidim šta će brojke da kažu.
meni je varijanta koja se koristi u daljinomerima previse "komplikovana" ... ali sam video da radi neverovatno precizno - dakle meri u delu milimetra koliko je svetlu trebalo tamo i nazad .. nije zezanje :D .. no ja to nikad nisam uspeo da napravim da mi radi ni blizu kao oni jeftini kinezi ..
varijanta sa merenjem vece frekvencije brojanjem takta niske frekvencije trazi dugo vreme + trazi malo matisa ... ako sam pravim spravu, sto ne vidis neki fpga koji sisa 500MHz, pa jos da je neki xilinx koji moze na obe ivice da radi nesto i da te bog vidi ... 1GHz ti je merni signal .. meris trajanje 100-1000 impulsa merene frekvencije i imas res koji ti treba :D
[ rsinisa @ 01.03.2011. 18:11 ] @
Ne znam kako radi lasersko merenje daljine, ali ne verujem da se radi o prostom merenju brzine svetla jer ona predje 1 mm za oko 3,3-12, tj. za oko 3,3 ps što mislim da ne može da se izmeri trajanjem puta svetlosnog snopa. Ali to ionako nije tema.
Elem, kako kaže naš narod "Ko traži taj i nadje", ja nadjoh neki dokument koji se bavi upravo onime što mene zanima i evo par isečaka za one koje tema zanima. Nadam se da neće biti problem što su na engleskom jer nemam vremena (ni volje) za prevodjenjem.
1.
Most general purpose counters will make a “one-shot” (the time be-
tween a single pair of start and stop pulses) time interval measurement
with resolution to 100 nanoseconds — i.e., the counter counts a 10 MHz
clock. The HP 5328A offers either 100 ns or 10 ns resolution depending
on the configuration. The HP 5345A will resolve a one-shot time interval
measurement to 2 nanoseconds. By way of reference 2 nanoseconds is
the time it takes light to travel six tenths of a meter.
2.
Single shot resolution of conventional
counters is limited to 10 ns as the next step up, 1 ns resolution, requires
a 1 GHz direct count decade which at present is not economically
feasible. Counters which have arithmetic capability are not limited in
this way as the measurement can be made with any convenient clock
period then translated to engineering units before being displayed. The
HP 5345A, a reciprocal counter, counts in 2s of nanoseconds then does a
multiply by 2 before displaying a time interval measurement. Some
sophisticated modern counters like the HP 5370A operate on a digital
interpolation scheme which allows single shot resolving capability of
20 ps.
3.
Time interval averaging can be used to get resolution to the picosecond
(10-12 sec) region on a repetitive signal. Averaging operates on the
assumption that the factors limiting resolution are random in nature and
will tend to average towards zero. A counter needs synchronizers in gate
circuits and a noise modulated clock to achieve TRUE TIME INTERVAL
AVERAGING with accuracy and repeatability independent of the input
signal repetition rate.
Kasnije ima više detalja oko toga, to tek treba da proučim detaljno.
Pozdrav.
Sinisha
[ bogdan.kecman @ 01.03.2011. 22:48 ] @
merenje daljine - preklopis poslati i primljeni signal i dobijes rezultat kao razliku koju integralis i dobijes analogni signal koji je direktno proporcionalan pomeraju tj vremenu "tamo i nazad" ... (tako radi u teoriji, u praksi ima jos ciscenje signala, filtriranje, pojacavanje ... )
a ovo - ja mislim da rekoh negde pri pocetku:
Citat: i onda uvati prosek
pretpostavis da je signal repetitivan, i pretpostavis da ces svaki put da zakacis "razlicitu stranu" greske pa da ces u proseku da budes "super tacan" ...
[ peca26000 @ 03.03.2011. 11:25 ] @
Meni je uvek bio problem zadnje 2 cifre da budu tacne?!
Ovo iz priloga je uglavnom sve preko 10MHz a ono ispod toga ne znam kako da imam reper, na osnovu cega naterati klok da je uvek tacan, na primer neka je 10MHz ? Pa temperatura na kristalu i u prostoriji varira, nikad to nece biti tacno dok se uzima klok sa kristala ili spoljnog generatora za klok, konkretno mislim za ICM7216D koji me uzasno nervira i bezobrazno je skup a jos uz to i spor.
Pogledajte i univerzalni frekvencmetar od Nebojse Kovacevica, meni je bas zanimljiv, nisam ga pravio.
Tema je naravno zanimljiva.
Pozdrav
[ veselinovic @ 03.03.2011. 15:59 ] @
Sinisa,
zasto smo mi izbacili pricu o preskaleru.
Sada kad je Peca ovo postavio zamamlo da me slog strefi.
Pajzi, preskaler 10000, ulaz 5 MHz, poslije preskalera tricavih 0.5 kHz.
S tim sto preskaler moze biti sa vecim odnosom.
Elem, za tih 10 ms koliko traje mjerenje mozes imati preskaler od 5E4.
E toliko dizes i tacnost instrumenta.
Sada trebas izmjeriti signal od 100 Hz sa klokom od 10 MHz. Dobijes ravno 1E5 impulsa.
Elem, na displeju ce pisati 5.00( 0 ili 1) Hz.
Dakle moze.
Cak imas vremena i da neku matematiku uradis.
[ peca26000 @ 03.03.2011. 17:41 ] @
Moze i na taj nacin da se preciznije dosteluje frekvencmetar, ja sam samo dao primere, ne bih da smetam a zanima me dalji tok diskusije i sta ce reci Sinisa?
Samo jedan bitan podatak da tesko preskaler prima nize od 50MHz ali se moze upotrebiti za stelovanje kad ukljucimo bar 100MHz prakticno smo na istom, on deli sa 64,128 ili zavisi kako ga nateramo da daje izlaz podeljen ali opet ide na ulaz tih 10MHz.
Ja niske frekvencije merim bez preskalera i dosta je spor dok on za 1 sekundu ceka promenu koja je dosta brza, to se desava kad hocu spoljni NF generator da povezem i gledam promene, za podesavanje muzickih instrumenata nije za koriscenje, pogotovo fade-out menja se nivo i signal opada i dok pocne da broji on se zaglupi i nastane reset itd.
Ne bih da off-ujem ali to su tako neka moja iskustva, aj Sinisa oglasi se da vidimo sta cemo, ima nas svakojakih sa potrebama razne vrste.
[ zoksy @ 03.03.2011. 17:57 ] @
Pozdrav za drustvo koje se interesuje za instrumente u samogradnji.
Ja sam pre nekih 18 godina pravio neko cudo za koje ste me vi podsetili ovom temom, zlatna 74xx serija.
Ovo cudo i dalje radi,evo slike.Pozdrav.
[ rsinisa @ 03.03.2011. 20:40 ] @
@ veselinovic
Pa jeste Jovane, kad su u pitanju frekvence reda 100 Hz, onda i može, ali sa tim preskalerom nema šanse da se izmeri 5 MHz sa rezolucijom od 1 mHz.
No, da se ne preganjamo, da kažem da sam našao metode kojima se postiže tolika preciznost. Radi se o 2 metode: uprosečavanje i interpolacija, a interpolacija se obično radi na jedan od 2 načina. Uprosečavanjem ne može da se postigne tolika rezolucija, a interpolacijom se postiže danas oko 20 ps, odn. kao da imate ref. osc. na 50 GHz. Medjutim, ni jedna od tih metoda interpolacije nije baš lako izvodljiva u samogradnji, tako da ću verovatno da se odlučim za recipročnu metodu sa uprosečavanjem.
Suština je da meni tolika preciznost nije potrebna, ali imam drugara sa kojim sam ušao u celu priču kome takodje nije neophodna tolika preciznost, ali bi on voleo da tako nešto ima jer ipak se bavi pretežno RF-om i odličan je u tome. Ja, u stvari, imam neki frek.metar koji je možda i isti koji ima zoksy (trampio sam se pre dosta godina sa drugarom) i koji sam koristio maltene samo u periodu kada sam pravio one RF module. Ovo je više mentalni izazov za mene, a i možda i prilika da se napravi jedan veoma solidan komercijalni proizvod. Da se razumemo, nisu moje ambicije da napravim baš ovo:
http://www.youtube.com/watch?v=PxHD0djsCg4
ali već kad se upuštam u ovo, voleo bih da bude što bolji. O karakteristikama neću dok ne bude gotovo, ali su za sada teoretski limiti prilično visoki.
Put kojim će projekat ići nije još definisan, ali se nazire nekoliko mogućih varijanti: od toga da se za početak i testove napravi klasičan sa direktnim merenjem, do toga da se odmah sve što treba za napredne funkcije ugradi u hardver (da se ne gubi vreme na ponovni razvoj) pa da se polako dogradjuje softver. Ja i dalje, ne bih li složio kompletan mozaik, čitam literaturu u kojoj se manje-više sve ponavlja, ali ponegde iskoči i neki novi detalj.
Još samo da kažem da sam razgovarao sa nekoliko ljudi koji se dugo bave elektronikom i kad sam im rekao šta današnji frek.metri mogu da postignu, nisu mogli da veruju, a jedan je čak rekao da je 20 ps naučna fantastika ;). Ništa čudno, i meni je tako izgledalo dok nisam pročitao neke stvari.
Pozdrav.
Sinisha
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|