Jump to content

Quasi Sine Generator


Enthalpy

Recommended Posts

I forgot to explain in the last message that, when a Dirac is negative in the convolving sequence, and has the position p after multiplication by the harmonic rank, I replace it with a positive one at position T/2-p or T/2+p. The effect on the harmonic's amplitude is the same. Diracs all positive can then be grouped just by their spacings.

==========

Here's a algebraic proof that H5=H7=0 in the (210, 5, 14, 16) sequence I proposed and depicted on
Mar 04, 2018 9:05 pm and Mar 17, 2018 8:33 pm

I multiply the positions by 5 respectively 7, replace the negative Diracs positions p by positive ones at T/2-p, compute modulo T=210, and sort by increasing positions:

================================
      +   -   +   -   +   -   +
H1  -16 -14  -5   0   5  14  16
================================
H5  130 175 185 105  25  35  80
     25  35  80 105 130 175 185
================================
H7   98 203 175 105  35   7 112
      7  35  98 105 112 175 203
================================

Then I group the Diracs:
H5 (25 130) (80 185) (35 105 175)
H7  (7 112) (98 203) (35 105 175)
The pairs are T/2=105 ticks apart, the triplets T/3=70, so the sums are zero.

This very short sequence was manageable by looking at the numbers. The previous (180, 4, 10, 16, 30, 36) needed drawings. Sequences with 27 transitions need some better help.

==========

The proofs explain why highly composite sequence lengths like 180 or 210 favour the suppression harmonics. They don't explain why the rank of a suppressed harmonic divides the length of the found sequences. Was it a coincidence?

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

Detail improvement let my dumb program
Search2931357.zip
find T=210 waveforms with 29 and 31 transitions per half-period. They increase the H1 amplitude or squeeze the H3 further, as compared with the waveforms of
Mar 03, 2018
that make the top of the table here.

  H1   H3   H5   H7   H9 |   T  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
============================================================================
0.73 -104  nil  nil  -23 | 210  2  7 14 16 19 20 26 28 42 43
0.34 -114  nil  nil    6 | 210  3  6  7 14 22 35 36 38 43 45 46
0.59 -111  nil  nil  -19 | 210  5  6 10 14 16 17 19 20 29 32 44 46
0.38 -114  nil  nil   -8 | 210  1  2  4  6 10 19 25 34 35 39 41 43 46
============================================================================
0.61 -111  nil  nil  -19 | 210  3  4  5  6 11 14 15 17 26 27 29 31 43 45
0.42 -115  nil  nil   -9 | 210  1  2  4  9 16 19 24 26 29 31 35 36 41 43 51
0.30 -116  nil  nil   -6 | 210  2  9 18 21 22 24 28 30 32 33 38 40 43 45 51
============================================================================

T=180 is bad but here T=210 improves a bit.

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

T was twice longer than needed on
Jan 21, 2018 9:58 pm
T=90 and T=210 allow H3=H5=0, so here's an aggiornamento:

  H1   H3   H5   H7   H9  H11  |   T  a  b  c  d  e
====================================================
0.42  nil  nil   -2    2   -3  |  90  2  5  8 15 18
0.71  nil  nil   -9  -11   -3  |  90  4  9 10 15 16
0.79  nil  nil  -20  nil    1  | 210  3 10 15 30 32
====================================================

H3=0 for the first time with T=210.

More harmonics show that the second waveform outperforms the first one. The third suggests two matched resistors to squeeze H7. (210, 5, 14, 16) suggested already two matched resistors to squeeze H3 and H9 at once.
Mar 04, 2018 9:05 pm

Link to comment
Share on other sites

Here's an algebraic proof that H3=H5=0 for the waveform (210, 3, 10, 15, 30, 32) of
Jan 21, 2018 9:58 pm updated May 07, 2019

-------------------------------------------------------------------------
Dirac sign     |     +    -    +    -    +    -    +    -    +    -    +
Positions      | [ -32  -30  -15  -10   -3    0 ]  3   10   15   30   32
-------------------------------------------------------------------------
*3, +T/2 if -  |   114   15  165   75  201  105    9  135   45  195   96
Increasing     |     9   15   45   75   96  105  114  135  165  195  201
Cycles         |    (15 45 75 105 135 165 195)     (96 201)     (9 114)
-------------------------------------------------------------------------
*5, +T/2 if -  |    50  165  135   55  195  105   15  155   75   45  160
Increasing     |    15   45   50   55   75  105  135  155  160  165  195
Cycles         |    (15 45 75 105 135 165 195)     (50 155)     (55 160)
-------------------------------------------------------------------------

