version 2020.1 (850 KB) by
Richard Schreier

High-level design and simulation of delta-sigma modulators

**Editor's Note:** This file was selected as MATLAB Central Pick of the Week

The Delta-Sigma Toolbox includes nearly 100 functions which support NTF synthesis, modulator simulation (from an NTF or a structure), realization, dynamic range scaling, SNR estimation and more. The toolbox is well-documented via the accompanying DSToolbox.pdf manual.

For further information regarding the Toolbox and Delta-Sigma modulators in general consider purchasing "Understanding Delta-Sigma Data Converters, Second Edition" by Pavan, Schreier and Temes (ISBN 978-1-119-25827-8).

Richard Schreier (2021). Delta Sigma Toolbox (https://www.mathworks.com/matlabcentral/fileexchange/19-delta-sigma-toolbox), MATLAB Central File Exchange. Retrieved .

Created with
R2019b

Compatible with any release

**Inspired:**
Multibit CT DS ADC with DWA and ISI-Mitigation, Data Weighted Averaging for Simulink, Delta Sigma converter spurious tone predictor, Frequency-Domain Min-Max Optimization for Delta-Sigma Modulators, two-fom CLANS, SIMULINK Sigma-Delta Toolbox

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!Create scripts with code, output, and formatted text in a single executable document.

test BOURKEGreat tools. Thanks a lot.

fan mengGreat, it is very good tool. Thanks.

jasonBanny ChenDavidHappy user for many years :-)

In realizeNTF.m, I suggest you replace (line 38 in the version as of October 20, 2020)

ntf_z = ntf.z{1};

with

ntf_z = flipud(cplxpair(ntf.z{1}(:))); % Ensure that zeros come in the expected order (real first, then complex pairs) if the NTF has been synthesized without the toolbox but by some other means

jiac leegood man

Maxim AnisiutkinChangpeng Guohow to add this toolbox in simulink ? I cound not found it in tool library after i added its path to matlab toolbox path.who can tell me if it is only used by script but not support to be embeded into simulink so that i can use it as a "real toolbox"?

Vladislav AvramovExcelent!

Zachary DelaCruzChaitanya KumarCan anyone tell what does the argument of OSR do in the synthesizeNTF function? I tried to change the OSR but the NTF I got was still same.

