⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resource.c

📁 压缩包中一个为一般操作系统下的fft
💻 C
📖 第 1 页 / 共 5 页
字号:
/*
参数中dataI[]为输入数据,sin_tab和cos_tab是为加快计算速度而建的正弦和余弦表,w为频率分布表
*/
void FFT(float dataI[],float sin_tab[],float cos_tab[],short w[]);		//通过转换后dataI中的所有数据转到dataR中

#define C_MAX_BIT		8
#define C_MAX_DOT_NUMBER	256		//=pow(2,C_MAX_BIT)

void FFT(float dataI[],float sin_tab[],float cos_tab[],short w[])		//通过转换后dataI中的所有数据转到dataR中
{	
	short xx;
	short L,i,j,k,b,p;
	float TR,TI;				
	float TBR_COS,TBR_SIN,TBI_COS,TBI_SIN;	//临时变量
	float dataR[C_MAX_DOT_NUMBER];			//存放实部
	
	for( i = 0; i < C_MAX_DOT_NUMBER; i++)
	{
		for(xx = 0,j = 0; j < C_MAX_BIT; j++)
		{
			xx = ( xx << 1) + ( (i >> j) & 0x01 ) ;	//进行倒序
		}
		dataR[xx] = dataI[i];		//通过转换后dataI中的所有数据转到dataR中
		dataI[i] = 0;
	
	}

	for(L = 0;L < C_MAX_BIT;L++) 
	{ /* for(1) */
		b = 1; 
		b = ( b << L);		 /* b= 2^(L) */
		for(j = 0;j < b; j++) /* for (2) */
		{ 
			p = 1; 
			i = C_MAX_BIT - L - 1;
			p = ( p << i) * j; /* p=pow(2,7-L)*j; */

			for( k = j ; k < C_MAX_DOT_NUMBER; k += 2*b) /* for (3) */
			{ 
				TR = dataR[k]; TI = dataI[k]; 
				TBR_COS = dataR[k+b] * cos_tab[p];
				TBR_SIN = dataR[k+b] * sin_tab[p];
				TBI_COS = dataI[k+b] * cos_tab[p];	
				TBI_SIN = dataI[k+b] * sin_tab[p];

				dataR[k] = TR + TBR_COS + TBI_SIN;
				dataI[k] = TI - TBR_SIN + TBI_COS;
				dataR[k+b] = TR - TBR_COS - TBI_SIN;
				dataI[k+b] = TI + TBR_SIN - TBI_COS;
			} /* END for (3) */
		} /* END for (2) */
	} /* END for (1) */

	
	p = 1;
	p = ( p << (C_MAX_BIT - 1) );	
	b = 0;
	L = C_MAX_BIT - 5;	
	k = ( C_MAX_DOT_NUMBER >> L);	//  /8
	for(i = 0; i <= k; i++)
	{
		w[i] = (short)( 0.5 + sqrt( dataR[i] * dataR[i] + dataI[i] * dataI[i] )/p );
		if(b < w[i])b = w[i];
	}
	w[0]=w[0]/2;
} /* END FFT */ 




/*input.c	手机或类似设备T9拼音输入法源代码*/
#define C_KEYCOD_FUNCTION	7
#define C_KEYCOD_SETUP		8
#define C_KEYCOD_TEST		0
#define C_KEYCOD_RETURN		10
#define C_KEYCOD_INPUT		10		//输入法切换键
#define C_KEYCOD_COMFIRM	11
#define C_KEYCOD_PAGEDOWN	11		//翻页键
#define C_KEYCOD_MINUS		12
#define C_KEYCOD_LEFT		12		//在出现的拼音中向左选择
#define C_KEYCOD_PLUS		13
#define C_KEYCOD_RIGHT		13		//在出现的拼音中向右选择
#define C_KEYCOD_DATA		14
#define C_KEYCOD_DEL		14		//删除输入
#define C_KEYCOD_POINT		15
#define C_KEYCOD_ASCII		15		//各种标点符号
#define C_KEYCOD_CHANNEL	15


