# What is the IMAL envelope method?

"Envelope methods" can be used to describe and predict the output characteristics of a highfrequency non-linear amplifier such as a travelling wave tube. Apparently one of these methods is known as IMAL.

There's several aspects to IMAL which I'd like to gain a better understanding of:

• I consider an input signal, which is a superposition of sine-waves of different amplitudes, phases and frequencies. I think I know how to compute the complex envelope of this signal. Both the amplitude and the time of the complex envelope, however, are time-varying. The nonlinear characteristics of the amplifier give the output amplitude and output phase according to the input amplitude. But using matlab, I clearly cannot assign to every of my time-varying amplitudes a new amplitude - it's just too many. I assume this is where linear interpolation is needed?
• Also apparently the signal is defined in frequency domain and then transformed to time domain. Why would I do that? I already know my signal is a superposition of sine-waves (which is time-domain, right?). I don't even know how to describe this signal in frequency domain.

Basically, IMAL utilizes an input signal defined in the frequency domain. An initial random phase value is assigned to each spectral line and the spectrum is converted into the time domain using the inverse fast Fourier transform (IFFT). As we are interested in the intermodulation falling in the amplifier band, the band-pass input signal is then converted to a complex lowpass equivalent one (complex envelope) and this is distorted using the nonlinear characteristics of the microwave amplifier. A linear interpolation routine is used to distort the signal and it is then transformed back to the frequency domain (FFT) to obtain the desired characteristics.

[1] "Computer Simulation of Intermodulation Distortion in Traveling Wave Tube Amplifiers" by Richard G. Carter, Wolfgang Bösch, Vishnu Srivastava, and Giuliano Gatti, in: IEEE Transactions on Electron Devices, Vol. 48, No. 1, January 2001. Available online from the University of Lancaster.

• Where did you read of IMAL? If you'd cite any source, that would make your question much more likely to be answerable. Dec 12, 2016 at 1:50
• @Marcus: it's hard to find any good information about IMAL. I've read about it in a paper: "Computer Simulation of Intermodulation Distortion in Traveling Wave Tube Amplifiers" by Richard G. Carter, Wolfgang Bösch, Vishnu Srivastava, and Giuliano Gatti. This paper is so short. But in the references, there is another paper mentioned (which I couldn't find): G. Gatti et al., “IMAL-2 a simulation software for inter-modulation analysis of power amplifiers,” in XRM Tech. Notes. The Netherlands: ESTEC, June 4, 1996, vol. V.
– user25356
Dec 12, 2016 at 8:54
• Basically, that info is crucial and you should have edited your question to include it! I did that for you – however, now it's you turn again: Click on the edit link and ask a question regarding the algorithm as described in the paragraph cited – what is it that you need more info on? Dec 12, 2016 at 9:56

Also apparently the signal is defined in frequency domain and then transformed to time domain. Why would I do that?

Because it's easy and intuitive to do that. Say you want to test with oscillations of frequencies $\mathbf{f}=\left\{f_0,\ldots,f_n\right\}\subset \mathbb R$ with (randomly chosen) phases $\mathbf{\Phi}=\left\{\phi_0,\ldots,\phi_n\right\}\subset \mathbb R$ and amplitudes $\mathbf A \subset \mathbb R,\, A > 0\, \forall A \in \mathbf A$.

So you

• choose a sampling frequency $f_s > 2\min\left\{ \max (\mathbf f), f_\text{physical system bw}\right\}$,
• pick a frequency resolution of $\Delta f$ that you want to achieve, and thus find $N = \left\lceil \frac{f_s}{\Delta f}\right\rceil$
• build a vector $\mathbf S\in \mathbb C^N$ such that $$S_i = \begin{cases} A_n e^{j\phi_n},\, n= \text{index of f in \mathbf f}& \forall i: f=\frac{f_s}{2i} \in \mathbf f \\ 0&\text{else.}\end{cases}$$
• do an $\mathbf s := \text{DFT} (\mathbf S)$ to get your time-domain signal.

In other words, you'd think of the spectrum of the signal that you want to produce as being "empty", and then you just "put" signals at the frequencies you want them by simply setting the corresponding bins in a frequency domain window to the phase. You just "paint" the spectrum, and then IDFT it to time domain. Feels much more intuitive to me.

I already know my signal is a superposition of sine-waves (which is time-domain, right?)

The signal is the same in both time domain and frequency domain. It's the same signal. I cannot say this too often: Time and Frequency domain are just two different bases to which you can represent a signal. The DFT and IDFT are really nothing but basis change matrices. Really.

I think I know how to compute the complex envelope of this signal. Both the amplitude and the time of the complex envelope, however, are time-varying.

Yep, but that's just a result of overlaying multiple constant-amplitude signals. And that's what the DFT does for you.

• it's just too many

You realize that Matlab doesn't mind a couple million mathematical operations? You don't even pay per operation!

To conclude, you just generate the signal in frequency domain because it's more intuitive and much more computational efficient to do so.

Then you simply use an unspecified time-domain algorithm (of course, on the IDFT of the frequency domain signal), and then convert back into frequency domain to see the effects on the frequencies in the signal – intermodulation, generation of harmonics and possibly subharmonics etc.

I think you should get more used to frequency domain thinking – a signal in frequency domain is really 100% equivalent to a signal in time domain, but thinking about the frequencies in a signal might be much easier than thinking of the same signal as sequence of time values, especially if there's a non-zero value for every time step, but only very few non-zero frequencies.