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