Hello Theo

same as me :-) I played electronic organ sind 1982 and quicky started to modify it with own electronics. Later, I started with GALs and PLDs to create an own organ. The first concept was like this:

http://96khz.org/htm/pldmodularorgan.htm

A coarse DDS created from a digitally devided oscillator and then filtered the analog way (light blue box lower left corner)

Later I used 12 optimized OSC crystals to create the required 11 fundamental frequencies and thus shunning the DDS issues caused by "gaps" and "hops" in the table / synth maths.

When then coming to FPGAs, I thought of a method to tune these frequencies in one chip and came to this solution:

http://96khz.org/oldpages/frequencyshifter.htm

It is possible to tune frequencies down to some 0,001% of an incoming frequency. With that concept it is possible to get all freqs out of one chip and one oszillator only and make use of FPGAs with less than 11 clock capable inputs.

What I would suggest with todays electronics (and if there is enough time any money :-) ):

Use 11 Crystals/PLL and an FPGA to create a very high resolution vector for DDS and drive 11 wave tables from Block-RAMs. Then you get all notes perfectly trimmed without DDS issues. This is they way were are doing in an audio meassurement system.

The other way is extremely high sample frequency and very large RAMs using common DDS. This also makes it possible to perform vibrato without issues.

Regarding the perfect square:

With common DACs this is hardly possible, since they all use dithering and filtering as well as band width limiting on order not to generate ultra sonic frequencies and alias as you decribed. With industrial squre waves, We do not use DACs at all. Instead there is high frequency design and rapid gating with GAS-Transistors to e.g. produce GHz-pulses from FPGAs and tune them in the range of some 50ps in phase. For one of my customers I built a system with a double DDS tuneably in MHz-region and beeing able to trim the wave at 20ps only.

Coming back to audio:

From my point of view, this is finally a matter of the edge frequency:
In my 768kHz systems driving a PDM->Analog Filter, it is no problem to generate a pulse with harmonics up to 50...100 khz having an edge frequency in that region for the analog filter. Therewith there should be no audible difference anymore between this and a perfect squre. This wals also prooved by some tests we did in the field of medical ultra sonic wave generation and processing. But keep in mind, we need special "loud speakers" for this to produce these waves in real air :-) And, starting from 10kHz, the distance to your speaker becomes relevant. There is a significant samping caused by the air. Frequencies in the range of 50kHz are significantly reduced in a larger distance, so you need a kind of emphasis possibly.

Regarding the methods of filtering:

FIR can and cannot be a good choice to prepare the signals for DACs because of pre-ringing. This all depends on the analog filter design and the response. The best perfect pulse in theory can be obtained by sending the response of a DIRAC, namly the standard filter coefficiants of a low pass filter into such a low pass filter with an edge frequency meeting that of the FIR coefficient. This is the best trade off between steepness and overshot.

Jürgen

Am 13.06.2018 um 12:59 schrieb Theo Verelst:

There's this preoccupation I have since the advent of going "digital", let's say since I heard music being played on CD in the early 80s.

_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to