Операции с объектами данных RF

Этот пример показывает вам, как управлять данными RF непосредственно с помощью 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');

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

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

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

f = freq(end)
f = 6.0000e+09
s = s_params(:,:,end)
s = 2×2 complex

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

y = y_params(:,:,end)
y = 2×2 complex

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

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

В этом примере вы создаете объект схемы, 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'

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

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'

Похожие темы