function [ Vout ] = Diode_Clipper_Trivial( Vin )
% Diode Clipper - Trivial implementation

% Output Vector
Vout = zeros(size(Vin));

% Components and Parameters
R = 2.2e3;
Is = 2.52e-9;
VT = 25.85e-3;
N = 1.752;

% Reusable constants
NVT = N*VT;
one_NVT = 1/(NVT);

% Compute alfa
alpha = (R*Is)/(N*VT);

%% Trivial
for n=1:length(Vin)

    % Read input
    xn = Vin(n);
    
    % Trivial diode clipper
    lambda = sign(xn);
    beta = lambda*one_NVT;
    Lu = Lambert_W_Fritsch(alpha*exp(beta*xn));
    Vout(n) = Vin(n) - lambda*NVT*Lu;

end

end

