| RF Toolbox™ | ![]() |
Use the rational class to represent RF components using a rational function model of the form
|
| (7-1) |
There are two ways to construct an rfmodel.rational object:
You can fit a rational function model to the component data using the rationalfit function.
You can use the rfmodel.rational constructor to specify the pole-residue representation of the component directly.
| Name | Description |
|---|---|
| rfmodel.rational | Create rfmodel.rational object |
| Name | Description |
|---|---|
| A | Poles of rational function |
| C | Residues of rational function |
| D | Frequency response offset |
| Delay | Frequency response time delay |
| Name | Object name |
| Name | Description |
|---|---|
| freqresp | Calculate frequency response of model object |
| timeresp | Calculate time response for model object |
| writeva | Write Verilog-A description of RF model object |
orig_data=read(rfdata.data,'default.s2p');
freq=orig_data.Freq;
data=orig_data.S_Parameters(2,1,:);
fit_data=rationalfit(freq,data)
fit_data =
Name: 'Rational Function'
A: [2x1 double]
C: [2x1 double]
D: 0
Delay: 0Vector
Complex vector containing poles of the rational function in radians per second. Its length, shown in Equation 7-1 as n, must be equal to the length of the vector you provide for 'C'. n is the number of poles in the rational function model. This property is empty by default.
rat = rfmodel.rational; rat.A = [-0.0532 + 1.3166i; -0.0532 - 1.3166i]*1e10;
Vector
Complex vector containing residues of the rational function in radians per second. Its length, shown in Equation 7-1 as n, must be equal to the length of the vector you provide for 'A'. n is the number of residues in the rational function model. This property is empty by default.
rat = rfmodel.rational; rat.C = [4.4896 - 4.5025i; 4.4896 + 4.5025i]*1e9;
Scalar
Scalar value specifying the constant offset in the frequency response of the rational function. The default is 0.
rat = rfmodel.rational; rat.D = 1e-3;
Scalar
Scalar value specifying the time delay, in seconds, in the frequency response of the rational function. The default is 0.
rat = rfmodel.rational; rat.Delay = 1e-9;
'Rational Function'
Read-only string that contains the name of the object.
rat = rfmodel.rational;
rat.Name
ans =
Rational Function
Create rfmodel.rational object
h = rfmodel.rational
h = rfmodel.rational('Property1',value1,'Property2',value2,...)
h = rfmodel.rational returns a rational function model object whose properties are set to their default values.
h = rfmodel.rational('Property1',value1,'Property2',value2,...) returns a rational function model object, h, with the specified properties. Properties that you do not specify retain their default values.
Construct a rational function model, rat, with poles at -4 Mrad/s, -3 Grad/s, and -5 Grad/s and residues of 600 Mrad/s, 2 Grad/s and 4 Grad/s. Then, perform frequency-domain analysis from 1.0 MHz to 3.0 GHz. Plot the resulting frequency response in decibels on the X-Y plane.
rat=rfmodel.rational...
('A',[-5e9,-3e9,-4e6],...
'C',[6e8,2e9,4e9]); % Create model
f = [1e6:1.0e7:3e9]; % Simulation frequencies
[resp,freq]=freqresp(rat,f); % Compute frequency response
figure
plot(freq/1e9,db(resp)); % Plot frequency response
xlabel('Frequency (GHz)')
ylabel('Magnitude (dB)')

![]() | rfdata.power | Method Reference | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |