Delta-Sigma audio delay in Arduino?

Started by earthtonesaudio, December 05, 2011, 09:16:04 AM

Previous topic - Next topic

DavenPaget

Quote from: g_u_e_s_t on January 01, 2012, 07:53:03 PM

there are dip dram
the 41256 for example
its 256k x 1bit
which is perfect for 1bit converters
jameco has good stock
DRAM is slow anyway ... Not everyone here lives in the states you know  :icon_mrgreen:
Hiatus

undergraduate1990

#41
It's a very good code, thank you. But I have few questions.
1. Digital output PD5 must be connect to AIN1, the negative input of comparator for feedback loop?
2. In sigma delta we have a unit delay AFTER analogic comparator. So from ACO to quantizer we should have  a comparator. I've noticed that you wrote NOP as a delay just for 1 logic output. But for 0 logic????
3. Have you put a capacitor on feedback loop between AIN1 and PD5?
thank you! waiting your answear.

earthtonesaudio

Quote from: undergraduate1990 on March 29, 2014, 10:05:34 AM
It's a very good code, thank you. But I have few questions.
1. Digital output PD5 must be connect to AIN1, the negative input of comparator for feedback loop?
2. In sigma delta we have a unit delay AFTER analogic comparator. So from ACO to quantizer we should have  a comparator. I've noticed that you wrote NOP as a delay just for 1 logic output. But for 0 logic????
3. Have you put a capacitor on feedback loop between AIN1 and PD5?
thank you! waiting your answear.

I assume the schematic is:

analog input to AIN0 (positive comparator input)
resistor from digital output to AIN1 (negative comparator input)
capacitor from AIN1 to ground.

And the need for the `nop`:

if (input == (1<<ACO)) {
      asm("nop"); // even up loop times
      PORTD |= (1<<PORTD5);  // bitshift, bitwise OR, assignment
    }
    else {
      PORTD &= ~(1<<PORTD5);  // bitshift, negation, bitwise AND, assignment
    }


...is because the `else` branch contains one additional instruction (~).

undergraduate1990

#43
ok, I understood.It is any possibility to see bitstream signal?? I mean you have the output passed through a lowpass filter. I have tried to make a simulation on Proteus and It didn t work.
I m student, I m begginer and I need a bitstream signal from sigma delta modulator. After that I will have a digital lowpass filter and finally I want to reconstruct my original signal.
I saw that ACO can take only 2 value, depending of inputs, may I consider ACO as bitstream signal? At which frequency do you think that it will works?
Thank you and excuse my english! I hope that I will finish my project at faculty with succes!

caldersm

I had the need to collect a bit more data than I could stuff in a 328....and I looked at adding some memory chips too. 

But then I found the Teensy 3.1. 
https://www.pjrc.com/teensy/teensy31.html

64KB of Ram, 256KB of Flash, 2 ADC, Built-in 12 bit DAC, 32 bit 72Mhz ARM that runs Arduino Code.  $20 each....cheap for this kind of power...!!

I am using it to capture a Pulse from a Fiber Loom and process an analog signal....capturing 4000 records.....pulse width is accurate to 1usec.  Thing is super fast and super tiny...!!  Also has a built in Real USB port, and 3 hardware serial ports.

undergraduate1990

it s working, sorry for previous post. i have obtained a 50khz bitstream sugnal. maybe higher frequency it will be better.