\documentclass[12pt,border=3pt,tikz,class=scrartcl,multi=false]{standalone}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{mathtools,amssymb,gensymb}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usetikzlibrary{positioning,calc,arrows,fit,backgrounds,decorations.text,shapes}
\usepackage[american]{circuitikz}
\pagestyle{empty}
\thispagestyle{empty}
\begin{document}
\renewcommand{\baselinestretch}{.5}
\begin{circuitikz}[american]
\draw [thick,scale=1]
(-2,-2) to [D,*-] ++(2,2)
to [D,*-] ++(2,-2)
(-2,-2) to [D,-*] ++(2,-2)
to [D,-*] ++(2,2)
(0,0) |- ++(-4,1)
to [sV] ++(0,-6)
-| (0,-4)
(2,-2) to [short,-o] ++(5,0) node [right] {$+$V\textsubscript{O} }
(3,-6) node [ground] {} to [pC=C1,*-*] ++(0,4)
(5,-6) to [R=R1,*-*] ++(0,4)
(-2,-2) -| ++(-1,-4)
to [short,-o] ++(10,0) node [right] {GND}
;
\node at (0,-2) {D1};
\node at (-5,-2) [text width=1cm] {V1\\50Hz\\0\degree};
\begin{scope} [xshift=6.5cm,yshift=-5cm,smooth,domain=0:4,samples=200,line cap=round,
declare function ={getS(\x) = 1+cos((2*3.14*\x+3.14) r);}
]
\draw [-latex,thick] (0,0) -- (4.5,0);
\draw [-latex,thick] (0,0) node [left] {0V} -- (0,2.5);
\draw [thick,dashed] plot(\x,{getS(\x)});
\draw [red,very thick,domain=0:.5] plot(\x,{getS(\x)});
\foreach \xx in {1.5,2.5,3.5}{
\draw [red,very thick,domain=\xx-.1:\xx] plot(\x,{getS(\x)});
\draw [red,very thick] (\xx-1,{getS(\xx-1)}) -- (\xx-.1,{getS(\xx-.1)});
}
\draw [red,very thick] (3.5,{getS(3.5)}) -- (4.4,{getS(4.4)});
\end{scope}
\end{circuitikz}
\end{document}