% C. Talarico % simusoids.m clear all; close all; clc; f = 100; % 100 Hz T = 1/f; % 10 ms A = 20e-3; % 20mV t = 0:1e-6:40e-3; wt = 2*pi*f.*t; vin = A*cos(wt); B = A/2; td = 2e-3; % time delay pd = 2*pi*td/T; % phase shift fprintf('time delay = %0.2g [ms] \n', td*1e3); fprintf('time delay is %0.2g%% of the period (T = %0.2g [ms]) \n'... ,100*td/T, T*1e3); fprintf('phase shift in deg = %0.2g [degree] \n', 360*td/T); fprintf('phase shift in rad = %0.2g pi [rad] \n', pd/pi); vout = B*cos(wt-pd); % double check time delay ( <-> phase shift) finding the value of t and wt % for which vout has its first peak idx = find(vout == B, 1, 'first'); td = t(idx) phd = wt(idx)*180/pi figure(1); plot(t*1e3, vin*1e3, 'linewidth', 2, 'color', 'k'); xlabel('time [ms]', 'fontsize', 16); ylabel('voltage [mV]','fontsize', 16); ax = gca; set(ax,'Fontsize',14, 'FontName', 'Monospace', 'Fontweight', 'Normal'); hold on; plot(t*1e3, vout*1e3, 'linewidth', 2, 'color', 'b', 'linestyle', ':'); legend('vin','vout','location','bestOutside'); title('voltage vs. time', 'Fontsize', 18, 'fontname', 'monospace'); figure(2); plot(wt, vin*1e3, 'linewidth',2, 'color','m'); xlabel('\omegat [rad]', 'fontsize', 16); ylabel('Voltage [mV]','fontsize', 16); title('voltage vs. phase', 'fontsize',18, 'FontName','monospace'); xlim([0 8*pi]); ax = gca; set(ax,'Fontsize',16, 'Fontweight', 'Normal'); set(ax, 'xtick', [0, pi, 2*pi, 3*pi, 4*pi, 5*pi, ... 6*pi, 7*pi, 8*pi]) set(ax, 'xtickLabel', {'0', 'p', '2p', '3p','4p', '5p', '6p','7p', ... '8p'}, 'fontname','Symbol'); hold on; plot(wt,vout*1e3, 'linewidth',2, 'linestyle',':','color','r'); leg = legend('vin','vout','location','bestOutside'); set(leg, 'fontname','Monospace');