Daha yüksek çözünürlük elde etmek için basamaklı ADC'ler


11

Bir çift 12 bit ADC'ye sahip olduğumu varsayalım, <= 24 bit çıktı almak için basamaklandırılabileceğini hayal edebiliyorum.

Birini pozitif aralık için diğerini negatif aralık için kullanmayı düşünebilirim, ancak çapraz geçiş bölgesinde muhtemelen bir miktar bozulma olacaktır. (varsayalım ki birkaç hata biti vardır veya değeri 0 volt civarında ölçmek için 3. ADC yerleştirin).

Düşündüğüm bir diğer seçenek ise, tek bir yüksek hızlı ADC kullanmak ve daha düşük hızda daha yüksek bir çözünürlük elde etmek için referans voltajlarını değiştirmek. Ayrıca, bir sabit ref ADC kullanarak ve daha sonra aralarında daha kesin bir değer elde etmek için ikincil dönüştürücünün aref'lerini değiştirerek gerçek değerli bir sonuç elde etmenin bir yolu olmalıdır.

Herhangi bir görüş ve önerilerinizi bekliyoruz.

Dört 8 bitlik (veya çift 12 bitlik) bir çipin tek bir 24 bitlik çipten daha ucuz olduğunu varsayıyorum.


2
Evet, teoride ve parçaların "Effectve bits" sayısına sahip olduğu gerçek durumların% 0.01'inde "5 bitlik veri sayısına" eşit olan ve diğer özelliklerin ekstra 5 büyüklük derecesine kadar toplanmış olması mümkündür. Bu, parçaların% 99,99'u için doğru değildir.

4
Birini pozitif voltajlar için, diğerini negatif voltajlar için kullanırsanız, bu size sadece 13 bit verir. Basamaklı bir DAC ve bir amplifikatör gerektirir. Doğrudan sinyale dönüştürür, değeri DAC'a yazar ve DAC çıkışını giriş sinyalinden çıkarırsınız. Daha sonra sinyali yükseltir ve ikinci ADC'ye beslersiniz. 212
Connor Wolf

Yanıtlar:


11

Sorunuzda bir sürü şey var. Onları tek tek ele alalım.

Bir çift 12 bit ADC'ye sahip olduğumu varsayalım, <= 24 bit çıktı almak için basamaklandırılabileceğini hayal edebiliyorum. Birini pozitif aralık için diğerini negatif aralık için kullanmayı düşünebilirim, ancak çapraz geçiş bölgesinde muhtemelen bir miktar bozulma olacaktır. (varsayalım ki birkaç hata biti vardır veya değeri 0 volt civarında ölçmek için 3. ADC yerleştirin).

Gerçekten değil - 13 bit çözünürlük elde edersiniz. 12 bit dönüştürücünün çalışması, 4096 kutu (2 ^ 12) giriş voltajının hangisinde olduğuna karar vermek olarak tanımlanabilir. İki 12 bit ADC size 8192 kutu veya 13 bit çözünürlük sağlar.

Düşündüğüm bir diğer seçenek ise, tek bir yüksek hızlı ADC kullanmak ve daha düşük hızda daha yüksek bir çözünürlük elde etmek için referans voltajlarını değiştirmek.

Aslında Ardışık Yaklaşım Dönüştürücü bu şekilde çalışır. Temel olarak bir bit dönüştürücü (aka karşılaştırıcı), voltajın sayısallaştırılmış örneğini elde etmek için ardışık yaklaşım algoritmasına göre değişen referans voltajı üreten dijital-analog dönüştürücü ile kullanılır. SAR dönüştürücülerin çok popüler olduğunu ve uC'deki ADC'lerin çoğunun SAR tipi olduğunu unutmayın.

Ayrıca, bir sabit ref ADC kullanarak ve daha sonra aralarında daha kesin bir değer elde etmek için ikincil dönüştürücünün aref'lerini değiştirerek gerçek değerli bir sonuç elde etmenin bir yolu olmalıdır.

Aslında boru hattı ADC'lerinin nasıl çalıştığına çok benzer . Bununla birlikte, ikincil ADC referansının değiştirilmesi yerine, birinci aşamadan sonra kalan kalıntı hatası bir sonraki aşama ADC tarafından büyütülür ve işlenir.

