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