AnsweredAssumed Answered

Format of data at DAC I & Q inputs

Question asked by elvisjohndowson on Jan 16, 2014
Latest reply on May 1, 2014 by rejeesh

Hi,

In the following code, there is a sine wave lookup table

https://github.com/analogdevicesinc/no-OS/blob/ecf8147b6e1c63fd649fea148482a6712d657a9c/ad9361/sw/dac_core.c#L183

 

const uint16_t sine_lut[32] = {
0x000, 0x031, 0x061, 0x08D, 0x0B4, 0x0D4, 0x0EC, 0x0FA,
0x0FF, 0x0FA, 0x0EC, 0x0D4, 0x0B4, 0x08D, 0x061, 0x031,
0x000, 0xFCE, 0xF9E, 0xF72, 0xF4B, 0xF2B, 0xF13, 0xF05,
0xF00, 0xF05, 0xF13, 0xF2B, 0xF4B, 0xF72, 0xF9E, 0xFCE
};

 

Q01: In what format are these 16-bit words represented in? Is it 2's complement?

 

Q02: If I were to feed each word, directly from an HDL block (rather than a DMA), by connecting a test HDL block to the DAC I & Q inputs, what clock frequency should I use?

 

Q03: What does the left-shift <<20 and <<4 for the I & Q inputs achieve?

 

data_i1 = (sine_lut[index_i1 / 2] << 20);
data_q1 = (sine_lut[index_q1 / 2] << 4);

 

Regards,

 

Elvis Dowson

Outcomes