First cycles with 7 members.

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

Algebraic proof that H5=H7=0 for some long waveforms listed on
May 05, 2019 06:35 pm

Since T=210 divides by 5 and 7, I don't multiply the Diracs' positions by 5 or 7 any more; instead, I keep them but compute modulo 42 or 30 respectively.


---------- Waveform (210, 2, 7, 14, 16, 19, 20, 26, 28, 42, 43)

                           Waveform
-------------------------------------------------------------
Dirac sign     |   +   -   +   -   +   -   +   -   +   -   +
Positions      |   0   2   7  14  16  19  20  26  28  42  43
               |      -2  -7 -14 -16 -19 -20 -26 -28 -42 -43
-------------------------------------------------------------
                          Harmonic 5
-------------------------------------------------------------
Modulo T/5=42  |   0   2   7  14  16  19  20  26  28   0   1
               |      40  35  28  26  23  22  16  14   0  41
-------------------------------------------------------------
+21 if -Dirac  |   0  23   7  35  16  40  20   5  28  21   1
               |      19  35   7  26   2  22  37  14  21  41
-------------------------------------------------------------
Ordered        |   0   1   2   5   7   7  14  16  19  20  21
               |      21  22  23  26  28  35  35  37  40  41
-------------------------------------------------------------
Cycles         |  (0   7  14  21  28  35)     (7  21  35)
               |      (1  22)     (2  23)     (5  26)
               |     (16  37)    (19  40)    (20  41)
-------------------------------------------------------------
                          Harmonic 7
-------------------------------------------------------------
Modulo T/7=30  |   0   2   7  14  16  19  20  26  28  12  13
               |      28  23  16  14  11  10   4   2  18  17
-------------------------------------------------------------
+15 if -Dirac  |   0  17   7  29  16   4  20  11  28  27  13
               |      13  23   1  14  26  10  19   2   3  17
-------------------------------------------------------------
Ordered        |   0   1   2   3   4   7  10  11  13  13  14
               |      16  17  17  19  20  23  26  27  28  29
-------------------------------------------------------------
Cycles         |  (0  10  20)     (3  13  23)     (7  17  27)
               |      (1  16)     (2  17)     (4  19)
               |     (11  26)    (13  28)    (14  29)
-------------------------------------------------------------


---------- Waveform (210, 1, 2, 4, 6, 10, 19, 25, 34, 35, 39, 41, 43, 46)

                                 Waveform
-------------------------------------------------------------------------
Dirac sign     |   -   +   -   +   -   +   -   +   -   +   -   +   -   +
Positions      |   0   1   2   4   6  10  19  25  34  35  39  41  43  46
               |      -1  -2  -4  -6 -10 -19 -25 -34 -35 -39 -41 -43 -46
-------------------------------------------------------------------------
                                Harmonic 5
-------------------------------------------------------------------------
Modulo T/5=42  |   0   1   2   4   6  10  19  25  34  35  39  41   1   4
               |      41  40  38  36  32  23  17   8   7   3   1  41  38
-------------------------------------------------------------------------
+21 if -Dirac  |  21   1  23   4  27  10  40  25  13  35  18  41  22   4
               |      41  19  38  15  32   2  17  29   7  24   1  20  38
-------------------------------------------------------------------------
Ordered        |   1   1   2   4   4   7  10  13  15  17  18  19  20  21
               |      22  23  24  25  27  29  32  35  38  38  40  41  41
-------------------------------------------------------------------------
Cycles         |      (1  15  29)     (4  18  32)     (7  21  35)
               |         (10  24  38)                (13  27  41)
               |          (1  22)         (2  23)         (4  25)
               |         (17  38)        (19  40)        (20  41)
-------------------------------------------------------------------------
                                Harmonic 7
-------------------------------------------------------------------------
Modulo T/7=30  |   0   1   2   4   6  10  19  25   4   5   9  11  13  16
               |      29  28  26  24  20  11   5  26  25  21  19  17  14
-------------------------------------------------------------------------
+15 if -Dirac  |  15   1  17   4  21  10   4  25  19   5  24  11  28  16
               |      29  13  26   9  20  26   5  11  25   6  19   2  14
