亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tfr16.c

?? 基于56F8346的異步電機(jī)VVVF控制程序。
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):

        if (ax >= ay)
        {
            temp16 = div_s(ay,ax);
        }
        else
        {
         temp16 = div_s(ax,ay);        /* temp = x/y i.e. 1/(y/x)   */
            div_flag = 1;
        }
    }

    z = tfr16AtanOverPI(temp16);

    if (div_flag == 1)               /* atan(x)/pi = (0.5-(atan(1/x))/pi) */
    {
        z = sub(CFF(0.5),z);
    }

    if (sign_flag ==1)
    {
      z = negate(z);
    }

  return z;
}


typedef struct{
 Frac16 PreviousAlpha;
 Frac16 Delta;
 Frac16 NextAlpha;
 Frac16 Amplitude;
}sSineGenPAM;

/*******************************************************************************/
tfr16_tSineWaveGenPAM * tfr16SineWaveGenPAMCreate(Int16   SineFreq,
              Int16   SampleFreq,
              Frac16  InitialPhasePIx,
              Frac16  Amplitude)
{
 tfr16_tSineWaveGenPAM * pPrivateData = memMallocEM(sizeof(tfr16_tSineWaveGenPAM));

 tfr16SineWaveGenPAMInit(pPrivateData, SineFreq, SampleFreq, InitialPhasePIx, Amplitude);

 return(pPrivateData);
}

/*******************************************************************************/
void tfr16SineWaveGenPAMDestroy(tfr16_tSineWaveGenPAM * pSWG)
{
 if (pSWG != NULL)
 {
  memFreeEM(pSWG);
 }
}

/*******************************************************************************/
void tfr16SineWaveGenPAMInit(tfr16_tSineWaveGenPAM * pSWG,
           Int16          SineFreq,
           Int16          SampleFreq,
           Frac16         InitialPhasePIx,
           Frac16         Amplitude)
{
 sSineGenPAM * pState = (sSineGenPAM *) pSWG;

 pState -> PreviousAlpha = InitialPhasePIx;
 pState -> Delta         = div_s((Frac16)(2 * SineFreq),(Frac16)SampleFreq);
 pState -> Amplitude     = Amplitude;
}

/*******************************************************************************/
void tfr16SineWaveGenPAMC(tfr16_tSineWaveGenPAM * pSWG, Frac16 * pValues, UInt16 Nsamples)
{
 sSineGenPAM * pState = (sSineGenPAM *) pSWG;
 Frac16        NextAlpha;
 UInt16        I;

 for(I = 0; I < Nsamples; I++)
 {
  NextAlpha = add(pState -> PreviousAlpha, pState -> Delta);

  if(NextAlpha >= MAX_16)
  {
   NextAlpha = sub(pState -> PreviousAlpha, MAX_16);
   NextAlpha = add(NextAlpha, pState -> Delta);
   NextAlpha = add(NextAlpha, MIN_16);
  }

  * pValues  = mult(pState -> Amplitude,tfr16SinPIx(pState -> PreviousAlpha));
  pValues   += 1;

  pState -> PreviousAlpha = NextAlpha;
 }
}

typedef struct{
 UInt16 * pIndex;
 Frac16 * pEndTable;
 bool     bAligned;
 UInt16   Delta;
 UInt16   SineTableLength;
}sSineGenIDTL;

/*******************************************************************************/
tfr16_tSineWaveGenIDTL * tfr16SineWaveGenIDTLCreate(Frac16 * pSineTable,
              UInt16   SineTableLength,
              Int16    SineFreq,
              Int16    SampleFreq,
              Frac16   InitialPhasePIx)
{
 tfr16_tSineWaveGenIDTL * pPrivateData = memMallocEM(sizeof(tfr16_tSineWaveGenIDTL));

 tfr16SineWaveGenIDTLInit(pPrivateData, pSineTable, SineTableLength, SineFreq, SampleFreq, InitialPhasePIx);

 return(pPrivateData);
}

/*******************************************************************************/
void tfr16SineWaveGenIDTLDestroy(tfr16_tSineWaveGenIDTL * pSWG)
{
 if (pSWG != NULL)
 {
  memFreeEM(pSWG);
 }
}

