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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? durbin2.dsp

?? 作者:Analog Devices,Inc 平臺:ADSP21xx 編程語言:ASM 說明:ADSP21xx用AD的16位定點DSP作音頻壓縮器性價比不錯
?? DSP
字號:
.module/boot=3/boot=4        durbin_double; 

{ DURBIN2.DSP - single precision Levinso-Durbin routine
  
  INPUT : 
    i4 -> buffer with autocorrelated speech (pm)
    l4 =  0
    i0 -> buffer for reflection coeffs
    l0 =  0

  OUTPUT  reflection coeffs calculated
    mr1 = Vp minimum total squared prediction error (normalized)

  FUNCTIONS CALLED:
    None

  DESCRIPTON:
    The routine implements Durbins recursion method of solving a
    set of linaer equations forming a Toeplitz matrix. The algorithm in 
    C is as follows:
      Where R[] is the autocorrelation, and k[] the reflection coeffs.
      e[] is the total squared error, and a[][] is the predictor coeff
      matrix (Since only the i'th and the i+1'th column is used at any
      one time, the matrix is implemented as two (a_old and a_new) columns 
      swapping place after each iteration.
     
     e[0] = R[0]     k[1] = R[1] / e[0]     alpha[1][1] = k[1]     e[1] = (1 - k[1]*k[1]) * e[0]   
     for (i=2; i<=N; i++)     begin
       k[i] = 0       for (j=1; j<=i-1; j++)         k[i] = k[i] + R[i-j] * alpha[i-1][j]       k[i] = R[i] - k[i]       k[i] = k[i] / e[i-1]       alpha[i][i] = k[i]       for (j=i-1; j>0; j++)         alpha[i][j] = alpha[i-1][j] - k[i]*alpha[i-1][i-j]       e[i] = (1 - k[i]*k[i]) * e[i-1]     end

  In this version the alpha's (a's) are stored as 32 bit numbers.  
}

#include "lpc.h"

.entry    levinson;

.external overflow;

.global e;

.var/dm/ram i_1;
.var/dm/ram e[N+1];                  {error values}
.var/dm/ram a_new[2*N],a_old[2*N]; {msw0, lsw0, msw1, lsw1,.....}
.var/dm/ram ap_new,ap_old;         {pointers to a_*}
.var/dm/ram p2_k_i;                {pointer to k[i]}
.var/dm     p2_autocor_speech;

  {determines the format that a-values are stored in 
   format: (SBITS+1).(32-SBITS-1)}
.const SBITS  =  4;
.const NSBITS = -SBITS;