#define C_PINYIN_HPOSI		0
#define C_PINYIN_VPOSI		( 240 - 24*2 - 2)
#define C_PINYIN_HDOT		( 32*10 + 8 )
#define C_PINYIN_VDOT		24
#define C_WORD_HPOSI		0
#define C_WORD_VPOSI		( 240 - 24*1-2 )
#define C_WORD_HDOT			( 32*10 + 8 )
#define C_WORD_VDOT			24

#define C_MAX_PAGE_WORD		10		/*每页能显示的最多字数*/
#define C_MAX_ASSOCIATION	2		/*总的可以联想字数*/

#define C_PINYIN_TOTAL		398		/*具有的拼音总数*/
#define C_MAX_PINYIN_LEN	6		/*拼音的最大长度*/
#define C_MAX_PINYIN_NUM	216		/*按键产生的最大组合*/


const unsigned short _inputmode[] = {CH(4293),CH(5554),CH(2083),CH(4820),CH(4801),CH(4820),CH(3820),CH(5084),CH(3988),CH(4627)};//数字大写小写拼音区位

const u_short _HFWORD[] = {25,		/*高频字*/
	2136,5148,4043,2645,4650,5487,3667,1827,4610,5366,
	2504,5010,5258,2156,5027,4147,4239,5448,2590,3013,
	5052,2302,3343,3581,4512};/*的有人和我主你不为这工要在地一上是中国经以发了民同*/
const u_short	_A[] ={7,1601,1602,2639,6325,7925,6436,7571} ;
/* A  	啊阿呵吖锕嗄腌 7 */

const u_short	_AI[] ={23,
	1614,1611,1604,1605,1613,1609,1612,1606,1607,1610,
	1615,1603,1608,2084,6263,6440,7040,7208,7451,7733,
	7945,8616,6441} ;			
/* AI	爱矮挨哎碍癌艾唉哀		蔼隘埃皑呆捱嗳嫒瑷	 	暧砹锿霭嗌 24 */

const u_short	_AN[] ={20,
	1620,1618,1621,1622,1619,1624,1616,1617,1623,1907,
	2567,5847,5991,6278,6577,6654,7281,7907,8038,8786} ;						
/* AN 	按安暗岸俺案鞍氨胺	 	厂广谙埯揞犴庵桉铵		鹌黯 20 */

const u_short	_ANG[] ={3,1626,1625,1627} ;
/* ANG	昂肮盎 3 */

const u_short	_AO[] ={24,
	1623,1628,1633,1634,1630,1635,1629,1631,1636,4789,
	5974,6427,6514,6658,6959,7033,7081,7365,8190,8292,
	8643,8701,8773,6254} ;
/* AO	袄凹傲奥熬懊敖翱澳		嚣坳嗷岙廒遨媪骜獒		聱螯鏊鳌鏖拗 24 */

const u_short	_BA[] ={26,
	1649,1643,1641,1654,1646,1653,1647,1645,1637,1639,
	1651,1652,1640,1648,1642,1644,1650,1638,6056,6135,
	6517,6917,7857,8446,8649,8741} ;
/* BA	把八吧爸拔罢跋巴芭	 	扒坝霸叭靶笆疤耙捌		茇菝岜灞钯粑鲅魃 26 */

const u_short	_BAI[] ={12,
	1657,1655,1658,1660,1656,1661,1659,1814,1662,6267,
	7494,6334} ;
/* BAI	百白摆败柏拜佰伯稗		捭掰呗 12 */

const u_short	_BAN[] ={21,
	1675,1676,1664,1667,1672,1665,1670,1663,1669,1673,
	1666,1671,1674,1668,1677,5870,5964,7851,8103,8113,
	8418} ; 
/* BAN	半办班般拌搬版斑板伴		扳扮瓣颁绊阪坂钣瘢癍		舨 21 */

const u_short	_BANG[] ={14,
	1679,1684,1683,1685,1687,1678,1681,1686,1688,1680,
	1682,1689,6182,6826} ;