Fausto Orozco CoyMurtadha KasimChengzhe LiuRanjanWhy we cannot specify Bandwidth in synthesizeNTF(?

RJkailun zhengZijie GaoTheyoungTheyoungManasi KeluskarVarun Upadhyayasrinu katarileoqing zengNeo Dingshilin caoxu xubest delta-sigma mod design toolbox, thanks for sharing

Yi ZhongBucky Younghamed hekmatisundar oblanI have A,B,C,D separately. How should i concatenate it to be able to use it in the above functions? I searched a lot and could not find a function for the concatenating it. Do we have to concatenate A,B,C.D coefficients manually to another matrix and then supply the final matrix to the function?

Sagnik BharIn doing fft for the calculateSNR function in dsdemo2.m, "spec = fft(v.*ds_hann(N))/(N/4);" why is the fft being scaled by N/4???

Rajib BhattacharjeaOn MATLAB 9.4.0.813654 (R2018a), I get the error:

Undefined function 'zpk' for input arguments of type 'double'.

This occurs on calls to synthesizeNTF0, line 32, ntf = zpk(z,zeros(1,order),1,1);

Any idea what zpk function this is supposed to be? I have the DSP toolbox but it looks like MATLAB's API has changed or something.

Unnam Aswani Kumarnishant kumarin deltasigma toolbox help pdf synthesizeQNTF function is mentioned but i am not find this functionin the tool box. SO please reply that which function is work as synthesizeQNTF .

OR i need to download this from somewhere else.

MattHello, I have faced a problem while using the delta sigma toolbox for designing a 2nd-order sigma-delta ADC. I wanted to realize the NTF with a CRFFD topology, but it shows the following error:

Error using /

Matrix dimensions must agree.

Error in realizeNTF (line 248)

a = -real(zL1/T);

Error in inc_delta_sigma_v8 (line 28)

[a,g,b,c] = realizeNTF(ntf,form);

I tried to debug it but unfortunately I could not fix it. I think it should be something wrong with the "realizeNTF" function, since I tried different variables and I got the same error. Could someone help me about it.

KARTIK GURNANIbuddhika RanathungaMucahit KozakChanmin ParkRichard OrmeCompiling mex file for 64 bit :

The following worked for me: mex -v -D__STDC__ '-LC:\Program Files\MATLAB\R2016b\sys\lcc64\lcc64\lib64' simulateDSM.c

ashik anuvarJinbao LanFikre Tsigabu GEBREYOHANNESAminreza Ahari KaleibarHello, I am trying to use Clans function from your toolbox. While I have optimization toolbox installed, I am getting an error message as soon as I run Clans. The error message says Clans needs optimization toolbox. Please advise me how I can resolve this issue.

Davidrajput jyoti prakashDear sir/ madam,

I am trying to implement my base paper on A Genetic Algorithm for the Estimation of Nonidealities in Continuous-Time Sigma–Delta Modulators or Hybrid of unscented Kalman filter and genetic algorithm for state and parameter estimation in sigma–delta modulators.

please help me regarding this how can i apply Genetic Algorithm on SDM.

Thanks and regards

jyoti prakash (jyotiet@gmail.com)

SUCHISMITA KONERIs there any manual/video to learn how this toolbox work??

It will be really helpful if you give me the link.

hamid ris there any video to show how this toolbox work??

i couldn't find any.

i'll be really appreciated if sb give me a link.

LI DaxiangElecta Alicehow to convert the digital to analog after doing ADC using simulatedsm

Jens TingleffThe following substitution will compile (with what I presume is the correct semantics - a double precision random value with a range of [0, 1] uniformly distributed )

Instead of drand48() use

(double)rand()/(double)RAND_MAX

Soumyajit MandalCan't compile simulateESL.c or simulateMS.c in R2015b with MinGW64 compiler:

Error using mex

C:\Users\xxx\AppData\Local\Temp\mex_712607430100517_10136\simulateMS.obj:simulateMS.c:(.text+0xf5e):undefined reference to `drand48'

collect2.exe: error: ld returned 1 exit status

LarssimulateESL.c cannot be compiled in 2015b:

Error using mex

C:\Users\xxxxxx\AppData\Local\Temp\mex_450160929617192_10528\simulateESL.obj:simulateESL.c:(.text+0xec7): undefined reference

to `drand48'

collect2.exe: error: ld returned 1 exit status

Chiang Mingchounasir hurrahI have downloaded it but don't know how to use it. Please if anyone can describe the procedure.

LiangI am just wonder if we could download the old version of this toolbox? The latest one changed something that cause more problem than the previous one. For example, if I use CIFB model, all the zeros are changed to new positions with real part value composed to changed to 1. And it is not I hope to see these things that change data automatically.

Marko NeitolaExtremely helpful and educational toolbox.

Not sure if the author reads this, but here is a tiny improvement for clans.m:

For better convergence, transform the errors in minimization functions (dsclansObj6a,dsclansObj6b) into quadratic errors.

Howto:

1. Open clans6.m

2. in sub-function dsclansObj6a, after "f = abs(evalTF(H,exp(1i*pi/OSR)));" type "f=f*f".

3. in sub-function dsclansObj6a, after "g = sum(abs(impulse(H,100))) -1 - Q;" type "g=g*g".

This way the target value for Q will be reached quite accurately at low OSR.

shilpii have downloaded the sigma delta toolbox but unable to run simulateDSM.c file. it gives the error mex at 222, i have also update SDK and dotnet but still not working.please help me

Byoung KimJFKongAbhishek BhatVery useful toolbox for Delta sigma folks like us...

achuthIt is very good

Pankaj JhaI am trying to implement a Band Pass Sigma Delta modulator SDM using delsig toolbox.

These are the MATLAB commands that I am running to get the modulator coefficients:

NTF = synthesizeNTF(4,320/(2*10),0,1.5*1,0.25);

STF = zpk([-1 , 1 , -1 , 1],[-0.2302 - 0.7241i , -0.2302 + 0.7241i , 0.2302 - 0.7241i , 0.2302 + 0.7241i],0.0976,[ ]);

[a,g,b,c] = realizeNTF(NTF,'CRFF',STF);

The MATLAB outputs:

a =

0.5558 0.2435 0.0436

g =

8.5267e-004

b =

0.1316 -1.0603 4.4905 0.3558

c =

1 1 1

This is wrong because there should be 4 coefficients for 'a' vector, whereas what we get only 3 coefficients for vector 'a' . Similarly is the case for vectors'b', 'c' and 'g'.

What could be possibly wrong?

DedongliudingDear Richard Schreier,

I am a new man in deltasigma, so I follow your book" Understanding Delta-Sigma Data Converters by Schreier and Temes (ISBN 0-471-46585-2)" step by step, and I meet a problem "figure 8.4" and "figure 8.5" in page "265" and "266".

In your book, the SNR without window is "SNR = 76.4 dB @ OSR = 64",the SNR with window is "SNR = 119.2 dB @ OSR = 64".

But to my simulation, the result is "SNR = 86.1 dB @ OSR = 64" without window, "SNR = 85.7 dB @ OSR = 64" with window.

this is my code:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear;

clc;

close all;

%synthesizeNTF

OSR= 64;

H= synthesizeNTF(5, OSR, 1);

nLev= 3;

Nfft= 2^ 13;

tone_bin= 57;

t= [0: Nfft- 1];

u= 0.5* (nLev- 1)* sin(2* pi* tone_bin/ Nfft* t);

v= simulateDSM(u, H, nLev);

n= 1: 150;

stairs(t(n), u(n), 'g');

hold on;

stairs(t(n), v(n), 'b');

%NTF simulation, SQNR cal and spectral estimation without window

spec = fft(v)/(Nfft*(nLev-1)/2);

snr = calculateSNR(spec(1:ceil(Nfft/(2*OSR))+1),tone_bin);

NBW = 1/Nfft;

f = linspace(0,0.5,Nfft/2+1); %this may be ahead?

Sqq = 4*(evalTF(H,exp(2i*pi*f))/(nLev-1)).^2/3;

figure; %add a new figure

plot(f,dbv(spec(1:Nfft/2+1)),'b')

hold on;

plot(f,dbp(Sqq*NBW),'m','Linewidth',1);

s= sprintf('SNR= %4.1fdB @ OSR= %2.0f\n', snr, OSR);

text(0.05, -20, s);

%NTF simulation, SQNR cal and spectral estimation without window

spec = fft(v.*(hann(Nfft)'))/(Nfft*(nLev-1)/4); %convert hann(Nfft) to vector matrix

snr = calculateSNR(spec(1:ceil(Nfft/(2*OSR))+1),tone_bin);

NBW = 1.5/Nfft;

f = linspace(0,0.5,Nfft/2+1); %this may be ahead?

Sqq = 4*(evalTF(H,exp(2i*pi*f))/(nLev-1)).^2/3;

figure; %add a new figure

plot(f,dbv(spec(1:Nfft/2+1)),'b')

hold on;

plot(f,dbp(Sqq*NBW),'m','Linewidth',1);

s= sprintf('SNR= %4.1fdB @ OSR= %2.0f\n', snr, OSR);

text(0.05, -20, s);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

I use matlab r2011b for windows 64bit;

Pankaj JhaI am trying to implement a SDM using delsig toolbox. The following are the commands I try to run, along with the errors.

H = synthesizeChebyshevNTF(2,12.5,1,1.5,0);

>> stf = zpk([],[],1,1) ;

>> [a g b c] = realizeNTF(H,'CRFFD',stf)

Error using /

Matrix dimensions must agree.

Error in realizeNTF (line 246)

a = -real(zL1/T);

Can you suggest me how to rectify the error???

MaximPossible bug in function quantize() (file simulateDSM.c).

In saturate code:

if( vv > nLevels )

vv = nLevels-1;

else if( vv < -nLevels )

vv = 1-nLevels;

May be correctly:

if( vv > (nLevels -1))

vv = nLevels-1;

else if( vv < (1-nLevels) )

vv = 1-nLevels;

Regards,

Maxim

macaugood thanks

Zhao LiTo the folks having trouble compiling the Mex files on Windows with 64-bit Matlab (bizet74 perhaps?), you will need to define the '__STDC__' symbol. For example, to compile simulateDSM.c, you would do 'mex -D__STDC__

simulateDSM.c'

Regards,

Zhao

Pankaj JhaRespected Sir,

I am trying to simulate a sixth order sigma delta modulator using the

"Delta Sigma Toolbox".

1) My desired NTF is a 6th order Chebyshev type II high pass filter.

Hence, I ran the following command :

>> ntf = synthesizeChebyshevNTF(6,64,2,1.5,0)

The toolbox outputs the function given below:

Zero/pole/gain:

(z^2 - 2z + 1) (z^2 - 1.999z + 1) (z^2 - 1.998z + 1)

-----------------------------------------------------------------------

(z^2 - 1.629z + 0.6655) (z^2 - 1.705z + 0.7437) (z^2 - 1.854z + 0.8979)

Sampling time: 1

2) I wish to implement the above NTF using the "CIFB" structure. So

I ran the following command:

>>[a,g,b,c] = realizeNTF(ntf,'CIFB')

which gives the output

a =

0.0001 0.0013 0.0124 0.0794 0.3223 0.8120

g =

0.0002 0.0022 0.0012

b =

0.0001 0.0013 0.0124 0.0794 0.3223 0.8120 1.0000

c =

1 1 1 1 1 1

3) I tried to construct the "CIFB" structure using the coefficient

