tp/scripts/owon_hds25s_bode/bode_plot.m (2527B)
1 clc; clear all; close all; 2 3 %% Figure light theme 4 5 set(0, "defaultAxesColorOrder", [ 6 1.0000 0.0000 0.0000; # red 7 0.0000 0.0000 1.0000; # blue 8 1.0000 0.4980 0.0549; # orange 9 0.1725 0.6275 0.1725; # green 10 0.5804 0.4039 0.7412; # purple 11 0.5490 0.3373 0.2941; # brown 12 0.8902 0.4667 0.7608; # pink 13 0.4980 0.4980 0.4980; # gray 14 ]); 15 16 set(0, "DefaultFigureColor", [1 1 1]); 17 set(0, "DefaultAxesColor", [1 1 1]); 18 set(0, "DefaultAxesXColor", [0 0 0]); 19 set(0, "DefaultAxesYColor", [0 0 0]); 20 set(0, "DefaultTextColor", [0 0 0]); 21 22 set(0, "DefaultAxesGridColor", [0 0 0]); 23 set(0, 'DefaultAxesGridAlpha', 1.00); 24 25 set(0, "DefaultAxesMinorGridColor", [0 0 0]); 26 set(0, 'DefaultAxesMinorGridAlpha', 0.20); 27 28 set(0, "DefaultLineLinewidth", 3.00); 29 set(0, "DefaultAxesFontSize", 16); 30 set(0, "DefaultTextFontSize", 16); 31 set(0, "DefaultAxesLineWidth", 1.00); 32 33 set(0, "DefaultAxesXGrid", "on"); 34 set(0, "DefaultAxesYGrid", "on"); 35 set(0, "DefaultAxesZGrid", "on"); 36 set(0, "DefaultAxesXMinorGrid", "on"); 37 set(0, "DefaultAxesYMinorGrid", "on"); 38 set(0, "DefaultAxesXMinorTick", "on"); 39 set(0, "DefaultAxesYMinorTick", "on"); 40 41 set(0, 'DefaultAxesGridAlpha', 0.50); 42 43 data = csvread("bode_rc_highpass_600_pts.csv", 1, 0); 44 freq = data(:, 1); 45 mag = data(:, 2); 46 47 mag_db = 20 * log10(mag / 1.0); 48 mag_db_smooth = movmean(mag_db, 20); 49 50 fig = figure("visible", "off"); 51 % semilogx(freq, mag_db, "LineWidth", 4); 52 % hold on; 53 yline(-3, ":k", "linewidth", 1.5, "color", [0.5 0.5 0.5]); 54 hold on; 55 semilogx(freq, mag_db_smooth, "LineWidth", 2.5); 56 57 % text(30000, -6.5, "-3 dB", ... 58 % "fontsize", 10, ... 59 % "fontname", "Helvetica", ... 60 % "fontweight", "bold", ... 61 % "verticalalignment", "bottom", ... 62 % "horizontalalignment", "left"); 63 64 grid on; 65 set(gcf, "paperunits", "inches"); 66 set(gcf, "papersize", [6 4]); 67 set(gcf, "paperposition", [0 0 6 4]); 68 69 % hold(ax(1), "on"); 70 % hold(ax(2), "on"); 71 72 % Theoretical curves 73 % semilogx(ax(1), freq, mag_the, ".", "LineWidth", 2); 74 % semilogx(ax(2), freq, pha_the, ".", "LineWidth", 2); 75 76 % Log frequency axis 77 % set(ax(1), "XScale", "log"); 78 % set(ax(2), "XScale", "log"); 79 80 % Line widths 81 % set(hmag, "LineWidth", 3); 82 % set(hphase, "LineWidth", 3); 83 84 % Limits 85 xlim([1 1e5]); 86 ylim([-30 0.1]) 87 yticks([-30 -20 -10 0]); 88 89 % grid(ax(1), "on"); 90 % grid(ax(2), "on"); 91 92 % Labels 93 xlabel("FRECUENCIA [rad/s]"); 94 ylabel(gca, "MAGNITUD [dB]"); 95 96 % legend([bode, line], ... 97 % "Magnitud", "-3dB"); 98 99 print("bode_rc_highpass_600_pts.png", "-dpng", "-r500"); 100 close(fig)
