+ Post New Thread
Results 1 to 20 of 23

15th February 2017, 13:31 #1
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
MASH ( SD modulator) power spectrum dc term
I am trying to plot the power spectrum of the quantization noise for a MASH topology(for frequency synthesizer) , but i have an offset of about 20 dB from the ideal curve.
On a last paper that i read , it was written that the desired power spectrum is given from the output of the SD modulator after removing the dc term.
What is the dc term that is mentioned? Is it the mean value of the sequence? ( in the case of frequency synthesizer, the fractional word)
Or just the term at frequency 0?
Thank you in advance,
Nikos

15th February 2017, 13:31

15th February 2017, 16:39 #2

15th February 2017, 17:05 #3
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
Re: MASH ( SD modulator) power spectrum dc term
Could you explain it a bit more extensively please?
Does it depend on the number of accumulator bits ( N ) or the fractional input?
Thank you

15th February 2017, 17:18 #4

15th February 2017, 18:07 #5
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
Re: MASH ( SD modulator) power spectrum dc term
Well, as long as the initial condition is odd , fractional input should have no impact on the curve.
As far as the accumulator bits are concerned, they should add just a small difference on the magnitude. For any number of bits that i tried though, the difference between my curve and the ideal is a constant 20 dB difference.
Why does this constant difference exists? I am pretty sure my plot is correct ( spectrum analysis on Cadence Virtuoso)

15th February 2017, 18:27 #6
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
See http://www.designersguide.org/Forum...1361756819/3#3
Show us your results.

15th February 2017, 18:27

16th February 2017, 08:46 #7
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
Re: MASH ( SD modulator) power spectrum dc term

16th February 2017, 11:16 #8
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
Use correct terminology.
This plot is a result of dfft() of Cadence OCEAN function.
It seems spectrum results are same between dfft() of Cadence OCEAN function and Scilab ?
What function do you apply in Scilab ?
Even in Cadence OCEAN, two functions exist for evaluating Spectrum, dfft() and psd().
Do you use psd() or dfft() in Scilab ?
In MathWorks MATLAB, fft(), psd(), pwelch(), etc. exist.
http://www.designersguide.org/Forum...1405235104/2#2
Definition of fft() is different between Keysight ADS PostProcessing and MathWorks MATLAB.
Definition of fft() is same between Keysight ADS PostProcessing and Cadence ADE PostProcessing.
http://www.designersguide.org/Forum...1484736874/8#8
There is no DC term in your plot.
On the other hand, DC term surely exist in my plot.
http://www.designersguide.org/Forum...1361756819/3#3
Your issue has no relation to DC term.
Simply constant deviation between spectrum from time domain and Zdomain transfer function.
Do you mean this is a result of ZDomain Transfer function plot ?
Cadence OCEAN function, dfft() is not Zdomain tranfer function.Last edited by pancho_hideboo; 16th February 2017 at 11:44.

16th February 2017, 11:56 #9
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
Re: MASH ( SD modulator) power spectrum dc term
Thank you for your reply,
This plot is a result of dfft() of Cadence OCEAN function.
It seems spectrum results are same between dfft() of Cadence OCEAN function and Scilab ?
What function do you apply in Scilab ?
Even in Cadence OCEAN, two functions exist for evaluating Spectrum, dfft() and psd().
Do you use psd() or dfft() in Scilab ?
The plot from Scilab is also the result of using fft() ( and afterwards squaring the output).
If i use the equivalent of psd() function in Scilab ( it is named pspect) i get the following curve, which is way off ( going to positive dBs)
If , on the other hand, I use the psd() function in Cadence i get the following curve ( dBs dropped lower than the ideal curve, that is impossible i think).
Do you mean this is a result of ZDomain Transfer function plot ?
(found in numerous papers, like Reduced Complexity MASH DeltaSigma Modulator, Zhipeng Ye and Michael Peter Kennedy)
If i didn't make something clear, please tell me.

16th February 2017, 16:31 #10
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
Still, you can not understand things correctly and also not understand correct terminologies.
Consider frequency bin width of result of dft() and definition of dft().
Surely consider what units are applied for yaxis of your plot each other.
In your setting, they are different each other.
fs ; Sampling Frequency
Nfft = 2^17
BinWidth=fs/Nfft
(1) db20( dft() )  db10(BinWidth) gives dBV/Hz
(2) db10( psd() ) gives dBV/Hz
(3) db10( (1/12)/(fs/2)*abs((1z^1)^3)^2 ) which gives dBV/Hz
You can plot these three in Cadence ViVA.
http://www.designersguide.org/Forum...1444923186/6#6Last edited by pancho_hideboo; 16th February 2017 at 16:51.
1 members found this post helpful.

16th February 2017, 16:31

17th February 2017, 09:58 #11
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
Re: MASH ( SD modulator) power spectrum dc term
fs ; Sampling Frequency
Nfft = 2^17
BinWidth=fs/Nfft
My question is that , if i sample for let's say 16 full Ls, the binWidth according to your formula will be 2^(N+1) * 16= 2^19?
So according to this
Code:(1) db20( dft() )  db10(BinWidth) gives dBV/Hz
(1) db20( dft() )  db10(BinWidth) gives dBV/Hz
(2) db10( psd() ) gives dBV/Hz
(3) db10( (1/12)/(fs/2)*abs((1z^1)^3)^2 ) which gives dBV/Hz
The thing that confuses me is the factor (1/12)/(fs/2). On almost every paper I came across, this factor is (1/12)/Ls.
If i plot your equation ( in SciLab ) , i get the peak at 80 dB ( big enough difference from the measured data ).
If i plot my variation ( that is substituting fs/2 with Ls ), i get the peak at 40 dB (still 20 dB difference from measured data ).
Thank you for your time