values provided by the toolbox, mentioned in the previous step.

4) I try to analyse the frequency content of the output (y2 in the

simulink file attached with this mail). I ran the following commands :

>> NFFT = 2^nextpow2(length(y2)); % Next power of 2 from length of y

>> Y = fft(y2,NFFT)/length(y2);

>> f = 300e6/2*linspace(0,1,NFFT/2+1);

>> plot(f,2*abs(Y(1:NFFT/2+1)))

5) The output is more like a low pass filter and not a high pass expected.

Hence, i request you to kindly have look at the .mdl file and the

commands executed by me, and help me find the mistake that I have

committed.

Mike WoodwardIf you're interested in this submission, you might also like the new, free mixed-signal library available from here: http://www.mathworks.com/programs/mixed-signal/index.html

KevinIrfan Chaudhryzhang fuquangood job

nont nonehi.how can i download dsp toolbox?

Mohammad alhawari@ bizet74

did u find how to solve ur problem coz am facing the same problem???

SridharDear Dr. Schreier I am trying to use the toolbox to simulate a Sigma Delta Converter in Simulink. I was able to do it succesfully for a CIFF structure and now I am doing it for a CIFB structure.

Although I am able to simulate the Sigma Delta with the toolbox, it is unstable in Simulink.

Moreover I find that the CIFB topology shown in the manual is different as in this report (refer to figure 4 on page 5):