Herhangi bir görüş ve önerilerinizi bekliyoruz. Dört 8 bitlik (veya çift 12 bitlik) bir çipin tek bir 24 bitlik çipten daha ucuz olduğunu varsayıyorum.

Aslında 24bit dönüştürücüye sahip olmanın bazı yapılandırmada dört 8 bit dönüştürücüyü düzenlemek kadar basit olmasının bir nedeni vardır. Bundan daha fazlası var. Bence buradaki anahtar yanlış anlama, sadece bit sayısını "ekleyebileceğini" düşünüyor. Bunun neden yanlış olduğunu görmek için, ADC'yi hangi "bin" giriş voltajına ait olduğuna karar veren devre olarak düşünmek daha iyidir. Kutu sayısı 2 ^ 'ye eşittir (bit sayısı). Yani 8 bit dönüştürücü 256 bölmeye (2 ^ 8) sahip olacaktır. 24 bit dönüştürücüde 16 milyondan fazla bölme bulunur (2 ^ 24). Yani 24 bit dönüştürücüde aynı sayıda kutuya sahip olmak için 65 binden fazla 8-bit dönüştürücüye ihtiyaç vardır (aslında 2 ^ 16).

Bölme benzeşimine devam etmek için - ADC'nizin tam ölçekli 1V olduğunu varsayalım. Sonra 8-bit dönüştürücü "bin" 1V / 256 = ~ 3.9mV olur. 24 bit dönüştürücü durumunda 1V / (2 ^ 24) = ~ 59.6nV olacaktır. Sezgisel olarak, voltajın daha küçük seleye ait olup olmadığına "karar vermenin" daha zor olduğu açıktır. Gerçekten de, gürültü ve çeşitli devre belirsizlikleri nedeniyle durum böyledir. Yani sadece bir tanesi 24 bit çözünürlük elde etmek için 65 binin üzerinde 8 bit dönüştürücüye ihtiyaç duymaz, aynı zamanda bu 8 bit dönüştürücüler 24 bit büyüklüğünde bölmeye çözümleyebilmelidir (normal 8 bit dönüştürücünüz yeterince iyi olmaz 59.6nV bin yerine ~ 3.9mV bin çözümleyebilir)


8 bitlik bir dönüştürücünün çalışacağı aralık 256 * 59.6nV = 15.26uV'dir. Asla düşük ve hassas referans voltajları yapmadım :)
Hans

14

Giriş aralığınızı bölmek 24 değil, 13 bit elde edersiniz. -4.096V ile + 4.096V arasında bir giriş aralığınız olduğunu varsayalım. Daha sonra 12 bitlik bir ADC 2mV çözünürlüğe sahip olacaktır: 2 12 x 2mV = 8.192V (-4.096V ila + 4.096V aralığı). Pozitif yarıyı alırsanız, aralığınız yarıya düştüğü için orada 1mV çözünürlük elde edersiniz: 2 12 x 1mV = 4.096V. Bu , 0V'nin üstünde 2 12 seviye ve aşağıda başka bir 2 12'dir . Birlikte 2 12 + 2 12 = 2 13 , böylece 12 değil 1 bit ekstra.1212121212 1213

Referans voltajını değiştirme hakkında. Farklı bir örnek vereceğim. 1 bitlik bir ADC'niz olduğunu ve referansı değiştirerek 12 bit almak istediğinizi varsayalım. Giriş büyükse bir bit size 1 verirVR,EF2

Ücretsiz öğle yemeği diye bir şey yoktur.

düzenlemek
Oradaki oversampling hakkında bir yanlış anlama ve gerçeği gibi görünüyor vardır size 16 bit çözünürlük verebilir 1 bitlik ses ADCler.
Girişiniz sabit bir DC seviyesiyse, örneğin 1V giriş aralığında 0,2V ise, çıkışınız da her zaman aynı olacaktır. 1-bit ADC ile bu örnek için sıfır olacaktır (seviye referansın yarısından azdır). Şimdi, saniyede 1 numune veya 1000 örnekleme yaparsanız, durum böyle olacaktır. Ortalama alma bunu değiştirmez. Neden ses ADC ile çalışıyor?, Çünkü voltaj her zaman değişir (gürültü), Einstein'a göre (görelilik, bilirsiniz ;-)) voltajı sabit tutmak ve referansı değiştirmekle aynıdır. Ve sonraaşırı örnekleme yaparken, gerçek seviyenize oldukça iyi yaklaşmak için ortalama olarak kullanabileceğiniz birkaç farklı okuma elde edersiniz.
Gürültü ADC'nin eşik (ler) ini geçecek kadar güçlü olmalı ve Gauss dağılımı (beyaz gürültü) gibi belirli kısıtlamalara uymalıdır. 1 bitlik örnekte gürültü seviyesi çok düşük olduğu için çalışmadı.


