Design a filter-nonlinearity model of an amplifier
Started by 8 years ago●3 replies●latest reply 8 years ago●182 viewsHey,
I'm absolutely new to signal processing, so please take it easy on me when I say sth. stupid ;-)
Consider the following problem: I'm given a multicarrier input signal - two sine-waves with different frequencies (f1 and f2) and phases but the same amplitude (/power). My job is to simulate how this signal changes when it's input to a nonlinear amplifier. To do so, I split up the amplifier into a filter and a nonlinearity. I am given a table which shows how the nonlinearity changes the power and the phase of a single sine wave of frequency f1. Since f2 and f1 are considered close to each other, I can use the table to describe the nonlinearity. However, I am told to design a filter before the nonlinearity as well.
First question: Why is the filter before the nonlinearity so important? Apparently it creates some sort of "memory". And also I have read, for narrowband signals the nonlinearity is sufficient, but for wide bands we need to have a filter before the nonlinearity. I'm not sure what I want my filter to do. The nonlinearity creates intermodulation products at the output of the amplifier. Maybe I can get rid of these IM-products by filtering. But I have a feeling this is not what the filter before the nonlinearity is meant to do. Maybe you know what it is suppossed to do (I know I should know that, but I don't, that's my problem).
Second question: So I want to design a filter. I have read I can design a continuous-time filter, e.g. a Butterwoth filter, and then convert it to discrete-time. The problem is, I need to know the desired transfer function of my filter, right? The only things that I know of the system is the input signal and how the signal is changed by the nonlinearity. So I am given the input to the nonlinearity and also the output. But is it possible to design a filter based only on this information?
Allright, that's it. I hope you can help me - anything is fine, even links or literature hints.
Ok, for some reason I'm not able to reply to your posts, so I decided to edit my question:
I think JOS is right, the model I have described is a Wiener-Model. So I have a characteristic describing my nonlinearity for a single sine wave (see above). But my input signal consists of two sine-waves. I can still use the nonlinear characteristic to describe my input signal when the frequencies of the two sine waves are close to each other. If the frequencies are not close to each other, I need to put a filter before the nonlinearity. But how does this Wiener-filter work? Assuming I know the output of the nonlinear amplifier. Would I then try to design a filter which together with my nonlinear characteristic for one sine-wave is able to approximate the real output?
I'm not familiar with this kind of home work problem, but it's a nice one. Suppose you feed each sine wave one at a time into the nonlinear device - what happens? How would you compare a pass through signal with the result? I suspect a phase shift which is different for each frequency. There are filters called "all pass" which do not change the signal other than shift its phase.
So first you need to understand what the nonlinear device does. Then you put a filter in front to "undo" that, so the net result is you get a linear output. I think that is the point of the home work.
Patience, persistence, truth,
Dr. mike
First, I will paraphrase what you've written:
"The input signal is the sum of two sinusoids of different frequencies and of the same amplitude"
"This composite signal will be applied to a nonlinear amplifier for which a table shows how the power and phase of the input signal is changed"
"The nonlinearity creates intermodulation products at the output"
It seems to me unusual that the nonlinearity would be characterized by power and phase of the input signal UNLESS it's at the same frequency as the input signal. But this being unusual may also be a hint.
Also, it seems that just any nonlinearity could make this whole thing untenable. So I rather suspect that the nonlinearity is one more like:
A saturation curve where large amplitudes (i.e. "power") do not follow the input linearly but rather are reduced. This all the way to a transfer characteristic that is flat for large amplitudes and linear for smaller ones. The latter would create a square wave out for very large sinusoidal inputs. Might that be the case?
It would help a lot if you told us what the underlying purpose of this work is. Fourier Series analysis perhaps?
Then, if this might be the case, one can calculate the Fourier Series for each input amplitude if a single sinusoid. Then, *maybe* superposition can be helpful in breaking things apart.
All of this is important well before we start talking about filters!! That's a matter of implementation and design once the signal and system characteristics are known.
So for each amplitude of sinusoid passed through the nonlinearity, a different Fourier Series will emerge. The results could be entered into a table format.
No amount of filtering at the input will change things other than simple scaling to change the amplitude. I'd expect this to not be the case.
Well, of course if you filter out one of the input frequencies (and later the other) then there won't be a composite input any longer.
It's hard to know what is narrowband and wideband as described. That there are two sinusoids suggests that they are separated in frequency. But how close together is "narrow" and how far apart is "wide"? Here are some thoughts along those lines:
A "wide" signal would have one sinusoid clearly superimposed on the other. So the maximum value and the minimum value would be the sum of the peaks of the two + and -. Depending on the absolute values of the two (they are equal), then one may be turned into a square wave part of the time at least. Perhaps that yields some insight.
In this limited case one can envision a waveform coming out of the nonlinear amplifier as a "sometimes square wave and sometimes sinusoid" of the higher frequency and a limited/saturated sine wave at the lower frequency. And, possibly, a bandpass filter at the higer frequency at the output would clean up some of that "carrier". Similarly perhaps at the lower frequency.
All that said, I've not encountered a problem stated like this so don't have much more to offer. Perhaps it's all "familiar" to someone else.
This can be called a Wiener Model, for which there is support in Matlab:
https://www.mathworks.com/help/ident/ug/identifying-hammerstein-wiener-models.html