http://www.terasoft.com.tw/events/conference/2006/cfp/2006CFP_selected_Papers/3/3-2.pdf

My code is:

order=4;

OSR=545;

OPT=1;

H_inf=1.2;

ntf=synthesizeNTF(order, OSR, OPT, H_inf, f0);

[a,g,b,c]=realizeNTF(ntf, 'CIFB');

ABCD = stuffABCD(a,g,b,c,'CIFB');

Then I use the calculated a,g,b,c values in simulink.

best regards and thanks

Sridhar

bizet74Thanks for you answer but unfortunately this is what I usually do.

I have copied the toolbox in a directory (say c:\delsig) and I set this directory as the current Matlab directory and then I typed, for instance, mex simulateDSM.c and I obtained the afore mentioned errors.

ASH VLSI@ bizet74

hi friend

i faced same problem .... it can be solved by setting toolbox directory as matlab current directory and then giving the command

bizet74Hi!

I have some problems trying to compile simulateDSM.c, flattenStruct.c, and simulateESL.c. A part from several warnings I obtain these errors

simulateDSM.c(363) : error C2371: 'mexFunction' : redefinition; different basic types

C:\PROGRA~2\MATLAB\R2010A\extern\include\mex.h(147) : see declaration of 'mexFunction'

flattenStruct.c(27) : error C2371: 'mexFunction' : redefinition; different basic types