/*******************************************************************************/
void tfr16SineWaveGenIDTLInit(tfr16_tSineWaveGenIDTL * pSWG,
          Frac16                 * pSineTable,
          UInt16                   SineTableLength,
          Int16                    SineFreq,
          Int16                    SampleFreq,
          Frac16                   InitialPhasePIx)
{
 sSineGenIDTL * pState        = (sSineGenIDTL *) pSWG;
 Frac16         NormFreq      = div_s((Frac16)SineFreq,(Frac16)SampleFreq);
/* Frac16         NormFreq      = add(div_s((Frac16)SineFreq,(Frac16)SampleFreq), CFF(.001)); */
 Frac16         InitialPhase;
 UInt16         FirstIndex;

 pState -> bAligned = memIsAligned (pSineTable, SineTableLength*sizeof(Frac16));

 pState -> SineTableLength = SineTableLength;
  pState -> Delta           = (UInt16) mult((Frac16)SineTableLength, NormFreq);

 InitialPhase = mult(InitialPhasePIx, 0x4000);

 if(InitialPhasePIx < 0)
 {
  InitialPhasePIx  = add(InitialPhasePIx, MAX_16);
  InitialPhase     = add(-InitialPhase, InitialPhasePIx);
 }

 FirstIndex   = (UInt16) mult((Frac16)SineTableLength, InitialPhase);

 pState -> pEndTable = pSineTable + SineTableLength;
 pState -> pIndex    = (UInt16 *) pSineTable + FirstIndex;
}

/*******************************************************************************/
void tfr16SineWaveGenIDTLC(tfr16_tSineWaveGenIDTL * pSWG, Frac16 * pValues, UInt16 Nsamples)
{
 sSineGenIDTL * pState = (sSineGenIDTL *) pSWG;
 UInt16         I;

 for(I = 0; I < Nsamples; I++)
 {
  * pValues = (Frac16) *(pState -> pIndex);
  pValues  += 1;

  pState -> pIndex = (pState -> pIndex + pState -> Delta);

  if((pState -> pIndex) >= (UInt16 *)(pState -> pEndTable))
  {
   pState -> pIndex -= pState -> SineTableLength;
  }
 }
}


typedef struct{
 Frac16 * pSineTable;
 Frac16   Phase;
 Frac16   Delta;
 UInt16   SineTableLength;
}sSineGenRDTL;

/*******************************************************************************/
tfr16_tSineWaveGenRDTL * tfr16SineWaveGenRDTLCreate(Frac16 * pSineTable,
              UInt16   SineTableLength,
              Int16    SineFreq,
              Int16    SampleFreq,
              Frac16   InitialPhasePIx)
{
 tfr16_tSineWaveGenRDTL * pPrivateData = memMallocEM(sizeof(tfr16_tSineWaveGenRDTL));

 tfr16SineWaveGenRDTLInit(pPrivateData, pSineTable, SineTableLength, SineFreq, SampleFreq, InitialPhasePIx);

 return(pPrivateData);
}

/*******************************************************************************/
void tfr16SineWaveGenRDTLDestroy(tfr16_tSineWaveGenRDTL * pSWG)
{
 if (pSWG != NULL)
 {
  memFreeEM(pSWG);
 }
}

/*******************************************************************************/
void tfr16SineWaveGenRDTLInit(tfr16_tSineWaveGenRDTL * pSWG,
          Frac16                 * pSineTable,
          UInt16                   SineTableLength,
          Int16                    SineFreq,
          Int16                    SampleFreq,
          Frac16                   InitialPhasePIx)
{
 sSineGenRDTL * pState     = (sSineGenRDTL *) pSWG;
 Frac16         InitialPhase;

 pState -> pSineTable      = pSineTable;
 pState -> SineTableLength = SineTableLength;
  pState -> Delta           = div_s((Frac16)SineFreq,(Frac16)SampleFreq);

 InitialPhase = mult(InitialPhasePIx, SWG_ONEHALF);

 if(InitialPhasePIx < 0)
 {
  InitialPhasePIx = add(InitialPhasePIx, MAX_16);
  InitialPhase    = add(-InitialPhase, InitialPhasePIx);
 }

 pState -> Phase = InitialPhase;
}

/*******************************************************************************/
void tfr16SineWaveGenRDTLC(tfr16_tSineWaveGenRDTL * pSWG, Frac16 * pValues, UInt16 Nsamples)
{
 sSineGenRDTL * pState = (sSineGenRDTL *) pSWG;
 UInt16         Index;
 UInt16         I;

 for(I = 0; I < Nsamples; I++)
 {
  Index      = (UInt16) mult((Frac16)(pState -> SineTableLength), pState -> Phase);
  * pValues  = *(pState -> pSineTable + Index);
  pValues   += 1;

  if((pState -> Phase + pState -> Delta) >= MAX_16)
  {
   pState -> Phase = sub(MAX_16, pState -> Phase);
   pState -> Phase = sub(pState -> Delta, pState -> Phase);
  }

  else
  {
   pState -> Phase = (pState -> Phase + pState -> Delta);
  }
 }
}

