İkinci-Derece Delta-Sigma ADC'nin Equalis SDM Fonksiyonları ile Tasarım ve Analizi
Delta-Sigma Modülatör[1] ve ADC Nedir?
Delta-sigma (ΔΣ; or sigma-delta, ΣΔ) modülasyon analog sinyallerin sayısal sinyallere veya daha yüksek-çözünürlüklü sinyallerin daha-düşük çözünürlüklü sinyallere dönüştürülmesini sağlayan bir yöntemdir.
Dönüşüm ölçülen iki sinyal arasındaki fark olan hata geri-beslemesi kullanılarak yapılır, ve dönüşümü iyileştirmek için kullanılır. Düşük-çözünürlüklü sinyal tipik olarak yüksek-çözünürlüklü sinyalden daha hızlı değişir, ve tamamen veya çok az bir farkla aslına uyacak şekilde yüksek-çözünürlüklü sinyali tekrar elde etmek için filtre edilebilir. Bu teknik dönüştürücüler, frekans sentezleyicilileri, anahtarlamalı-mod güç kaynakları ve motor kontrolörleri gibi modern elektronik cihazlarda kullanımı artmaya başlamıştır.
Hem analog/digital dönüştürücüler (ADC), hem de digital/analog dönüştürücüler delta-sigma modulasyon kullanılabilmektedir. Bir delta-sigma ADC önce delta-sigma modülasyon kullanarak analog sinyali çözümler, daha sonra yüksek-çözünürlüklü digital çıkış oluşturmak üzere digital filtre uygular. Diğer taraftan, bir sigma-delta DAC yüksek-çözünürlüklü digital sinyali düşük-çözünürlüklü analog sinyale dönüştür, ve bir analog filtre ile düzeltir. Her iki durumda da, geçici olarak düşük-çözünürlüklü sinyalin kullanımı devreyi basitleştirir ve verimi iyileştirir.
Tasarıma Genel Bakış[2]
Şekil-1 Sigma-Delta ADC genel görünümü
İlk seviye desimasyon (kırım) filtresi bir sinc3filtresidir ve bir kademeli tarak filtre kullanılarak verimli bir şekilde oluşturulabilir. Bir Linciderece Δ-Σ ADC için sinc filtresinin optimal derecesi L+1 dir. Böylece bu ADC için 3. derece bir sinc filtresine ihtiyaç vardır. Sinc fitrenin çıkışı 256 katsayısı ile kırılır. Bu çıkış iki desimasyon filtresi ile filtre edilir. İki desimasyon filtresi (her biri 2 katsayısı ile kırar) tarafından takip edilen bir sinc filtresi kullanımının son digital çıkışı elde etmek için en iyi yöntem olduğu kanıtlanmıştır. Δ-Σ ADC uygulamalarının çoğu lineer faz karakteristiğine sahip desimasyon filtreleri gerektirir. Böylece burada simetrik FIR filtreleri kullanılmıştır.
Şekil-2’de İkinci-Derece Sigma-Delta Modülator bloğu içeriği gösterilmiştir. Ayrıca bu blok kapasitör, termal ve clock jitter kaynaklı gürültüleri de içerir. Clock jitter [3]'e göre oluşturulmuştur.
Şekil-2 İkinci-Derece Sigma-Delta Modülatör
İkinci-Derece Sigma-Delta ADC’nin Tasarım ve Analizi için Kullanılan Eqaulis SDM Fonksiyonları
Equalis SDM fonksiyonları Equalis Communications Systems[4] Modülü ve Signal Processing[5] Modüllerinin bir uzantısıdır.
Simülasyon Fonksiyonları
SineWaveGenerator Sinüsoydal sinyal üretir
SDMErrorCheck Başlangıç parametrelerini test eder
SecondOrderModulator Sigma-Delta Modülatör Modeli, clock jitter dahil
SincCubedFilter Sinc3 Digital desimasyon filtresi
DecimationFilter Halfband filtre ve 2 katsayılı desimasyon filtresi
Filtre Tasarım Fonksiyonları
HalfbandFilter Scilab remez algoritması[6] kullanarak DecimationFilter parametrelerini tahmin eder
Analiz Fonksiyonları
computeDR Dinamik aralığı hesaplar
computeENOB Etkin bit sayısını hesaplar
computeSFDR Yapay serbest dinamik aralığı hesaplar
computeSNR Sinyal-Gürültü oranını hesaplar
TheoreticalSNR Teorik olarak tahmin edilen Sinyal-Gürültü oranını hesaplar
computeTHD Toplam harmonik bozulmayı hesaplar
HodieWindow FFTmagnitude için Hodie Penceresi oluşturur
FFTmagnitude Hodie Penceresi kullanarak FFT alır
TimeDomainPlot Zaman-domeni çizimlerini yapar
FreqDomainPlot Frekans-domeni çizimlerini yapar
Eqaulis SDM Fonksiyonları Tasarım ve Analiz
Bu örnekte aşağıdaki başlangıç parametreleri kullanılmıştır
ReadFromFile = %f;// Modulator vektorunu disaridan almak icin bu parametreyi %t yapin Resolution = 2;// Frekans cozunurlugu - Hertz Fs = 256e3;// Modulator ornekleme frekansi Fo = 22;// Giris sinus dalgasi frekansi BW = 125;// Istenilen ADC band genisligi - Hertz NumTaps_1 = 59;// Ilk desimasyon filtresinde kullanilan tap sayisi NumTaps_2 = 59;// Ikinci desimasyon filtresinde kullanilan tap sayisi Vref = 1.25;// Referans voltaj Vsupply = 3.3;// Kaynak voltaji A = Vref / 8.0;// Giris sinus dalgasi genligi Cint = 3e-12;// Modülatördeki integrator kapasitesi degeridir NOISE = %t;// Bu %t ise modulatore gurultu eklenecektir D = (Fs/(2 * BW))/4;// sinc filtresinde kullanilan ara desimasyon filtresi katsayisi D = round(D); N = Fs / Resolution ;// Giris zaman sekansi uzunlugu (2'den herhangi bir usse kadar) N = 2^(round(log2(N)));
Şimdi parametreleri aşağıdaki şekilde test edebiliriz
bOK = SDMErrorCheck(Fs, N, Fo);
Eğer herşey doğru ise giriş sinyalini aşağıdaki şekilde üretebiliriz
SineWave = SineWaveGenerator(2*N, A, Fs, Fo);
Elde edilen sinyal Şelil-3’te gösterilmiştir
Şekil-3 Giriş sinyali
Simülayon işlemi aşağıdaki şekilde yapılır
ModulatorOutput = SecondOrderModulator(SineWave, Vref, Vsupply, Cint, NOISE); SincOutput = SincCubedFilter(ModulatorOutput, D); Decimator_1_Output = DecimationFilter(NumTaps_1, SincOutput); Decimator_2_Output = DecimationFilter(NumTaps_2, Decimator_1_Output);
Şimdi tüm sistemin çıkışlarına sahibiz, geçici kısımları elimine etmek için aşağıdaki şekilde ortada kalan bir veri seti alıyoruz
L = size(SineWave, '*'); SineWave = SineWave(L/4+1 : 3*L/4); L = size(ModulatorOutput, '*'); ModulatorOutput = ModulatorOutput(L/4+1 : 3*L/4) ; L = size(SincOutput, '*'); SincOutput = SincOutput(L/4+1 : 3*L/4) ; L = size(Decimator_1_Output, '*') ; L = 2^(round(log2(L)-0.5)); Decimator_1_Output = Decimator_1_Output(L/4+1 : 3*L/4); L = size(Decimator_2_Output, '*'); L = 2^(round(log2(L)-0.5)); Decimator_2_Output = Decimator_2_Output(L/4+1 : 3*L/4);
Sinyalleri zaman domeninde aşağıdaki şekilde çizdirirebiliriz
TimeDomainPlot(SineWave, Fs, 'b', 1, 4, '', '', '', 'Input'); TimeDomainPlot(SincOutput, Fs/D, 'g', 2, 4, '', '', '', 'Sinc Cubed Filter Output'); TimeDomainPlot(Decimator_1_Output, Fs/(2*D), 'r', 3, 4, '', '', '', 'Decimator 1 Output'); TimeDomainPlot(Decimator_2_Output, Fs/(4*D), 'k', 4, 4, '', '', '', 'Decimator 2 Output');
Şekil-4’te zaman-domeni çizimleri gösterilmiştir
Şekil-4 Zaman-domeninde sinyaller
Frekans-domeninde sinyalleri elde etmek için aşağıdaki şekilde FFT alıyoruz
FreqDomainPlot(ModulatorOutFFT, Vref, Fs, 'b', 1, 4, '', '', '', 'Input'); FreqDomainPlot(SincOutFFT, Vref, Fs/D, 'g', 2, 4, '', '', '', 'Sinc Cubed Filter Output'); FreqDomainPlot(Decimator_1_FFT, Vref, Fs/(2*D), 'r', 3, 4, '', '', '', 'Decimator 1 Output'); FreqDomainPlot(Decimator_2_FFT, Vref, Fs/(4*D), 'k', 4, 4, '', '', '', 'Decimator 2 Output');
Şekil-5’te frekans-domeni çizimleri gösterilmiştir
Şekil-5 Frekans-domeninde sinyaller
Şimdi de sistem performansı ile ilgili bazı parametreleri aşağıdaki şekilde hesaplayabiliriz
ModulatorSNR = ComputeSNR(ModulatorOutFFT, Fs, Fo, BW); ModSimENOB = ComputeENOB(Vref, A, ModulatorSNR); SNRtheory = TheoreticalSNR(Fs, BW); ModTheoryENOB = ComputeENOB(1, 1, SNRtheory); SincSNR = ComputeSNR(SincOutFFT, Fs/D, Fo, 4*BW); SincSimENOB = ComputeENOB(Vref, A, SincSNR); [SincSFDR, SincSFDRmax, SincSFDRmin] = ComputeSFDR(SincOutput); SincTHD = ComputeTHD(SincOutput); Decimator_1_SNR = ComputeSNR(Decimator_1_FFT, Fs/(2*D), Fo, 2*BW); Dec_1_SimENOB = ComputeENOB(Vref, A, Decimator_1_SNR); [Dec_1_SFDR, Dec_1_SFDRmax, Dec_1_SFDRmin] = ComputeSFDR(Decimator_1_Output); Dec_1_THD = ComputeTHD(Decimator_1_Output); Decimator_2_SNR = ComputeSNR(Decimator_2_FFT, Fs/(4*D), Fo, BW); Dec_2_SimENOB = ComputeENOB(Vref, A, Decimator_2_SNR); [Dec_2_SFDR, Dec_2_SFDRmax, Dec_2_SFDRmin] = ComputeSFDR(Decimator_2_Output); Dec_2_THD = ComputeTHD(Decimator_2_Output);
Eğer sonuçlar gereksinimleri karşılıyorsa işlem tamamdır. Aksi halde, parametreler ayarlanarak işlem tekrar edilir.
References
Delta-sigma modulation on Wikipedia
Design of a Second-Order Delta-Sigma Modulator for Use in Biomedical Signal Acquisition by Taraka Neelakant Yerra, Msc Thesis
Modeling Jitter in Continuous-Time Sigma-Delta Modulators by Ahmed Ashry and Hassan Aboushady
Equalis Communications Systems Module
Equalis Signal Processing Module
Scilab help page for function remezb
Design and Simulation of a Second-Order Delta-Sigma ADC with Equalis SDM Capabilities
================================== Proge Consulting Ltd 2013, Tüm Hakları Saklıdır.