17th February 2017, 11:58 #12
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
Tottally, I can not understand what you want to mean at all.
Before posting, study basic mathematic.
I can not understand what you want to mean at all.
Full sequence length is 2^Nbit  1 = 16383, Nbit=14
I can not understand what you want to mean at all.
There is no direct constraint between Nfft and Nbit.
Show me the followings.
fs ; Sampling Frequency
Tstart ; argument for dft()
Tstop ; argument for dft()
Nfft ; argument for dft()
Nfft have to be (TstopTstart)*fs.
delta_f = 1/(TstopTstart)
I can not understand what you want to mean at all.
I can not understand what you want to mean at all.
Normalized Spectrum(dBV/Hz) is not so dependent on sample periods as far as delta_f is relative small.
Show me results of following and setting.
(1) db20( dft() )  db10(BinWidth)
(2) db10( psd() )
Maybe right.
Rather I don't see such expression.
I think your expression is normalized as unitless, so its denominator is not Hz.
Surely read your every paper.
Attached is a extract from very famous book.
https://www.amazon.com/Understanding...4826787&sr=11
Also see Eq.(23) the following.
http://www.advradiosci.net/5/313/2...53132007.pdf
This is phase noise PSD not delta_N PSD
See http://www.designersguide.org/Forum...1444923186/6#6
Show me your results and fs.Last edited by pancho_hideboo; 17th February 2017 at 12:09.

17th February 2017, 13:22 #13
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4
Re: MASH ( SD modulator) power spectrum dc term
OK, as it seems i have trouble explaining what i mean, so i am attaching the script that i run for the plots ( i have added as many comments as necessary i think, but if you need more info on any line of the code tell me.)
The script is written in Scilab ( the syntax is almost identical to Matlab, so you won't have trouble understanding it ).
The plots generated are the following.

17th February 2017, 13:33 #14
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
Simply you can not understand basic mathematic especially fft.
Surely read your every paper.
Show me informations I requested in #12.
You don't show at all.
These are for Cadence ViVA using timedomain data.
This is for Plot using frequencydomain data in Scilab.Last edited by pancho_hideboo; 17th February 2017 at 13:44.

17th February 2017, 14:01 #15
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4

17th February 2017, 14:11 #16
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
fs=1GHz
Nfft=65536=2^16
Tstart=2.125002nsec
Tstop=Tstart+2*32768/fs=Tstart+Nfft/fs
BinWidth=fs/Nfft
db10(BinWidth)=41.8dB
(1) db20( dft() )  db10(BinWidth) gives 64.2481dB at 493.713MHz
(2) db10( psd() ) gives 58.578dB at 473.419MHz
Show me (3) db10( (1/12)/(fs/2)*abs((1z^1)^3)^2 )
Are your outputs in Spectre truely [3,4] ?
I think they are 2^Nbit*[3,4].Last edited by pancho_hideboo; 17th February 2017 at 14:32.

17th February 2017, 14:40 #17
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4

17th February 2017, 14:40

17th February 2017, 14:46 #18

17th February 2017, 14:48 #19
 Join Date
 Jan 2017
 Posts
 57
 Helped
 0 / 0
 Points
 432
 Level
 4

17th February 2017, 18:43 #20
 Join Date
 Oct 2006
 Location
 Real Homeless
 Posts
 1,769
 Helped
 488 / 488
 Points
 12,168
 Level
 26
Re: MASH ( SD modulator) power spectrum dc term
>> fs=1e6;
>> f=fs/2=0.5e6;
>> Se=(1/12)/(fs/2);
>> Sq=Se*(2*sin(pi*f/fs))^6;
>> 10*log10(Sq)
ans = 49.7197
See result of order=3 of the following.
http://www.designersguide.org/Forum...s/hoge_001.jpg
Here order=3, fs=1MHz
You can see 50dB/Hz Spectrum at f=fs/2=0.5MHz.
My results from Cadence Spectre Transient Analysis using VerilogA DSM Model is very close to Sq.
You set fs=1e9, so Se is fairy small.
Sq=79.7dB/Hz at f=fs/2 is reasonable.
Raw_Spectrum is a result of db20( dft() ) with hanning window.
See AppendixA of the followings.
https://www.amazon.com/Understanding...4826787&sr=11
Smoothed_Spectrum is a db10( circ_smooth( mag(inv_db20(Raw_Spectrum))**2, 16 ) ).
I ported "circ_smooth()" of deltasigma toolbox of MATLAB to Cadence ADE as Skill function.
https://jp.mathworks.com/matlabcentr.../circ_smooth.m
Now you apply window size=Nfft.
Try to reduce window size of psd(), such as Nfft/2, Nfft/4, Nfft/8, .....
Why do you use fs=1GHz ?
I can not believe such high frequency clock for DeltaSigmaFractionalN Frequency Synthesizer.
Assume fvco=10GHz.
fs=1GHz means average divideratio is around 10.
3rdOrderDSM perturb divideratio from 103 to 10+4.
Generally unless average divideratio is enough large compared to delta_N range, e.g. [3, 4], DSMPLL can not work.Last edited by pancho_hideboo; 17th February 2017 at 18:50.
+ Post New Thread
Please login