kirill_76rus

DDS

Jun 10th, 2021
438
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <c6x.h>;
  2. int main(void)
  3. {
  4.  
  5.     int i;
  6.     int j;
  7.     int k=33;
  8.     int x=0;
  9.     int phase[256];
  10.     short phase1p[256];
  11.     unsigned short sin1p[]={
  12.             0,1559,3114,4663,6201,7725,9231,10717,12178,13611,15014,16383,17715,
  13.             19006,20255,21457,22611,23714,24763,25756,26691,27565,
  14.             28377,29124,29805,30419,30964,31439,31843,32174,32433,32618,32729
  15.     };
  16.     short out[256];
  17.     for (i=0; i<256; i++)
  18.     {
  19.         x=k*i;/*Edit phase for all period*/
  20.         phase[i] = x;
  21.         //phase[i]=_extu(x,19,19);
  22.  
  23.         if (phase[i]<=2048)
  24.         {
  25.             phase1p[i]=_extu(phase[i],0,4);
  26.             j=phase1p[i];
  27.             out[i]=sin1p[j];
  28.         }
  29.  
  30.         if  (phase[i]>2048)
  31.         {
  32.             phase1p[i]=_extu(4096-phase[i],0,4);
  33.             j=phase1p[i];
  34.             out[i]=sin1p[j];
  35.         }
  36.  
  37.         if  (phase[i]>4096)
  38.         {
  39.             phase1p[i]=_extu(phase[i]-4096,0,4);
  40.             j=phase1p[i];
  41.             out[i]=-sin1p[j];
  42.         }
  43.  
  44.         if  (phase[i]>6144)
  45.         {
  46.             phase1p[i]=_extu(8192-phase[i],0,4);
  47.             j=phase1p[i];
  48.             out[i]=-sin1p[j];
  49.         }
  50.     }
  51.     return 0;
  52. }
  53.  
RAW Paste Data