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

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

?? auto-regressive moving-average (arma) filter.txt

?? c6000的標(biāo)準(zhǔn)函數(shù)庫
?? TXT
字號:
*TEXAS INSTRUMENTS, INC.
*
*	IIR
*
*	Revision Data: 05/13/97
*
*	USAGE 	This routine is C Callable and can be called as:
*
*		void iir(short *oPtr, short *iPtr, short *inPtr, short *b,
*			 short *a, int M)
*
*		oPtr 	= output array (used)
*		iPtr 	= input array
*		inPtr	= output array (stored)
*		a	= filter coefs
*		b	= filter coefs
*		M	= length (number of output samples)
*
*		If routine is not to be used as a C callable function
*		then all instructions relating to stack should be removed.
*		Refer to comments of individual instructions.  You will also
*		need to initialize values for all of the values passed as these
*		are assumed to be in registers as defined by the calling 
*		convention of the compiler, (refer to the C compiler reference
*		guide).
*
*	C CODE 	This is the C equivalent of the assembly code without
*		restrictions.  Note that the assembly code is hand optimized and
*		restrictions may apply.
*
*		void iir(short *oPtr, short *iPtr, short *inPtr, short *b,
*			 short *a, int M)
* 
*			{
*			int j,i;
*			int sum;
* 
*			for (i=0; i<M; i++){
*				sum = b[0] * iPtr[4+i];
*				for (j = 1; j <= 4; j++) 
*					sum += b[j]*iPtr[4+i-j]-a[j]*oPtr[4+i-j];
*				oPtr[4+i] = (sum >> 15);
*				inPtr[i] = oPtr[4+i];
*				} 
*			}
*
*
*	DESCRIPTION
*		The iir performs an Auto-regressive moving-average (ARMA) filter
*		with 4 auto-regressive filter coefficients and 5 moving-average
*		filter coefficients for M output samples. The output vectro is
*		stored in two locations.  This routine is used as a high pass
*		filter in the VSELP vocoder.  All data is assumed to be 16-bit.
*		To avoid memory hits Optr must be aligned on the next halfword
*		boundary following the alignment of iPtr.
*
*	TECHNIQUES
*		The inner loop is completely unrolled and software pipelined
*		(i.e. each time the 5 cycle loop "LOOP" is executed the inner
*		loop of the C code is executed.)
*
*	MEMORY NOTE
*		To avoid memory hits Optr must be aligned on the next halfword
*		boundary following the alignment of iPtr. Other wise there is a
*		total of M memory hits (once per outer loop.)
*
*	CYCLES	M*5 + 16
*		for M = 160 -> 816 cycles or 4.08 usec
* 
*===============================================================================
	.global _iir
	.text
_iir:

	STW	.D2	A10,*B15--	; push A10 on stack
||	MV	.L1X	B15,A1		; copy stack pointer

	STW	.D1	A11,*--A1[2]	; push A11 on stack
||	STW	.D2	B10,*B15--[2]	; push B10 on stack

	STW	.D2	B11,*B15	; push B11 on stack

*** BEGIN Benchmark Timing ***
B_START

	LDH	.D2	*B6,B10		; get b[0]

	LDH	.D1	*+A8[2],A7	; get a[2] 
||	LDH	.D2	*+B6[2],B9	; get b[2] 
||	ADD	.L2	8,B4,B4		; i -> iPtr[4]

	LDHU	.D1	*+A8[1],A5	; get a[1] 
||	LDHU	.D2	*+B6[1],B5	; get b[1] 
||	MV	.S1	B8,A1		; A1 = LEN (normally 160)

	LDH	.D1	*+A8[4],A5	; get a[4]
||	LDH	.D2	*+B6[4],B5	; get b[4]

	LDHU	.D1	*+A8[3],A8	; get a[3]
||	LDHU	.D2	*+B6[3],B8	; get b[3]

	LDH	.D2	*B4--,B0	; get iPtr[4]