-------------------------------------------------------------------------
Ordered        |   1   2   4   4   5   5   6   9  10  11  11  13  14  15
               |      16  17  19  19  20  21  24  25  25  26  26  28  29
-------------------------------------------------------------------------
Cycles         |  (1   6  11  16  21  26)         (4   9  14  19  24  29)
               |                      (5  15  25)
               |      (2  17)             (4  19)             (5  20)
               |     (10  25)            (11  26)            (13  28)
-------------------------------------------------------------------------


---------- Waveform (210, 3, 4, 5, 6, 11, 14, 15, 17, 26, 27, 29, 31, 43, 45)

                                   Waveform
-----------------------------------------------------------------------------
Dirac sign     |   +   -   +   -   +   -   +   -   +   -   +   -   +   -   +
Positions      |   0   3   4   5   6  11  14  15  17  26  27  29  31  43  45
               |      -3  -4  -5  -6 -11 -14 -15 -17 -26 -27 -29 -31 -43 -45
-----------------------------------------------------------------------------
                                  Harmonic 5
-----------------------------------------------------------------------------
Modulo T/5=42  |   0   3   4   5   6  11  14  15  17  26  27  29  31   1   3
               |      39  38  37  36  31  28  27  25  16  15  13  11  41  39
-----------------------------------------------------------------------------
+21 if -Dirac  |   0  24   4  26   6  32  14  36  17   5  27   8  31  22   3
               |      18  38  16  36  10  28   6  25  37  15  34  11  20  39
-----------------------------------------------------------------------------
Ordered        |   0   3   4   5   6   6   8  10  11  14  15  16  17  18  20
               |      22  24  25  26  27  28  31  32  34  36  36  37  38  39
-----------------------------------------------------------------------------
Cycles         |  (3  10  17  24  31  38)         (4  11  18  25  32  39)
               |  (0  14  28)         (6  20  34)         (8  22  36)
               |  (5  26)         (6  27)        (15  36)        (16  37)
-----------------------------------------------------------------------------
                                  Harmonic 7
-----------------------------------------------------------------------------
Modulo T/7=30  |   0   3   4   5   6  11  14  15  17  26  27  29   1  13  15
               |      27  26  25  24  19  16  15  13   4   3   1  29  17  15
-----------------------------------------------------------------------------
+15 if -Dirac  |   0  18   4  20   6  26  14   0  17  11  27  14   1  28  15
               |      12  26  10  24   4  16   0  13  19   3  16  29   2  15
-----------------------------------------------------------------------------
Ordered        |   0   0   0   1   2   3   4   4   6  10  11  12  13  14  14
               |      15  15  16  16  17  18  19  20  24  26  26  27  28  29
-----------------------------------------------------------------------------
Cycles         |      (0  10  20)         (4  14  24)         (6  16  26)
               |  (0  15)     (0  15)     (1  16)     (2  17)     (3  18)
               |  (4  19)    (11  26)    (12  27)    (13  28)    (14  29)
-----------------------------------------------------------------------------


---------- Waveform (210, 2, 9, 18, 21, 22, 24, 28, 30, 32, 33, 38, 40, 43, 45, 51)

                                     Waveform
---------------------------------------------------------------------------------
Dirac sign     |   -   +   -   +   -   +   -   +   -   +   -   +   -   +   -   +
Positions      |   0   2   9  18  21  22  24  28  30  32  33  38  40  43  45  51
               |      -2  -9 -18 -21 -22 -24 -28 -30 -32 -33 -38 -40 -43 -45 -51
---------------------------------------------------------------------------------
                                    Harmonic 5
---------------------------------------------------------------------------------
Modulo T/5=42  |   0   2   9  18  21  22  24  28  30  32  33  38  40   1   3   9
               |      40  33  24  21  20  18  14  12  10   9   4   2  41  39  33
---------------------------------------------------------------------------------
+21 if -Dirac  |  21   2  30  18   0  22   3  28   9  32  12  38  19   1  24   9
               |      40  12  24   0  20  39  14  33  10  30   4  23  41  18  33
---------------------------------------------------------------------------------
Ordered        |   0   0   1   2   3   4   9   9  10  12  12  14  18  18  19  20
               |      21  22  23  24  24  28  30  30  32  33  33  38  39  40  41
