Etkili 14 bit ADC bit sayısı


18

14 bitlik bir ADC'm var . Bununla birlikte, veri sayfasına bakıldığında (bkz. Tablo 2 sayfa 5), ​​etkin bit sayısı (ENOB) her zaman 12 bitten azdır.

DAC'ım neden yalnızca 12 bit doğrulukta 14 bit ADC olduğunu iddia ediyor? Anlamsızlarsa iki ekstra bite sahip olmanın anlamı nedir?


1
Onlar kapsam gibi tek atımlık geniş bant Örnekleyicideki pek işe olmayabilir, onlar olan böyle bir yazılım radyo gibi zamanla entegre uygulamalarda anlamlı. FPGA tabanlı uygulamalardan biriyle, maskelemeyi kapatmak için bir mod biti eklemek ve 'sahte' bitlerle ve olmadan 'sonraki filtrelerin çıktılarındaki farkı görmek kolay olacaktır.
Chris Stratton

1
Çip böyle tasarlandı. 14 bitlik verileri alsanız bile, verilerin son değerinin dalgalanacağını ve bunun nedeni gürültü bitlerinden kaynaklandığını görebilirsiniz. 24 bitlik ADC - AD7190 kullandım ve sadece 18 gürültüsüz bit veriyor.
PsychedGuy

Yanıtlar:


17

Çok şaşırdın!

14-bit pazarlama konuşur ve donanım da bunu verir, bu yüzden şikayet edecek bir şeyiniz olmadığını söylerler. Veri sayfasında ENOB'un hemen üzerinde SINAD (Gürültü ve Bozulma Sinyali) sayıları verir. Bu 72 dB ve 1 bit 6 dB seviyesine karşılık gelir, böylece 72 dB gerçekten 12 bittir. En düşük 2 bit parazittir.

Gürültü tabanından daha düşük olan verileri almak mümkündür, ancak çok iyi bir korelasyona ihtiyaç duyar, bu da çok öngörülebilir olması gerektiği anlamına gelir.


8
Tamam, inatçı, sadece burada neyin yanlış olduğunu söyle.
stevenvh

3
Belki de downvoter IC'nin tasarımcısı :-)
stevenvh

3
@Simpl: Mutlaka değil. Kullanmayı planladığınız herhangi bir A / D'nin veri sayfasını okumalısınız. A / D'lerin tasarımında yapılacak çok sayıda ödünleşim vardır, bu yüzden alabileceğiniz şey çok değişecektir. Birçok A / D, + -1 / 2 sayımına iyidir, ancak bu örnekte gösterildiği gibi, bazıları değildir. Her zaman olduğu gibi, veri sayfasını okuyun.
Olin Lathrop

4
Bu "pazarlama konuşması" değildir. Aslında bu, yazılım radyolarında vb. Kullanıldığı gibi yüksek performanslı dönüştürücülerde oldukça yaygındır. Bu tür birçok uygulama için, sinyal işlemenin bir noktasında, güç seviyesi uzak olan dar bantlı bir sinyali algılayabilmeniz için filtre uygular ve örnek alırsınız, uzak, geniş bant gürültü tabanının altında (ancak yazılımda bunu yaparsınız, öyle ki istediğiniz bant genişliğinde herhangi bir yere bu tür filtrelerin değişken sayısını koyabilirsiniz. Bir dereceye kadar "güvenilmez" i maskelemeniz durumunda bunu yine de elde edersiniz ama onlarla onlardan daha iyisini yaparsın
Chris Stratton

2
Adc'den daha dar bant genişliği sinyali daha iyi ilişkilidir. Özel bir durum olarak günlük faydadan bir şey çıkarıyorsunuz.
Chris Stratton

14

Her ölçüm için 8 bitlik bir değer döndürecek bir ADC kullanarak sabit voltajı olabildiğince doğru bir şekilde ölçmek istediğinizi varsayalım. Ayrıca ADC'nin (N-0.5) / 100 ve (N + 0.5) / 100 volt arasındaki voltajlar için nominal olarak bir N kodu döndürüleceğini belirtin (örneğin, 47'nin bir kodu nominal olarak 0.465 ve 0.475 arasında bir şeyi temsil edecektir) volt). Tam olarak 0.47183 voltluk bir kararlı durum voltajı beslenirse, ADC çıkışına sahip olmak ne ister?

