VCO, LFO, DCO, DDS notes

From Helpful
Jump to navigation Jump to search

The physical and human spects dealing with audio, video, and images

Vision and color perception: objectively describing color · the eyes and the brain · physics, numbers, and (non)linearity · color spaces · references, links, and unsorted stuff

Image: file formats · noise reduction · halftoning, dithering · illuminant correction · Image descriptors · Reverse image search · image feature and contour detection · OCR · Image - unsorted

Displays: · On display speed · Screen tearing and vsync · Arguments for 60fps / 60Hz in gaming‎‎ · Video display notes ·· Before framebuffers · Simpler display types · Display DIY


Video: file format notes · video encoding notes ·

Subtitle format notes


Audio physics and physiology: Sound physics and some human psychoacoustics · Descriptions used for sound and music · Sound level meter notes

Digital sound and processing: capture, storage, reproduction · on APIs (and latency) · programming and codecs · some glossary · Audio and signal processing - unsorted stuff

Music electronics: device voltage and impedance, audio and otherwise · amps and speakers · basic audio hacks · Simple ADCs and DACs · digital audio · multichannel and surround
On the stage side: microphones · audio levels & technical gritty · devices you'll use · cables, connectors, adapters · Effects · sync



Noise stuff: Stray signals and noise · sound-related noise names · electronic non-coupled noise names · electronic coupled noise · ground loop · strategies to avoid coupled noise · Sampling, reproduction, and transmission distortions · (tape) noise reduction


Electronic music:

Electronic music - musical and technical terms
MIDI ·
Some history, ways of making noises
Gaming synth ·
VCO, LFO, DCO, DDS notes
microcontroller synth
Modular synth (eurorack, mostly):
sync · power supply · formats (physical, interconnects)
DIY
physical
Electrical components, small building blocks
Learning from existing devices
Electronic music - modular - DIY


DAW: Ableton notes · MuLab notes · Mainstage notes


Unsorted: Visuals DIY · Signal analysis, modeling, processing (some audio, some more generic) · Music fingerprinting and identification

For more, see Category:Audio, video, images


VCO - Voltage-Controlled Oscillator

Ramp core

LFO - Low-Frequency Oscillator

DCO - Digitally Controlled Oscillator

DDS - Direct Digital Synthesis

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.

DDS (Direct Digital Synthesis) (a.k.a. numerically controlled oscillator) indicates a particular way of digitally generating waveforms.


DDC ICs

DDC ICs are typically aimed at Mhz-rate function generation.

DDS is capable of a fairly wide frequency range, though DDS ICs - which are dedicated to the task may care more about MHz-rate function generation; spending frequency resolution over all that range is great for general purpose, while one geared to audio might be a little more precise in just that.

They also frequently focus on on one or a few waveforms, sometimes just sinusouds.

Both reasons why most DDS ICs aren't a very obvious choice for musical design.


DDS as a technique

...but the above is just because the most obvious reason to make DDSes are function generators in the lab equipment sense, which you often want to make high-frequency, and then often simpler signals, because that is mainly aimed at circuit testing.


The frequency range to focus on in just a design choice, though, so you can focus on audio range better.

And as a technique, DDS easily lends itself to arbitrary waveforms and even sample playback, and in fact has been used by various samplers, and by some synthesizers that can sample, because the technique is not at all opposed to feeding it more arbitrary waveform data from RAM or even a microcontroller, and at audio rates this is more doable.


DIY DDS

If you're DIYing this, there are some further implementation details.

DDS isn't an output method worked out to the lowest levels, it's more an angle on how to use a clock source to go about it.


The question of how you would play on such simple hardware can be a good introduction on how DDS works, even.

Say you wanted to play one sample at arbitrary rates, or better, three at once each at their own rate, how would you?

You would need some regular indexing, so it would be nice if you had three regular clock signals, each run at their own speed to go to the next sample on each clock, right? Even if your hardware gives you multiple clocks/timers, you cannot make one go at arbitrary rates (because those usually come from clock division).

What if you had one clock, considerably faster than your sample rate, and did a much larger, faster count, moving onto the next sample every many counts?

Okay sure, but why does that help? Well, in a fixed-point integer-like trick, you forget(/divide/shift away) some amount of lowest bits, and use what you then have as an index to position in the waveform you want to put out

The more of those lower bits you throw away, the finer the granularity you get to the sample rates you can play at. You now don't need to control that main clock precisely - or even at all - to change the playback rate. You just need a fast counter, and a bitshift. Those are cheap operations.

DDS would call that counter a phase accumulator (there are good reasons that you'll understand when reading up on the details).

This index is then used to index a waveform in memory external to the generation part (possibly ROM) - and you would only need one cycle of it, so the phase essentially is the index (with some extra possible tricks for symmetric waveforms).

(This is technically just the simplest form of DDS, phase truncation DDS. There is also dithered DDS, which does much the same but suppresses some harmonic-frequency issues up to 12dB(verify), at the cost of a slightly higher noise floor)


NCO - Numerically Controlled Oscillator

Unsorted