/* BANG	帮棒绑磅镑邦榜蚌傍梆		膀谤蒡浜 14 */

const u_short	_BAO[] ={27,
	3758,1692,1707,1708,1705,1703,1709,1701,1706,1712,
	1694,1710,1702,1693,1704,1690,1691,1711,3758,3857,
	6165,7063,7650,8017,8157,8532,8621} ;
/* BAO 	炮包抱报饱保暴薄宝爆		剥豹雹褒堡苞胞鲍炮瀑		葆孢煲鸨褓趵龅 27 */

const u_short	_BEI[] ={27,
	1727,1717,1722,1713,1719,1715,1724,1714,1716,1720,
	1718,1721,1726,1723,1725,1759,5635,5893,6177,6703,
	7753,8039,8156,8645,8725,5873,6334} ;
/* BEI	被北倍杯背悲备碑卑贝		辈钡焙狈惫臂孛邶蓓悖		碚鹎褙鐾鞴陂呗 27 */

const u_short	_BEN[] ={9,1730,1728,1729,1731,2627,5946,5948,7928,7458} ;
/* BEN	本奔苯笨夯畚坌锛贲 9 */

const u_short	_BENG[] ={9,1736,1733,1734,1732,1737,1686,1735,6452,7420} ;
/* BENG	蹦绷甭崩迸蚌泵嘣甏 9 */

const u_short  	_BI[] ={57,
	1740,1742,1753,1739,1744,1756,1760,1738,1747,
	1759,1743,1741,1758,1745,1750,1755,1757,1746,
	1748,1751,1754,1761,1749,1752,3556,3558,5616,
	5734,6037,6074,6109,6141,6221,6357,6589,6656,
	6725,6868,6908,6986,6994,7030,7052,7221,7815,
	7873,7985,8357,8375,8387,8416,8437,8547,8734,
	6333,7458,8152} ;
/* BI	比笔闭鼻碧必避逼毕		臂彼鄙壁蓖币弊辟蔽	 	毙庇敝陛毖痹秘泌匕
	    俾芘荜荸萆薜哔狴庳	 	愎滗濞弼妣婢嬖璧畀		铋秕筚箅篦舭襞跸髀
    	吡贲裨 57 */

const u_short  	_BIAN[] ={27,
	1763,1768,1767,1773,1764,1771,1766,1765,1762,1769,
	1770,1772,5650,5945,6048,6677,6774,7652,7730,7760,
	8125,8159,8289,8354,8693,8752,7134} ;
/* BIAN		边变便遍编辩扁贬鞭		卞辨辫匾弁苄忭汴煸 	砭碥窆褊蝙笾鳊髟缏 27 */

const u_short  	_BIAO[] ={15,
	1777,1774,1775,1776,7027,7228,7609,7613,7614,7958,
	7980,8106,8149,8707,7084} ;
/* BIAO		表标彪膘婊杓飑飙飚	 	镖镳瘭裱鳔骠 15 */

const u_short  	_BIE[] ={5,1780,1779,1778,1781,8531} ;
/* BIE	别憋鳖瘪蹩 5 */

const u_short  	_BIN[] ={16,
	1786,1784,1787,1782,1783,1785,5747,6557,7145,7375,
	7587,7957,8738,8762,7167,7336} ;
/* BIN	宾濒摈彬斌滨傧豳缤 	殡膑镔髌鬓玢槟 16 */

const u_short  	_BING[] ={14,
	1802,1801,1788,1789,1791,1793,3833,1792,1790,1794,
	5787,5891,6280,7336} ;
/* BING	并病兵冰丙饼屏秉柄 	炳禀邴摒槟 14 */

const u_short  	_BO[] ={37,
	1806,1808,1805,1820,1809,1814,1821,1803,1694,1701,
	1810,1804,1807,1811,1817,1815,1667,1656,1816,1819,
	1812,1813,1818,3839,1823,5781,6403,6636,7362,7502,
	7771,7864,8030,8404,8543,8559,6212} ; 
