FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 

DDS Synthesis, wave shaping / morphing ?
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author DDS Synthesis, wave shaping / morphing ?

I'm working on a simple DDS synthesiser, by spitting trough a DAC some 8bit wavetable value, all is working well with simple waveforms such as square, saw and sine. Now, I want to add some wave shaping parameters to these waveforms I generate in an array. For square and saw I think I got to where I wanted with simple PWM variation for the square and triangle to saw morphing.

However for the sine wave, I lack some idea's on how to do such transform on the fly by the way I generate the array and create some "nice" new sine wave derivative waveforms.


void sin_wave_gen(uint8_t mod) {
for(uint16_t i = 0; i < NUM_ELEMENTS; i++) {
wave[i] = DC_OFFSET + AMPLITUDE * sin(i * M_2PI / NUM_ELEMENTS);

I'm not needing fast transition with the wave shaper, therefore it's ok to re-generate the array using a parameter varying between 1 - 100 % (as I'm sharing this control between the other waveform, pwm for square, ect ...).
If anyone would have some clue or direction with the maths to do fun things with sine wave i'll take it.


The original idea for this module was to morphe signals on the fly.
I use a fifo register 256x9bit of which I thought was possible to read and write at the same time. This proved to be impossible (for me anyway Mr. Green ) so I settled for adding sine waves of different frequencies and different amplitudes.
But still the result is nice.
I also added waveforms from the vcdo from Electric Druid with permission, and converted them to 9bits to be used in this module.
An Analog devices AD9833 dds is used as clock generator hihi
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group