5.5.4 · D1 · Coding › Embedded Systems & Real-Time Software › ADC - DAC — resolution, sampling rate, Nyquist
Ek computer sirf abhi-abhi liye gaye numbers store kar sakta hai, jo ek fixed set of allowed values pe round off hote hain — lekin real world ek smooth, continuous wiggle hai. Yeh poora topic un do rulers ke baare mein hai jo hum us wiggle ko numbers mein copy karne ke liye use karte hain (height mein kitni fine , time mein kitni baar ) aur ek law (Nyquist) jo kehta hai ki kitni baar "kaafi baar" hai taaki fool na ho.
Parent note ADC/DAC topic padhne se pehle, zaroorat hai ki har squiggle jo woh throw karta hai pehle se kuch matlab rakhti ho. Neeche, har symbol ko kuch nahi se build kiya gaya hai, ek picture di gayi hai, aur justify kiya gaya hai.
Ek quantity continuous hoti hai agar woh koi bhi value le sake bina gaps ke — 1.0 V aur 1.1 V ke beech infinitely many voltages hain (1.05, 1.0500001, …). Time continuous hai; ek real voltage continuous hoti hai.
Ek quantity discrete hoti hai agar woh sirf ek separated list se values le sake — jaise whole numbers 0 , 1 , 2 , 3 . Computer ki memory discrete hai: woh ek number store karti hai, phir agla, beech mein kuch "nahi".
YEH TOPIC ISKO KYU CHAHTA HAI. ADC ka poora kaam left picture (smooth line) se right picture (dots on a grid) tak ka bridge cross karna hai. Neeche har doosra symbol ek tool hai yeh measure karne ke liye ki smooth value grid pe kahan land karti hai .
V
Voltage ek electrical signal ki "height" hai — woh kitni strongly push karti hai, volts (V) mein measure hoti hai. Isse upar wali picture mein wiggling line ki upar/neeche ki position samjho.
Definition Reference voltage,
V r e f
V r e f woh sabse badi voltage hai jo converter ko dekhne ki permission hai — uske measuring cup ki top. Ek common value 3.3 V hai. 0 se V r e f tak kuch bhi measure ho sakta hai; usse upar kuch bhi "full" read hota hai.
V r e f ek ruler ki height hai jo signal ke saath khadi hai. Signal us ruler pe kahin ek mark hai; ADC ka kaam yeh padhna hai ki mark kaunse tick ke sabse paas hai.
YEH TOPIC ISKO KYU CHAHTA HAI. Aap nahi keh sakte ki voltage "aadhi" hai bina jaane "aadha kis cheez ka ". V r e f woh "cheez" hai — full-scale range jiske against har step size measure hoti hai.
Ek bit ek yes/no switch hai — yeh 0 ya 1 rakhta hai, kuch nahi. Yeh ek computer ki stored information ka sabse chhota piece hai.
N — number of bits
N simply un switches ki count hai jo converter ek reading describe karne ke liye use karta hai. Ek "12-bit ADC" N = 12 switches per sample use karta hai.
Worked example Doubling feel karo
N = 8 ⇒ 2 8 = 256 levels.
N = 10 ⇒ 2 10 = 1024 levels.
N = 12 ⇒ 2 12 = 4096 levels.
Har extra bit ruler ke height-ticks ki count double kar deta hai.
EXPONENT KYU, MULTIPLICATION KYU NAHI? Kyunki switches choices multiply karke combine hote hain, add karke nahi. Yahi exact reason hai ki ek aur bit quality double karta hai — aur baad mein, kyun ek aur bit fixed ~6 dB SNR add karta hai.
Ek code woh actual integer hai jo ADC output karta hai — 2 N allowed numbers mein se ek, 0 se 2 N − 1 tak. Yeh kehta hai "signal tick number [code] ke sabse paas tha" .
Definition LSB — Least Significant Bit (step size)
LSB do neighbouring ticks ke beech ka voltage gap hai — sabse chhoti change jo ADC notice kar sakta hai. Yeh last bit ki jagah ka "1 " hai, voltage ke roop mein express kiya gaya.
Common mistake Off-by-one: gaps vs ticks
Kyun sahi lagta hai: "2 N codes hain, toh 2 N se divide karo." Fix: 2 N dots sirf 2 N − 1 spaces unke beech chhod te hain. 2 N se divide karna ek slightly-too-small approximation hai, theek sirf isliye kyunki bade N ke liye 2 N − 1 ≈ 2 N .
YEH TOPIC ISKO KYU CHAHTA HAI. LSB ruler ki finest tick hai. Yeh set karta hai ki hum signal ki height ko kitni sachchi tarah se copy karte hain, aur yeh woh width q hai jo baad mein quantization noise ke liye use hoti hai.
Rounding ka matlab hai kisi value ko nearest allowed tick pe snap karna. Agar ek voltage do ticks ke beech hai, toh yeh jo closer hoga us par jump kar deti hai.
Intuition Kyun error zyada se zyada half step hota hai
Agar aap hamesha nearest tick par jump karte hain, toh aap worst tab off ho sakte hain jab aap exactly halfway baithe hoon — woh 2 1 LSB hai. Toh rounding error hamesha − 2 1 LSB se + 2 1 LSB ke range mein rehta hai. Baad mein chhota bar ∣ ⋯ ∣ matlab "size of, sign ignore karo".
YEH TOPIC ISKO KYU CHAHTA HAI. Yeh unavoidable "snap" quantization error ka source hai — woh built-in chhoti si jhooth jo har ADC bolta hai, jise parent 6.02 N + 1.76 dB SNR limit mein convert karta hai.
t , aur period, T s
t normal clock time hai seconds (s) mein. Sampling period T s do measurements ke beech ka time gap hai — "ek value grab karo, T s wait karo, phir grab karo".
Definition Sampling rate,
f s , aur frequency, f
Frequency f = per second kitne full up-and-down cycles hote hain , hertz (Hz) mein. Sampling rate f s = per second kitne samples grab karte hain , woh bhi Hz mein.
YEH TOPIC ISKO KYU CHAHTA HAI. Resolution height ko slice karta hai; sampling time ko slice karta hai. f s aur f woh do frequencies hain jinka contest Nyquist referee karta hai.
Definition Sine / cosine wave
Ek sine (ya cosine) sabse smooth possible repeating wiggle hai — ek pure tone ki shape, ek swinging pendulum, ek AC voltage. Hum isse cos ( 2 π f t ) likhte hain.
2 π number andar
Wave ka ek full cycle angle 2 π (≈ 6.283) ke corresponding hai — yeh sirf "ek baar poore circle ke around" wali amount hai. Toh cos ( 2 π f t ) har second f poore cycles complete karta hai, exactly "frequency f " se match karta hai.
2 π pe identically repeat karti hain
Kyunki cosine 2 π ke baad same value par wapas aata hai, ek poora extra 2 π (ya unke multiples) add karna kuch nahi change karta jo aap measure kar sako. Yeh thought pakad ke rakho: yahi poora reason hai ki ek fast wave khud ko slow wave ki tarah disguise kar sakti hai — aliasing ka dil.
YEH TOPIC ISKO KYU CHAHTA HAI. Nyquist aur aliasing sine waves ke baare mein statements hain. "Two samples per period" aur "f aur f + k f s identical dikhte hain" dono seedhe isi 2 π repetition se aate hain.
Definition round(x) aur |x|
round ( x ) = x ke nearest whole number (round ( 1.8 ) = 2 ).
∣ x ∣ = absolute value — x ka size koi bhi minus sign hata ke (∣ − 200∣ = 200 ).
Intuition Kyun parent ka alias formula jis tarah padhta hai
f a l ia s = f − f s ⋅ round ( f / f s )
Plain words mein: "apni true frequency lo, sampling rate ka nearest whole multiple subtract karo, aur jo bacha uska size batao." Woh leftover woh fake low frequency hai jo aap actually sunte hain. Ab aapke paas har piece hai: subtraction, multiplication, round, aur absolute value.
Ek decibel ek ratio hai jo ek friendlier scale pe squish kiya gaya hai jo "signal noise se kitna bada hai" ke liye use hota hai. Aapko yahan iska poora definition nahi chahiye — bas jaano bada dB = cleaner signal , aur parent ka rule "≈ 6 dB per bit" matlab hai har extra switch copy ko measurably cleaner banata hai .
SNR = Signal-to-Noise Ratio = real signal background fuzz se kitna tall hai . High SNR = crisp; low SNR = hissy.
YEH TOPIC ISKO KYU CHAHTA HAI. Yeh "more bits" ko ek concrete, measurable improvement (6.02 N + 1.76 dB) mein badalta hai.
Quantization noise and SNR
Kya aap ek sentence mein continuous aur discrete quantity ka fark bata sakte hain? Continuous koi bhi value ho sakti hai bina gaps ke; discrete sirf ek separated list of allowed values se aati hai.
Kya aap jaante hain V r e f kya hai aur hum iske against kyun measure karte hain? Yeh full-scale voltage hai (ruler ki top); har step iska ek fraction hai, toh "aadha" sirf V r e f ke relative kuch matlab rakhta hai.
Kya aap explain kar sakte hain kyun N bits 2 N codes dete hain? Har bit ek doubling switch hai, toh N switches 2 × 2 ⋯ = 2 N distinct patterns banate hain.
Kya aap jaante hain kyun hum LSB ke liye 2 N − 1 se divide karte hain (na ki 2 N se)? 2 N ticks unke beech 2 N − 1 gaps chhod te hain, aur LSB ek gap size hai.
Kya aap sabse bada possible rounding error aur kyun bata sakte hain? ± 2 1 LSB, kyunki nearest tick pe snap karna worst tab hota hai jab aap exactly halfway baithe hoon.
Kya aap f s aur T s ke beech relationship jaante hain? Yeh reciprocals hain: f s = 1/ T s .
Kya aap explain kar sakte hain kyun ek wave har 2 π pe identically repeat karti hai? Cosine 2 π ke baad same value par wapas aata hai, toh poore 2 π s add karne se kuch measurable nahi badalta.
Kya aap jaante hain round ( x ) aur ∣ x ∣ kya karte hain? round nearest whole number deta hai; ∣ x ∣ sirf size dene ke liye sign hata deta hai.
Kya aap "6 dB per bit" plain words mein padh sakte hain? Har extra bit roughly noise step ko aadha kar deta hai, digital copy ko measurably cleaner banata hai.