<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi Bernie,</p>
    <p><br>
    </p>
    <p>I find that a subject I looked at many years ago has re-surfaced
      here at Synth-DIY, fun times.<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 2019-01-13 20:45, Bernard Arthur
      Hutchins, Jr wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span style="font-size:12.0pt;font-family:"Courier
            New";mso-fareast-font-family:"Times New
            Roman";
            color:black"><o:p>A Good Project ? </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span style="font-size:12.0pt;font-family:"Courier
            New";mso-fareast-font-family:"Times New
            Roman";
            color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
style="font-size:12.0pt;font-family:"Arial",sans-serif;mso-fareast-font-family:"Times
            New Roman";color:black">I am not an abstract
            mathematician although I do understand “engineering math”
            pretty well, and have thought a good deal how this all
            applies to a particular “application”; a particular
            “receiving system” – the human ear/brain.<span
              style="mso-spacerun:yes"> 
            </span>So to be more productive, let’s transition from
            abstract math to engineering math (with its familiar
            terminology) and thereafter to perceptual and aesthetic
            aspects of PRBS generators (the design aspects being fairly
            clear).<span style="mso-spacerun:yes"> 
            </span>To discuss one notion of some importance to us, what
            does the “spectrum” look like?<span style="mso-spacerun:yes"> 
            </span>Is it “white”? <o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
style="font-size:12.0pt;font-family:"Arial",sans-serif;mso-fareast-font-family:"Times
            New Roman";color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
