`include "discipline.h" `include "constants.h" module AMmodulator (out, in); input in; output out; electrical out, in; parameter real freq = 1 from (0:inf); parameter real mod_index = 1; analog begin V(out) <+ (1+mod_index*V(in)) * cos(2*`M_PI*freq*$abstime); $bound_step( 0.05 / freq ); end endmodule module PMmodulator (out, in); input in; output out; electrical out, in; parameter real freq = 1 from (0:inf); parameter real kp = 1; analog begin V(out) <+ cos(2*`M_PI*freq*$abstime + kp*V(in)); $bound_step( 0.05 / freq ); end endmodule module FMmodulator (out, in); input in; output out; electrical out, in; parameter real freq = 1 from (0:inf); parameter real fd = 1; analog begin V(out) <+ cos(2*`M_PI*(freq*$abstime + idtmod(fd*V(in),0,1, -0.5))); $bound_step( 0.05 / freq ); end endmodule