<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)">
<style><!--
/* Font Definitions */
@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.EmailStyle17
        {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";
        mso-fareast-language:EN-GB;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@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">Not really as I’m not an r.f. person.  But I think Neil’s suggestion looks like the audio equivalent anyway, as it says in the datasheet.<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>
<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""> Rutger Vlek [mailto:rutgervlek@gmail.com]
<br>
<b>Sent:</b> 06 January 2022 12:36<br>
<b>To:</b> Mike Bryant<br>
<b>Cc:</b> SDIY List<br>
<b>Subject:</b> Re: [sdiy] Time-varying all-pass filters<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Thanks Mike!<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Any specific design you could refer to?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">R.<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Op do 6 jan. 2022 12:45 schreef Mike Bryant <<a href="mailto:mbryant@futurehorizons.com">mbryant@futurehorizons.com</a>>:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal"><br>
Hi Rutger<br>
<br>
If I understand you correctly then I think an analogue domain implementation does exist but in radio receivers.   Not sure how applicable they are to audio frequencies as the required frequency range is probably much wider but might be worth a look.<br>
<br>
Mike<br>
<br>
-----Original Message-----<br>
From: Synth-diy [mailto:<a href="mailto:synth-diy-bounces@synth-diy.org" target="_blank">synth-diy-bounces@synth-diy.org</a>] On Behalf Of Rutger Vlek via Synth-diy<br>
Sent: 06 January 2022 10:04<br>
To: SDIY List<br>
Subject: [sdiy] Time-varying all-pass filters<br>
<br>
Dear list,<br>
<br>
In the last months I’ve been fantasising about a new mono synth (for personal use, nothing commercial), that could provide classic sounds, but also something slightly more original (at least for me). I’ve been reading a lot about FM/PM, about formant synthesis
 and pulse-forming, and about windowed-sync. I’ve done experiments with combinations of these on my Nord Modular G2 (digital) and found them musically really satisfying!<br>
<br>
So now I’m making small steps towards a first prototype of these ideas in analog. Originally, I planned to do a thru-zero triangle core oscillator, after I read older threads about how David Dixon and Bernie Hutchins implemented it, but felt the circuit complexity
 and potential impact on tuning stability was not really outweighing my limited use of FM/PM sounds. So, I decided to start looking for simpler ways to obtain some of the sounds characteristic of PM/FM, as well as the possibility to obtain sine-to-saw and sine-to-square
 waveshaping by means of self-modulation. Rob Hordijk made a nice implementation of this type of waveshaping in his OscHRM.<br>
<br>
Then it occurred to me that, assuming the input is a sine wave, a phase shifted version up to 180 degrees could be obtained from modulating an all-pass filter that is also tracking along with the pitch of the oscillator. The most important benefit of this approach
 is that the whole PM stuff becomes separated from the oscillator core, just like a wave shaper, and would guarantee stable tuning, even in cases of self-modulation (from the output of the all-pass filter back to it’s frequency input). So I prototyped it in
 my Nord Modular, and it works rather well! It’s not identical to true FM/PM, but provides sounds with very similar characteristics and allows for forms of self-modulation as well! When I searched the internet and archives of this list, I found the idea was
 not really new, and others have at least written about it.<br>
<br>
Then I moved to Spice modelling of an analog equivalent, and discovered something unexpected. Without modulation, the circuit operates at unity gain, preserving a sine wave of the same amplitude (10Vpp) as the input. However, depending on the modulation signal,
 excursions of up to 3 times this amplitude occur at the output. Going back to my Nord Modular, I realised the exact same thing is happening there, but the Nord’s headroom is sufficient to deal with it. So then I discovered that classic all-pass filter implementations
 do not generalise to time-varying applications…. <br>
<br>
It turns out that there are special implementations for time-varying all-pass filters in the digital domain:
<a href="https://www.researchgate.net/publication/3343262_Time-varying_generalizations_of_all-pass_filters" target="_blank">
https://www.researchgate.net/publication/3343262_Time-varying_generalizations_of_all-pass_filters</a>. I have not been able to figure out if they exist (or can be designed along the same principles) in the analog domain. Does anyone have experience with this
 in analog? If not, I could consider designing for more headroom than I anticipated, or could try and soft-limit the output of the all-pass filter.<br>
<br>
Any suggestions or insights are appreciated!<br>
<br>
Rutger<br>
<br>
ps. Happy healthy new year!<br>
<br>
<br>
_______________________________________________<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><o:p></o:p></p>
</blockquote>
</div>
</div>
</body>
</html>