<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">If anybody is thinking of doing this digitally, you might want to read up on the Continuous Wavelet Transform.   Then once you realise your DSP isn’t up to
 it, have a look at the Discrete Sub Band Transform, aka Wavelet Packet Decomposition.  This gives as accurate results as the Discrete Wavelet Transform with less group delay problems, and given enough processing power is able to decompose even the human voice
 in real time.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Synth-diy [mailto:synth-diy-bounces@synth-diy.org]
<b>On Behalf Of </b>Mr&MrsAccount<br>
<b>Sent:</b> 17 December 2021 21:41<br>
<b>To:</b> Jean-Pierre Desrochers; 'Tom Wiltshire'<br>
<b>Cc:</b> synth-diy@synth-diy.org<br>
<b>Subject:</b> Re: [sdiy] Best & fastest envelope follower schematic.. anybody ?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="color:black">Remember that high order filters don't come without their own baggage...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">They suffer from greater group delay (which could be a problem) and poor transient response (also a problem).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Especially in a use where the input could start at zero or suddenly return to zero, the overshoots can be a killer.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">I've been making filters to isolate the fundamental of Guitars for many (now many mnay) years.   The settling times are longer than the delay of the guitar signal itself, therefore the delays...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<div id="OLK_SRC_BODY_SECTION">
<div id="OLK_SRC_BODY_SECTION">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 12.0pt;margin-left:9.6pt;margin-right:0cm">
<div class="MsoNormal" align="center" style="text-align:center"><span style="color:black">
<hr size="5" width="100%" align="center" id="MESSAGE_DATA_MARKER">
</span></div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><strong><span style="color:black">From:
</span></strong><span style="color:black">Jean-Pierre <jpdesroc@oricom.ca><br>
<strong>To: </strong>'Tom <tom@electricdruid.net><br>
<strong>Cc: </strong>synth-diy <synth-diy@synth-diy.org><br>
<strong>Date: </strong>Friday, 17 December 2021 10:39 AM EST<br>
<strong>Subject: </strong>Re: [sdiy] Best & fastest envelope follower schematic.. anybody ?<o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black">> This would be the digital equivalent to the single pole RC. It should be possible to get better ripple suppression by using higher order
 filters. Harald showed that he got a better response using a fourth-order filter.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black"><br>
So.. how can I modify the C1 section to get for example a fourth-order filter ?<br>
To do it the way the signal flows across C1 is a bit confusing..<br>
The signal comes from the left side but the clamping comes from D1 at right side.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black">I know how to implement high order filters in circuits but only<br>
if I know the signal flow direction..</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black"><img width="608" height="460" id="Image_x0020_1" src="cid:image001.png@01D7F331.833F9BD0"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black"> <o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><strong><span lang="FR" style="color:black">De :</span></strong><span lang="FR" style="color:black"> Synth-diy <synth-diy-bounces@synth-diy.org>
<strong>De la part de</strong> Tom Wiltshire<br>
<strong>Envoyé :</strong> 17 décembre 2021 08:37<br>
<strong>À :</strong> Martin Klang <mars@pingdynasty.com><br>
<strong>Cc :</strong> synth-diy@synth-diy.org<br>
<strong>Objet :</strong> Re: [sdiy] Best & fastest envelope follower schematic.. anybody ?</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black">This would be the digital equivalent to the single pole RC. It should be possible to get better ripple suppression by using higher order filters. Harald
 showed that he got a better response using a fourth-order filter.<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span style="color:black"><o:p> </o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black">On 16 Dec 2021, at 16:26, Martin Klang <<a href="mailto:mars@pingdynasty.com" target="_blank">mars@pingdynasty.com</a>> wrote:<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">I think an envelope follower with no lag is called a rectifier.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">Jokes aside, there are a number of options available but ultimately it comes down to filtering.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">For digital envelope followers, I like to use a simple exponential average (aka leaky integrator, a first-order IIR filter) on the fully rectified signal and tune the time constant
 to the expected input signal. Generally you want it to be fast, but not so fast as to track the waveform oscillations, even at say 20 Hz. This makes a computationally very efficient follower with predictable results.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">best,</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">Martin</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;word-spacing:0px">
<span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">On 16/12/2021 01:36, Jean-Pierre Desrochers wrote:</span><span style="color:black"><o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt;word-spacing:0px">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black">Here is my goal..<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black">I need a circuit that will take an AC signal and will shift level it from<br>
a DC offset extracted from its min & max Peaks..<br>
Ex: Suppose you have steady +/- 5v peak sine wave coming in this circuit,<br>
The output would be the same waveform but shifted up to +5vdc.<span class="apple-converted-space"> </span></span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black">So 0 to +10vdc.<br>
That final waveform would be much usable for a 0-5vdc control voltage input<br>
than the original AC waveform.<br>
Now the challenge is to do the same with a level changing AC signal.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-CA" style="color:black">In the case of a<span class="apple-converted-space"> </span><u>steady waveform</u><span class="apple-converted-space"> </span>this ‘level shifter’
 could be an opamp that would add half of the peak to peak voltage as an offset DC voltage,<br>
But here I’m looking for something that will be more versatile<br>
to handle varying level waveform.<br>
<br>
</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-CA" style="color:black"> </span><span style="color:black"><o:p></o:p></span></p>
</div>
</blockquote>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:9.0pt;font-family:"Helvetica","sans-serif";color:black">_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
<a href="http://synth-diy.org/mailman/listinfo/synth-diy" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
Selling or trading? Use <a href="mailto:marketplace@synth-diy.org" target="_blank">
marketplace@synth-diy.org</a></span><span style="color:black"><o:p></o:p></span></p>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</body>
</html>