İlave okumalar:
Atmel uygulama notu AVR121: Aşırı örnekleme ile ADC çözünürlüğünü artırma


Bu konudaki düşüncelerinizi anladığımdan emin değilim. Şüphesiz + ve - bölerseniz, 12 bitte 0v ila + 4.096v'de ve 12 bitte 0v ila -4.096v'de örnekleme yapabilirsiniz, tüm aralıkta toplam 24 bit mi?
Majenko

1
@MattJenkins, bir işaret bitiyle aynı olurdu. Bunu düşün. 12 bit ile 0-10V ve 12 bit ile 0 - (- 10V) örneklersem, sinyalin negatif veya pozitif olup olmadığını söylemek için sadece bir bit gerekir.
Kortuk

Bu doğrudur - sen her ne kadar olabilir 24 bit olarak örnek, sadece 13 bit ile tam aynı çözünürlük alabilir.
Majenko

8V2V=228V1V=23

@MattJenkins, 1 sıcak kodlama kullanabilir ve 10 yerine 1024 bit alabilirsin. Fiziksel gerçek, mühendisin istediği her şeyi yapabilmesi, sadece müşteriye 10kW değil, sadece 3dB tarafından kapandığını söyle.
Kortuk

3

Evet, teoride istediğiniz şeyi yapabilirsiniz, ancak yalnızca gerçekçi olmayan bazı ekipmanlarınız varsa.

Sınırlı ekstra doğruluk hakkında şu ana kadar yapılan birkaç yorum doğrudur, ne yazık ki.

Düşünmek. 12 bit ADC ile bir voltaj ölçün ve 111111000010 diyelim ki gerçek değerin, bu değerin her iki tarafında +/- 0,5 bit 1 bit aralığında bir yerde olduğunu biliyorsunuz.

EĞER senin ADC 24 bite doğru ama sadece 12 bit sağlıyordu o zaman bu durum böyle olsaydı içinde +/- 111111000010 000000000000. yarısı biraz vaklue yalan bir sahip 12 bit ADC alabileceğini bildiriyor +/- 1/2 bit aralığı, 111111000010000000000000 üzerinde ortalayın ve sonucu okuyun. Bu, gerçek sinyal ve aDC değeri arasındaki farkı istediğiniz gibi verecektir. QED.

Ancak 12 bit ADC'nin kendisi sadece yarım bit için doğrudur. Çeşitli hatalarının toplamı, gerçek sonuç yaklaşık yarım a kadar ancak farklı bir artı veya eksi olduğunda belirli bir sonuç bildirmesine neden olur.

Sen isterken

111111000010 ortalama 111111000010 000000000000

aslında 111111000010 000101101010 ya da her neyse.

Eğer daha sonra 2. bir ADC alırsanız ve daha düşük 12 biti ölçerseniz ve bunların tam olarak 12 bitlik bir sınıra göründüğünü varsayarsanız, aslında yukarıdaki hatalı değere göredir. Bu değer aslında rastgele bir hata olduğundan, 12 bitlik temelde rastgele gürültüye yeni 12 alt bit rakamı eklersiniz. Hassas + rastgele = yeni rastgele.

MİSAL

Bir aralığı ölçebilen ve 10 adımdan 1'inde sonuç verebilen iki konvektör kullanın. 100 volt FS'ye ölçeklendirildiklerinde ge 0 10 20 30 40 50 60 70 80 90 verir

10 volt tam skalaya ölçeklenirse 1 2 3 4 5 6 7 8 9

100 volt aralığı 1 volt hassasiyetle ölçmek için bu iki dönüştürücüyü kullanmaya karar verdiniz.

Dönüştürücü 1 70V döndürür. Daha sonra voltajı 70V'a göre ölçün ve -3V elde edin. Yani gerçek değerin yani + 70V - 3V = 67V olduğu sonucuna varırsınız.

ANCAK 70V sonucu aslında 65 66 67 68 69 70 71 72 73 74