---------------------------------------------------------------------------------
Cycles         |  (0  14  28)             (4  18  32)            (10  24  38)
               |          (0  21) (1  22) (2  23) (3  24) (9  30) (9  30)
               |     (12  33)    (12  33)    (18  39)    (19  40)    (20  41)
---------------------------------------------------------------------------------
                                    Harmonic 7
---------------------------------------------------------------------------------
Modulo T/7=30  |   0   2   9  18  21  22  24  28   0   2   3   8  10  13  15  21
               |      28  21  12   9   8   6   2   0  28  27  22  20  17  15   9
---------------------------------------------------------------------------------
+15 if -Dirac  |  15   2  24  18   6  22   9  28  15   2  18   8  25  13   0  21
               |      28   6  12  24   8  21   2  15  28  12  22   5  17   0   9
---------------------------------------------------------------------------------
Ordered        |   0   0   2   2   2   5   6   6   8   8   9   9  12  12  13  15
               |      15  15  17  18  18  21  21  22  22  24  24  25  28  28  28
---------------------------------------------------------------------------------
Cycles         |  (2  12  22) (2  12  22) (5  15  25) (8  18  28) (8  18  28)
               |      (0  15)         (0  15)         (2  17)         (6  21)
               |      (6  21)         (9  24)         (9  24)        (13  28)
---------------------------------------------------------------------------------

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

33 transitions improve the waveforms with T=210. T=180 stays bad. The reduction in H3 to -124dBc is compatible with luck and a uniform distribution of the harmonic voltage amplitude. The many trials result from minor optimizations, overclocking, and patience.

  H1   H3   H5   H7   H9  H11 |   T  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p
====================================================================================
0.48 -115  nil  nil  -10  -23 | 210  1  2  7 10 11 12 14 15 20 24 35 38 45 46 47 48
0.35 -124  nil  nil   +4  -12 | 210  3  4  9 10 12 14 16 20 21 23 36 41 42 43 50 51
====================================================================================

An different attempt up to T=554 and at T=630 with 15 transitions was sterile.

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

Algebraic proof that H5=H7=0 for the waveform with H3=-124dBc, having 33 transitions and T=210, from
May 13, 2019 here

                                       Waveform
-------------------------------------------------------------------------------------
Dirac sign     |   +   -   +   -   +   -   +   -   +   -   +   -   +   -   +   -   +
Positions      |   0   3   4   9  10  12  14  16  20  21  23  36  41  42  43  50  51
               |      -3  -4  -9 -10 -12 -14 -16 -20 -21 -23 -36 -41 -42 -43 -50 -51
-------------------------------------------------------------------------------------
                                      Harmonic 5
-------------------------------------------------------------------------------------
Modulo T/5=42  |   0   3   4   9  10  12  14  16  20  21  23  36  41   0   1   8   9
               |      39  38  33  32  30  28  26  22  21  19   6   1   0  41  34  33
-------------------------------------------------------------------------------------
+21 if -Dirac  |   0  24   4  30  10  33  14  37  20   0  23  15  41  21   1  29   9
               |      18  38  12  32   9  28   5  22   0  19  27   1  21  41  13  33
-------------------------------------------------------------------------------------
Ordered        |   0   0   0   1   1   4   5   9   9  10  12  13  14  15  18  19  20
               |      21  21  22  23  24  27  28  29  30  32  33  33  37  38  41  41
-------------------------------------------------------------------------------------
Cycles         |      (0  14  28)     (1  15  29)     (4  18  32)     (5  19  33)
               |          (9  23  37)        (10  24  38)        (13  27  41)
               |  (0  21)     (0  21)     (1  22)     (9  30)    (12  33)    (20  41)
-------------------------------------------------------------------------------------
                                      Harmonic 7
-------------------------------------------------------------------------------------
Modulo T/7=30  |   0   3   4   9  10  12  14  16  20  21  23   6  11  12  13  20  21
               |      27  26  21  20  18  16  14  10   9   7  24  19  18  17  10   9
-------------------------------------------------------------------------------------
+15 if -Dirac  |   0  18   4  24  10  27  14   1  20   6  23  21  11  27  13   5  21
               |      12  26   6  20   3  16  29  10  24   7   9  19   3  17  25   9
-------------------------------------------------------------------------------------
Ordered        |   0   1   3   3   4   5   6   6   7   9   9  10  10  11  12  13  14
               |      16  17  18  19  20  20  21  21  23  24  24  25  26  27  27  29