C:\PROGRA~2\MATLAB\R2010A\extern\include\mex.h(147) : see declaration of 'mexFunction'

simulateESL.c(547) : error C2371: 'mexFunction' : redefinition; different basic types

C:\PROGRA~2\MATLAB\R2010A\extern\include\mex.h(147) : see declaration of 'mexFunction'

I'm working with MATLAB Version 7.10.0.499 (R2010a) and Microsoft Visual C++ 2008 Express.

Does any one can help me?

Thank a lot in advance.

ASH VLSIcan i model non idealities using this tool box ..........is it possible ????

ASH VLSImay i know how to use this tool box please .with some simple examples ...can anybody share it on my email :ashu9919@gmail.com

yang shisongI want to know how to use the toolbox,can you share me some example?thanks. my email:yssggh@126.com

he shiqingI got it.It's free to download ! I am sorry for misundstaning it

he shiqinghow to buy the Delta Sigma Toolbox ????

shaohuip ?Thanks very much for your sharing. For quadrature band pass sigma-delta ADC design, when we use the synthesizeQNTF to get the NTF, then we can get the ABCD matrix by the realizeQNTF function. Finally how we can determine the coefficient like the [a,g,b,c] in low pass or band pass structure? Also for the quadrature structure, there is FF/FB/PFF/PFB, what is the difference between them and the previous CIFF/CIFB/CRFF/CRFB?

Thanks very much.

Thierry TambeOutstanding Work. Exceptionally helpful in the simulations of SNDR versus DAC jitter, thermal noise and THD.

Vishal SaxenaThe delta-sigma toolbox by Dr Schreier is a mandatory tool for anyone serious about delta-sigma ADC design. The CT DSM extensions in the 2009 version look very useful and we will be evaluating them in a delta-sigma converter design course being taught at Boise State.

http://cmosedu.com/vsaxena/courses/ece697/s10/ECE697.htm

Praveen KumarCan I access the older versions of this toolbox. I am particularly interested in the old documentation.

zhangWho can tell me, in the book "Understanding Delta-Sigma Data Converters ", in page 265,

1. spec = fft(v)/(Nfft*(nLev-1)/2),

why (nLev-1)/2 should be counted in to the spectrum computation?

2. Sqq = 4 * (evalTF(H,exp(2*pi*f))/(nLev-1)).^2/3,

why does 4/3 mean in this equation?

Thanks a lot!

PayamDear Richard,

First of all many thanks for developing such a nice toolbox and authoring such a great book "Understanding Delta-Sigma Data Converters".

I am about to design a 4th order/10MHz BW/CT/Quadrature delta-sigma ADC.

Unfortunately, I couldn't find any function and demo regarding design and simulation of a complex filter in the delsig toolbox. I would be grateful if you inform me about any enhancement of this toolbox for designing complex DS ADCs.

Your time and consideration are appreciated in advance.

Aztec Wei-TingWhen I download this toolbox and run synthesizeNTF.m, an error always comes out at line 209 and column 22. Does any method to solve this problem? Thank you very much!

Ras123 VQuanit's my mistake. it's the total power in the signal bins to the total power in the noise bin.

QuanThanks for such a useful tool box. I have a question of SNR calculation.

In the tool box, the function, caltulateSNR,is used to approximate in-band signal power and noise power, and then SNR is calculated. the codes are as follows:

signalBins = [f-nsig+1:f+nsig+1];

signalBins = signalBins(signalBins>0);

signalBins = signalBins(signalBins<=length(hwfft));

s = norm(hwfft(signalBins)); % *4/(N*sqrt(3)) for true rms value;

noiseBins = 1:length(hwfft);

noiseBins(signalBins) = [];

n = norm(hwfft(noiseBins));

if n==0

snr = Inf;

else

snr = dbv(s/n);

end

My question is: Since the length of signal bins and noise bins are totally different, how can signal power and noise power be substituted by

s = norm(hwfft(signalBins)) and n = norm(hwfft(noiseBins)), respectively.

