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

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

?? iir_flp32.asm

?? 是一個TS201的源代碼
?? ASM
字號:
/*************************************************************************

-rev1.0 PM, 9/2003
-rev1.1 PM, 7/2004, project passed to VDSP3.5

-this program implements a floating point IIR filter as if one output at a 
time would be necessary
-it can be compiled and run on TS101 and TS201.
-TS101 has only 2 memory blocks (section 1 and 2) where data buffers may be placed.
-TS201 has 5 memory blocks (section 1, 2, 3, 4, 5) where data buffers may be placed.
-In this program only 2 memory blocks have been used to maintain compatibility between
TS101 and TS201

-2 tcl files are provided, one for TS101 and one for TS201. Both of them build
the correspondent project and save the output buffer into a file output.dat
-.align_code 4 instruction has been introduced throughout the main part of the program
to efficientize the cycle count for TS201 (On this processor they may be even discarded
if the cycle count is not of interest). For TS101, the assembly option -align-branch-lines 
placed in the project properties tab has the same effect (On TS101 they are a must for
IF instructions).


Overview:

This program computes an IIR filter as if one output at a time would be necessary.

The equations of the filter are:

  w(n)=x(n)*scale+w(n-1)*a4+w(n-2)*a3+w(n-3)*a2+w(n-4)*a1
  y(n)=w(n)+w(n-1)*b4+w(n-2)*b3+w(n-3)*b2+w(n-4)*b1

The coefficients a4,a3,a2,a1,b4,b3,b2,b1 are saved in the coeffs buffer
in the following order: a2,a4,b2,b4,a1,a3,b1,b3

The delay line saves w(n-1), w(n-2), w(n-3), w(n-4) in the following order:
    w(n-3), w(n-1), w(n-4), w(n-2).

This order simplifies the process that updates the delay line. For example,
the dealy line is loaded in the following registers:
  r3=w(n-1) r2=w(n-3) r1=w(n-2) r0=w(n-4)

When w(n) must be saved into the dealy line, r1:0 is shfted right 32 bits
throwing away w(n-4) and making place for w(n). The delay line looks now as:
  r3=w(n-1) r2=w(n-3) r1=w(n) r0=w(n-2) and is saved in the following order:
  w(n-2), w(n), w(n-3), w(n-1).

This procedure repeates each time the filter is used.

-N represents the number of input points considered
-the outputs are saved into the output buffer. They may be compared with
the outputs saved into expected_output buffer

- at the end of the program, the cycle_count variable contains the
cycle count of the main program
************************************************************************/

// N number of data points in input
#define N_MAX    100
#define N         30
#define SECTIONS 4

#define scale    0.05078125

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

.section data1;
.align 4;
.var inputs[N] =

5000.0, 4333.0, 5465.0, 13556.0, 7423.0, -5000.0, -4333.0, -5465.0, -13556.0, -7423.0,
5000.0, 4333.0, 5465.0, 13556.0, 7423.0, -5000.0, -4333.0, -5465.0, -13556.0, -7423.0,
5000.0, 4333.0, 5465.0, 13556.0, 7423.0, -5000.0, -4333.0, -5465.0, -13556.0, -7423.0;

.var cycle_count;    // execution cycle counts

.align 4;
.var expected_output[N] =

 253.906250,  1394.910156,  3400.899369,  5451.189211,  7461.879024,
 8509.488592,  5519.537707, -1306.039745, -6936.575354, -8920.200002,
-8397.397895, -4821.647412,  1507.253965,  6689.519912,  8738.028980,
 8444.656939,  4922.543154, -1492.260614, -6730.424864, -8759.801131,
-8433.783468, -4908.582993,  1492.343760,  6724.040670,  8757.440081,
 8435.857839,  4910.422599, -1492.627568, -6724.989198, -8757.654792;

.align 4;
.var output[N];

.section data2;
.align 4;
//                       a2,     a4,     b2, b4, a1,     a3,       b1, b3
.var coeffs[2*SECTIONS]= 0.1412, 0.6272, 4., 4., -0.0255, -0.6108, 1., 6.;

.section data3;
.align 4;
.var delayline[SECTIONS]=0.0, 0.0, 0.0, 0.0;

/************************************************************************/
#ifdef __ADSPTS201__
  #include <defts201.h>
#endif

  #include "cache_macros.h"


.section program;
.global _main;

/************************************** Power up code *****************************************/
_main:
powerup:

#ifdef __ADSPTS201__
/*in the case of TS201, at the beginning of the program the
cache must be enabled. The procedure is contained in the
cache_enable macro that uses the refresh rate as input parameter
      -if CCLK=500MHz, refresh_rate=750
      -if CCLK=400MHz, refresh_rate=600
      -if CCLK=300MHz, refresh_rate=450
      -if CCLK=250MHz, refresh_rate=375
*/
  cache_enable(750);

    j0 = j31 + coeffs; LC0 = 2;;
