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

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

Чтение файла данных Touchstone ®

Используйте read метод rfdata.data объект для чтения файла данных Touchstone passive.s2p. Параметрами в этом файле данных являются 50-Ohm S-параметры 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 объект для получения других параметров сети. Например, вот частоты, 75-Ohm S-параметры и Y-параметры, которые преобразуются из исходных 50-Ohm S-параметров в passive.s2p файл данных.

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

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

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

Вот четыре 75-Ohm S-параметра и четыре 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. Затем вы создаете три объекта данных и используете их для обновления свойств объекта схемы.

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

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

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

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

По умолчанию эти свойства rfckt.amplifier содержать данные из default.amp файл данных. NetworkData является rfdata.network объект, который содержит 50-Ohm 2-портовых S-Параметров на 191 частотах от 1,0 ГГц до 2,9 ГГц. NoiseData является rfdata.noise объект, который содержит данные точечного шума на 9 частотах в диапазоне от 1,9 ГГц до 2,48 ГГц. The 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 объект, содержащий 2-портовые Y-параметры усилителя на частоте 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'

Похожие темы