typedef struct{
 Frac16 * pSineTable;
 Frac16   Phase;
 Frac16   Delta;
 UInt16   SineTableLength;
 UInt16   Shift;
}sSineGenRDITL;

/*******************************************************************************/
tfr16_tSineWaveGenRDITL * tfr16SineWaveGenRDITLCreate(Frac16 * pSineTable,
                UInt16   SineTableLength,
                Int16    SineFreq,
                Int16    SampleFreq,
                Frac16   InitialPhasePIx)
{
 tfr16_tSineWaveGenRDITL * pPrivateData = memMallocEM(sizeof(tfr16_tSineWaveGenRDITL));

 tfr16SineWaveGenRDITLInit(pPrivateData, pSineTable, SineTableLength, SineFreq, SampleFreq, InitialPhasePIx);

 return(pPrivateData);
}

/*******************************************************************************/
void tfr16SineWaveGenRDITLDestroy(tfr16_tSineWaveGenRDITL * pSWG)
{
 if (pSWG != NULL)
 {
  memFreeEM(pSWG);
 }
}

/*******************************************************************************/
void tfr16SineWaveGenRDITLInit(tfr16_tSineWaveGenRDITL * pSWG,
          Frac16                   * pSineTable,
          UInt16                     SineTableLength,
          Int16                      SineFreq,
          Int16                      SampleFreq,
          Frac16                     InitialPhasePIx)
{
 sSineGenRDITL * pState = (sSineGenRDITL *) pSWG;

 pState -> pSineTable      = pSineTable;
 pState -> SineTableLength = SineTableLength;
  pState -> Delta           = div_s((Frac16)SineFreq,(Frac16)SampleFreq);
 pState -> Phase           = InitialPhasePIx;

 pState -> Shift = (UInt16) (2 * div_s((Frac16)SineTableLength,(Frac16)SWG_180_DEGREES));
 pState -> Shift = pState -> Shift / 4;
/* pState -> Shift = (norm_s(pState -> Shift)) + 1; */
 pState -> Shift = (UInt16) norm_s((Word16) pState -> Shift);
 pState -> Shift = (pState -> Shift) + 1;
}

/*******************************************************************************/
void tfr16SineWaveGenRDITLC(tfr16_tSineWaveGenRDITL * pSWG, Frac16 * pValues, UInt16 Nsamples)
{
 sSineGenRDITL * pState = (sSineGenRDITL *) pSWG;
 Frac16       SineAngle;
 Frac16       SineValue1;
 Frac16       SineValue2;
 Frac16       SineDelta;
 Frac16       Sign;
 UInt16       I;
 UInt16       Samples = Nsamples;

 for(I = 0; I < Samples; I++)
 {
  if((pState -> Phase) >= 0)
  {
   if((pState -> Phase) < PI_HALF_PLUS)  /* 0 <= Angle < PI/2 */
   {
    SineAngle = (Frac16) shr_r((Word16) pState -> Phase, (Word16) pState -> Shift);
    SineDelta = ((pState -> Phase) & 0x003F);
    Sign      = SWG_SIGN_POSITIVE;
   }

   else  /* PI/2 <= Angle < PI */
   {
    SineAngle = (Frac16) shr_r((Word16) (PI_PLUS - (pState -> Phase)), (Word16) pState -> Shift);
    SineDelta = (Frac16) ((PI_PLUS - (pState -> Phase)) & 0x003F);
    Sign      = SWG_SIGN_POSITIVE;
   }
  }

  else  /* (*Angle) < 0 */
  {
   if((pState -> Phase) < PI_HALF_MINUS)  /* -PI <= Angle < -PI/2 */
   {
    SineAngle = (Frac16) shr_r((Word16) (PI_PLUS + (pState -> Phase)), (Word16) pState -> Shift);
    SineDelta = (Frac16) ((PI_PLUS + (pState -> Phase)) & 0x003F);
    Sign      = SWG_SIGN_NEGATIVE;
   }
   else  /* -PI/2 <= Angle < 0 */
   {
    SineAngle = (Frac16) shr_r((Word16) (abs_s((pState -> Phase))), (Word16) pState -> Shift);
    SineDelta = (abs_s((pState -> Phase)) & 0x003F);
    Sign      = SWG_SIGN_NEGATIVE;
   }
  }

  SineValue1 = pState -> pSineTable[SineAngle];
  SineValue2 = pState -> pSineTable[SineAngle + 1];

  * pValues = Sign * ((((SineValue2 - SineValue1) * SineDelta) >> pState -> Shift) + SineValue1);
  pValues += 1;

  if((pState -> Phase + pState -> Delta) >= MAX_16)
  {
   pState -> Phase = sub(MAX_16, pState -> Phase);
   pState -> Phase = sub(pState -> Delta, pState -> Phase);
   pState -> Phase = add(pState -> Phase, SWG_NEG_MAX);
  }

  else
  {
   pState -> Phase = (pState -> Phase + pState -> Delta);
  }
 }
}

