-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGP2X2P.m
40 lines (33 loc) · 1.39 KB
/
GP2X2P.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
% Define frequency data (in Hz) using linspace
freq = linspace(2500000000, 7500000000, 100); % 28 points from 2.5 GHz to 2.635 GHz
% Define S-parameters (3x3xN matrix for a 3-port network) [ Convert 2X2 ]
% Replace with your actual S-parameters
s_params = rand(2, 2, length(freq)) + 1i*rand(2, 2, length(freq));
% Open a file for writing
fileID = fopen('GP2X.s2p', 'w');
% Write comments and header
fprintf(fileID, '!Mini-Circuits Laboratory\n');
fprintf(fileID, '!S-Parameters\n');
fprintf(fileID, '!Model: GP2X+\n');
fprintf(fileID, '!Run/Lot/Date Code: QM0837030/0837\n');
fprintf(fileID, '!DATA FOR: UNIT# 2\n');
fprintf(fileID, '!Fixture/SN/Due: 90-1-20-239/71000/02-12-2010\n');
fprintf(fileID, '!Connection: PORT-1 - pin<2>; PORT-2 - pin<7>;\n');
fprintf(fileID, '!PORT EXTENSION DONE ON TEST FIXTURE WITH LOSS ON AND MISMATCH ON\n');
fprintf(fileID, '!Agilent Technologies,N5230A,MY45001447,A.07.50.26\n');
fprintf(fileID, '!Agilent N5230A: A.07.50.26\n');
fprintf(fileID, '!Date: Wednesday, May 27, 2009 16:35:17\n');
fprintf(fileID, '# Hz S dB R 50\n');
% Write S-parameter data
for k = 1:length(freq)
fprintf(fileID, '%d ', freq(k));
for i = 1:2
for j = 1:2
fprintf(fileID, '%e %e ', 20*log10(abs(s_params(i,j,k))), angle(s_params(i,j,k))*180/pi);
end
end
fprintf(fileID, '\n');
end
% Close the file
fclose(fileID);
disp('Touchstone file created successfully.');