diyAudio - Entries for December 2013
Go Back   Home > Forums > Blogs > googlyone

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Old

Low Distortion DDS based dual channel audio synthesiser

Posted 24th December 2013 at 01:40 AM by googlyone

Well now I am on holidays over XMAS I got the time to really put in a solid chunk of time on the DDS based synthesiser.

Previous blog entries describe the PIC32MX based core to this. The thing works like a charm...

To get decent precision on the sinewave I have implemented an interpolation on a high precision Sinewave lookup table.
- The DDS references into a 12 bit "long", 24 bit "amplitude" precision sinewave LUT.
- Of itself this gives mediocre spurs, which in a DDS are heavily dependent on the frequency, but seem to result in 85-90dBc spurs. There is a fair hash of these without treatment.
- By adding a linear interpolation between samples in the Sinewave Lookup table, the spurs come out as shown below...

Click image for larger version

Name:	1KHz Sinewave FFT.png
Views:	184
Size:	153.6 KB
ID:	1199

- The interpolation is actually quite simple in concept:
- The top 12 bits of the DDS Phase Accumulator looks up the "Sine Sample"
...
Attached Thumbnails
Click image for larger version

Name:	1-2KHz sweep FFT.png
Views:	73
Size:	112.8 KB
ID:	1200  
diyAudio Member
Posted in Uncategorized
Views 595 Comments 9 googlyone is offline
Old

PIC32MX450F256 as DDS core driving CS4398 DAC

Posted 18th December 2013 at 09:35 AM by googlyone
Updated 18th December 2013 at 09:38 AM by googlyone

Over the last couple of months I have been playing with a PIC32MX450F256H as the DDS core, and using one of the many DAC boards I built for my DSP based crossover as the D/A element.

It has taken a while to get up and running - mainly due to me actually having commitments other than a hobby... (Bugger)

That said, getting this thing up and running also required me to get my head around the microchip XC32 compiler, and the configuration bits in the PIC32MX.

On the compiler, the most serious issue is the schemozzle they call documentation. I imagine if all you wanted to do was simple I/O and stuff you might be OK. As soon as you want to dig into the more detailed registers, the high level library documentation is borderline useless, and spread over a number of directories and the Microchip website. Very frustrating.

The other challenges I had were:
- To set up the PIC I2S interface such that there was no jitter on the LRCLK...
diyAudio Member
Posted in Uncategorized
Views 404 Comments 0 googlyone is offline
Hide this!Advertise here!

New To Site? Need Help?

All times are GMT. The time now is 01:43 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2