||	LDH	.D1	*A4++[2],A0	; get oPtr[0]
||	ADD	.L1	8,A4,A11	; used for store ptr
||	MVK	.S2	1,B1		; second primer

	LDH	.D2	*B4--,B0	; get iPtr[3]
||	LDH	.D1	*A4--,A9	; get oPtr[2]
||	SHL	.S1	A7,16,A7	; put a[2] in 16MSBs
||	SHL	.S2	B9,16,B9	; put b[2] in 16MSBs

	LDH	.D2	*B4--,B0	; get iPtr[2]
||	LDH	.D1	*A4++[2],A0	; get oPtr[1]
||	OR	.L1	A7,A5,A7	; a[2] & a[1]
||	OR	.L2	B9,B5,B9	; b[2] & b[1]

	LDH	.D2	*B4--,B0	; get iPtr[1]
||	LDH	.D1	*A4--[2],A9	; get oPtr[3]
||	SHL	.S1	A5,16,A5	; put a[4] in 16MSBs
||	SHL	.S2	B5,16,B5	; put b[4] in 16MSBs

	LDH	.D2	*B4++[5],B0	; get iPtr[0]
||	OR	.L1	A5,A8,A5	; a[4] & a[3]
||	OR	.L2	B5,B8,B5	; b[4] & b[3]
||	MVK	.S2	0,B2		; used for store priming cnt
|| [A1] B	.S1	LOOP		; for (i=0; i<M; i++)

LOOP:
  [B2]	ADD	.S1	A2,A10,A2	; o2*a2+o1*a3+o0*a4
||[B2]	ADD	.L2	B11,B7,B11	; i4*b0+i3*b1+i2*b2+i1*b3
||	MPY	.M2	B0,B10,B8	;* iPtr[4] * b[0]
||	MPYLH	.M1	A0,A5,A8	;* oPtr[0] * a[4]
||	LDH	.D2	*B4--,B0	;** get iPtr[4]
||	LDH	.D1	*A4++,A0	;** get oPtr[0]

  [B2]	ADD	.S1	A2,A8,A2	; o3*a1+o2*a2+o1*a3+o0*a4
||[B2]	ADD	.S2	B11,B7,B11	; i4*b0+i3*b1+i2*b2+i1*b3+i0*b4
||	MPY	.M2	B0,B9,B7	;* iPtr[3] * b[1]
||	MPYLH	.M1	A9,A7,A3	;* oPtr[2] * a[2]
||	LDH	.D2	*B4--,B0	;** get iPtr[3]
||[!B2]	LDH	.D1	*+A4[1],A9	;* get oPtr[2]
|| [A1] ADD	.L1	-1,A1,A1	; decrement loop counter

  [B2]	SUB	.L1X	B11,A2,A2	; oPtr[4] is computed here
||	MPYLH	.M2	B0,B9,B7	;* iPtr[2] * b[2]
||	MPY	.M1	A0,A5,A10	;* oPtr[1] * a[3]
||	LDH	.D2	*B4--,B0	;** get iPtr[2]
||	LDH	.D1	*A4,A0		;** get oPtr[1]

  [B2]	SHR	.S1	A2,15,A9	; scale oPtr[4]		
||[!B1] STH	.D1	A9,*A6++	; store oPtr[4] to *inPtr
||	MPY	.M2	B0,B5,B7	;* iPtr[1] * b[3]
||	ADD	.L2	B8,B7,B11	;* i4*b0+i3*b1
||	LDH	.D2	*B4--,B0	;** get iPtr[1]
||[B1]	SUB	.S2	B1,B2,B1	; prime first store

  [B2]	STH	.D1	A9,*+A4[1]	; store oPtr[4] to *iPtr	
