The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 17th, 2024, 11:38am
Pages: 1
Send Topic Print
How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs? (Read 1292 times)
john_ana
Junior Member
**
Offline



Posts: 12

How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Feb 22nd, 2010, 7:14pm
 
Hi,

I am using the toolbox from Richard Schreier for a sigma-data ADC.

>> ntf=synthesizeNTF(3,16,1.5,1)

Zero/pole/gain:
    (z-1) (z^2  - 1.977z + 1)
-----------------------------------
(z-0.9942) (z^2  - 1.994z + 0.9942)

>> [a,g,b,c]=realizeNTF(ntf,'CIFF')
realizeNTF Warning: The ntf's zeros have had their real parts set to one.

a =
   0.0116   -0.0229   -0.0003
g =
   0.0230
b =
    1     0     0     1
c =
    1     1     1

However, from the flow-diagram of CIFF structure, it only uses
cascaded 1/(z-1), and there is a feedback from the output of
the third integrator to the input of the second.
This can only achieve z^2-2*z+1+r ,where r is the small feedback
facto.  It has no way to realize the zeros
in z^2-1.977*z+1.

Is something wrong with my understanding?
Back to top
 
 
View Profile   IP Logged
yvkrishna
Senior Member
****
Offline



Posts: 117

Re: How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Reply #1 - Feb 22nd, 2010, 8:52pm
 
hi john_ana,

I am not sure if you are refering to the flow diagram of the CIFF structure shown in the Toolbox document "DSToolbox.pdf"  page num 35 (ver 7.3)

It clearly has  more than one forward paths with coefficients a1,a2,a3. so there can be zeros.

regards,
yvkrishna
Back to top
 
 
View Profile   IP Logged
john_ana
Junior Member
**
Offline



Posts: 12

Re: How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Reply #2 - Feb 22nd, 2010, 9:32pm
 
Acutally, I am using
> ntf=synthesizeNTF(3,16,1,1.5)

Zero/pole/gain:
    (z-1) (z^2  - 1.977z + 1)
-----------------------------------
(z-0.6657) (z^2  - 1.524z + 0.6599)

Anyway, there zeros are at
1,  0.9885 + 0.1512i, 0.9885 - 0.1512i

They are all on unit circle.

However, if I use the CIFF stucture, there is no way I can get
complex conjugate zeros on unit circle,

I can only get zeros where z^2-2*z+1+g1=0.

Please see the attached derivation, I asume k1=k2=k3, which
is the case on pp. 22 of Richard's toolbox v7.2 documentation.


Back to top
 
View Profile   IP Logged
yvkrishna
Senior Member
****
Offline



Posts: 117

Re: How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Reply #3 - Feb 22nd, 2010, 10:30pm
 
looks like there is some confusion about  'g1' used.  since -g1 is used in the realisation, it can be assumed to be a positive quantity.

now  z^2-2*z+1+g1=0   can have complx conj  roots  if   (DET<0)  

i.e.,  4-4*(1+g1)  <0       =>       -4*g1 <0  which is true.


regards
yvkrishna
Back to top
 
 
View Profile   IP Logged
john_ana
Junior Member
**
Offline



Posts: 12

Re: How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Reply #4 - Feb 22nd, 2010, 10:50pm
 
if you use
freqz([ 1 -2 1.023]) which is realizable via CIFF
and compare with
freqz([ 1 -1.977 1]), whose zeros are  on unit circle.

you can tell the frequency response is quite different.
The first reponse has quite less attenduation at desired zero frequency.


Back to top
 
 
View Profile   IP Logged
Berti
Community Fellow
*****
Offline



Posts: 356

Re: How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Reply #5 - Feb 23rd, 2010, 12:29am
 
If you use want you zeros being on the unit circle (z-transform), the local feedback loop (g) must have only one delay. If the loop has two delays the zeros lie on a straight line, which results in z^2-2*z+1+g1=0, as you wrote.

However, for moderately large OSR the difference is usually small and people accept that the zeros are not on the unit circle since the circuit implementation is simpler. For low OSRs however, you should probably modify you loop filter in order the keep the zeros on the unit circle.

Regards
Back to top
 
 
View Profile   IP Logged
john_ana
Junior Member
**
Offline



Posts: 12

Re: How does the CIFF strucutre achieve exact NTF zero locations in sigma-dela ADCs?
Reply #6 - Feb 23rd, 2010, 1:31am
 
Hi Berti,

I agree that for high or moderate OSR, the difference is not big. For low OSRs, how do you achieve the desired NTF?

1) use CRFF or CRFB structure, which has a z/(z-1)^2 in their transfer
function. It is easy to realize z^-1/(1-z^-1), how do you realize
1/(1-z^-1). I know some switch-capacitor implementation can
realize z^1/2, is there any other way?

2) use CIFB structure, but you have need extra DACs need to build and
Feed forward structure can achieve lower distortion since it only
process mostly quantization noise only.

3) how do you achieve the NTF in continuous-time Sigma-Delta?
I know you can use d2c with zoh to converter the NTF from Z domain
to S domain and the 'zoh' will take care NRZ dac pulse, however,
usually you get a transfer function H(s) that has poles like
Num(H(s))=s(a*s^2+b*s +c).
However, if you use two 1/s in cascade and feedback from the
output of the second 1/s to the input of the first 1/s, you will get
something like K(s)=(x*s^2+y), unless you feedback from the
output of the second 1/s to the input of 1/s as well.
However, if you look at most published continuous-time sigma-delta,
nobody actually feedback from the output of the second 1/s to the
input of the second 1/s. All of them only feedback from the output
of the second 1/s to the input of first 1/s.


Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.