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

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

?? dtmfgai.asm

?? DSP代碼,是初學(xué)者的好例子
?? ASM
?? 第 1 頁 / 共 3 頁
字號(hào):
*************************************************************
*  程序名稱:DTMF雙音頻檢測(cè)                                 *              
*************************************************************

          .mmregs
          .include  "globals.inc"                   ;全局標(biāo)號(hào)
          .include  "tables.inc"                    ;變量表
          .text

*******************************************************************
*  子程序:initoscis                                              *              
*  輸入:指向結(jié)構(gòu)DTMFENCOBJ的指針                                 *
*  輸出:無                                                       *
*  描述:初始化數(shù)字正弦振蕩器狀態(tài)                                 *
*  它將指定狀態(tài)集的狀態(tài)復(fù)制到通道對(duì)應(yīng)的振蕩器狀態(tài)緩沖區(qū)中         *
*******************************************************************

_initoscis:
    NOP
	PSHM	ST0
    PSHM    ST1
    PSHM	AR1
    PSHM    AR6
    PSHM    AR7
    NOP
                                                    ;(A)=指向結(jié)構(gòu)DTMFENCOBJ
                                                    ;*SP(6)=數(shù)字
    STLM    A,AR6                                   ;AR6用作指向結(jié)構(gòu)元素的指針
                                                    ;*AR6(0)=指向數(shù)據(jù)
                                                    ;*AR6(1)=指向振蕩器狀態(tài)
    LD      #0,ASM                                  ;ASM=0
    STM     #OSCIS,AR2								;AR2指向振蕩器狀態(tài)表
    LD      *AR6(1),A								
    STLM    A,AR3                                   ;AR3指向通道振蕩器狀態(tài)表        
    LD		*AR2+,16,A								;裝入第一個(gè)值
    RPT	    #(16-1)									;for(k=0;k<16;k++){
    ST 	    A,*AR3+									;store(AH)
    ||LD 	*AR2+,A									;load(AH)
                                                    ;}
    POPM	AR7
    POPM	AR6
    POPM	AR1
    POPM	ST1
    POPM	ST0
    RET
     
*******************************************************************
*  子程序:dtmftone                                               *              
*  輸入:指向結(jié)構(gòu)DTMFENCOBJ的指針                                 *
*  輸出:無                                                       *
*  描述:計(jì)算DTMF雙音頻的102個(gè)采樣值                              *
*  子程序根據(jù)指針值取出數(shù)字,并將其送入堆棧進(jìn)行編碼               *
*******************************************************************

_dtmftone:
	
	NOP
	PSHM	ST0
	PSHM	ST1
	PSHM	AR1
	PSHM	AR6
	PSHM	AR7
	NOP
	FRAME	#-2										;----局部變量----
													;*SP(0)=衰減值
													;----參數(shù)--------			 
													;(A)=指向結(jié)構(gòu)DTMFENCOBJ
													;*SP(8)=數(shù)字
	STLM	A,AR6                                   ;AR6用作指針指向結(jié)構(gòu)元素
	                                                ;*AR6(0)=指向數(shù)據(jù)
	                                                ;*AR6(1)=指向振蕩器
	                                                ;*AR6(2)=音頻衰減值				
	SSBX    FRCT                                    ;設(shè)置分?jǐn)?shù)模式
;----數(shù)字解包,指針指向振蕩器抽頭系數(shù)----
	LD		*SP(8),A
	STLM	A,AR0									;AR0為映射表的偏移量
	STM		#KEYS,AR2								;AR2指向數(shù)字映射表首地址
	NOP
	MAR		*AR2+0									;AR2指向映射表中對(duì)應(yīng)的數(shù)字
	LD		*AR2,A									;數(shù)字裝入A
	LD		A,B								        ;(A)->(B)
	AND		#0F00h,A								;取行部分
	SFTL	A,-8									;(A)右移8位
	STLM	A,AR2									;AR2包含行音頻的系數(shù)表偏移量
	SFTL	A,1										;(A)<<1
	STLM	A,AR4									;AR4包含行音頻振蕩器表偏移量
	AND		#000Fh,B								;取列部分
	ADD 	#4,B                                    ;B+4=列音頻的系數(shù)表偏移量
	STLM	B,AR3									;AR3包含列音頻的系數(shù)表偏移量		
	SFTL	B,1										;(B)<<1
	STM		#COEFFS,AR0								;AR0指向系數(shù)表
	STLM	B,AR5									;AR5包含列音頻振蕩器表偏移量
	MAR		*AR2+0									;AR2指向行音頻系數(shù)
	MAR		*AR3+0									;AR3指向列音頻系數(shù)
	LD   	*AR6(1),A								;裝入指向數(shù)據(jù)的指針	
	STLM	A,AR0									;AR0指向振蕩器表
	LD		*AR6(2),B								;載入衰減值
	STL		B,*SP(0)								;存儲(chǔ)到局部變量區(qū)
	MAR		*AR4+0									;AR4指向行音頻振蕩器	
	MAR		*AR5+0									;AR5指向列音頻振蕩器
	MAR		*AR4+									;AR4指向行音頻y(n-2)
	MAR		*AR5+									;AR5指向列音頻y(n-2)