Sadece 1. dönüştürücü 100V'de 1V DOĞRU ise, 100V'da 10V adımlar göstermesine rağmen, istediğinizi elde edebilirsiniz.

Yani gerçek sonuç 67V +/- 5 volt = 62V ila 72V arasında bir şey. Yani öncekinden daha iyi değilsin. Merkeziniz taşındı ancak rastgele yerleştirilmiş olabilir.

Bir dönüştürücü genellikle döndürdüğü bitlerden biraz daha doğru olduğu için bu şekilde mütevazı bir gelişme elde edebileceksiniz (umarım), böylece 2. dönüştürücünüz bunu biraz kullanır.


Aslında işe yarayan bir sistem, önemli bir eksiklikten bahsedilmiştir. Bir sinyali N kez örneklerseniz ve + / _ yarım bit gauss gürültüsü eklerseniz, sinyali "tüm olası aralıklara" yayarsınız ve ortalama değer artık log (N) öncekinden daha doğru olacaktır. Bu şemada oltalar ve nitelikler vardır ve sadece keyfi olarak ekstra sayıda bit elde edemezsiniz, ancak bazı iyileştirmeler sunar.


Yukarıdaki ilk durumda 24 bit doğrulukla a12 bit ADC'den bahsettim. 12 bit ADC kullanarak ve 24 bit örn. Delta sigma dönüştürücü ile varsayılan değerini okuyarak bu tür bir şey elde edebilirsiniz. EĞER sinyali aynı tek bit kaldığı stabil yeterliydi bu kararlı sinyali wrt 2 12 bit okumak için 2 ADC kullanabilirsiniz değişir.

Alternatif - sadece sigma delta ile 24 bit sinyali okuyun, o noktada kilitleyin ve ardından 2. ADC ile art arda göreceli olarak ölçün. Sinyal 2. ADC aralığında kaldığı sürece çok daha hızlı sonuç alırsınız.


Hmmm. Bir oy. Bir aşağı oy. Burada TAM cevaplar için ne geçti göz önüne alındığında [tm] :-) Bu cevabın kimin oy vermeyi hak edecek kadar korkunç olduğunu düşündüğünü bilmek isterdim, neden?
Russell McMahon

1

Birçok ADC türünün çözünürlüğünü artırmak için kullanılabilecek süper örnekleme adı verilen bir şey vardır.

Sinyale gürültü ekleyerek çalışır. Gürültü çözünürlüğü azaltmasına rağmen, verilerin birkaç bit üzerinde ayrılmasına neden olmak gerekir. (Ben bir sinyal işleme adam değilim - bu tam olarak bunu anlıyorum.) Gürültünüz sadece 1 veya 2 bit olabilir ama orada olması gerekir. Bir 12 bit örnek alırsanız - 12 bitiniz vardır. Daha sonra 4 örnek alırsanız, bunları ekleyin ve ikiye bölün, 13 bit örnek alırsınız. (Her ek bit için Nyquist nedeniyle 4 örnek gerekir.)

Bunu yapmanın basit bir yolu, referans voltajına gürültü eklemektir. Daha yüksek çözünürlük için bir dsPIC33F 12-bit ADC artırmak için bunu 16-bit artırmak için kullanın. Önceden, yüksek frekansta bir eşzamansız zamanlayıcı ayarladım ve DMA'yı, göreceli olarak temiz bir gürültü kaynağı sağlayan çıkış yakalama sırasında bir dizi PRNG numarası sıralamak için kullanıyorum. Gürültü çıkışı referans voltajı yaklaşık% 0.1 oranında saptırır (1k-1Meg bölücü.) Gürültü çift yönlü, batıyor ve kaynak yapıyor. Örnekleri sıraya koymak için dsPIC33F'nin DMA'sını kullanıyorum, bu işlem çok az CPU müdahalesi ile yapılabilir. Tabii ki, maksimum örnekleme oranı normal oranın 1 / 32'sine düşer, ancak bu benim uygulamam için bir sorun değildir.

Gürültü her zaman düzgün dağılmadığı için, gönderilen her ünitedeki girişleri kalibre edeceğim, ancak farkın sadece 1 veya 2 LSB olması muhtemeldir.


