Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

rfmodel.rational

Store output power and phase information for amplifiers or mixers

Description

Use the rational class to represent RF components using a rational function object of the form:

F(s)=(k=1nCksAk+D)esτ,s=j2πf

There are two ways to construct an rational function object:

  • You can fit a rational function object 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.

Creation

Syntax

h = rfmodel.rational
h = rfmodel.rational('Property1',value1,'Property2',value2,...)

Description

example

h = rfmodel.rational returns a rational function object whose properties are set to their default values.

h = rfmodel.rational('Property1',value1,'Property2',value2,...) sets properties using one or more name-value pairs. You can specify multiple name-value pairs. Enclose each property name in a quote

Properties

expand all

Poles of rational function object, specified as a complex vector in radians/second. The property length is shown in:

F(s)=(k=1nCksAk+D)esτ,s=j2πf

where, n must be equal to the length of the vector you provide for 'C'. n is the number of poles in the rational function object. By default, this property is empty.

Data Types: double

Residues of the rational function object, specified as a complex vector in radians/second. The property length is shown in

F(s)=(k=1nCksAk+D)esτ,s=j2πf

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 object. By default, this property is empty.

Data Types: double

Frequency response offset, specified as a scalar. The default value is 0.

Data Types: double

Frequency response time delay, specified as a scalar. The default value is 0.

Data Types: double

Object name, specified as a 1-by-N character array. This is a read-only property.

Data Types: char

Object Functions

freqrespFrequency response of rational function object
steprespStep-signal response of rational function object
ispassiveCheck passivity of N-port S-parameters
timerespTime response for rational function object
writevaWrite Verilog-A description of rational function object

Examples

expand all

Fit a rational function to data from an rfdata.data object.

S = sparameters('defaultbandpass.s2p');
freq = S.Frequencies;
data = rfparam(S,2,1);
fit = rationalfit(freq,data)
fit = 

   rfmodel.rational with properties:

        A: [10x1 double]
        C: [10x1 double]
        D: 0
    Delay: 0
     Name: 'Rational Function'

Construct a rational function object, 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.

rat=rfmodel.rational('A',[-5e9,-3e9,-4e6],'C',[6e8,2e9,4e9]);

Perform frequency-domain analysis from 1.0 MHz to 3.0 GHz.

f = [1e6:1.0e7:3e9];

Plot the resulting frequency response in decibels on the X-Y plane.

[resp,freq]=freqresp(rat,f);
figure
plot(freq/1e9,20*log10(abs(resp)));
xlabel('Frequency (GHz)')
ylabel('Magnitude (dB)')

Introduced in R2009a

Was this topic helpful?