ADC her zaman girişin düştüğü yukarıda tanımlanan aralığı temsil eden değeri verirse (bu durumda 47), ne kadar okuma alırsa alınsın, değer 47 olarak görünecektir. imkansız.

Bunun yerine, ADC'nin -0.5'ten +0.5'e doğrusal olarak dağıtılmış rasgele bir "renk taklidi" değerinin bir tamsayıya dönüştürülmeden önce her okumaya ekleneceği şekilde oluşturulduğunu varsayalım? Bu senaryoda, 47.183 voltluk bir voltaj 48'lik bir okumayı, zamanın yaklaşık% 18.3'ünü ve zamanın diğer% 81.7'sinde 47 değerini döndürür. Eğer kişi ortalama 10.000 okumayı hesapladıysa, yaklaşık 47.183 olmasını beklemelidir. Rasgelelik nedeniyle, biraz daha yüksek veya daha düşük olabilir, ancak oldukça yakın olmalıdır. Eğer bir kişi yeterli okuma alırsa, keyfi bir seviyede beklenen hassasiyet elde edilebilir, ancak her ek bitin okuma sayısının iki katına çıkarılması gerekir.

Tam olarak bir LSB doğrusal olarak dağıtılmış renk taklidi eklemek bir ADC için çok hoş bir davranış olacaktır. Ne yazık ki, bu tür davranışları uygulamak kolay değildir. Titreme doğrusal olarak dağıtılmamışsa veya büyüklüğü tam olarak bir LSB değilse, kaç örnek kullanılırsa kullanılsın, ortalamadan elde edilebilecek gerçek hassasiyet miktarı ciddi şekilde sınırlandırılacaktır. Bir LSB doğrusal olarak dağıtılmış rasgelelik eklemek yerine, birden fazla LSB değeri eklenirse, belirli bir hassasiyet seviyesine ulaşmak, ideal bir LSB rasgeleliği kullanarak gerekenden daha fazla okuma gerektirir, ancak elde edilebilecek doğruluk için nihai sınır keyfi okumalar alarak titreme kaynağındaki kusurlara karşı çok daha az duyarlı olacaktır.

Bazı uygulamalarda, sonucunu taklit etmeyen bir ADC kullanmak en iyisidir. Bu özellikle, ADC değerlerindeki değişiklikleri kesin değerlerin kendisinden daha fazla gözlemlemekle ilgilenen durumlarda geçerlidir. +3 birim / örnek ve +5 birim / örnek artış hızı arasındaki farkı hızlı bir şekilde çözmek, kararlı durum voltajının tam olarak 13.2 veya 13.4 birim olup olmadığını bilmekten daha önemliyse, titremeyen bir ADC, renk taklidi. Öte yandan, bir şeyleri tek bir okumanın izin verdiğinden daha kesin bir şekilde ölçmek istiyorsa, titrek bir ADC kullanımı yardımcı olabilir.


2

Bonus dersi: Gerçekten 14 bit hassasiyet elde edersiniz , ancak sadece 12 bit doğruluk elde edersiniz .


1
Bu "hassasiyet" yerine "çözüm" olmamalı mı? Kesinlik, farklı dönüşümlere yayılan hatayı ve iki LSB'deki Gauss gürültüsü ile de 12 bit olacak anlamına gelir.
stevenvh

Gittim ve bazı tanımları okudum ve haklı olduğuna inanıyorum. Bu video çağında "çözünürlük" ten çekilme eğilimindeyim, ama yine de en iyi terim. Bence belki lisede, hassasiyeti doğru bir şekilde açıklamıyorlardı.
gbarry

1

Ek bir uyarı ... bazen rastgele olmak istersiniz .

Örneğin:

Şifreleme (güvenlik / özgünlük) uygulamalarında saf "tahmin edilemez" rastgelelik gereklidir. Bir dönüştürücünün LSB'lerini (gürültü zeminin altındakiler) kullanmak, tamamen rasgele sayılar üretmenin hızlı bir yoludur.

ADC donanımı başka amaçlarla (sensörler ve benzeri) kullanılabilir olduğunda, güvenli iletişimi sağlamak için hızlı ve kolay bir yoldur. Varsa, giriş amplifikatöründeki kazancı en üst düzeye çıkararak (birçok MCU'nun böyle bir özellik sunar) ve girişi katarak efekti artırabilirsiniz.

ADC rasgeleliği öncelikle iki fiziksel prensipten kaynaklanır: nicemleme gürültüsü ve termal gürültü.

Bu etkilerin makroskopik düzeyde bir eşiği vardır. Örneğin, bit sınırından yeterince uzakta olan sayıların yuvarlatılmasına gerek yoktur ve bu nedenle nicemleme hatası veya rasgelelik yaşamazlar. Termal gürültü, çoğu senaryoda dönüşümdeki daha önemli bitleri etkilemez.

Uzantı olarak, dönüşüm parametrelerini (örnekleme zamanı, derinlik, hız, referans voltajı) değiştirmenin, rastgele eşik değerini hareket ettirerek sonuçların rasgele değişmesini etkileyeceğini görebilirsiniz (eşiği düşürerek artırabilir veya azaltabilirsiniz) ). Benzer etki, çevresel / sistem parametrelerini (sıcaklık, güç kaynağı, vb.) Değiştirerek elde edilir.

Bununla birlikte, birçok başarılı ticari donanım rasgele sayı üreteci bu tekniğe güvenir, çünkü dış etkiler sadece rasgeleliği azaltır - hiçbir şekilde ortadan kaldırmazlar (fiziksel olarak imkansız).

Daha fazla dönüşüm yaparak ve sonuçları ekleyerek rastgele bir azalmayı telafi edebilirsiniz. Bu bit genişletme işlemi (ardışık dönüşümlerin düşük bitlerinin birleştirilmesi) STM32 Nucleo Dongles, FST-01 (NeuG 1.0 dahil), LE Tech'in Grang cihaz ailesi ve diğerlerinde kullanılır.

Grang cihazları saniyede 400 milyondan fazla dönüşüme (dönüşüm başına 1 bit) dönüştürerek bit üretir. Yeterli dönüşüm yaparsanız, çevre koşulları karşısında bile yüksek rastgeleliği garanti edebilirsiniz.


2
ADC gürültüsünün iyi bir rastgele gürültü kaynağı olduğunu varsaymak çok kötü bir fikirdir. Devredeki, IC sıcaklığındaki ve diğer birçok şeydeki diğer şeylerle ilişkili olması tamamen muhtemeldir. Gerçek bir rastgelelik gerekiyorsa, kaynağınızı test ettiğinizden emin olun!
Connor Wolf

"Kaynağınızı test etmek" herhangi bir şema için bariz bir gerekliliktir . Bununla birlikte, sıcaklıkla ilişkilendirilse bile hiçbir şekilde "çok kötü bir fikir" değildir. Bu sadece rastgeleliği azaltır, ortadan kaldırmaz. Bit uzantısına (art arda dönüşümlerin düşük bitlerinin birleştirilmesi) göre telafi edebilirsiniz.
DrFriedParts

Genel olarak kötü bir fikir olmadığını varsaymak kötü bir fikir olduğunu söyledim . Eğer ADC gürültü kaynağınızın rastgele olduğunu iyice test ederseniz ve kontrol ederseniz, onunla ilgili sorunum olmazdı.
Connor Wolf
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.