Eklediğiniz gürültünün doğru spektrumda olduğunu nasıl biliyorsunuz (beyaz gürültü)? Genliğe nasıl karar verirsiniz? Gürültünüz iyi değilse, daha fazla çözünürlük elde edersiniz, ancak daha fazla doğruluk elde edemezsiniz.
Federico Russo

@Federico Tabii ki - benim için deneme yanılma. Beyaz gürültü bir PRNG kullanılarak simüle edilebilir ve sadece 32 örnek için yeterince iyi çalışır. Eğer gerçek bir elektronik mühendisi olsaydım, bunu nasıl doğru bir şekilde yapacağımı bilirdim.
Thomas O

Analog Devices'da bunun açıklanmasına yardımcı olabilecek bir makale: analog.com/library/analogdialogue/archives/40-02/adc_noise.html
DarenW

@ThomasO, 8 bit hassasiyet eklemek için bu tekniği termistörler ile kullandım. Gürültü ile değil, biz ısıtma kullanılır.
Kortuk

@DarenW Bu tanıdık geliyor - sanırım fikrim nereden geliyor.
Thomas O

1

Toplama amplifikatörünü kullanarak iki DAC çıkışını toplayabilirsiniz. R1 = 100k, R2 = R3 = 100 Ohm kullanabilirsiniz. Bu şekilde çıkış Vout = - (V1 + V2 / 1000) olacaktır. Çift beslemeye ihtiyacınız olacak ve tersine çevrilmesini istiyorsanız, kazanç = 1 ile başka bir ters çevirici amplifikatörü koymanız gerekir. Bu nedenle, 2 çıkışlı 12 bit DAC'ye ve 4.096V referansına sahip olduğunuzu varsayalım. Daha sonra (ikinci evirici amplifikatörünüz varsa) DAC 1'den bir artış 1uV ile çıkışı artıracak ve DAC 2'den bir artış 1mV ile çıkışı artıracaktır. Budur değil toplamda 24 bit. Yaklaşık 22 bit. Teorik olarak, R1'i R2 ve R3'ten 4096 kat daha büyük olarak seçebilir ve 24 bit elde edebilirsiniz, ancak daha iyi sonuçlar elde edemezsiniz. İyi bir düşük gürültülü opamp seçseniz bile, mikro volt aralığında çok fazla gürültü probleminiz olacaktır.

Güncelleme DAC ile ilgili bir soru olsa da DAC'leri arıyordum. ADC'lere benzer prensibi şu şekilde uygularsınız. Toplamak yerine ADC1 sonucunu çıkarmanız ve ardından ADC2 ile ölçümden önce 1000 ile çarpmanız gerekir.

Çift ADC Çözünürlüğü

Düzeltme - ADC3, sonuç formülüyle eşleşmesi için Vref'de değil VGnd'de (Vref / 2) olmalıdır

AZ431 yerine tam olarak 4.096V elde etmek için başka herhangi bir 2.5V referansını veya uygun pasiflere sahip başka bir ayarlanabilir referansı kullanabilirsiniz. Referansta ne kadar az sıcaklık kayması olursa, sonuçlar o kadar iyi olur. Ayrıca düşük gürültü olmalı. Olduğu gibi, muhtemelen yeterince doğru değildir. Silici ile R7 ve R8 arasına 500 ohm çok turlu trimpotu referans girişine koymak ve Vref = 4.096V için tam olarak ayarlamak güzel olacaktır. Ayrıca silecek ile U1 pozitif giriş arasında R1 ve R2 arasında bir trimpot (2) gerekecektir. VGnd'de 2.048V için değiştirin. U1 sadece düşük gürültülü bir opamptır. (BTW AZ431 iş için berbat. Koydum çünkü sembolü vardı).

U2, U3 ve U4'ün sıfır ofset kıyıcı amperi olması çok kritiktir. U2 daha önemlidir çünkü 100 ile çarpılır. Her 1 mikrovolt 100 mikro voltaja ulaşır. OP07 kullanırsanız ve doğru şekilde sıfırlarsanız ve sıcaklık 10 derece değişirse, U4'ün çıkışında 1,3 mV'ye dönüşen 13 uV ofset elde edersiniz. Bu, ADC çıkışında 13 mV'dir ve bu da ADC2'yi neredeyse işe yaramaz hale getirir.