//due to a TS201 rev0 anomaly, the initialization of LC0 must be at least
//4 instruction lines before the end of the loop (jump instruction included)
//and the loop must be at least 2 cycles long
    nop;nop;;
.align_code 4;
ini_cache:
    xr3:0 = q[j0+=0];;
.align_code 4;
    if NLC0E, jump ini_cache; q[j0+=4] = xr3:0;;

#endif

end_powerup:


/************************************** Start of code *****************************************/

//j1 is used to fetch the inputs.
  j1 = j31 + inputs; LC0 = N;;

//j2 is used to save the outputs
  j2 = j31 + output;;

.align_code 4;
iir_loop:

//yr8=x(n)
  yr8 = [j1+=1];;

//read cycle counter

  ini_cycle_count;
/************************************** Start of IIR code***************************************/

  j0 = j31 + delayline;;
  k0 = k31 + coeffs;;

//r3:2=w(n-1) w(n-3)
//                 yr7:6=a4,a2 xr7:6=b4,b2
  r3:2 = l[j0+=2]; r7:6 = q[k0+=4];;

//r1:0=w(n-2) w(n-4)
//                 yr5:4=a3,a1 xr5:4=b3,b1
  r1:0 = l[j0+=2]; r5:4 = q[k0+=4];;

//yr9=w(n-1)*a4
//xr9=w(n-1)*b4
  fr9 = r3 * r7; yr13 = scale;;

//yr10=w(n-3)*a2
//xr10=w(n-3)*b2
  fr10 = r2 * r6;;

//yr11=w(n-2)*a3
//xr11=w(n-2)*b3
  fr11 = r1 * r5;;

//yr12=w(n-4)*a1 yr9=w(n-1)*a4+w(n-3)*a2
//xr12=w(n-4)*b1 xr9=w(n-1)*b4+w(n-2)*b2
  fr12= r0 * r4; fr9 = r9 + r10;;

//yr8=x(n)*scale   w(n-4) is shifted out of the delay line
  yfr8 = r8 * r13; lr1:0 = lshift r1:0 by -32;;

//yr10=w(n-2)*a3+w(n-4)*a1
//xr10=w(n-2)*b3+w(n-4)*b1
//                  the delay line is saved
  fr10 = r11 + r12; l[j31 + delayline+2] = yr3:2;;

//yr1=x(n)*scale+w(n-1)*a4+w(n-3)*a2
  yfr9 = r8 + r9;;

//yr1=x(n)*scale+w(n-1)*a4+w(n-3)*a2+w(n-2)*a3+w(n-4)*a1=w(n)
//xr1=           w(n-1)*b4+w(n-2)*b2+w(n-2)*b3+w(n-4)*b1
//in this moment w(n) is introduced in the new delay line
  fr1 = r9 + r10;;

//w(n) is passed in the X block
  xr4 = yr1;;

//xr4=w(n)+w(n-1)*b4+w(n-2)*b2+w(n-2)*b3+w(n-4)*b1=y(n)
//                the delay line is saved
  xfr4 = r4 + r1; l[j31 + delayline] = yr1:0;;

/******************************************* Done ***********************************************/
//read cycle counter and compute the program's cycle count

  comp_cycle_count;

//end of IIR program. Save y(n) into the output buffer
.align_code 4;
  if NLC0E, jump iir_loop; [j2+=1] = xr4;;