;----產(chǎn)生DTMF音頻------------------------
    LD		*AR6(0),A
    STLM    A,AR1									;AR1指向數(shù)據(jù)
    STM		#(N-1),BRC
    RPTB 	oscil-1									;for(n=0;n<N;n++){
    LD 	 	#0,A								;----產(chǎn)生行音頻采樣值----
    SUB     *AR4-,16,A								;(A)=-y(n-2)
    MAC  	*AR4,*AR2,A								;(A)=coef*y(n-1)-y(n-2)
    MAC  	*AR4,*AR2,A								;(A)=2coef*y(n-1)-y(n-2)
	DELAY	*AR4									;y(n-1)->y(n-2)
	STH		A,*AR4									;(A)   ->y(n-1)
	LD		#0,A								;----產(chǎn)生列音頻采樣值----
	SUB		*AR5-,16,A								;(A)=-y(n-2)
	MAC		*AR5,*AR3,A								;(A)=coef*y(n-1)-y(n-2)
	MAC		*AR5,*AR3,A								;(A)=2coef*y(n-1)-y(n-2)
	DELAY 	*AR5									;y(n-1)->y(n-2)
	STH		A,*AR5+									;(A)   ->y(n-1)
	ADD 	*AR4+,16,A								;(A)=row-tone+tol-tone
	MPYA	*SP(0)									;(A)=attn*(AH)
	STH 	B,*AR1+									;(A)->x(n)}
osci1:
 	FRAME	#2
 	NOP
 	POPM	AR7	
	POPM	AR6
	POPM	AR1
	POPM 	ST1
	POPM	ST0
	RET

*******************************************************************
*  子程序:gaincntrl                                              *              
*  輸入:指向結(jié)構(gòu)DTMFENCOBJ的指針                                 *
*  輸出:無                                                       *
*  描述:定標(biāo)數(shù)據(jù)塊,確保執(zhí)行g(shù)oertzel算法時(shí)無溢出                 *
*            gain_power=(1/64)*SUM{0,N-1}[x(n)*x(n)]              *
*					   =(1/64)*N*signalpower                      *
*     		 gain_lim  =(1/64)*(1/N)                              *
*           		   =minimum signalpower(-..dB)                *
*            gain_const=0.5*sqrt(2)*sqrt(64/N)                    * 
*            gain_amp  =gain_const*sqrt(ain_power)                *
*            gain_lev  =1/N                                       *
*            gain_scale=gain_lev/gain_amp                         *
*            x(n)=x(n)*gain_scale                                 *
*  FRCT=1,SXM=1                                                   *
*******************************************************************
	
_gaincntrl:	
	NOP
	PSHM	ST0
	PSHM	ST1
	PSHM	AR1
	PSHM	AR6
	PSHM	AR7
	NOP
	FRAME	#-10									;----局部變量----
	                                                ;*SP(0)=gain_pow(HI)
	                                                ;*SP(1)=gain_pow(LO)
	                                                ;*SP(2)=gain_lim(HI)
	                                                ;*SP(3)=gain_lim(LO)
	                                                ;*SP(4)=gain_amp
	                                                ;*SP(5)=gain_lev
	                                                ;*SP(6)=gain_scale
	                                                ;*SP(7)=gain_const
	                                                ;*SP(8)=gain_delta
	                                                ;*SP(9)=ptr to data
	                                                ;----arguments----
	                                                ;(A)=ptr to DTMFDECOBJ
	STLM	A,AR5                                   
	NOP
	NOP
	NOP
	LD		*AR5,A
	STL		A,*SP(9)