Ayrıca U3'ün 6.048V'ye erişebilmesi gerekir - bu VGnd (2.048V) + 2xVinmax (2x2V = 4V). Vcc = + 12V güç kaynağına sahip olma fikri budur. MAX4252 kullanıldığında Vcc 6,5V kadar düşük olabilir. MAX44252 raydan raya opamp olduğundan negatif besleme atlanabilir ve opampın Vss'si toprağa bağlanabilir. Bu, çıktısında 48mV'ye kadar düşebilen herhangi bir opamp için geçerlidir.

MAX44252 , 2-4uV ofset voltajına (tipik) ve 1 ila 5 nV sıcaklık sapmasına sahiptir. Bu var Digi-Key üzerinde $ 2.64 1 miktarlarda ve bu iş yapacak böylece tek çip quadopamp bu.

Nasıl çalışır? Örneğin 10 bit DAC kullanalım. Çözünürlük 4.096 / 1024 = 4mV'dir. Giriş sinyali Vref'in yarısı olan VGnd'ye göre olmalıdır. ADC1 giriş voltajını normal olarak ölçer. Daha sonra değeri DAC1 üzerinden verir. Vin ve DAC1 arasındaki fark, ADC1 sonucunu yükseltmeniz, ölçmeniz ve eklemeniz gereken hatadır. U2, DAC1'e göre Vin - DAC1 farkını 100 kazançla arttırır. U4, bu farkı 10 arttırır ve ayrıca VGnd'ye göre DAC1'i çıkarır. Bu, VGnd'ye göre ADC2 = (Vin - DAC1) * 1000 yapar. Başka bir deyişle, Vin'de VGnd'ye göre 1.234567V varsa. ADC1 821 değerini ölçecekçünkü çözünürlük 4mV ve (2.048 + 1.234567) /0.004 = 820.64175. Böylece DAC değeri 309 olarak ayarlanacaktır, bu değer 309 * 0.004V = 1.236V'dir. Şimdi ADC2, VGnd'ye göre 1.234567-1.236 = -0.001433 * 1000 = -1.433V (ideal olarak) alacak. Bu 2.048-1.433 = 0.615V ortak mod. 0.615V / 0.004 = 153.75. Yani ADC2 değeri = 154. Şamandıra kullanmaktan kaçınmak için mikro voltlardaki değeri hesaplamak daha kolaydır. mV cinsinden ADC2'yi dönüştürmek için değeri 4 ile çarpmamız gerekir: VADC1 = 821 * 4 = 3284mV. UV'ye dönüştürmek için 1000 ile çarpmamız gerekir. Ya da bu ADC1 değeri 4000 ile çarpılır. 821 * 4000 = 3284000. Yani VGnd'ye göre ADC1 voltajı 3284000-2048000 = 1236000uV'dir. ADC2 zaten 1000 ile çarpılmıştır, bu yüzden sadece 4 ile çarpmamız gerekir: VADC2 = 154 * 4 = 616. VGnd'ye göre voltaj elde etmek için VGnd'yi çıkarmamız gerekir: 616-2048 = -1432uV. Burada VGnd = 2048uV alıyoruz çünkü x1000 amplifikasyonumuz var.Şimdi VADC1 ve VADC2'yi ekliyoruz: 1236000 + (-1432) = 1234568uV veya 1.234568V