typedef struct{
 Frac16 * pSineTable;
 Frac16   Phase;
 Frac16   Delta;
 UInt16   SineTableLength;
 UInt16   Shift;
}sSineGenRDITLQ;
/*******************************************************************************/
tfr16_tSineWaveGenRDITLQ * tfr16SineWaveGenRDITLQCreate(Frac16 * pSineTable,
                UInt16   SineTableLength,
                Int16    SineFreq,
                Int16    SampleFreq,
                Frac16   InitialPhasePIx)
{
 tfr16_tSineWaveGenRDITLQ * pPrivateData = memMallocEM(sizeof(tfr16_tSineWaveGenRDITLQ));

 tfr16SineWaveGenRDITLQInit(pPrivateData, pSineTable, SineTableLength, SineFreq, SampleFreq, InitialPhasePIx);

 return(pPrivateData);
}

/*******************************************************************************/
void tfr16SineWaveGenRDITLQDestroy(tfr16_tSineWaveGenRDITLQ * pSWG)
{
 if (pSWG != NULL)
 {
  memFreeEM(pSWG);
 }
}

/*******************************************************************************/
void tfr16SineWaveGenRDITLQInit(tfr16_tSineWaveGenRDITLQ * pSWG,
          Frac16                   * pSineTable,
          UInt16                     SineTableLength,
          Int16                      SineFreq,
          Int16                      SampleFreq,
          Frac16                     InitialPhasePIx)
{
 sSineGenRDITLQ * pState = (sSineGenRDITLQ *) pSWG;

 pState -> pSineTable      = pSineTable;
 pState -> SineTableLength = SineTableLength;
  pState -> Delta           = 2 * div_s((Frac16)SineFreq,(Frac16)SampleFreq);
 pState -> Phase           = InitialPhasePIx;

 pState -> Shift = (UInt16) div_s((Frac16)SineTableLength,(Frac16)SWG_180_DEGREES);
/* pState -> Shift = (norm_s(pState -> Shift)) + 1; */
 pState -> Shift = (UInt16) norm_s((Word16) pState -> Shift);
 pState -> Shift = (pState -> Shift) + 1;

}