/* BO	拨波播泊博伯驳玻剥		薄勃菠钵搏脖帛般柏		舶渤铂箔膊魄卜亳啵
		饽檗擘礴钹鹁簸跛踣	 	蕃 37 */

const u_short  	_BU[] ={20,
	1827,1829,1825,1828,1831,1822,1823,1830,1824,1704,
	1826,1832,3850,6318,6945,7419,7446,7848,7863,8519} ;
/* BU	不步补布部捕卜簿哺	 	堡埠怖埔卟逋瓿晡钚	 	钸醭 20 */

const u_short	_CA[] ={4,1833,1880,7769,6474} ;
/* CA	擦拆礤嚓 4 */

const u_short	_CAI[] ={11,
	1837,1843,1841,1836,1838,1835,1834,1840,1839,1844,
	1842} ;
/* CAI 才菜采材财裁猜踩睬	蔡彩 11 */

const u_short	_CAN[] ={13,
	1847,1848,1884,1846,1850,1849,1845,1851,7078,7218,
	8451,8785,6978} ;
/* CAN 蚕残掺参惨惭餐灿骖	璨粲黪孱 13*/

const u_short	_CANG[] ={6,1856,1854,1855,1853,1852,5687} ;
/* CANG 藏仓沧舱苍伧 6*/

const u_short	_CAO[] ={9,
	1861,1857,1860,1859,1858,6448,6878,8309,8429} ;
/* CAO 草操曹槽糙嘈漕螬艚 9*/	

const u_short	_CE[] = {6,1865,1864,1863,1866,1862,6692} ;
/* CE 册侧策测厕恻 6*/

const u_short	_CEN[] ={3,1846,6515,6825} ;
/* CEN 参岑涔 3*/

const u_short	_CENG[] ={4,5288,1867,1868,6465} ;
/* CENG 曾层蹭噌 4*/

const u_short	_CHA[] ={23,
	1873,1869,1870,1872,1878,1877,1875,1876,1871,1874,
	1879,6639,6766,7017,7230,7322,7363,7942,7979,8135,
	4118,6474,7311} ;
/* CHA 查插叉茶差岔搽察茬	碴诧馇汊姹杈槎檫锸	镲衩刹嚓楂 23*/

const u_short	_CHAI[] ={8,1881,1880,1878,1882,5713,7846,8218,8091};
/* CHAI 柴拆差豺侪钗虿瘥 8*/

const u_short	_CHAN[] ={27,
	1890,1888,1884,1883,1891,1892,1889,1887,1885,1886,
	5770,5838,6159,6660,6667,6893,6904,6981,7031,7086, 
    7472,8324,8580,2105,6978,7688,7966} ;
/* CHAN  产缠掺搀阐颤铲谗蝉	馋冁谄蒇廛忏潺澶羼	婵骣觇蟾躔单孱禅镡 27*/

const u_short	_CHANG[] ={27,
	1904,1910,1903,1901,1907,1902,1906,1909,1893,1908,
	1911,1894,1905,5686,5943,6041,6137,6568,6674,6714,
	6749,7029,7047,7438,7509,8680,4149} ;
/* CHANG 长唱常场厂尝肠畅昌	敞倡猖偿伥鬯苌菖徜	怅惝阊娼嫦昶氅鲳裳 27*/

const u_short	_CHAO[] ={15,
	1915,1913,1912,1919,1917,1918,1920,1916,2943,1914,
	6687,7443,8173,2034,7644} ;
/* CHAO 朝抄超吵潮巢炒嘲剿	钞怊晁耖绰焯 15*/

const u_short	_CHE[] ={9,
	1921,1923,1922,1924,1925,1963,1926,5969,7726} ;
/* CHE  车撤扯掣彻尺澈坼砗 9*/

const u_short	_CHEN[] ={32,
	1935,1938,1929,1928,1930,1931,1933,1934,1936,1940,
	1927,1932,5840,5863,6251,6433,6923,7201,7755,7755,
	8619,5687} ;
/* CHEN 趁称辰臣尘晨沉陈衬	橙郴忱谌谶抻嗔宸琛	碜碜龀伧 32*/