-------------------------------------------------------------------------------------
Cycles         |          (0  10  20)         (3  13  23)         (7  17  27)
               |  (1  16)     (3  18)     (4  19)     (5  20)     (6  21)     (6  21)
               |  (9  24)     (9  24)    (10  25)    (11  26)    (12  27)    (14  29)
-------------------------------------------------------------------------------------

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

  • 2 weeks later...

35 transitions improve further the waveforms with T=210: -135dBc.

  H1   H3   H5   H7   H9  H11  H13  |   T  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q
=============================================================================================
0.52 -126  nil  nil  -11   -6   -8  | 210  2  7  8 10 12 14 15 16 19 27 28 31 33 40 42 50 51
0.47 -135  nil  nil  -28   -4   -8  | 210  5  6  9 12 14 17 25 27 31 33 36 37 42 43 50 51 52
=============================================================================================

T=140 and 180 with 35 transitions aren't quite as good as T=210. Neither did 15 transitions provide good waveforms with T<=702, T=840 nor T=1050.

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

Algebraic proof that H5=H7=0 for the waveform with H3=-135dBc, having 35 transitions and T=210, here on
June 01, 2019
 

                                         Waveform
-----------------------------------------------------------------------------------------
Dirac sign     |   -   +   -   +   -   +   -   +   -   +   -   +   -   +   -   +   -   +
Positions      |   0   5   6   9  12  14  17  25  27  31  33  36  37  42  43  50  51  52
               |      -5  -6  -9 -12 -14 -17 -25 -27 -31 -33 -36 -37 -42 -43 -50 -51 -52
-----------------------------------------------------------------------------------------
                                        Harmonic 5
-----------------------------------------------------------------------------------------
Modulo T/5=42  |   0   5   6   9  12  14  17  25  27  31  33  36  37   0   1   8   9  10
               |      37  36  33  30  28  25  17  15  11   9   6   5   0  41  34  33  32
-----------------------------------------------------------------------------------------
+21 if -Dirac  |  21   5  27   9  33  14  38  25   6  31  12  36  16   0  22   8  30  10
               |      37  15  33   9  28   4  17  36  11  30   6  26   0  20  34  12  32
-----------------------------------------------------------------------------------------
Ordered        |   0   0   4   5   6   6   8   9   9  10  11  12  12  14  15  16  17  20
               |      21  22  25  26  27  28  30  30  31  32  33  33  34  36  36  37  38
-----------------------------------------------------------------------------------------
Cycles         |      (0  14  28)             (6  20  34)             (8  22  36)
               |  (0  21)         (4  25)         (5  26)         (6  27)         (9  30)
               |  (9  30)        (10  31)        (11  32)        (12  33)        (12  33)
               |         (15  36)                (16  37)                (17  38)
-----------------------------------------------------------------------------------------
                                        Harmonic 7
-----------------------------------------------------------------------------------------
Modulo T/7=30  |   0   5   6   9  12  14  17  25  27   1   3   6   7  12  13  20  21  22
               |      25  24  21  18  16  13   5   3  29  27  24  23  18  17  10   9   8
-----------------------------------------------------------------------------------------
+15 if -Dirac  |  15   5  21   9  27  14   2  25  12   1  18   6  22  12  28  20   6  22
               |      25   9  21   3  16  28   5  18  29  12  24   8  18   2  10  24   8
-----------------------------------------------------------------------------------------
Ordered        |   1   2   2   3   5   5   6   6   8   8   9   9  10  12  12  12  14  15
               |      16  18  18  18  20  21  21  22  22  24  24  25  25  27  28  28  29
-----------------------------------------------------------------------------------------
Cycles         |      (2  12  22)             (2  12  22)             (5  15  25)
               |              (8  18  28)                     (8  18  28)
               |          (1  16)     (3  18)     (5  20)     (6  21)     (6  21)
               |          (9  24)     (9  24)    (10  25)    (12  27)    (14  29)
-----------------------------------------------------------------------------------------

Marc Schaefer, aka Enthalpy

Link to comment
Share on other sites

  • 3 years later...

Fascinating work.

I don't understand most of it, but i know a simple sine generator would be very useful. 

Your output is a essentially a stepped, multi-level approximate sine aka "modified" sine, correct?

My application is audio, and i need all sub-20 kHz harmonics at 96 db quieter than a fundamental at 20 Hz. 

Is there a very-low-parts-count hardware implementation?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.