style="font-size:12.0pt;font-family:"Arial",sans-serif;mso-fareast-font-family:"Times
            New Roman";color:black">Any perceived spectrum must
            pass the physical windows of being limited in frequency to
            about 20 Hz to 15 kHz, and in time to a duration of perhaps
            100 milliseconds per “frame” (“time constant of the ear”). <span
              style="mso-spacerun:yes">
                </span>Recognizing that reasonable length PRBS sequences
            (say N=24 so that 2^N-1 approaches 17 million), and that a
            frame may need to be, say, 4410 samples for 100 ms, we
            usually achieve a reasonably white hiss for each frame.<span
              style="mso-spacerun:yes"> 
            </span>It works.<span style="mso-spacerun:yes">  </span>[There
            is a slight roll-off (reaching -4db) at half the sampling
            frequency due to the hold time of the shift register
            clockings.
            <span style="mso-spacerun:yes">     </span><span
              style="mso-spacerun:yes"> </span><span
              style="mso-spacerun:yes">  </span><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Problems
            are expected if the shift register is too short (say only
            N=5 so that 2^N-1 is only 31 and thus repeats at something
            like a kHz – strongly pitched.<span style="mso-spacerun:yes"> 
            </span>Or, as Richie’s N=127 demonstrated, apparently it can
            be way too long to avoid very audible traps.<span
              style="mso-spacerun:yes"> 
            </span>And any remaining problems can likely be handled by
            EXORing the longer sequence with a shorter one, as discussed
            above.<span style="mso-spacerun:yes"> 
            </span>So the problem of getting a reliable white noise
            generator is under control, and this noise can be
            additionally filtered (perhaps with a bandpass VCF) as
            desired.</span></p>
      </div>
    </blockquote>
    <p>We must recall that any of these methods is only pseudo-random,
      and what is good enough so much depends on what we need it to do
      for us to perceive it as a good replacement of a true random
      source, where the benefit would be in implementation form and
      avoiding issues.</p>
    <p><br>
    </p>
    <p>The repetition rate is one known limit, if it repeats to often, a
      form of beating pattern is experienced. Some of the older analog
      synths had that issue but later used pseudo-random patters being
      longer. I ended up listening to such patterns when working
      professionally to measure the impulse response of speakers, so it
      is all to apparent sound memory to me, I even miss it now.</p>
    <p><br>
    </p>
    <p>The other end of the spectrum is the density, if it is not dense
      enough narrow filters sweeping slowly would pick out single
      spectrum tones rather than narrowband noise.</p>
    <p><br>
    </p>
    <p>Both these is addressed by having long enough sequence, and long
      enough sequence isn't all that expensive to achieve, so there is
      no real excuse. The needed pattern to achieve it is a needed
      input, but that can be tabulated and we have seen some useful once
      passing by already.</p>
    <p><br>
    </p>
    <p>A third aspect is to ensure that it goes high enough, and that is
      really down to clock frequency, and if you have a long enough
      pattern there is no real excuse to keep the frequency down either.</p>
    <p><br>
    </p>
    <p>With these basic properties addressed we should have "white"
      noise, in a spectrum sense.<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"><span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">NOW........<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">That’s
            HALF the story:
            <span style="mso-spacerun:yes"> </span>– white noise as raw
            material for processing into musical SOUND.<span
              style="mso-spacerun:yes"> 
            </span>The other application is the use of a PRBS to
            generate “random tunes” (melodies) like the Psych Tone.<span
              style="mso-spacerun:yes"> 
            </span>It is unlikely that we are interested in melodies of
            only two pitches, nor of sequences as long or longer than
            about a dozen.<span style="mso-spacerun:yes"> 
            </span>As importantly, we should be concerned with the
            DEGREE OF CORRELATION BETWEEN SUCCESSIVE PITCHES<span
              style="mso-spacerun:yes"> 
            </span>- what is “traditional”?<span
              style="mso-spacerun:yes">  </span>Thus, several relevant
            factors come in:<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span class="MsoHyperlink"><span
              style="font-size:12.0pt;font-family:"Arial",sans-serif"><a
                href="http://electronotes.netfirms.com/EN76.pdf"
                id="LPlnk849693" class="OWAAutoLink"
                previewremoved="true" moz-do-not-send="true">http://electronotes.netfirms.com/EN76.pdf</a></span></span><span
            style="font-family: Arial, sans-serif; font-size: 12pt;"> </span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">First
            we probably use a much much slower PRBS clocking rate, since
            we probably want notes coming out (likely as control
            voltages to a VCO) at perhaps from about 2 to about 10 tones
            per second.<span style="mso-spacerun:yes"> 
            </span>And we want many more possible pitch levels (perhaps
            40 or so – half a piano keyboard if conventionally
            configured).<span style="mso-spacerun:yes"> 
            </span>And, as suggested, a total trial sequence length of
            perhaps at most a dozen tones – AND we prefer it to be
            exactly reproducible.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p><br>
            </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Getting
            more than just two output levels is almost certainly a
            matter of adding up multiple register stages.<span
              style="mso-spacerun:yes"> 
            </span><span style="mso-spacerun:yes"> </span>For example,
            we could sum 12 stages (12 “taps”).<span
              style="mso-spacerun:yes"> 
            </span>[This we CAN do, perhaps offering nothing really new,
            even if the sequence length is less than 12 by extending the
            shift register in feed-forward beyond the lasts tap fed back
            – just delayed values of the output.]<span
              style="mso-spacerun:yes"> 
            </span>The output is thus numbered as the sum of from 1 to
            12 (possibly 0 to 12) ones, not just a 0 or a 1. This
            “running sum” produces tones approaching a Gaussian
            distribution and one that is very HIGHLY CORRELATED (low-
            passed).
            <span style="mso-spacerun:yes"> </span>This sum is NOT white
            (it is often termed “Red Noise”).
            <span style="mso-spacerun:yes"> </span>In fact, for the next
            output value, the SUMMED bits on the registers can either
            stay the same, go up by 1, or down by 1.<span
              style="mso-spacerun:yes"> 
            </span>No big jumps (melodically just arpeggio phrases).<span
              style="mso-spacerun:yes"> 
            </span>Likely too boring.<span style="mso-spacerun:yes">   
            </span><span style="mso-spacerun:yes"> </span><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"> 
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p><br>
            </o:p></span></p>
      </div>
    </blockquote>
    You most likely want to achieve the Gaussian shaping, but this is
    not recommended when running the PRBS slow, the slow rate is better
    achieved by S/H of a PRBS running at a good rate. The filtering
    effect wears off due to the short time-span of the FIR-like shaping,
    which extends the length of the PRBS generator times the clock
    period.<br>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Alternatives
            to uniforms tap weights should be considered.<span
              style="mso-spacerun:yes"> 
            </span>Here it may be useful to point out that we are
            talking about the “impulse-response” of a digital FIR
            [Finite (length) Impulse Response] filtering. For example,
            binary weighing (resistors in powers of 2 summing – a
            somewhat standard “D/A”<span style="mso-spacerun:yes"> </span>converter)
            can be used, but why not experiment?<span
              style="mso-spacerun:yes">  </span>With this weighting, a
            particular 1 might enter the converter as a MSB (big change)
            and leave as the LSB (small change). The distribution still
            approaches Gaussian and is still not nearly white, a degree
            of low-passing correlation still apparent. <o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Neuvo
            and Ku (IEEE reference in link above) used an all-digital
            similar approach to this summing issue.
            <span style="mso-spacerun:yes">  </span>They added up a
            “frame” of M samples of the PRBS generator, latched and
            converted this as a “word” and then went on to the next M
            bits, keeping none of the previous sample.
            <span style="mso-spacerun:yes"> </span>Thus the successive
            words were uncorrelated and the generator as a whole was
            white.<span style="mso-spacerun:yes"> 
            </span>This was a noise generator and was a
            cement-block-like wire-wrapped TTL tour de force. Similar
            Psych Tone speed approaches (and more!) in software seem
            quite doable.</span></p>
      </div>
    </blockquote>
    One technique to do Gaussian is adding a number of uniformly shaped
    samples together. 12 of these gives the RMS value of 1, which is a
    trick used in many simulations. It fails to give the long tails, so
    the Box-Mueller form is used in simulations, but is unsuitable for
    simple analog/digital setups.<br>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"><span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Another
            way to avoid the excessive correlation of the moving sum (or
            even the binary weighting would be to spread the taps
            further apart and perhaps more randomly. Also, it is unclear
            what the use of “non-minimal length” sequences might do to
            correlation. But just what are we looking for?<span
              style="mso-spacerun:yes"> 
            </span></span></p>
      </div>
    </blockquote>
    You never really get away from it. Operating it at the slow rate is
    the core flaw, the polynomial doesn't really help.<br>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"><span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Well
            first keep in mind that we want some sort of weighting to
            give many possible pitch levels.<span
              style="mso-spacerun:yes"> 
            </span>This we get, approaching Gaussian, through the
            summation and courtesy of the Central Limits Theorem.
          </span></p>
      </div>
    </blockquote>
    <p>You should be happy that Central Limits Theorem works for you
      here, sort of, in several of the hairy things I work with, it no
      longer applies and Gaussian shape goes away... but for now we can
      assume it.</p>
    <p><br>
    </p>
    <p>But, the Gaussian shape, which is a consequence of Central Limits
      Theorem assumed independent samples. Now, for a pseudorandom noise
      they are not truely independent, and for the short time-scale the
      Gaussian shaping attempts makes them for sure not independent,
      they will have a filtering effect. This is the key reason you must
      run the pseudo-random sequence at a much higher rate than you
      anticipate to use it and it's "Gaussian" shape.</p>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"><span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Correlation
            is a separate issue.<span style="mso-spacerun:yes"> 
            </span>“White” means noncorrelated.<span
              style="mso-spacerun:yes">  </span>That is, without
            correlation a particular current pitch offers no clue as to
            what pitch is coming next.
            <span style="mso-spacerun:yes"> </span>Each new pitch is a
            surprise and all melodic intervals are about equally likely.
            <span style="mso-spacerun:yes">  </span>Filtering (making
            the spectrum non-white), as with the “running sum” above,
            gives us next pitches that are either the same as the
            current one or one step up or one step down.
            <span style="mso-spacerun:yes"> </span>Neither of these
            contrasting cases resembles our ingrained experience with
            musical melody which is a balanced mixture of fulfilled
            expectation and surprise.<span style="mso-spacerun:yes"> 
            </span><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"> 
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p><br>
            </o:p></span></p>
      </div>
    </blockquote>
    <p>Well, white does not actually means non-correlated. You can have
      two white noises which is correlated with each other, so it's not
      a good way to describe it. It's called "white" as it contains "all
      colors" evenly, thus it has equal power to all frequencies. For
      thermal noise, also called Johnsson noise, it will be white up to
      it's natural bandwidth roll-off frequency. Regardless of source,
      often "white" noise is non-correlated, but it can be correlated
      regardless if it is true random noise or pseudo-random noise. For
      the impulse response measurement, we use the fact that the noise
      is both correlated and "white" to extract the impulse response.
      With modern processing you can actually use true random noise as
      trigger and then correlate the response with the original noise to
      extract the same impulse response. We could actually do that
      before too, because the mathematical tools haven't changed, just
      our ability to real-time process it.</p>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">Voss
            and Clarke [J. Acoust. Soc. Amer., “ ‘1/f Noise’ in Music:
            Music from 1/f Noise”, Vol. 63 (1978)] and subsequent
            authors indicated that musical tradition with regard to
            melody (and many other things) showed an inherent 1/f POWER
            spectrum. <span style="mso-spacerun:yes"> </span>That is,
            it was neither flat (white - uncorrelated) nor was it the
            1/f (Amplitude – 1/f^2 in Power) typical of an
            integrator/summation; but rather 1/sqrt(f) usually called
            “Pink Noise”.<span style="mso-spacerun:yes">  </span>So
            with regard to a secession of tones acceptable as a melody
            we prefer to have expectation sometimes fulfilled as well as
            numerous surprises.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif">A
            search of the Internet will produce a good deal about 1/f
            and pink sequence and generation algorithms.<span
              style="mso-spacerun:yes"> 
            </span>Any person experimenting with a software version of
            Psych-Tone-like structures might do well to consider how
            PRBS sequences might relate to 1/f.<span
              style="mso-spacerun:yes">  
            </span><span style="mso-spacerun:yes"><br>
            </span></span></p>
      </div>
    </blockquote>
    <p>The 1/f power spectrum density noise, also known as flicker
      noise, has been a keen interest to the time and frequency
      community. Dr. James "Jim" Barnes at NBS (now NIST) in Boulder did
      research in simulating the 1/f spectrum from white noise. His work
      has since inspired the topologies used for analog synthesizers.</p>
    <p>His peer Dr. David "Dave" Allan was able to make sense of the
      statistics of it.</p>
    <p><br>
    </p>
    <p>If you want to experiment with noise-types, you can download the
      Stable32 software from IEEE UFFC for free. It's written by Dr.
      William "Bill" Riley and includes simulation of these noise-types.</p>
    <p><br>
    </p>
    <p>When doing cross-correlation phase-noise measurements, the
      thermal noise causes destructive correlation, confusing
      measurments and it looked like you had about -300 Kelvin noise
      temperature, which is naturally not physical. We now resolved how
      that could appear and it was only when I presented the
      cross-correlation interferometric setup that NIST could start to
      make measurement at the noise-floor, but still very hard to
      achieve.</p>
    <p><br>
    </p>
    <p>For noise simulation, the true master would be Dr. Charles
      "Chuck" Greenhall of JPL. It can be worth searching for his
      papers. One of the few real thinkers that does the deep thoughts
      of the time and frequency field.</p>
    <p><br>
    </p>
    <p>Anyway, make sure to keep that clock rate up, running it low is
      not a good solution.<br>
    </p>
    <p><br>
    </p>
    <p>Cheers,</p>
    <p>Magnus<br>
    </p>
    <blockquote type="cite"
cite="mid:BN7PR04MB429227129936CAA1E6F8D6DFBC870@BN7PR04MB4292.namprd04.prod.outlook.com">
      <div id="divtagdefaultwrapper"
style="font-size:10pt;color:#000000;font-family:Arial,Helvetica,sans-serif;"
        dir="ltr">
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt"><span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p>-
              Bernie</o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="margin-bottom:0in;margin-bottom:.0001pt;line-height:
          normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt
          320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt
          641.2pt 687.0pt 732.8pt">
          <span
            style="font-size:12.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
      </div>
      <hr style="display:inline-block;width:98%" tabindex="-1">
      <div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
          face="Calibri, sans-serif" color="#000000"><b>From:</b>
          Bernard Arthur Hutchins, Jr<br>
          <b>Sent:</b> Monday, January 7, 2019 7:51:53 PM<br>
          <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:synth-diy@synth-diy.org">synth-diy@synth-diy.org</a><br>
          <b>Subject:</b> [sdiy] Long LFSRs (Was Psych Tone)</font>
        <div> </div>
      </div>
      <style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
      <div dir="ltr">
        <div id="x_divtagdefaultwrapper" dir="ltr"
          style="font-size:10pt; color:rgb(0,0,0);
          font-family:Arial,Helvetica,sans-serif,EmojiFont,"Apple
          Color Emoji","Segoe UI
          Emoji",NotoColorEmoji,"Segoe UI
          Symbol","Android Emoji",EmojiSymbols">
          <p style="margin-top:0; margin-bottom:0"><span
              id="x_ms-rterangepaste-start"></span></p>
          <p class="x_MsoNormal"><span style="font-size:12.0pt;
              line-height:107%;
              font-family:"Arial",sans-serif">Achim said:<span
                style="">   
              </span><span style=""> </span></span><span
              style="font-size:12.0pt; line-height:107%;
              font-family:"Arial",sans-serif; color:black">“An
              EXOR is simply multiplication (given the right encoding).”</span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black">True
              and widely understood.
            </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black">Achim
              followed with: “That is what allows an LFSR to implement a
              matrix multiplication with such low hardware complexity.”</span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black">I
              have no idea what that means – please elaborate.</span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black">Matthew
              then replied:<span style="">  
              </span><span style=""> </span>“It's also addition, in a
              different encoding - and that's the reason for the LFSR to
              be called linear.<span style=""> 
              </span>All these "polynomials" are polynomials defined
              over the field GF(2), in which the addition operation is
              the same thing as XOR on bits.”</span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif">EXOR is still
              non-linear in the PRBS structure – the particular
              application under discussion here.
              <span style="">  </span>Compare, for example, the
              marvelous Karplus-Strong “plucked string algorithm” which
              is a similar-looking long shift register with two weighted
              feedback taps at the very end back to the input (typically
              both being ½, and ADDED).<span style=""> 
              </span>This IS linear, and K-S, generalized, IS a
              perfectly understood linear filter in a feedback loop.
            </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif">Next, with
              regard to my suggesting using a shorter PRBS sequence to
              correct for the “tricks” played by a longer ones
              (blundering into audible special cases that linger), Achim
              said:
              <span style=""> </span><span style="">  </span><span
                style=""> </span>“</span><span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black">Yes.<span
                style=""> 
              </span>That works because whatever the original
              distribution(s), mixing them will (rather quickly under
              easily met conditions) converge towards a Gaussian </span><span
              style="font-family:Arial,sans-serif; font-size:12pt">one
              (says the central limit theorem).”</span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif; color:black"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif">I was saying
              that you MULTIPLY the two sequences by EXOR.<span style=""> 
              </span>The little guy simply “chops up” any misbehavior of
              the long sequence. <span style="">
                  </span>They are not added so the CLT does NOT apply.<span
                style="">  </span>The EXORed output still has a uniform
              (1 or 0) non-Gaussian distribution.
              <span style=""> </span>The spectrum is AS white as the
              PRBS’s themselves. [Meaning: technically the PRBS takes on
              the spectrum (sync low-pass roll-off) of the
              sample-and-hold that is inherent in the shift register].</span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif">One last thing:<span
                style=""> 
              </span>By chance today I same across another PRBS
              reference that mentions several interesting things – like
              the “heartbeat” issue just mentioned.<span style="">  
              </span></span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif"><a
                href="http://electronotes.netfirms.com/Noise2.pdf"
                id="LPlnk179753" class="x_OWAAutoLink"
                moz-do-not-send="true">http://electronotes.netfirms.com/Noise2.pdf</a></span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif"> </span></p>
          <p class="x_MsoNormal" style="margin-bottom:0in;
            margin-bottom:.0001pt; line-height:normal">
            <span style="font-size:12.0pt;
              font-family:"Arial",sans-serif">-Bernie</span></p>
          <span id="x_ms-rterangepaste-end"></span><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Synth-diy mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Synth-diy@synth-diy.org">Synth-diy@synth-diy.org</a>
<a class="moz-txt-link-freetext" href="http://synth-diy.org/mailman/listinfo/synth-diy">http://synth-diy.org/mailman/listinfo/synth-diy</a>
</pre>
    </blockquote>
  </body>
</html>