const u_short	_CHENG[] ={29,
	1941,1943,4202,1937,1930,1939,1944,1942,1947,1951,
	1945,1948,1949,1950,5609,5984,7239,7263,7583,7810, 
	7881,8146,8241,8508,1940,1946,6465,7441,7885} ;
/* CHENG 成乘盛撑尘城程呈诚	秤惩承逞骋丞埕枨柽	塍瞠铖裎蛏酲橙澄噌	晟铛 29*/

const u_short	_CHI[] ={39,
	1952,1963,1957,1956,1965,1953,1964,1961,1960,1954,
	1966,1958,1959,1962,1967,5749,6015,6061,6319,6374,
	6420,6445,6560,6633,7042,7523,7787,8023,8101,8161,
	8231,8304,8355,8388,8489,8556,8746,1955,5970} ;
/*  CHI 吃尺迟池翅痴赤齿耻	持斥弛驰侈炽傺墀茌	叱哧啻嗤彳饬媸敕眵
    鸱瘛褫蚩螭笞篪豉踟	魑匙坻 39*/

const u_short	_CHONG[] ={14,
	1969,5456,1970,1968,1972,1971,6091,6671,6731,7905,
	8409,8430,5131,5454} ;
/* CHONG 冲重虫充宠崇茺忡憧	铳舂艟涌种 14*/

const u_short	_CHOU[] ={17,
	1973,1978,1984,1980,1983,1977,1981,1974,1979,1976,
	1975,1982,5717,8626,8112,8637,6492} ;
/* CHOU 抽愁臭仇丑稠绸酬筹	踌畴瞅俦龊瘳雠帱 17*/

const u_short	_CHU[] ={28,
	1986,2006,1985,1990,1993,2005,1987,1994,2001,2002,
	4883,1988,1989,1991,1992,2003,2004,5601,5927,6680,
	6732,7109,7238,7290,7343,8260,8573,8777} ;
/* CHU 出处初锄除触橱楚础	储畜厨躇雏滁矗搐亍	刍怵憷绌杵楮樗蜍蹰	黜 28*/

const u_short	_CHUAI[] ={6,2007,6285,7590,8563,6408,6460};
/* CHUAI 揣搋膪踹啜嘬 6*/

const u_short	_CHUAN[] ={13,
	2009,2012,2011,2014,2008,2013,2010,6622,6955,7161,
    7516,7843,8413};
/* CHUAN 穿船传串川喘椽舛遄	巛氚钏舡 13*/

const u_short	_CHUANG[] ={8,2016,2018,2019,2020,2015,2017,6675} ;
/* CHUANG 窗床闯创疮幢怆 8*/

const u_short	_CHUI[] ={9,
	2021,2025,2022,2024,2023,5521,5879,1961,7319} ;
/* CHUI 吹垂炊锤捶椎陲齿槌 9*/

const u_short	_CHUN[] ={10,
	2026,2029,2031,2032,2028,2030,2027,6127,8040,8277} ;
/* CHUN 春唇纯蠢醇淳椿莼鹑	蝽 10*/
 
const u_short	_CHUO[] ={6,2033,2034,7401,8554,8626,6408};
/* CHUO 戳绰辍踔龊啜 6*/

const u_short	_CI[] ={19,
	2046,2043,2042,2041,2040,2038,2037,2039,2044,2036,
    2035,2045,6358,7684,8043,8457,1878,4337,5540} ;
/* CI 次此词瓷慈雌磁辞刺	茨疵赐呲祠鹚糍差伺	兹 19*/

const u_short	_CONG[] ={12,
	2051,2052,2048,2050,2047,2049,6042,6840,7085,7193,
	7214,7240};
/* CONG 从丛葱匆聪囱苁淙骢	琮璁枞 12*/

const u_short	_COU[] ={4,2053,7308,7403,7577} ;
/* COU 凑楱辏腠 4*/

const u_short	_CU[] ={12,
	2054,2055,2056,2057,5568,6193,6562,6607,7367,8530,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -