Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to add harmonic conent in time domain in ADS?

Status
Not open for further replies.

triple_core

Member level 3
Joined
Jun 18, 2007
Messages
59
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,288
Activity points
1,699
Hi,

If I write ts(IDS.i) then I can see the current waveform in time domain.
But if I write ts(IDS.i[0])+ts(IDS.i[1])+ts(IDS.i[2])+ts(IDS.i[3])+..., I cannot obtain the correct waveform.
Anyone can help me how to write the expression correctly?

Thanks!
 
Last edited:

no, it's just typo here.
it seems that ADS trate the expression "ts(IDS.i[0])+ts(IDS.i[1])+ts(IDS.i[2])+ts(IDS.i[3])+..." as ts(constant magnitude), the result is always a perfect sinus waveform.
 

It doesn't work, neither. The result is a different perfect sinus waveform.
If you have a look of the 2 expressions in spectrum, Both does not contain any harmonic content.
 

The left waveform is correct, but how can I write a expression by adding separate components to obtain the same waveform?
 

Attachments

  • 1.jpg
    1.jpg
    87.7 KB · Views: 113

The individual plot ts(IDS.i[1]),ts(IDS.i[2]),ts(IDS.i[3]),... look ok. Each has different magnitude and phase
The question is, by using "+", it cannot be added together in a correct manner.
thanks.
 

f0=HB.freq[1]
T0=1/f0
dt=(T0/5)/20
tx=[0.0::dt::T0]
numtpts=int(T0/dt)+1

y0=real(IDS.i[0])
y1=real(IDS.i[1]*exp(j*2*pi*1*f0*tx))
y2=real(IDS.i[2]*exp(j*2*pi*2*f0*tx))
y3=real(IDS.i[3]*exp(j*2*pi*3*f0*tx))
y4=real(IDS.i[4]*exp(j*2*pi*4*f0*tx))
y5=real(IDS.i[5]*exp(j*2*pi*5*f0*tx))

y=y0+y1+y2+y3+y4+y5

plot this y.

But why don't you write following simply ?
y=ts(IDS.i[0::5], 0.0, T0, numtpts)
 
Last edited:
Thanks, this really works.
The reason is that my output signal Y consists 2 carriers Y1 and Y2. I want to separate the 2 carrier from time domain.
Y=Y1+Y2
Y1=mix(Ids.i,{1,0})+mix(Ids.i,{2,0})+mix(Ids.i,{3,0})
Y2=mix(Ids.i,{0,1})+mix(Ids.i,{0,2})+mix(Ids.i,{0,3})

Do you think is there any easier method?
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top