_main.end:
___lib_prog_term:

  nop;nop;nop;nop;;



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99热狠狠色一区二区| 色婷婷久久久综合中文字幕| 国产福利精品一区二区| 欧洲中文字幕精品| 久久精品亚洲精品国产欧美kt∨ | 亚洲欧美怡红院| 日韩不卡在线观看日韩不卡视频| 成人福利电影精品一区二区在线观看| 精品视频123区在线观看| 久久久高清一区二区三区| 亚洲国产婷婷综合在线精品| 国产99久久久久| 精品乱人伦一区二区三区| 亚洲第一激情av| 色婷婷综合久久| 中文字幕一区二区三区不卡在线| 久久精品72免费观看| 欧美日韩国产成人在线91| 亚洲人成精品久久久久久| 粉嫩13p一区二区三区| 精品福利一区二区三区免费视频| 性欧美疯狂xxxxbbbb| 在线观看亚洲专区| 国产精品正在播放| 日韩三区在线观看| 日韩va亚洲va欧美va久久| 91福利国产精品| 亚洲精品国产高清久久伦理二区| 成人永久aaa| 中文字幕巨乱亚洲| 成人影视亚洲图片在线| 国产亚洲精品精华液| 国产丶欧美丶日本不卡视频| wwwwww.欧美系列| 国产美女在线精品| 久久噜噜亚洲综合| 国产91在线|亚洲| 日本一区二区久久| 97精品久久久久中文字幕| 亚洲色图都市小说| 欧美性色aⅴ视频一区日韩精品| 亚洲免费av高清| 欧美日韩国产电影| 精品在线播放午夜| 久久精品视频一区二区三区| 国产成人精品aa毛片| 亚洲日本中文字幕区| 91福利小视频| 日本不卡一区二区三区| 日韩精品一区二区三区蜜臀| 国产一区二区三区| 国产精品高潮呻吟| 欧美日韩中文字幕精品| 麻豆91精品91久久久的内涵| 精品久久久久久无| www.成人网.com| 亚洲一区免费视频| 亚洲成a人v欧美综合天堂下载 | 国产成人精品www牛牛影视| 亚洲国产成人自拍| 欧美优质美女网站| 理论片日本一区| 国产精品传媒在线| 日韩午夜激情av| 波多野结衣欧美| 日本aⅴ精品一区二区三区 | 中文字幕一区二区三区四区| 在线观看欧美日本| 国产一区二区三区国产| 中文字幕一区二区在线播放| 欧美人妖巨大在线| 成人美女在线视频| 乱一区二区av| 亚洲日本欧美天堂| 精品国产1区二区| 欧洲国内综合视频| 国产aⅴ综合色| 蜜乳av一区二区| 樱花草国产18久久久久| 久久久久久电影| 91超碰这里只有精品国产| av激情成人网| 国产一区二区在线观看免费| 亚洲一区在线视频观看| 欧美国产精品久久| 91精品国模一区二区三区| 色综合久久久网| 国产河南妇女毛片精品久久久| 亚洲一区二区三区爽爽爽爽爽| 国产午夜亚洲精品羞羞网站| 51精品秘密在线观看| 色诱视频网站一区| 丁香婷婷综合色啪| 激情文学综合网| 日本在线播放一区二区三区| 一二三区精品福利视频| 亚洲欧洲精品一区二区三区不卡| 精品99久久久久久| 欧美一级日韩一级| 欧美日韩的一区二区| 欧美性做爰猛烈叫床潮| 成人高清免费观看| 国产成人精品综合在线观看| 久久国产精品第一页| 天堂久久一区二区三区| 亚洲成人资源网| 亚洲一区二区三区四区五区中文| 亚洲欧洲日产国码二区| 中文字幕久久午夜不卡| 国产欧美日韩不卡| 中文字幕av不卡| 国产精品色呦呦| 中文字幕一区二区三区四区不卡| 国产精品久久久久久妇女6080 | 国产传媒一区在线| 韩国精品主播一区二区在线观看| 免费成人你懂的| 麻豆精品一区二区三区| 激情图片小说一区| 国产精品123区| av不卡免费电影| 欧洲激情一区二区| 91麻豆精品国产91久久久久久久久| 欧美日韩情趣电影| 3751色影院一区二区三区| 欧美一级爆毛片| 久久女同精品一区二区| 国产精品拍天天在线| 亚洲欧洲制服丝袜| 亚洲成av人综合在线观看| 日本 国产 欧美色综合| 韩国精品一区二区| 99热精品国产| 欧美一区二区精品在线| 精品欧美乱码久久久久久| 久久久久久久久久久久久夜| 中文字幕一区二区三区四区不卡 | 日本丰满少妇一区二区三区| 91浏览器入口在线观看| 欧美嫩在线观看| 精品成人一区二区三区四区| 中文字幕欧美区| 首页国产丝袜综合| 国产一区二区在线免费观看| 色哟哟在线观看一区二区三区| 欧洲精品在线观看| 久久久久久久久伊人| 亚洲免费资源在线播放| 免播放器亚洲一区| jlzzjlzz国产精品久久| 91精品麻豆日日躁夜夜躁| 欧美高清在线一区二区| 天天色天天操综合| 成人性色生活片| 欧美精品18+| 中文字幕中文在线不卡住| 亚洲国产综合在线| 高清不卡在线观看av| 欧美日韩亚洲国产综合| 久久精品一区二区三区四区| 亚洲午夜视频在线| 国产精品一区二区男女羞羞无遮挡| 91老司机福利 在线| 欧美r级电影在线观看| 亚洲另类中文字| 国产v综合v亚洲欧| 制服丝袜亚洲精品中文字幕| 亚洲精品视频自拍| 国产精品影视在线| 欧美一区二区精美| 一级做a爱片久久| 国产盗摄女厕一区二区三区| 91精品国产欧美一区二区18 | 日本韩国一区二区三区视频| wwww国产精品欧美| 美女一区二区久久| 欧美日韩一区二区三区在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 精品国产乱码久久久久久影片| 亚洲自拍偷拍网站| 成人a区在线观看| 国产亚洲一区字幕| 久久99久久精品| 日韩欧美在线影院| 人人精品人人爱| 欧美精品123区| 日韩中文字幕区一区有砖一区 | 国产精品亚洲а∨天堂免在线| 8x8x8国产精品| 亚洲成人免费在线观看| 99久久久国产精品| 国产精品欧美久久久久无广告| 久久99国产精品尤物| 日韩一区二区三区观看| 午夜一区二区三区在线观看| 日本韩国欧美一区| 一区二区三区免费观看| 色乱码一区二区三区88| 亚洲乱码国产乱码精品精98午夜 | av一区二区三区四区|