Tabii ki bu sadece rüyalar çünkü mikrovoltlarla uğraşırken her türlü korkunç sorun olacak - opamp gürültüsü, direnç gürültüsü, voltaj ofseti, sıcaklık kayması, kazanç hatası ... Ama iyi parçalar kullanırsanız, en az% 1 dirençler ve ofseti programlı olarak sıfırlarsınız ve makul düzeyde iyi sonuç elde edebileceğiniz kazancı düzeltirsiniz. Tabii ki son basamağa istikrarlı girdi görmeyi bekleyemezsiniz. belki çözünürlüğü 10uV ile sınırlayabilirsiniz (sonucu 10'a bölebilirsiniz). Ayrıca 4 ile çarpma, ortalamaların bir kısmına sahip olmak için 4 ardışık sonuç toplanarak yapılabilir.

Bunların hiçbirinin test edilmediğini unutmayın. Gürültü ve opamp ofsetini hesaba katmadan yalnızca amplifikatör aşamasını simüle ettim. Birisi inşa etmeye karar verirse, sonuçları yorumlara yazın.


Soru sorar AD hakkında C. Boş bir ağız DA C
SE loş kayıp inanç

Üzgünüm. DAC'ı araştırdım ve bu soruyu buldum. Dikkatle okumadan yazdım. Aynı ilkenin ADC'ye nasıl uygulanacağını önereceğim.
NickSoft

Yayınınız şimdi soruyla ilgili olduğundan aşağı oyumu kaldırdım. Ancak bu çözümün pratikte işe yarayacağını sanmıyorum. Korkarım çok fazla yanlışlık olacak.
dim SE

Tabii ki işe yarayacak. Ancak doğruluk kullanılan parçalara bağlıdır. 0.1uV ofset ve 1-5nV / degC sapmaya sahip kıyıcı amfiler vardır. Ayrıca 0.1-10Hz pp gürültü nanovoltları vardır. İyi bir referansla birleştirildiğinde, 10s uV'ye kadar kararlı bir çıkış elde edilebilir. Ancak, fazladan rakam kazanmak istiyorsanız bu daha ucuz parçalarla çalışabilir. Örneğin 10 bit ADC, 4.096V referanslıdır ve 4mV çözünürlüğe sahiptir. Bu devre ile 0.1uV çözünürlüğe kolaylıkla geliştirilebileceğini düşünüyorum (belki daha iyi referansla). Bu +/- 20000 sayımıdır. Tabii ki, ofset ve kazanç için yazılım kalibrasyonuna ihtiyaç duyacaktır.
NickSoft

Hepsi teori bu. ADC2 okumanızın DAC ayarınıza (ve opamp ofsetine bağlı olması, ancak bu en önemli bölüm değildir), kendini ADC1 okumanıza (ve tüm bunların toleranslara sahip) bağlı olması, kesinlikle kazandığınız gerçeğine yol açacaktır. Sisteminizin monotonik çalışmasını bile garanti edemezsiniz (hesaplanan doğruluğunuzun sınırları dahilinde olsanız bile).
dim SE

0

Sinyalin doğasına bağlı olarak, daha yüksek hız, daha düşük çözünürlüklü ADC kullanabilirsiniz, ancak referans voltajınızı hareket ettirmeniz gerekmez (veri formunu dikkatli bir şekilde inceleyebilirim. ). Sonradan bazı işlemler yapmanız yeterlidir; buna Aşırı Örnekleme denir . Kısa dalgalı hikaye: örnekleme oranınızı çok fazla artırın ve elde edinlÖg2(çok) daha fazla çözünürlük.

edit: benim matematik düzeltmeler için yorumları görmek.


Ben de öyle düşünmüştüm, ama şunu düşünün: 1V giriş aralığı, 0.2V giriş, 1-bit ADC. Aşırı örneklemeniz ne kadar yüksek olursa olsun, her zaman 0, ortalama = 0, 0.2 değil.
stevenvh

Bunun gibi aşırı örnekleme, sinyal üzerinde bir miktar "gürültü" gerektirecektir. Stevenvh'nin işaret ettiği gibi. Bazen sinyalin kendisinde yeni bir şey olmadan bunu gerçekleştirmek için yeterli "gürültü" vardır. Diğer zamanlarda sinyale biraz yüksek frekanslı gürültü enjekte etmeniz gerekir, ancak daha sonra yaptığınız işlem sonrası gürültü filtrelenir.

Doğru, "sinyalin yapısına bağlı olarak". Soru, sıcaklığı kurşun tuğlanın kenarına yapıştırılmış bir termistörden mi okuduğunu veya SDR için mikser çıkışını örnekliyor mu olduğunu söylemiyor. Başka bir seçeneği daha vardı. Herkes tam matematiksel özellikleri için bir örnek sağlayabilir sinyal örnekleme geçerli olması için gereken, ben gerçekten ilgi btw. (Ve bu, orijinal ifademden biraz daha az dalgalı olan düzeltmeler yerine, yararlı bir ekleme gibi görünüyor.)
ifademden

@Jay - Sanırım lÖg2(birlÖt)-2daha fazla bit.
stevenvh

Benim birincil ilgi ses sinyalleri, bu yüzden ben bir kez 24-bit dönüştürücüler oldukça pahalı ve birçoğu var değil, daha geniş kullanılabilir kullanılabilir dönüştürücüler basamaklı olabilir olsa da. Derinlemesine açıklama için herkese teşekkürler. İlk başta kulağa mümkün geliyor, değil mi? :)
errordeveloper
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.