TB066

AnĂ¡lisis de Circuitos (TB066)
Index Commits Files Refs
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)