DSPRelated.com
Forums

Constellation diagram on DSK 6713

Started by kekl...@gmail.com November 10, 2011
I have a problem. I dont know how to create constellation diagram on my dsk 6713 for 16QAM. My code look like this:

#include "tonecfg.h"
#include "math.h"
#include "dsk6713.h"
#include "dsk6713_aic23.h"
#define pi 3.14159

DSK6713_AIC23_Config config = {
0x0017, // 0 DSK6713_AIC23_LEFTINVOL Left line input channel volume
0x0017, // 1 DSK6713_AIC23_RIGHTINVOL Right line input channel volume
0x00d8, // 2 DSK6713_AIC23_LEFTHPVOL Left channel headphone volume
0x00d8, // 3 DSK6713_AIC23_RIGHTHPVOL Right channel headphone volume
0x0011, // 4 DSK6713_AIC23_ANAPATH Analog audio path control
0x0000, // 5 DSK6713_AIC23_DIGPATH Digital audio path control
0x0000, // 6 DSK6713_AIC23_POWERDOWN Power down control
0x0043, // 7 DSK6713_AIC23_DIGIF Digital audio interface format
0x0019, // 8 DSK6713_AIC23_SAMPLERATE Sample rate control
0x0001 // 9 DSK6713_AIC23_DIGACT Digital interface activation
};
Int16 D[160]={0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
1,1,0,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,0,0,0,1,
1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,
0,1,0,0,1,0,0,0,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1};

Int16 D1[160]={0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,1,1,1,1,
1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
0,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
0,1,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,
0,1,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,1};

Int16 D2[160]={0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,1,1,1,1,
1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,
1,1,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1,
0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,
1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1};

Int16 D3[160]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,0,1,1,0,1,1,1,1,1,
1,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
0,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,0,1,
0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,1,0,1,0,1,1,0,0,0,0,0,0,1,1,1};

Int16 A[5000];

void main()
{
DSK6713_AIC23_CodecHandle hCodec;
Int16 sample,uzorak1,uzorak3;
float f,fs,F, omega, uzorak,uzorak2;
long br, br2;
f00;
fs2000;
F=f/fs;
omega=2*pi*F;

DSK6713_init();

hCodec = DSK6713_AIC23_openCodec(0, &config);

br2=0;
for (sample=0; sample<16; sample++)
{
if (D[sample]==0) D[sample]=-1;

if(D1[sample]==0) D1[sample]=3;

if(D2[sample]==0) D2[sample]=-1;

if(D3[sample]==0) D3[sample]=3;
for (br = 0; br <32 ; br++)
{
uzorak = 5000*sin(br2*omega);
uzorak1 = uzorak;
uzorak2=D[sample]*D1[sample]*5000*sin(br2*omega)+D2[sample]*D3[sample]*5000*cos(br2*omega);
uzorak3=uzorak2;
A[br2]=uzorak3;
br2++;

while (!DSK6713_AIC23_write(hCodec, uzorak1));

while (!DSK6713_AIC23_write(hCodec, uzorak3));
}

}
DSK6713_AIC23_closeCodec(hCodec);
}
Please I really need help fast

_____________________________________
Keklja-

> I have a problem. I dont know how to create constellation
> diagram on my dsk 6713 for 16QAM. My code look like this:
>
> Please I really need help fast

I assume your code runs fine. In that case, 2 questions: (i) how are you getting data off the DSK board in order to
display it, and (ii) in which program on the PC are you trying to display the diagram?

-Jeff

