exponenta event banner

Операции с объектами 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 объект для получения других параметров сети. Например, вот частоты, S-параметры на 75 Ом и Y-параметры, которые преобразованы из оригинальных S-параметров на 50 Ом в 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(:))

Вот четыре 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

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

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

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 объект, который содержит 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 объект, содержащий 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'

Связанные темы