||	MPYLH	.M2	B0,B5,B7	;* iPtr[0] * b[4]
||	MPY	.M1	A7,A9,A8	;* oPtr[3] * a[1]
||	ADD	.L1	A3,A8,A2	;* o2*a2+o1*a3
||	ADD	.S2	B11,B7,B11	;* i4*b0+i3*b1+i2*b2
||	LDH	.D2	*B4++[5],B0	;** get iPtr[0]
|| [A1] B	.S1	LOOP		;for (i=0; i<M; i++)
||[!B2] ADD	.L2	1,B2,B2		; used for store priming cnt	
; LOOP ends here

	STH	.D1	A9,*A6		; store oPtr[4] to *inPtr	
||	MV	.L1X	B15,A1		; copy stackpointer to A1

B_END:
*** END Benchmark Timing ***

	LDW	.D2	*B15++[2],B11	; pop B11 off stack
||	LDW	.D1	*++A1,A11	; pop A11 off stack
||	B	.S2	B3		; return from call

	LDW	.D2	*B15++,B10	; pop B10 off stack
||	LDW	.D1	*++A1[2],A10	; pop A10 off stack

	NOP	4

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一二二区| 麻豆一区二区99久久久久| 日韩一卡二卡三卡| av资源网一区| 免费观看久久久4p| 一区二区三区欧美日| 久久一区二区视频| 欧美日韩黄色影视| 91麻豆国产福利在线观看| 亚洲精品中文在线| 国产综合色视频| 亚洲一级不卡视频| 国产精品久久久久精k8| 欧美成人a∨高清免费观看| 一本色道亚洲精品aⅴ| 国产尤物一区二区在线| 天天综合网 天天综合色| 亚洲天堂网中文字| 国产欧美一区二区精品忘忧草| 欧美日韩一区二区三区免费看 | 免费观看日韩电影| 亚洲一区二区在线播放相泽| 国产精品久久久久久久久晋中| 亚洲成年人网站在线观看| 国产精品久久久久影院老司| 久久久一区二区三区| 日韩午夜激情免费电影| 欧美日韩一区 二区 三区 久久精品| 成人午夜视频福利| 国产成人自拍网| 国产精品一区专区| 久久电影网电视剧免费观看| 三级欧美韩日大片在线看| 亚洲与欧洲av电影| 一区二区三区电影在线播| 亚洲女人****多毛耸耸8| 国产精品第四页| 国产精品美女一区二区在线观看| 久久影院视频免费| 久久亚洲二区三区| 久久精品欧美一区二区三区不卡| 国产亚洲制服色| 久久人人爽爽爽人久久久| 久久影院午夜片一区| 久久老女人爱爱| 国产蜜臀97一区二区三区| 欧美激情一区三区| 国产精品久久久久久久岛一牛影视| 国产精品丝袜黑色高跟| 国产精品国产三级国产普通话99 | 国产精品私人自拍| 综合亚洲深深色噜噜狠狠网站| 国产精品传媒在线| 一级女性全黄久久生活片免费| 一区二区三区视频在线看| 亚洲图片欧美综合| 日韩电影一二三区| 国产一区二区在线电影| 国产91精品久久久久久久网曝门| 成人黄色在线视频| 欧美性极品少妇| 欧美一级黄色录像| 韩日av一区二区| 丰满少妇久久久久久久| 91在线视频播放| 欧美日韩高清在线播放| 欧美tickling挠脚心丨vk| 日本一区二区免费在线观看视频 | 国产日韩欧美一区二区三区综合| 国产精品久久久久久久久久免费看| 亚洲欧美偷拍三级| 亚洲国产另类av| 美美哒免费高清在线观看视频一区二区| 久久成人免费电影| 99视频国产精品| 91精品福利在线一区二区三区| 日韩精品一区二区三区中文不卡| 日本一区二区免费在线观看视频| 一区二区三区日韩精品| 蜜桃av噜噜一区二区三区小说| 粉嫩av一区二区三区在线播放 | 国产精品一区二区视频| 99国产精品视频免费观看| 欧美一区二区三区在线观看| 国产欧美日韩视频一区二区| 亚洲一区二区三区四区在线观看 | 国产成人精品一区二区三区网站观看| kk眼镜猥琐国模调教系列一区二区| 欧美日本韩国一区| 国产精品少妇自拍| 日本免费在线视频不卡一不卡二| 久久亚洲精精品中文字幕早川悠里| 亚洲欧美激情在线| 蜜桃av一区二区三区| 在线精品视频小说1| 国产偷国产偷精品高清尤物| 亚洲国产一区二区a毛片| 国产乱子轮精品视频| 欧美午夜在线观看| 国产精品久久久久一区| 麻豆91免费看| 欧美精品免费视频| 一区二区三区在线视频观看58| 国产乱子伦视频一区二区三区| 欧美理论片在线| 亚洲黄色片在线观看| 高清成人免费视频| 日韩一区二区三区视频在线观看| 中文字幕视频一区| 另类中文字幕网| 波多野洁衣一区| 久久久精品免费免费| 亚洲成人在线免费| 成人免费视频视频| 日韩精品一区国产麻豆| 图片区小说区区亚洲影院| a亚洲天堂av| 久久久一区二区| 日本亚洲欧美天堂免费| 日本精品裸体写真集在线观看| 欧美成人精品福利| 亚洲成人av电影| 91社区在线播放| 国产精品天天看| 国模无码大尺度一区二区三区| 91精品国产综合久久久久久久 | 亚洲午夜电影网| 日韩欧美一区二区不卡| 亚洲高清免费观看高清完整版在线观看| 99国产精品99久久久久久| 精品久久久久久久一区二区蜜臀| 亚洲国产日产av| 色狠狠综合天天综合综合| 国产亚洲短视频| 国产精品系列在线播放| 欧美va亚洲va香蕉在线| 日韩av电影天堂| 欧美日韩久久不卡| 国产天堂亚洲国产碰碰| 豆国产96在线|亚洲| 久久久99久久精品欧美| 九九视频精品免费| 日韩欧美国产一区二区三区| 日韩二区在线观看| 欧美日本在线看| 亚洲成人1区2区| 欧美成人vr18sexvr| 麻豆国产一区二区| 欧美一级片免费看| 奇米色一区二区| 精品久久久三级丝袜| 国内精品不卡在线| 久久蜜桃一区二区| 成人白浆超碰人人人人| 亚洲女人****多毛耸耸8| 色琪琪一区二区三区亚洲区| 一区二区三区波多野结衣在线观看| 91成人在线免费观看| 中文字幕免费不卡| 国产精品久久久久久户外露出| 成人国产精品免费| 欧美极品xxx| 成人ar影院免费观看视频| 日韩美女久久久| 欧美性受xxxx黑人xyx性爽| 麻豆免费精品视频| 久久精品一区四区| 白白色 亚洲乱淫| 亚洲欧美日韩电影| 色88888久久久久久影院按摩 | 亚洲第一综合色| 夜夜爽夜夜爽精品视频| 欧美视频精品在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 91精品国产综合久久福利软件 | 日韩久久精品一区| 懂色av噜噜一区二区三区av| 亚洲欧洲一区二区在线播放| 91天堂素人约啪| 久久国产精品99精品国产| 日本一区二区视频在线观看| 欧美日韩一区视频| 国产不卡在线一区| 亚洲国产成人高清精品| 日韩欧美另类在线| 97超碰欧美中文字幕| 丝袜美腿亚洲色图| 久久久影视传媒| 日本国产一区二区| 国产麻豆成人传媒免费观看| 亚洲天堂免费看| 日韩三级视频在线看| 不卡av免费在线观看| 亚洲一区二区三区中文字幕| 日韩欧美aaaaaa| 99国产精品99久久久久久| 奇米在线7777在线精品| 精品久久久久av影院| 色噜噜久久综合| 国产又黄又大久久|