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

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

?? dtmf32.c

?? 在DSP上運行的DTMF(雙音多頻)解調程序
?? C
字號:
#include <stdio.h>
#include <stdlib.h>
#include "codec.h"

#define	SIGN_BIT	(0x80)		/* Sign bit for a A-law byte. */
#define	QUANT_MASK	(0xf)		/* Quantization field mask. */
#define	SEG_SHIFT	(4)		    /* Left shift for segment number. */
#define	SEG_MASK	(0x70)		/* Segment field mask. */
#define       CHNUM        32

//#define coef[0] 30743
//#define coef[1] 27980
//#define coef[2] 26956
//#define coef[3] 25701
//#define coef[4] 24218
//#define coef[5] 19072
//#define coef[6] 16324
//#define coef[7] 13085

//#pragma DATA_SECTION(dtmfcode,".dtmfcode")

   short dtmfcode[1];
//	const short coef[8] ={30743,27980,26956,25701,24218,19072,16324,13085};

void CallId(short * data)
{
     
 
	short coef[8] ;
	//{30743,27980,26956,25701,24218,19072,16324,13085,9315};
	//{30852,28106,27245,25330,24279,19519,16846,12539};
	int u0[8], u1[8];
	long int  thresh;
	long  temp;
	int a;
	short xzero;      
	int t;
	long power[8];
	long powmax1, powmax2;
	short max1, max2;
	short i=0;
//	short seg[1]={0};   
//	short channel=0;

//    for(channel = 0; channel <CHNUM; channel++)
//	{
		thresh =0;
		xzero= 0; 
//	    j=channel<<7;
		for(i = 0;i<128;i++)
		{	
			thresh += abs(data[i]);	
			if((data[i] ^ data[i+1]) & 0x8000)
				xzero++;
		}
		
		if(xzero>20 && thresh>200000)//改動thresh[0]>250000 
		{
			powmax1=30000;
			powmax2=30000;
			
			u0[0] = 0;u1[0] = 0;u0[1] = 0;u1[1] = 0;
			u0[2] = 0;u1[2] = 0;u0[3] = 0;u1[3] = 0;
			u0[4] = 0;u1[4] = 0;u0[5] = 0;u1[5] = 0;
			u0[6] = 0;u1[6] = 0;u0[7] = 0;u1[7] = 0;
			coef[0]=27980; coef[1]=26956; coef[2]=25701; coef[3]=24218; coef[4]=19072; coef[5]=16324; coef[6]=13085;coef[7]=9315;

			for(i = 0;i < 128;i++)
			{
	//			if(data[i] > 0)
	//			{	
					t = u0[0];
					temp =coef[0] * u0[0];
					temp >>=14; 
					u0[0] = temp - u1[0]+(data[i]>>8);
					u1[0] = t;                
					
					t = u0[1];
					temp =coef[1] * u0[1];
					temp >>=14; 
					u0[1] = temp  - u1[1] + (data[i]>>8);
					u1[1] = t;            	                       
					
					t = u0[2];
					temp =coef[2] * u0[2];
					temp >>=14; 
					u0[2] = temp- u1[2] + (data[i]>>8);
					u1[2] = t;            	                       
					
					t = u0[3];
					temp =coef[3] * u0[3];
					temp >>=14; 
					u0[3] = temp - u1[3]+(data[i]>>8);
					u1[3] = t;            	                       
					
					
					t = u0[4];
					temp =coef[4] * u0[4];
					temp >>=14; 
					u0[4] = temp  - u1[4] + (data[i]>>8);
					u1[4] = t;            	                       
					
					t = u0[5];
					temp =coef[5] * u0[5];
					temp >>=14; 
					u0[5] = temp - u1[5] + (data[i]>>8);
					u1[5] = t;            	                       
					
					t = u0[6];
					temp =coef[6] * u0[6];
					temp >>=14; 
					u0[6] = temp  - u1[6] + (data[i]>>8);
					u1[6] = t;
									
					t = u0[7];
					temp =coef[7] * u0[7];
					temp >>=14; 
					u0[7] = temp - u1[7] + (data[i]>>8);
					u1[7] = t;
	/*			}
				else 
				{
					t = u0[0];
					temp = coef[0] * u0[0]; 
					u0[0] = ((temp>>14)-64) - u1[0];
					u1[0] = t;                
					
					t = u0[1];
					temp = coef[1] * u0[1]; 
					u0[1] = ((temp>>14)-64) - u1[1];
					u1[1] = t;            	                       
					
					t = u0[2];
					temp = coef[2] * u0[2]; 
					u0[2] = ((temp>>14)-64) - u1[2];
					u1[2] = t;            	                       
					
					t = u0[3];
					temp = coef[3] * u0[3]; 
					u0[3] = ((temp>>14)-64) - u1[3];
					u1[3] = t; 
					
					t = u0[4];
					temp = coef[4] * u0[4]; 
					u0[4] = ((temp>>14)-64) - u1[4];
					u1[4] = t;            	                       
					
					t = u0[5];
					temp = coef[5] * u0[5]; 
					u0[5] = ((temp>>14)-64) - u1[5];
					u1[5] = t;            	                       
					
					t = u0[6];
					temp = coef[6] * u0[6]; 
					u0[6] = ((temp>>14)-64) - u1[6];
					u1[6] = t;
					
					t = u0[7];
					temp = coef[7] * u0[7]; 
					u0[7] = ((temp>>14)-64) - u1[7];
					u1[7] = t;
					         
				}*/
			}
// sqrt
			power[0] = u0[0] * u0[0];
			power[0] += u1[0] * u1[0];
			temp = coef[0] *u0[0];
			a=temp >>14;
			power[0] -= a* u1[0]; 
			
			power[1] = u0[1] * u0[1];
			power[1] += u1[1] * u1[1];
			temp=coef[1]*u0[1];
			a=temp>>14;
			power[1] -= a * u1[1]; 
			
			power[2] = u0[2] * u0[2];
			power[2] += u1[2] * u1[2];
			temp = coef[2]*u0[2];
			a = temp>>14;
			power[2] -= a * u1[2];
			
			
			power[3] = u0[3] * u0[3];
			power[3] += u1[3] * u1[3];
			temp = coef[3]*u0[3];
			a=temp>>14;
		    power[3] -= a * u1[3];
		    
			
			power[4] = u0[4] * u0[4];
			power[4] += u1[4] * u1[4];
			temp = coef[4]*u0[4];
			a = temp>>14;
			power[4] -= a * u1[4];
			
			power[5] = u0[5] * u0[5];
			power[5] += u1[5] * u1[5];
			temp=coef[5]*u0[5];
			a=temp>>14;
		    power[5] -= a * u1[5];
		    
			
			power[6] = u0[6] * u0[6];
			power[6] += u1[6] * u1[6];
			temp=coef[6]*u0[6];
			a=temp>>14;
			power[6] -= a * u1[6];
			
			
		   	power[7] = u0[7] * u0[7];
		   	power[7] += u1[7] * u1[7];
		   	temp=coef[7]*u0[7];
		   	a=temp>>14;
		   	power[7] -= a * u1[7];

				
	
			max1=8;
			for( i=0; i < 4 ; i++)
			{
				if(powmax1<power[i])    
				{
					powmax1=power[i];
					max1=i;
				}					    
			}
			
			max2=8;		
			for( i=4; i < 8 ; i++)
			{
				if(powmax2<power[i]) 
				{
					powmax2=power[i];
					max2=i;
				}
			}
			
			    max1=(max2<<4)+max1;
			    switch (max1){

			    case 0x40:dtmfcode[0] = 0x1;
			              break;
			    case 0x41:dtmfcode[0] = 0x4;
			              break;
			    case 0x42:dtmfcode[0] = 0x7;
			              break;
			    case 0x43:dtmfcode[0] = 0x0e;
			              break; 


			    case 0x50:dtmfcode[0] = 0x2;
			              break;			    
			    case 0x51:dtmfcode[0] = 0x5;
			              break;
			    case 0x52:dtmfcode[0] = 0x8;
			              break;
			    case 0x53:dtmfcode[0] = 0x0;
			              break; 
			              
					  
			    case 0x60:dtmfcode[0] = 0x3;
			              break;
			    case 0x61:dtmfcode[0] = 0x6;
			              break;
			    case 0x62:dtmfcode[0] = 0x9;
			              break;
			    case 0x63:dtmfcode[0] = 0x0f;
			              break; 


			     
			    case 0x70:dtmfcode[0] = 0x0a;
			              break; 
			    case 0x71:dtmfcode[0] = 0x0b;
			              break; 
			    case 0x72:dtmfcode[0] = 0x0c;
			              break; 
			    case 0x73:dtmfcode[0] = 0x0d;
			              break; 
			              
			              
			    default:
			            
			 	     dtmfcode[0]=0x0ff;
			 	 }

		}
//		else 
//			dtmfcode[0]=0x0ff;		  	
//	}
	


}       

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频在线一区二区三区| 色综合久久综合网97色综合| 调教+趴+乳夹+国产+精品| 亚洲人妖av一区二区| 亚洲欧洲日韩女同| 亚洲人被黑人高潮完整版| 亚洲私人黄色宅男| 亚洲一级二级在线| 香蕉加勒比综合久久| 日日摸夜夜添夜夜添精品视频| 日韩二区三区在线观看| 日韩成人午夜电影| 国产揄拍国内精品对白| 成人一区二区三区视频在线观看 | 亚洲综合一区二区三区| 一区二区三区不卡在线观看| 亚洲va欧美va人人爽| 久久精品国产一区二区三区免费看| 青青青爽久久午夜综合久久午夜| 韩国女主播一区| 91美女福利视频| 欧美日韩精品免费观看视频| 精品国产乱码久久久久久免费| 欧美激情一区二区三区不卡| 日韩毛片视频在线看| 日韩av在线发布| 国产精品资源网站| 欧美日韩中文字幕一区| 欧美精品一区二区三区高清aⅴ | 精品电影一区二区| 亚洲桃色在线一区| 狠狠狠色丁香婷婷综合激情| 色综合色狠狠综合色| 日韩午夜av电影| 中文字幕日本乱码精品影院| 日韩在线卡一卡二| www.欧美.com| 欧美大片在线观看一区| 亚洲女与黑人做爰| 国产精品1区二区.| 91精品国产黑色紧身裤美女| 亚洲国产成人私人影院tom| 日韩国产精品大片| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产精品无人区| 秋霞成人午夜伦在线观看| 91免费视频观看| 久久网站最新地址| 五月激情六月综合| 色妹子一区二区| 久久久影院官网| 久久国产麻豆精品| 欧美日韩在线播放三区四区| 国产精品沙发午睡系列990531| 美女www一区二区| 欧美日韩精品三区| 紧缚奴在线一区二区三区| 日本高清不卡一区| 国产精品美女久久久久久久| 国产乱色国产精品免费视频| 91精品欧美福利在线观看| 亚洲一区成人在线| 欧美性色欧美a在线播放| 亚洲天天做日日做天天谢日日欢 | 亚洲一区二区三区四区五区黄 | 不卡一区二区三区四区| 久久久久久麻豆| 国产综合一区二区| 久久久久久综合| 粉嫩蜜臀av国产精品网站| 久久无码av三级| 福利一区福利二区| 综合中文字幕亚洲| 91视频在线观看| 亚洲九九爱视频| 在线中文字幕一区| 亚洲国产精品久久人人爱| 欧美日韩国产bt| 日韩av一区二区三区四区| 日韩视频一区二区在线观看| 麻豆精品一区二区av白丝在线| 日韩网站在线看片你懂的| 久久99国产精品尤物| 国产日韩欧美精品一区| 成人午夜电影网站| 一区二区三区毛片| 91精品婷婷国产综合久久| 美国十次了思思久久精品导航| 精品国产污污免费网站入口| 国产一区二区三区黄视频| 国产精品三级视频| 99久久99久久综合| 一区二区成人在线观看| 欧美日本不卡视频| 国产福利一区在线观看| 亚洲色图视频免费播放| 欧美肥胖老妇做爰| 成人激情视频网站| 一区二区三区欧美| 欧美videos中文字幕| 成人丝袜视频网| 性欧美大战久久久久久久久| 国产精品亲子乱子伦xxxx裸| 欧美最猛性xxxxx直播| 免费在线欧美视频| 亚洲欧美综合色| 欧美一级国产精品| 99re热这里只有精品视频| 日韩av中文在线观看| 国产精品剧情在线亚洲| 欧美日韩一区二区欧美激情| 国产在线视视频有精品| 亚洲免费观看高清| 精品99久久久久久| 欧美亚洲尤物久久| 国产在线精品国自产拍免费| 亚洲影视在线观看| 国产精品久久99| 日韩欧美国产综合一区 | 午夜激情一区二区三区| 26uuu色噜噜精品一区二区| 欧美午夜不卡视频| 粉嫩在线一区二区三区视频| 丝袜a∨在线一区二区三区不卡| 中文一区二区完整视频在线观看| 欧美一区二区三区成人| 色综合久久九月婷婷色综合| 99精品国产99久久久久久白柏| 日韩极品在线观看| 夜夜嗨av一区二区三区四季av| 久久久电影一区二区三区| 欧美一区国产二区| 91.麻豆视频| 欧美日韩国产乱码电影| 在线观看欧美黄色| 色婷婷精品大视频在线蜜桃视频| 国产suv精品一区二区6| 美腿丝袜亚洲三区| 五月天丁香久久| 午夜视频在线观看一区| 亚洲综合一区二区三区| 亚洲激情五月婷婷| 中文字幕亚洲一区二区va在线| 日本一区二区综合亚洲| 国产人成亚洲第一网站在线播放| 亚洲精品一区在线观看| 亚洲精品一区二区在线观看| 精品少妇一区二区三区在线视频 | 国产精品911| 国产一区二区导航在线播放| 久久精品国产99| 精品一二三四区| 国产在线日韩欧美| 国产激情一区二区三区| 国产xxx精品视频大全| 成人av在线一区二区三区| 成人黄色电影在线| 色综合久久天天| 欧美日韩国产综合一区二区 | 亚洲国产日韩av| 天天免费综合色| 日韩在线一区二区三区| 另类小说一区二区三区| 极品尤物av久久免费看| 国产精品白丝av| 国产成人精品三级| 91网页版在线| 91精品在线一区二区| 日韩欧美中文字幕制服| 久久久久国色av免费看影院| 中文av字幕一区| 樱花影视一区二区| 日韩精品成人一区二区三区| 久久99精品国产麻豆婷婷洗澡| 国产不卡视频在线观看| 在线视频中文字幕一区二区| 欧美一级片在线| 国产精品视频线看| 天堂va蜜桃一区二区三区漫画版| 久88久久88久久久| 色丁香久综合在线久综合在线观看| 欧美精品欧美精品系列| 久久精品一区二区三区不卡牛牛| 国产精品福利一区| 日韩av中文字幕一区二区三区| 国产91清纯白嫩初高中在线观看| 日本久久一区二区| 欧美一级爆毛片| 亚洲视频免费在线观看| 蜜桃免费网站一区二区三区| 99久久精品久久久久久清纯| 3751色影院一区二区三区| 中文字幕乱码亚洲精品一区| 日韩影院精彩在线| 国产精品一级片在线观看| 欧美日韩视频在线第一区| 国产精品三级在线观看| 久久99精品一区二区三区| 欧美日韩视频一区二区| 亚洲国产高清在线|