> #include "tonecfg.h"
> #include "math.h"
> #include "dsk6713.h"
> #include "dsk6713_aic23.h"
> #define pi 3.14159
>
> DSK6713_AIC23_Config config = {
> 0x0017, // 0 DSK6713_AIC23_LEFTINVOL Left line input channel volume
> 0x0017, // 1 DSK6713_AIC23_RIGHTINVOL Right line input channel volume
> 0x00d8, // 2 DSK6713_AIC23_LEFTHPVOL Left channel headphone volume
> 0x00d8, // 3 DSK6713_AIC23_RIGHTHPVOL Right channel headphone volume
> 0x0011, // 4 DSK6713_AIC23_ANAPATH Analog audio path control
> 0x0000, // 5 DSK6713_AIC23_DIGPATH Digital audio path control
> 0x0000, // 6 DSK6713_AIC23_POWERDOWN Power down control
> 0x0043, // 7 DSK6713_AIC23_DIGIF Digital audio interface format
> 0x0019, // 8 DSK6713_AIC23_SAMPLERATE Sample rate control
> 0x0001 // 9 DSK6713_AIC23_DIGACT Digital interface activation
> };
> Int16 D[160]={0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
> 1,1,0,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,0,1,0,0,0,0,1,
> 1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,
> 0,1,0,0,1,0,0,0,1,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
> 1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1};
>
> Int16 D1[160]={0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,1,1,1,1,
> 1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
> 0,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
> 0,1,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,1,0,1,0,1,
> 0,1,1,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,1};
>
> Int16 D2[160]={0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,1,1,1,1,
> 1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,
> 1,1,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1,
> 0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,
> 1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1};
>
> Int16 D3[160]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,1,0,1,1,0,1,1,1,1,1,
> 1,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
> 0,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,1,0,1,0,1,
> 0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,
> 1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,1,0,1,0,1,1,0,0,0,0,0,0,1,1,1};
>
> Int16 A[5000];
>
> void main()
> {
> DSK6713_AIC23_CodecHandle hCodec;
> Int16 sample,uzorak1,uzorak3;
> float f,fs,F, omega, uzorak,uzorak2;
> long br, br2;
> f00;
> fs2000;
> F=f/fs;
> omega=2*pi*F;
>
> DSK6713_init();
>
> hCodec = DSK6713_AIC23_openCodec(0, &config);
>
> br2=0;
> for (sample=0; sample<16; sample++)
> {
> if (D[sample]==0) D[sample]=-1;
>
> if(D1[sample]==0) D1[sample]=3;
>
> if(D2[sample]==0) D2[sample]=-1;
>
> if(D3[sample]==0) D3[sample]=3;
> for (br = 0; br <32 ; br++)
> {
> uzorak = 5000*sin(br2*omega);
> uzorak1 = uzorak;
> uzorak2=D[sample]*D1[sample]*5000*sin(br2*omega)+D2[sample]*D3[sample]*5000*cos(br2*omega);
> uzorak3=uzorak2;
> A[br2]=uzorak3;
> br2++;
>
> while (!DSK6713_AIC23_write(hCodec, uzorak1));
>
> while (!DSK6713_AIC23_write(hCodec, uzorak3));
> }
> }
> DSK6713_AIC23_closeCodec(hCodec);
> }
> Please I really need help fast

_____________________________________
Kresimir-

> Code is ok. i use code composer studio and there a go to view->graph and
> select constellation. Now when new window show up i really dont know how to
> set up everything. My data are stored in A (I circled it on picture that is
> in attachment ). I also tried in matlab but i dont really now how to
> transform my code in matlab. It would be best if I could draw it in CCS but
> I have no idea how

Please reply to the thread, not to me.

My suggestion is to list the options you're giving to CCS constellation graph, and then show (maybe a screen cap) what
is going wrong. Then probably some guys on the group can tell you what to fix.

-Jeff

_____________________________________
Im trying to make constellation diagram in CCS but im stuck. Here is a picture:
http://imageshack.us/photo/my-images/708/qamt.jpg/

Data is stored in A(circled on picture) and no matter what I try diagram wont show up. It is blank.

If anyone know hot to make it in matlab with my data that is also helpful.

_____________________________________
> Subject: Re: Constellation diagram on DSK 6713
> Posted by: "k...@gmail.com" k...@gmail.com
> Date: Thu Nov 10, 2011 10:32 am ((PST))
>
> Im trying to make constellation diagram in CCS but im stuck. Here is a picture:
> http://imageshack.us/photo/my-images/708/qamt.jpg/
>
> Data is stored in A(circled on picture) and no matter what I try diagram wont show up. It is blank.
>
> If anyone know hot to make it in matlab with my data that is also helpful.
>

Hi Kresimir,

As soon as you opened the Graph Property Dialog by using
View->Graph->Constellation menu options you either set up your graph properties
in the lines of the dialog, or in case you are not sure which values are to be
set, then you click the mouse on the third (the rightmost) button in the lower
part of the dialog window. This will get you to the CCS help system, where you
will find deliberate descriptions of the values that are to be set up. After
reading the help system, if you are still not sure, you will be more prepared
to ask a question about a specific graph property/attribute.

At a glance, your gata in the A array are 16 bit signed, but in the property
dialog (in the picture) you set up a 32 bit signed input. That might well to
be the reason your data were not showed up.

Second, you've used min/max values that are smaller than the two very first
pairs of values in the A array, which are 15,000 magnitude. Perhaps all your
values are outside the mix/max range?

Rgds,

Andrew

>

_____________________________________