The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Behavioral Models >> Modeling the Warburg element in Verilog-A
https://designers-guide.org/forum/YaBB.pl?num=1213704819

Message started by Rob Mehregan on Jun 17th, 2008, 5:13am

Title: Modeling the Warburg element in Verilog-A
Post by Rob Mehregan on Jun 17th, 2008, 5:13am

I am working on a Verilog-A/MS model of a battery derived from AC impedance data.  I need to be able to model an equivalent circuit which utilizes the "warburg element".   The Warburg element is a frequency dependent impedance that describes the resistance to mass transfer in the battery.  It takes the form:

W = Res * ( coth(jwT)^x )  /  (jwT)^x

Where T is a time constant, w is the frequency (2*pi*f).

I can model the coth function easily enough in Spectre and Verilog-A but I don't know how to model the frequency dependence in the model.  As far as I know, you can get "frequency" in an AC simulation like you can get $abstime in a transient simulation.  

Anyone have any experience with this type of model?

- Rob

Title: Re: Modeling the Warburg element in Verilog-A
Post by Ken Kundert on Jun 17th, 2008, 12:16pm

Rob,
   You cannot model arbitrary functions of frequency in Verilog-A. However, after some exhaustive research on the topic (typing "Warburg element" into Google and clicking on the I Feel Lucky button) I have found that what you call a Warburg element is what I call a fracpole. You can find a papers that describe how to model fracpoles at www.designers-guide.org/Modeling, and even some programs for generating the models. Look for papers on diffusion like processes (dielectric absorption & skin effect, but not diffusion resistors), and of course on fracpoles.

Can you give me a pointer to the battery model you are using?

-Ken

Title: Re: Modeling the Warburg element in Verilog-A
Post by Rob Mehregan on Jun 17th, 2008, 12:35pm

Thanks for the info Ken.   Nice to hear from you again.  Saw you a couple of years ago at our company as well as BMAS.  

I have read this paper you wrote on fractional poles before and it looks like it may be applicable here.  I am just not sure how yet.  I was also thinking that this "warburg" function could be rewritten in term of Laplace and implemented that way.    

I don't have the model developed yet but the first order AC model basically consists of RC equivalent circuit with the addition of the frequency dependent impedance source.  

I will study the fractional pole docs in more detail.

- Rob

Title: Re: Modeling the Warburg element in Verilog-A
Post by Ken Kundert on Jun 17th, 2008, 5:25pm

Hi Rob.
Sorry, I did recognize you. I should have been more friendly, but I kind of got wrapped up into these Warburg elements.

As I dug more into this I found different versions of the Warburg element. The simplest models "semi-infinite linear diffusion" and it has an impedance of ZW = AW/√s. This is naturally modeled by a fracpole. By the way, I think fracpoles are now built-in to Spectre.

There also seem to be variants that employ the tanh and coth functions. It is not why these are different from the one above, but I think it may be because they model "finite linear diffusion". I don't know. Since people call all of these models Warburg elements, perhaps they approximate each other over an interesting range of frequencies. If so, you might be able to get away with a fracpole, which would be easy. Otherwise you might consider using an N-port (nport). Use matlab or some such program to evaluate the impedance over a wide range of frequencies, write the results to a file, and then reference the file with the N-port. The N-port would end up being a one-port that would work both in transient and AC analyses. Be sure to verify it, the nport can be flaky in transient, especially in the presence of widely spaced time constants.

I will be updating the fracpole documents later today. Nothing interesting. I'm just going to mention Warburg elements so that people see the connection.

-Ken

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.