;----變量初始化----------------------	
	LD		#0005h,16,A								;(A)=00050000h
	OR		#0505h,A								;(A)=00050505h=1/(64*N)(Q31)	
	STH		A,*SP(2)								;(A)->gain_lim (32bit)
	STL		A,*SP(3)								
	LD		#00E3h,A								;(AL)=00E3h=(0.5*sqrt(2))/N			
	STL		A,*SP(5)								;(AL)->gain_lev (16bit)
	LD		#6564h,A								;(AL)=6564h=sqrt(64/102)
	STL		A,*SP(7)								;(AL)->gain_const
	LD		#4000h,A								;(AL)=4000h=0.5
	STL		A,*SP(8)								;(AL)->gain_delta
	SSBX	FRCT
;----計(jì)算信號(hào)能量--------------------	
	LD		*SP(9),A
	STLM	A,AR2									;AR2指向數(shù)據(jù)緩沖區(qū)
	RPTZ	B,#(N-1)								;for(n=0;n<N-1;n++)
	SQURA	*AR2+,B									;(B)=(B)+x(n)*x(n)
	SFTA	B,-6									;(B)=(1/64)*(B)		
	STH		B,*SP(0)								;(B)->gain_pow (32bit)
	STL		B,*SP(1)								;gain_pow=(N/64)*sigpower
	LD		*SP(2),16,A								;(A)=gain_lim=1/(N/64) (32bit)	
	OR		*SP(3),A									
	SUB		A,B										;(B)=gain_pow-gain_lim
	BC		gain2,BLEQ	 							;if(gain_pow>gain_lim
													;{
;----計(jì)算gain_amp=sqrt(gain_pow)-----
	ST  	#4000h,*SP(4)							;初始化gain_amp
	ST 		#4000h,*SP(8)							;初始化gain_delta
	MVMM	SP,AR2
	MAR		*+AR2(8)								;AR2指向gain_delta
	STM		#(sqrt_iterations-1),BRC
	RPTBD	sqrtloopend-1
	SQUR	*SP(4),A								;(A)=yold*yold
	DSUB	*SP(0),A								;(A)=yold*yold-x
sqrtloop:
    BCD		sqrt1,AGT
    LD		*SP(4),16,B								;(B)=yold
    SUB		*AR2,15,B								;(B)=yold-(1/2)*delta
    												;if(y needs to be larger)
    ADD 	*AR2,16,B								;(B)=yold+(1/2)*delta
sqrt1:
	STH		B,*SP(4)								;(BH)->ynew
	LD		*AR2,15,A								;(AH)=(1/2)*delta
	STH		A,*AR2									;(AH)->delta new
	SQUR	*SP(4),A
	DSUB	*SP(0),A								;(A)=yold*yold-x
sqrtloopend
;----計(jì)算gain_amp=sqrt(64/N)*gain_amp------
    LD		*SP(7),T 								;(T)=gain_const
    MPY		*SP(4),A								;(A)=sqrt(64/102)*gain_amp
    STH		A,*SP(4)								;(AH)->gain_amp
;----計(jì)算gain_lev/gain_amp-----------------
	LD		*SP(5),16,A								;(AH)=gain_lev
	RPT		#(16-1)
	SUBC	*SP(4),A								;計(jì)算(gain_lev/gain_amp)
	AND		#0FFFFh,A								;保留商(AL),屏蔽余數(shù)
	SFTA	A,15									;左移商到累加器高位
	STH		A,*SP(6)								;(AH)->gain_scale
;----用(gain_lev/gain_amp)定標(biāo)數(shù)據(jù)---------
	LD		*SP(9),A
	STLM	A,AR2									;AR2指向數(shù)據(jù)
	MVMM	SP,AR3
	MAR		*+AR3(6)								;AR3指向gain_scale
	STM		#(N-1),BRC
	RPTB	gain1-1									;for(n=0;n<N;n++)
	MPY		*AR2,*AR3,A								;(A)=x(n)*(gain_lev/gain_amp)
	STH		A,*AR2+									;(AH)->x(n)	

gain1:												

gain2:
    FRAME	#10
    NOP
    POPM	AR7
    POPM	AR6
    POPM	AR1
    POPM	ST1
    POPM	ST0
    RET	
    
*******************************************************************
*  子程序:goetzel                                                *              
*  輸入:指向結(jié)構(gòu)DTMFENCOBJ的指針                                 *
*  輸出:無                                                       *
*  描述:該程序?qū)?02個(gè)數(shù)據(jù)計(jì)算差分方程                            *
*  因?yàn)橛性鲆婵刂票Wo(hù)可能的溢出,故程序不檢查溢出                 *
*  由于二次諧波在子程序dtmfchecks()中計(jì)算,故這里只計(jì)算基頻(8個(gè))  *
*  子程序同樣計(jì)算8個(gè)基頻的能量模板                                *
*  隨后復(fù)位濾波器抽頭系數(shù)為0,準(zhǔn)備下一次計(jì)算                      * 
*******************************************************************
    		
