Объекты данных РФ

Этот пример показывает вам, как управлять данными РФ непосредственно с помощью объектов rfdata. Во-первых, вы создаете объект rfdata.data путем чтения в S-параметрах 2D порта пассивной сети, сохраненной в файле данных формата Touchstone®, passive.s2p. Затем, вы создаете объект схемы, rfckt.amplifier, и вы обновляете свойства этого объекта с помощью трех объектов данных.

Считайте Touchstone® Data File

Используйте метод read объекта rfdata.data считать файл данных Пробного камня passive.s2p. Параметры в этом файле данных являются S-параметрами на 50 Ом пассивной сети с 2 портами на частотах в пределах от от 315 кГц до 6,0 ГГц.

data = rfdata.data;
data = read(data,'passive.s2p')
data = 

   rfdata.data with properties:

            Freq: [202x1 double]
    S_Parameters: [2x2x202 double]
      GroupDelay: [202x1 double]
              NF: [202x1 double]
            OIP3: [202x1 double]
              Z0: 50.0000 + 0.0000i
              ZS: 50.0000 + 0.0000i
              ZL: 50.0000 + 0.0000i
        IntpType: 'Linear'
            Name: 'Data object'

Используйте extract объекта rfdata.data получить другие сетевые параметры. Например, вот частоты, S-параметры на 75 Ом и Y-параметры, которые преобразованы от исходных S-параметров на 50 Ом в файле данных passive.s2p.

[s_params,freq] = extract(data,'S_PARAMETERS',75);
y_params = extract(data,'Y_PARAMETERS');

Используйте служебную функцию РФ smithplot, чтобы построить S11 на 75 Ом на графике Смита.

s11 = s_params(1,1,:);
figure
smithplot(freq, s11(:))

Вот четыре S-параметра на 75 Ом и четыре Y-параметра на уровне 6,0 ГГц, последняя частота.

f = freq(end)
s = s_params(:,:,end)
y = y_params(:,:,end)
f =

   6.0000e+09


s =

  -0.0764 - 0.5401i   0.6087 - 0.3018i
   0.6094 - 0.3020i  -0.1211 - 0.5223i


y =

   0.0210 + 0.0252i  -0.0215 - 0.0184i
  -0.0215 - 0.0185i   0.0224 + 0.0266i

Создайте объекты RFDATA для усилителя с вашими собственными данными

В этом примере вы создаете объект схемы, rfckt.amplifier. Затем вы создаете три объекта данных и используете их, чтобы обновить свойства объекта схемы.

Объект rfckt.amplifier имеет свойства для сетевых параметров, шумовых данных и нелинейных данных:

  • NetworkData является объектом rfdata.network для сетевых параметров.

  • NoiseData для шумовых параметров, которые могли быть скалярным NF (дБ), rfdata.noise или объект rfdata.nf.

  • NonlinearData для нелинейных параметров, которые могли быть скаляром OIP3 (dBm), rfdata.power или объект rfdata.ip3.

По умолчанию эти свойства rfckt.amplifier содержат данные из файла данных default.amp. NetworkData является объектом rfdata.network, который содержит S-параметры с 2 портами на 50 Ом на 191 частоте в пределах от от 1,0 ГГц до 2,9 ГГц. NoiseData является объектом rfdata.noise, который содержит точечные шумовые данные на 9 частотах в пределах от от 1,9 ГГц до 2,48 ГГц. Параметр NonlinearData является объектом rfdata.power, который содержит данные Pin/Pout на уровне 2,1 ГГц.

amp = rfckt.amplifier
amp = 

   rfckt.amplifier with properties:

         NoiseData: [1x1 rfdata.noise]
     NonlinearData: [1x1 rfdata.power]
          IntpType: 'Linear'
       NetworkData: [1x1 rfdata.network]
             nPort: 2
    AnalyzedResult: [1x1 rfdata.data]
              Name: 'Amplifier'

Используйте следующий код, чтобы создать объект rfdata.network, который содержит Y-параметры с 2 портами усилителя на уровне 2,08 ГГц, 2,10 ГГц и 2,15 ГГц. Позже в этом примере, вы используете этот объект данных обновить свойство NetworkData объекта усилителя.

f = [2.08 2.10 2.15] * 1.0e9;
y(:,:,1) = [-.0090-.0104i, .0013+.0018i; -.2947+.2961i, .0252+.0075i];
y(:,:,2) = [-.0086-.0047i, .0014+.0019i; -.3047+.3083i, .0251+.0086i];
y(:,:,3) = [-.0051+.0130i, .0017+.0020i; -.3335+.3861i, .0282+.0110i];
netdata = rfdata.network('Type','Y_PARAMETERS','Freq',f,'Data',y)
netdata = 

   rfdata.network with properties:

    Type: 'Y_PARAMETERS'
    Freq: [3x1 double]
    Data: [2x2x3 double]
      Z0: 50.0000 + 0.0000i
    Name: 'Network parameters'

Используйте следующий код, чтобы создать объект rfdata.nf, который содержит шумовые фигуры усилителя, в дБ, на семи частотах в пределах от от 1,93 ГГц до 2,40 ГГц. Позже в этом примере, вы используете этот объект данных обновить свойство NoiseData объекта усилителя.

f = [1.93 2.06 2.08 2.10 2.15 2.3 2.4] * 1.0e+009;
nf = [12.4521 13.2466 13.6853 14.0612 13.4111 12.9499 13.3244];
nfdata = rfdata.nf('Freq',f,'Data',nf)
nfdata = 

   rfdata.nf with properties:

    Freq: [7x1 double]
    Data: [7x1 double]
    Name: 'Noise figure'

Используйте следующий код, чтобы создать объект rfdata.ip3, который содержит выходные точки пересечения третьего порядка усилителя, который составляет 8,45 ватт на уровне 2,1 ГГц. Позже в этом примере, вы используете этот объект данных обновить свойство NonlinearData объекта усилителя.

ip3data = rfdata.ip3('Type','OIP3','Freq',2.1e9,'Data',8.45)
ip3data = 

   rfdata.ip3 with properties:

    Type: 'OIP3'
    Freq: 2.1000e+09
    Data: 8.4500
    Name: '3rd order intercept'

Используйте следующий код, чтобы обновить свойства объекта усилителя с тремя объектами данных, которые вы создали на предыдущих шагах. Чтобы получить хороший объект усилителя, данные в этих объектах данных должны быть точными. Эти данные могли быть получены из измерений РФ или симуляции схемы с помощью других инструментов.

amp.NetworkData = netdata;
amp.NoiseData = nfdata;
amp.NonlinearData = ip3data
amp = 

   rfckt.amplifier with properties:

         NoiseData: [1x1 rfdata.nf]
     NonlinearData: [1x1 rfdata.ip3]
          IntpType: 'Linear'
       NetworkData: [1x1 rfdata.network]
             nPort: 2
    AnalyzedResult: [1x1 rfdata.data]
              Name: 'Amplifier'