I'm trying to stimulate a circuit by applying a signal which repeatedly does this: - Output sine wave (square would suffice), -1v to +1v, 50Hz for 5 cycles
- Output rectified sine wave (square would suffice), 0v to 1v, 50Hz for 5 cycles
I tried using the CSV voltage source to implement this with PWS-generated square waves, but it seems it just DC at +1v with the following used as the value: 0,1,0.01,0,0.02,1,0.03,0,0.04,1,0.05,0,0.06,1,0.07,0,0.08,1,0.09,0,0.10,1,0.11,-1,0.12,1,0.13,-1,0.14,1,0.15,-1,0.16,1,0.17,-1,0.18,1,0.19,-1,0.20,1 I also tried using the following with a voltage source, but it just output 0v: if( t>0.1, sin( 2 * pi * 50 ), max( sin( 2 * pi * 50),0 ) ) what am I doing wrong? Thanks |
by Jodes
March 23, 2014 |

i) You haven't posted a public or unlisted circuit so no-one can see what you might have done wrong. Using the CL CSV source and pasting your CVS list into it does not appear to work: you just get a steady 1V out as you already found however, your CVS list works OK when pasted into an ideal voltage source using a PWS() function; I don't know why the CL CSV source doesn't work. You probably should raise a BUG REPORT about it as described in: https://www.circuitlab.com/forums/support/topic/8s9n9hav/how-to-use-the-circuitlab-support-forum/ ii) The reason your if() statement didn't work is that your arbitrary source expressions are missing the "T" for time. Hence they are stuck at a multiple of 2*pi and so the sine is always zero. To make a time varying sinusoid, the expression should be of the form:
See: https://www.circuitlab.com/docs/circuit-elements/#behavioralsources :) |
by signality
March 23, 2014 |

Thanks again @Signality. The PWS function within the ideal voltage source component worked. I will investigate your suggestions on the other methods at some point soon and report back. (Although I must point out that when using the sine functions, I used lower case T rather than upper case, which perhaps was not recognised as the time variable?) |
by Jodes
March 24, 2014 |

Hi, CL, unlike spice, is case sensitive so an expression like:
will work but
will not. As I said earlier, your circuit is private, so I based my comment on the missing 'T' in your sine sources on the text you quoted: "f( t>0.1, sin( 2 * pi * 50 ), max( sin( 2 * pi * 50),0 ) )" which has no time parameter in it. :) |
by signality
March 24, 2014 |

Hi folks, I was facing the same problem with the "non-working" CSV Voltage source. In fact, there is something very important: 1 instruction per line !! Here is the corrected version: |
by scharpen
March 24, 2015 |

Oups !!! It is a 1year old message. I saw 2014, but read 2015... Pfff... getting old ;-) |
by scharpen
March 24, 2015 |

This posting still helped me in 2020. Thanks. |
by Dan.Ka
November 11, 2020 |

Please sign in or create an account to comment.

CircuitLab is an in-browser schematic capture and circuit simulation software tool to help you rapidly design and analyze analog and digital electronics systems.