_goertzel:	
	NOP
	PSHM	ST0
	PSHM	ST1
	PSHM	AR1
	PSHM	AR6
	PSHM	AR7
													;----參數(shù)-----------
													;(A)=指向DTMFDECOBJ
	RSBX	OVA
	SSBX	FRCT
	STLM	A,AR5									;AR5指向結(jié)構(gòu)DTMFDECOBJ
													;*AR5(0)=ptr to data
													;*AR5(1)=ptr to taps
													;*AR5(2)=ptr to energy template
													;*AR5(3)=digiptr                                                                                                                                                                                                                                 
													;*AR5(4)=digitlast
													;*AR5(5)=detectstat
													;*AR5(6)=err_flags
;---------------------------------------------------
;   Goertzel濾波器計(jì)算									
;   vk(n)=2coef*vk(n-1)-vk(n-2)+x(n)					

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产网红主播福利一区二区| 欧美午夜精品一区| 久久综合视频网| 精品一区二区三区久久| 久久久久久9999| www.欧美日韩| 亚洲另类中文字| 在线观看欧美精品| 日韩av一区二区在线影视| 91精品国产一区二区三区蜜臀| 久久精品国产一区二区| 国产午夜精品一区二区三区四区| 国产99精品国产| 一区二区三区在线看| 在线播放91灌醉迷j高跟美女| 秋霞av亚洲一区二区三| 久久久三级国产网站| 色综合一区二区三区| 爽好久久久欧美精品| 久久九九久久九九| 91女人视频在线观看| 午夜精品福利一区二区蜜股av| 日韩网站在线看片你懂的| 成人一级片在线观看| 一区二区三区在线观看网站| 制服丝袜一区二区三区| 国产jizzjizz一区二区| 一区二区三区成人| 精品国产成人在线影院| 99久久99久久综合| 久色婷婷小香蕉久久| 国产精品久久久久久久久晋中| 欧美日韩一区二区三区高清| 国产精品资源在线观看| 亚洲综合视频网| 国产亚洲一区字幕| 欧美日韩国产在线观看| 国产a久久麻豆| 日产欧产美韩系列久久99| 国产精品视频在线看| 91精品一区二区三区久久久久久| 国产黄色成人av| 日本午夜精品一区二区三区电影| 国产精品白丝在线| 亚洲精品在线三区| 在线观看亚洲a| www.欧美日韩| 国产麻豆视频一区二区| 亚洲va天堂va国产va久| 亚洲视频免费在线观看| 久久久亚洲精品石原莉奈| 91精品一区二区三区久久久久久| 97久久超碰国产精品电影| 国产精品99久久久久久有的能看| 日韩黄色在线观看| 一区二区三区在线观看欧美| 国产欧美精品一区二区色综合 | 亚洲午夜精品网| 国产精品国产自产拍高清av王其 | 日本高清不卡一区| jlzzjlzz亚洲日本少妇| 精品在线免费视频| 美女视频黄免费的久久| 亚洲一区二区高清| 亚洲午夜精品在线| 一区二区三区四区激情| 亚洲欧美日韩国产另类专区| 国产精品三级av| 亚洲国产精品精华液ab| 精品国产第一区二区三区观看体验 | 国产精品短视频| 国产日韩成人精品| 久久九九久精品国产免费直播| 精品国产乱码久久久久久老虎| 日韩一区二区三| 日韩欧美一区二区久久婷婷| 69堂成人精品免费视频| 欧美日韩精品一区二区三区 | 日本一区二区三区久久久久久久久不| 日韩一区二区在线观看视频播放| 欧美日韩日日骚| 91精品国产免费| 欧美精品99久久久**| 欧美片在线播放| 欧美电影一区二区| 91精品国产麻豆| 日韩欧美成人午夜| 亚洲精品在线观看网站| 久久精品视频在线免费观看| 欧美极品少妇xxxxⅹ高跟鞋 | 在线观看日韩毛片| 欧美日韩国产一级| 日韩一区二区三区四区| 精品久久久久久久人人人人传媒| 久久在线观看免费| 日本一区二区三区久久久久久久久不| 国产精品理伦片| 亚洲一区二区三区影院| 青青草原综合久久大伊人精品优势| 免费人成黄页网站在线一区二区| 激情综合网av| 不卡av在线网| 宅男噜噜噜66一区二区66| 精品sm捆绑视频| 成人免费在线观看入口| 亚洲1区2区3区视频| 精品一区二区三区免费播放| 粉嫩aⅴ一区二区三区四区五区| 色先锋资源久久综合| 7777精品伊人久久久大香线蕉经典版下载 | 美女视频黄频大全不卡视频在线播放| 国产制服丝袜一区| 91麻豆.com| 日韩欧美亚洲国产精品字幕久久久 | 亚洲天堂精品视频| 五月天激情小说综合| 国产剧情一区二区三区| 色综合天天综合在线视频| 91精品国产综合久久精品性色| 国产视频不卡一区| 亚洲成va人在线观看| 国产999精品久久久久久| 欧美老女人第四色| 中日韩av电影| 蜜臀精品久久久久久蜜臀| av一区二区三区| 精品久久久久久最新网址| 一区二区视频免费在线观看| 狠狠狠色丁香婷婷综合久久五月| 在线免费观看日本欧美| 欧美激情自拍偷拍| 青娱乐精品视频| 欧美中文字幕亚洲一区二区va在线| 久久伊人中文字幕| 日韩在线观看一区二区| 色综合一个色综合| 欧美激情中文字幕一区二区| 奇米四色…亚洲| 欧美午夜宅男影院| 国产精品九色蝌蚪自拍| 国产在线国偷精品免费看| 欧美日韩免费电影| 亚洲乱码国产乱码精品精98午夜 | 日韩欧美国产一区二区在线播放 | 成人ar影院免费观看视频| 日韩亚洲欧美一区| 亚洲r级在线视频| 91久久人澡人人添人人爽欧美 | 亚洲人成在线播放网站岛国| 国产一区二区三区观看| 欧美一级片在线| 亚洲国产美女搞黄色| 99精品视频一区二区三区| 国产日产欧产精品推荐色| 日韩电影在线免费观看| 欧美日韩国产精品自在自线| 亚洲综合一区在线| 91官网在线免费观看| 亚洲精品一二三区| 色一情一伦一子一伦一区| 亚洲欧美怡红院| 91丝袜美女网| 亚洲日韩欧美一区二区在线| 不卡的av电影| 亚洲欧美一区二区久久| 9i在线看片成人免费| 综合激情成人伊人| 91蝌蚪porny九色| 亚洲乱码一区二区三区在线观看| www.99精品| 亚洲色欲色欲www| 在线视频国内自拍亚洲视频| 亚洲最大成人网4388xx| 一本一本久久a久久精品综合麻豆| 综合久久久久久| 欧美午夜精品久久久| 无码av免费一区二区三区试看| 欧美精品v日韩精品v韩国精品v| 婷婷一区二区三区| 欧美一区二区不卡视频| 国内成人免费视频| 久久精品免费在线观看| 成人免费毛片aaaaa**| 亚洲精品一二三| 在线播放中文一区| 国产一区二区三区| 国产精品污污网站在线观看| 91原创在线视频| 亚洲高清中文字幕| 精品奇米国产一区二区三区| 国产精品小仙女| 亚洲激情在线播放| 欧美一级艳片视频免费观看| 国产一区在线观看视频| 亚洲欧洲成人自拍| 欧美精品一卡两卡| 国产精品一区二区你懂的| 亚洲人成网站影音先锋播放| 91精品国产91热久久久做人人| 国产一区二区伦理片|