Files
imdd_silas/Theory/Dissertation/PD/plot_pd_specs.m
2026-03-25 10:57:48 +01:00

67 lines
2.2 KiB
Matlab

opts = delimitedTextImportOptions("NumVariables", 2);
% Specify range and delimiter
opts.DataLines = [1, Inf];
opts.Delimiter = ";";
% Specify column names and types
opts.VariableNames = ["x0_03203105428566744", "x_0_09762908467719589"];
opts.VariableTypes = ["double", "double"];
% Specify file level properties
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
% Specify variable properties
opts = setvaropts(opts, ["x0_03203105428566744", "x_0_09762908467719589"], "DecimalSeparator", ",");
opts = setvaropts(opts, ["x0_03203105428566744", "x_0_09762908467719589"], "ThousandsSeparator", ".");
% Import the data
x70ghz_pd_resp = readtable("C:\Users\Silas\Documents\MATLAB\imdd_simulation\Functions\Theory\Dissertation\PD\70ghz_pd_responsivity.csv", opts);
x70ghz_pd_bandwidth = readtable("C:\Users\Silas\Documents\MATLAB\imdd_simulation\Functions\Theory\Dissertation\PD\70ghz_pd_bandwidth.csv", opts);
x100ghz_pd_resp = readtable("C:\Users\Silas\Documents\MATLAB\imdd_simulation\Functions\Theory\Dissertation\PD\100ghz_pd_responsivity.csv", opts);
x100ghz_pd_bandwidth = readtable("C:\Users\Silas\Documents\MATLAB\imdd_simulation\Functions\Theory\Dissertation\PD\100ghz_pd_bandwidth.csv", opts);
% sort bandwidth based on first table column
x70ghz_pd_bandwidth = sortrows(x70ghz_pd_bandwidth, "x0_03203105428566744");
x70ghz_pd_bandwidth.(2) = movmean(x70ghz_pd_bandwidth.(2),3);
%smooth data for plotting
x100ghz_pd_bandwidth = sortrows(x100ghz_pd_bandwidth, "x0_03203105428566744");
%%
figure(); hold on
plot(x100ghz_pd_resp.(1),x100ghz_pd_resp.(2))
plot(x70ghz_pd_resp.(1),x70ghz_pd_resp.(2))
% beautify
xlabel('Frequency (GHz)');
ylabel('Responsivity (A/W)');
legend('100GHz PD', '70GHz PD');
grid on;
%%
% mat2tikz_improved('C:\Users\Silas\Documents\6971e0b65b380ca6d71c837f\02_IMDD_System\tikz\pd\responsivity.tikz')
%%
figure(); hold on
plot(x100ghz_pd_bandwidth.(1),x100ghz_pd_bandwidth.(2))
plot(x70ghz_pd_bandwidth.(1),x70ghz_pd_bandwidth.(2))
% beautify
xlabel('Frequency (GHz)');
ylabel('Relative S21');
legend('100GHz PD', '70GHz PD');
grid on;
ylim([-3.5, 0.1])
xlim([0 100]);
%%
mat2tikz_improved('C:\Users\Silas\Documents\6971e0b65b380ca6d71c837f\02_IMDD_System\tikz\pd\bandwidth_.tikz')