I think the signal power and noise power should be like s = norm(hwfft(signalBins))*(4/N*sqrt(length(signalBins))) and n = norm(hwfft(noiseBins))*(4/N*sqrt(length(noiseBins))), respectively.

May be I'm wrong. But i'm really confused.

sandy sandyAfter u download how to u run the files.always error is occuring

lu yanI doenloaded this toolbox,but now I have a question.when i run synthesizeNTF.m,an error always comes out in 209 line.Browsing a lots of forum ,I find that the question is very popular.I expect you give a way to the problem,thank you from my heart!looking forword to your letter!

Lars SundströmA significant contribution to the mixed-signal community around the world.

Xu YanFengvery good

Liu qiuliangvery good!

shifei huvery useful?Thanks Very much!!

zhang dongqingzhang dongqingIt is very useful for the filter design, thanks

Aren aren00Very good!

Mareers SamuelThanks for useful toolbox.Is it compatible with

matlab clones liek Scilab n Octave.If not wat are the modifications required??

di liThank you very much!!!

swathi yXiaodong GuoSha Xiashi huan dongexcellent

preeti chauhanYi WANGThe matlab code is:

OSR=128; %over sampling rate

order =2; %the order of SDM

ntf0=synthesizeNTF(order,OSR,1); %create the optimized ntf.

stf0=ntf0; %copy the ntf to stf, so that they will have the same poles.

stf0.z=[]; %set the numerator of stf to 1.

form='CIFF';

[a,g,b,c]=realizeNTF(ntf0,form,stf0);

Yi WANGI have a problem of using function "realizeNTF", if I set the "stf" has the same poles as "ntf" and use it as the input for the fucntion. Matlab tell me that:

??? Error using ==> mrdivide

Matrix dimensions must agree.

Error in ==> realizeNTF at 327

b = real(x/A);

Error in ==> Test_7755_NTF_Cap2 at 10

[a,g,b,c]=realizeNTF(ntf0,form,stf0);

Senthil rajaIf zpk is properly modified, this software should be user friendly.

Senthil rajaIf zpk is properly modified, this software should be user friendly.

Ramesh SinghHUA SiliangThank you for your toolbox. I am reading your book.

Luiz CarlosJhoule HoukeThank you very much.

Sushi TaroI like sushi very much.

Shimon DahanNeed more examples for designing SD structure include it's coefficients.

mopaditis AeolusJitendra Dasmelika roknsharifiDear Richard Schreier

Thanks for your exellent book on delta sigma and this complete toolbox

Doreen wangFirst,I use this tool to get the coefficients of a fifthe-order sigma delta modulater.And then I made a model in simulink with these coefficients.Then filter the modulated signal with a lowpass analog filter,I could not get the original signal.I found that the third order coefficients can get the perfect results in simulink.why?Thanks.

Steven LinSong-Bok KimDear Richard Schreier. Thank you for your dela sigma toolbox. I want to know if by your toolbox it is possible to simulate Continuous-time quadrature bandpass sigma-delta modulator. And if possible, please tell me how to use. Next,I kow how to simulate the feedforward summing topology without input feedforward with which feed only first stage integrator.

I look forward your reply this week.

Song-Bok KimI don't know yet how to use the Delta Sigma Toolbox. Firstly, I want to inform how to use

in Matlab simulink

Bingxin LiWayne HuangGood! helpful.

mehrdad yadollahiit's good

mehrdad yadollahifair

Oscar GaeteDear Richard,

thank you for your toolbox. It looks very impresive.

I have one questions:

if I sample 1 second audio with 8000 Khz I will get a variable with 8000 points(i.e. >>x=wavrecord(8000,8000);)

when I simulate the output of a delta sigma modulator (when the input is x) with OSR=64 the output signal has a length of 8000. Why is that?...shouldn't it be 512000 because of the oversampling?)

Thank you.

noha zakiI have a simply question,like Jacob, how to initialize this toolbox in matlab?What steps should I take to use Sigma Delta modulator?I only need to give as an input some signal (ex.sinus)and observe an output as a spectrum...Thanks for answer

xin xnsigma-delta box