levinson:
  i1 = ^a_new; l1 = 0;
  dm(ap_new) = i1;
  i2 = ^a_old; l2 = 0;
  dm(ap_old) = i2;
  dm(p2_autocor_speech) = i4;
  i5 = ^e;     l5 = 0;

  m2 = -1;
  m6 = -1;

  se = NSBITS;

  /* e[0] = R[0] */
  ax0 = pm(i4,m5);
  dm(i5,m5) = ax0;

  /* k[1] = R[1]/e[0] */
   {ax0 = e[0] = divisor}
  ay1 = pm(i4,m4); {MSW of dividend}
  ay0 = 0000;      {LSW of dividend}
  divide(ax0,ay1);
  ar = -ay0; {reverse sign of k before storing}
  dm(i0,m1) = ar;
  dm(p2_k_i) = i0;

  /*  a_old[1] = k[1] */
  si = ay0;
  sr = ashift si (hi);  {store in (SBITS+1).(32-SBITS-1) format}
  dm(i2,m1) = sr1;
  dm(i2,m1) = sr0;

  /* e[1] = (1 - k[1]*k[1])*e[0] */
   {ay0 = k[1]}
  mx0 = ay0;
  my0 = ay0;
  mr0 = 0xffff;   {mr = 1 in 1.31 format}
  mr1 = 0x7fff;
  mr = mr - mx0*my0 (ss);
   {ax0 = e(0)}
  my0 = ax0;
  mr = mr1 * my0 (ss);
  dm(i5,m4) = mr1; 

  /* for(i = 2; i <= N; i++) */
  cntr = N-1;
  ax0 = 1;    {i-1}
  dm(i_1) = ax0;
  do pass_two until ce;
  
    /* k[i] = 0 */
    ay0 = 0;  {LSW}
    ay1 = 0;  {MSW}

    /* for(j = 1; j <= i-1; j++) */
    ax0 = dm(i_1);
    cntr = ax0;
    m3 = ax0;  {i-1}
    m7 = ax0;  {i-1}

    /* prepare: k[i] = k[i] + R[i-j]*a_old[j] */
    i2 = dm(ap_old);             l2 = 0;
    i4 = dm(p2_autocor_speech);  l4 = 0;
    modify(i4,m7);  {->R[i-1]}

    /* loop */
    do calc_ks until ce;
      my1 = pm(i4,m6);         {R[i-j]}
      mx1 = dm(i2,m1);         {msw of a_old[j]}
      mx0 = dm(i2,m1);         {lsw of a_old[j]}
      mr  = mx0 * my1 (us);    {lsw * msw}
      mr0 = mr1;               {shift down 16 bits}
      mr1 = mr2;
      mr  = mr + mx1*my1 (ss); {msw * msw}
      if mv call overflow;
      ar  = mr0 + ay0;          {acum. lsw's}  
      ay0 = ar;
      ar  = mr1 + ay1 + c;      {acum. msw's}  
      if av call overflow;
    calc_ks: ay1 = ar;
      
    /* k[i] = R[i] - k[i] */
    i4 = dm(p2_autocor_speech);  l4 = 0;
    modify(i4,m7);
    modify(i4,m5);         {->R[i]}
    si   = pm(i4,m4);      {R[i]}
    sr   = ashift si (hi); {shift to (SBITS+1).(32-SBITS-1) format}
    {ay0 = LSW of k[i]}
    ar   = sr0 - ay0;
    si   = ar;         {store for double precision upshift}
    {ay1 = MSW of k[i]}
    ar   = sr1 - ay1 + c - 1;
    if av call overflow;
    
/*    sr  = lshift si by SBITS (lo);
      si  = ar;
      se  = exp si (hi);
      ay1 = se;
        se  = NSBITS;
      ax1 = SBITS;
      ar  = ax1 + ay1;
      if gt call overflow;
    sr  = sr or ashift si by SBITS (hi);
*/    
    /* k[i] = k[i]/e[i-1] */
    i5 = ^e;     l5 = 0;
    modify(i5,m7);   {->e[i-1]} 
    ax0 = dm(i5,m5); {e[i-1]}
    ay1 = ar {sr1};    {MSW of k[i]}
    {overflow check}
      ar  = abs ax0;
      ay0 = ar;
      ar  = pass ay1;
      ar  = abs ar;
      ar  = ar - ay0;  {abs(k[i]) - abs(e[i-1])}
      if gt call overflow;
    ay0 = si {sr0};    {LSW of k[i]}  
    divide(ax0,ay1);
    
    si = ay0;
    sr = ashift si by SBITS (hi);
    ay0 = sr1;

    i0 = dm(p2_k_i);   l0 = 0;
    ay1 = sr1;
    ar  = -ay1; {reverse sign of k before storing}
    dm(i0,m1) = ar;  {k[i] store}
    dm(p2_k_i) = i0;

    /* a_new[i] = k[i] */
    si = ay0;
    sr = ashift si (hi);  {store in (SBITS+1).(32-SBITS-1) format}
    i1 = dm(ap_new);   l1 = 0;
    modify(i1,m3); 
    modify(i1,m3);   {->a_new[i].msw}
    modify(i1,m1);   {->a_new[i].lsw}
    dm(i1,m2) = sr0; {store lsw}
    dm(i1,m2) = sr1; {store msw} 

    /* for(j = i-1; j>0; j--) */
    cntr = dm(i_1);
    
    /*prepare: a_new[j] = a_old[j] - k[i]*a_old[i-j] */
    i2 = dm(ap_old);  l2 = 0;
    modify(i2,m3);
    modify(i2,m3);    {-> a_old[j+1].msw}
    modify(i2,m2);    {-> a_old[j].lsw} 
    i0  = dm(ap_old); {-> a_old[i-j].msw}   l0 = 0;
    my1 = ay0;        {k[i]}

    /* loop */
    do calc_as until ce;
      ay0 = dm(i2,m2);    {a_old[j].lsw}
      ay1 = dm(i2,m2);    {a_old[j].msw}
      mx1 = dm(i0,m1);    {a_old[i-j].msw}
      mx0 = dm(i0,m1);    {a_old[i-j].lsw}
      mr  = mx0*my1 (us); {lsw * msw}
      mr0 = mr1;          {shift down by 16 bits}  
      mr1 = mr2;  
      mr  = mr + mx1*my1 (ss); {msw * msw}
      if mv call overflow;
      ar  = ay0 - mr0;         {acum. lsw's}  
      dm(i1,m2) = ar;
      ar  = ay1 - mr1 + c - 1; {acum. msw's}  
      if av call overflow;
    calc_as: dm(i1,m2) = ar;

    /* e[i] = (1 - k[i]*k[i]) * e[i-1] */
     {my1 = k[i]}
    mx0 = my1;
    mr0 = 0xffff;  {mr = 1 in 1.31 format}
    mr1 = 0x7fff;
    mr = mr - mx0*my1 (ss);
    if mv call overflow;
     {ax0 = e(i-1)}
    my0 = ax0;
    mr = mr1 * my0 (ss);
    dm(i5,m4) = mr1;

    /* switch the a pointers */
    ax0 = dm(ap_old);
    ay0 = dm(ap_new);
    dm(ap_new) = ax0;
    dm(ap_old) = ay0;

    /* i++ */
    ay0 = dm(i_1);
    ar  = ay0 + 1;
pass_two: dm(i_1) = ar;
  
  rts;

.endmod;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狂野欧美性猛交blacked| 欧美aaa在线| 国产日本一区二区| 精品国产亚洲在线| 久久婷婷久久一区二区三区| 欧美一级黄色片| 欧美成人精品3d动漫h| 日韩欧美国产一区二区在线播放| 日韩一级成人av| 精品国产一区二区三区久久影院| 欧美大片在线观看| 久久久99精品免费观看| 国产精品天美传媒| 亚洲综合偷拍欧美一区色| 亚洲综合一区二区| 日韩精品91亚洲二区在线观看| 视频一区视频二区中文字幕| 蜜臀av一区二区在线观看| 精品一区二区三区免费播放| 国产裸体歌舞团一区二区| 丁香亚洲综合激情啪啪综合| av电影天堂一区二区在线观看| 99re这里只有精品首页| 欧美日韩中字一区| 欧美一级片免费看| 久久精品综合网| 有码一区二区三区| 美女高潮久久久| 成人午夜av电影| 欧美亚洲动漫另类| 精品免费视频一区二区| 国产精品素人视频| 首页国产丝袜综合| 99riav一区二区三区| 91精品国产一区二区人妖| 久久久久综合网| 亚洲国产色一区| 国产精品538一区二区在线| 一本一本大道香蕉久在线精品 | 奇米影视一区二区三区| 国产精品99久久久久久久女警| 91网站在线观看视频| 欧美一区二区精品| 亚洲国产综合视频在线观看| 激情图片小说一区| 欧美三级电影一区| 国产欧美一区二区精品婷婷| 亚洲第一成年网| 国产91精品入口| 欧美电影免费观看高清完整版在线| 久久精品亚洲精品国产欧美| 亚洲mv在线观看| 91美女片黄在线观看91美女| 欧美一区二区在线播放| 亚洲精品免费在线| www.爱久久.com| 久久综合久久鬼色中文字| 亚洲sss视频在线视频| 色哟哟一区二区三区| 日本一区二区三区在线不卡| 久久99最新地址| 56国语精品自产拍在线观看| 亚洲视频综合在线| 成人av免费在线观看| 久久久www成人免费无遮挡大片| 日韩精品五月天| 在线观看一区二区视频| 亚洲美腿欧美偷拍| 不卡欧美aaaaa| 国产精品福利一区二区三区| 国产福利一区二区三区| 久久久.com| 成人国产一区二区三区精品| 精品理论电影在线| 精品一区二区免费看| 日韩精品中午字幕| 精品一二三四在线| 欧美xxxxxxxx| 国产一区二区三区高清播放| 26uuu精品一区二区在线观看| 蜜臀久久99精品久久久久久9 | 国产在线一区观看| 2020国产精品自拍| 福利一区二区在线| 亚洲欧美日韩精品久久久久| 91美女蜜桃在线| 午夜激情综合网| 欧美一区二区三区免费在线看| 天天影视涩香欲综合网 | 国产精品乱人伦| 99精品国产一区二区三区不卡| 亚洲婷婷综合色高清在线| 91国产免费看| 免费人成精品欧美精品 | av不卡一区二区三区| 成人免费在线视频观看| 色婷婷综合久久久中文字幕| 性做久久久久久| 久久久久久久久久久99999| 成人午夜视频福利| 亚洲靠逼com| 日韩欧美二区三区| 成人黄页在线观看| 美女精品自拍一二三四| 欧美精品一区二区三区在线| 成人理论电影网| 午夜精品久久久久久久| 337p日本欧洲亚洲大胆精品| www.欧美色图| 日韩激情中文字幕| 欧美国产精品一区二区| 欧美三级日韩三级国产三级| 韩国毛片一区二区三区| 亚洲另类中文字| 精品国产一区久久| 欧美无乱码久久久免费午夜一区| 激情综合五月婷婷| 亚洲精品视频在线观看网站| 精品久久国产字幕高潮| 色婷婷av一区二区三区之一色屋| 日产精品久久久久久久性色| 国产精品国产馆在线真实露脸| 91麻豆精品国产91久久久 | 亚洲一二三专区| 久久久久久影视| 欧美夫妻性生活| 日本二三区不卡| 成人高清免费在线播放| 欧美日韩一区中文字幕| 粉嫩aⅴ一区二区三区四区| 日本午夜一区二区| 一区二区三区影院| 国产精品国产三级国产aⅴ中文| 日韩欧美亚洲国产另类 | 国产精品小仙女| 日本亚洲最大的色成网站www| 亚洲美女电影在线| 国产精品乱人伦| 国产精品青草久久| 2021久久国产精品不只是精品| 777xxx欧美| 欧美婷婷六月丁香综合色| 97精品国产97久久久久久久久久久久| 国产在线看一区| 久久69国产一区二区蜜臀| 天堂成人免费av电影一区| 性欧美大战久久久久久久久| 亚洲永久精品大片| 亚洲一区二区精品久久av| 亚洲欧美偷拍卡通变态| 一区二区视频在线| 亚洲综合一区二区三区| 亚洲一区二区在线免费看| 亚洲日本在线a| 一区二区三区在线视频播放 | 欧美亚洲综合久久| 欧美伊人久久大香线蕉综合69| 色一情一乱一乱一91av| 欧洲另类一二三四区| 欧美日韩一区二区不卡| 在线播放亚洲一区| 久久婷婷国产综合国色天香| 精品精品欲导航| 亚洲国产成人一区二区三区| 国产欧美日本一区视频| 亚洲欧洲无码一区二区三区| 亚洲人123区| 婷婷国产v国产偷v亚洲高清| 蜜臀av一区二区| 成人网男人的天堂| 在线观看成人免费视频| 91精品国产综合久久精品图片| 日韩视频在线你懂得| 国产欧美日本一区二区三区| 91福利国产精品| 中文字幕第一区二区| 日本一区二区在线不卡| 久久精品视频在线看| 国产亚洲欧美日韩日本| 国产精品久久二区二区| 亚洲国产精品久久久久秋霞影院| 亚洲欧美日本韩国| 日韩av一二三| 亚洲欧洲精品天堂一级| 亚洲国产另类av| 欧美在线观看禁18| 亚洲视频一区二区在线观看| 国产一区 二区 三区一级| 欧美一区欧美二区| 亚洲成人动漫精品| 欧美系列日韩一区| 一区二区三区在线观看网站| 成人久久视频在线观看| 欧美—级在线免费片| 国产精品资源在线| 精品成人免费观看| 国产精品亚洲专一区二区三区| 日韩亚洲欧美高清| 久久99日本精品| 精品久久一二三区|