/*******************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩av先锋影音电影院| 欧美mv和日韩mv国产网站| 久久99精品久久久久久| 成人avav影音| 欧美极品美女视频| 亚洲乱码日产精品bd| 精品一二三四在线| 精品三级在线看| 国产在线一区观看| 国产欧美一区二区三区网站| 国产高清不卡二三区| 国产精品精品国产色婷婷| 99久久777色| 五月天一区二区| 欧美色手机在线观看| 视频一区国产视频| 欧美日韩一区二区三区不卡 | 国产毛片精品一区| wwwwww.欧美系列| 国产一区二区在线电影| 欧美高清在线精品一区| 床上的激情91.| 亚洲一二三四在线观看| 91精品国产综合久久福利| 久久99精品国产麻豆婷婷| 久久精品亚洲精品国产欧美| 91亚洲永久精品| 一区二区不卡在线播放| 欧美一区二区在线视频| 成人高清在线视频| 亚洲一区在线观看免费观看电影高清| 666欧美在线视频| 99视频在线观看一区三区| 国产日产精品1区| 4438x成人网最大色成网站| 国产一区91精品张津瑜| 中文字幕亚洲在| 欧美tickling挠脚心丨vk| 成人黄页毛片网站| 午夜精品aaa| 国产精品久久久久久久久免费丝袜 | 国产日本一区二区| 久久影视一区二区| 欧美成人一区二区三区在线观看 | 国内精品写真在线观看| 亚洲女性喷水在线观看一区| 久久久亚洲精华液精华液精华液| 色综合天天综合网天天看片| 狠狠网亚洲精品| 蜜臀av一区二区在线免费观看| 亚洲特黄一级片| 国产女主播一区| 欧美伊人久久大香线蕉综合69 | 制服丝袜中文字幕亚洲| 欧美体内she精视频| 日本不卡一区二区三区| 国精产品一区一区三区mba桃花| 中文字幕亚洲欧美在线不卡| 中文字幕第一区综合| 国产日韩精品久久久| 国产精品毛片无遮挡高清| 久久免费的精品国产v∧| 欧美精品一区二区三区蜜桃视频| 日韩一区二区电影网| 久久亚洲捆绑美女| 国产清纯白嫩初高生在线观看91| 国产视频一区在线播放| 亚洲视频一区二区在线观看| 国产盗摄视频一区二区三区| 黄色日韩三级电影| 国产成人精品亚洲777人妖| 国产成人精品免费视频网站| 国产精品亚洲一区二区三区妖精| 91久久精品一区二区三| 欧美日韩一区二区在线观看视频| 欧美一级黄色录像| 精品三级在线观看| 亚洲乱码中文字幕| 国产精品一品视频| 91在线你懂得| 日韩免费一区二区| 亚洲精选视频免费看| 久久国产尿小便嘘嘘尿| 在线观看av一区二区| 中文字幕av一区二区三区免费看 | 国产剧情一区二区三区| 99热99精品| 日韩视频在线你懂得| 亚洲自拍偷拍av| 91小视频免费观看| 综合欧美一区二区三区| 国产精品资源网| www激情久久| 免费观看久久久4p| 成人丝袜18视频在线观看| 欧美日韩精品三区| 成人免费在线观看入口| 精品视频1区2区3区| 日韩一区日韩二区| 成人禁用看黄a在线| 久久久久久久久久久久久夜| 国产一区二区三区免费| 欧美一区二区国产| 日韩av网站在线观看| 欧美午夜影院一区| 久久精品国产精品亚洲精品| 91精品国产福利在线观看| 亚洲一区二区偷拍精品| 欧美怡红院视频| 日本不卡在线视频| 日韩午夜小视频| 极品销魂美女一区二区三区| 久久精品视频在线看| 99精品热视频| 日韩影院免费视频| 日韩三区在线观看| 国产一区二区伦理| 亚洲一区二区在线观看视频| 欧美电影在线免费观看| 久久久国际精品| 午夜精品久久久久久久99樱桃| 欧美精品丝袜中出| 九色综合狠狠综合久久| 中文字幕一区av| 不卡视频一二三| 亚洲综合免费观看高清完整版| 色综合久久中文字幕综合网| 亚洲chinese男男1069| 日韩亚洲欧美一区| 95精品视频在线| 国产一区二区在线观看视频| 亚洲精品中文字幕乱码三区| 欧美日韩精品免费观看视频| 国产成人福利片| 国产一区欧美二区| 一级精品视频在线观看宜春院| 久久久午夜精品理论片中文字幕| 99久久99久久免费精品蜜臀| 极品尤物av久久免费看| 污片在线观看一区二区| 亚洲一区二区三区视频在线| 亚洲私人影院在线观看| 久久久精品tv| 日韩亚洲欧美一区| 欧美性色综合网| 国产不卡一区视频| 国产米奇在线777精品观看| 亚洲丝袜另类动漫二区| 久久久久久久久久美女| 久久久久久久久久美女| 欧美激情资源网| 亚洲国产精品二十页| 精品国产免费久久 | 国产精品毛片久久久久久久| 久久一区二区三区国产精品| 精品国产人成亚洲区| 欧美成人一区二区| 日韩精品一区二区在线| 久久久综合九色合综国产精品| 欧美videos大乳护士334| 欧美成人a视频| 欧美一区二区三区婷婷月色| 91精品福利在线| 日本道免费精品一区二区三区| 欧美少妇一区二区| 欧美一二三在线| 韩日av一区二区| 国产精品一区一区| 风间由美一区二区三区在线观看 | 亚洲国产精品综合小说图片区| 天天色综合天天| 国产一区二区三区四区在线观看| 亚洲午夜精品久久久久久久久| 国产精品成人免费精品自在线观看| 欧美成人一区二区三区片免费| 日本黄色一区二区| 538prom精品视频线放| 欧美成人精品1314www| 精品久久免费看| 欧美大片一区二区| 久久久久99精品国产片| 婷婷综合五月天| 国产v日产∨综合v精品视频| 欧美日韩一区二区三区四区五区| 精品美女在线观看| 中文字幕一区日韩精品欧美| 久久99精品久久久| 色悠悠久久综合| 国产精品五月天| 成人午夜av电影| 国产精品麻豆久久久| 一区二区三区欧美激情| 爽好久久久欧美精品| 国产成人午夜精品5599| 日韩欧美一区二区视频| 五月婷婷激情综合| 欧美色中文字幕| 夜夜操天天操亚洲| 99r国产精品| 亚洲亚洲精品在线观看|