Jacob JI have a simply question, maybe somebody will be laughing:), but how to initialize this toolbox in matlab?What steps should I take to use Sigma Delta modulator?I only need to give as an input some signal (ex.sinus)and observe an output as a spectrum...Thanks for answer

mehmet ozcelikgaziantep university

Marshnil DaveI am trying to simulate a basic Boser and Wooley Sigma Delta modulator

in matlab. The SNR calculated using calculateSNR function of SDMtoolbox

doesn't give proper results and as STF of this B&W architecture is not

unity I am unable to simulate it using simulateSDM function of SDM

toolbox. I request you to guide me simulating second order B&W SDM in

matlab and predicting the SNR correctly.

Marshnil DaveI am trying to simulate a basic Boser and Wooley Sigma Delta modulator

in matlab. The SNR calculated using calculateSNR function of SDMtoolbox

doesn't give proper results and as STF of this B&W architecture is not

unity I am unable to simulate it using simulateSDM function of SDM

toolbox. I request you to guide me simulating second order B&W SDM in

matlab and predicting the SNR correctly.

David KirievRE: current mirror

Don't copy everything from the book. He was a professor at Oregon State U. when he created the toolbox -- Professors don't test their codes, the graduate students do.

He just took whatever results or claims that his student gave to him...You have to try testing every code by yourself since you're not a professor :)

David Kiriev

current mirrorseems i do not get the same simulation results and SNR value as the book written by the author (page 264, 265); anyone got the same problem?

jason Fongso smart one

jeffrey zhuexcellent toolbox for sdm design, realizeNTF function for CIFF topology seems not correct though.

Mucahit KozakExcellent toolbox. Essential for the design of sigma delta modulators.

Zejian cai>> H=clans(5,32,5,0.95,1)

??? Error: File: D:\st\delsig\clans6.m Line: 35 Column: 37

"identifier" expected, "(" found.

Error in ==> D:\st\delsig\clans.m

On line 19 ==> NTF=clans6(order,OSR,Q,rmax,opt);

I just do it as document says. what's wrong?

Zejian caialways error as following when run dsdemo6.m, who can tell me why? please

??? Undefined function or variable 'firpm'.

Error in ==> D:\st\delsig\designHBF.m (designF1)

On line 119 ==> h = firpm(2*n1-1,[0 4*fp1 1 1],[1 1 0 0]);

Error in ==> D:\st\delsig\designHBF.m

On line 42 ==> [f1 zetap phi] = designF1( delta, fp1 );

Error in ==> D:\st\delsig\dsdemo6.m

On line 19 ==> [f1,f2,info]=designHBF(fp,delta,1);

Leon hongCan I use this toolbox to simulate digital D-S modulators in DAC?

manu suryavanshi am not able to download

z.z. dongThe file firpm.m is missed when i run designHBF.m program in the matlab 6.5 R13 software. please give some suggestions if possible

C. HOThe calculateSNR.m is a good approximation, but might have problem when the number of points considered increased.

C. HO.Organization can be improved further.

Acuti YangM. Praveenits good

ken vin kuono

OLL Tsaigood!

Mehdi BanihashemiNaughty BoyVery good. But just failed to compile the simulateDSM.c under Linux Matlab 6.5, always says that the file is not normal or not existed. For Window Matlab, it is okay.

Fakhs Husskareem abdallahMohammad YavariVery useful tool to design high order single loop SD modulators

It will be nice if this toolbox is added in the next versions of MATLAB.

Lin ChuckI need the synthesizeNTF and CLAN original document

Sumant BapatNice tool. Makes life of novice delta sigma designer easy

guillaume de cremouxVery good when modulator order greater than 3; otherwise the famous "0.5" coefficients do the same job. When very low OSR (<32), filter refinement does not flatten enough the NTF. Excellent tool at medium OSR, and high modulator order.

Esmaeil NajafiaghdamMark BrunnerIt does what it should... thanks.

Gary MaiExcellent Work. It will be great help to design sigma-delta modulator, especially in system level.

Leo MontreuilGreat tools for design Delta-Sigma modulator

Paul MullerVery useful, not only for understanding, but also for system-level simulation for IC design

Anas HamouiGreat work ... thank you.

June shIt's a well done work!

Thank u!