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