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

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

?? fs_lib.c

?? MSP430單片機C語言應用
?? C
字號:
/*

2.4 kbps MELP Proposed Federal Standard speech coder

Fixed-point C code, version 1.0

Copyright (c) 1998, Texas Instruments, Inc.  

Texas Instruments has intellectual property rights on the MELP
algorithm.  The Texas Instruments contact for licensing issues for
commercial and non-government use is William Gordon, Director,
Government Contracts, Texas Instruments Incorporated, Semiconductor
Group (phone 972 480 7442).

The fixed-point version of the voice codec Mixed Excitation Linear
Prediction (MELP) is based on specifications on the C-language software
simulation contained in GSM 06.06 which is protected by copyright and
is the property of the European Telecommunications Standards Institute
(ETSI). This standard is available from the ETSI publication office
tel. +33 (0)4 92 94 42 58. ETSI has granted a license to United States
Department of Defense to use the C-language software simulation contained
in GSM 06.06 for the purposes of the development of a fixed-point
version of the voice codec Mixed Excitation Linear Prediction (MELP).
Requests for authorization to make other use of the GSM 06.06 or
otherwise distribute or modify them need to be addressed to the ETSI
Secretariat fax: +33 493 65 47 16.

*/
/*

  fs_lib.c: Fourier series subroutines 

*/

/*  compiler include files  */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "spbstd.h"
#include "mathhalf.h"
#include "mathdp31.h"
#include "mat.h"
#include "math_lib.h"
#include "fs.h"
#include "constant.h"

/*  compiler constants */
#define PRINT 1

/*								*/
/*	Subroutine FIND_HARM: find Fourier coefficients using	*/
/*	FFT of input signal divided into pitch dependent bins.	*/
/*								*/
/*  Q values:
    input - Q0
    fsmag - Q13
    pitch - Q7 */

#define	FFTLENGTH	512

/* Memory definition		*/
static Shortword find_hbuf[2*FFTLENGTH];
static Longword mag[FFTLENGTH];
static Shortword wr_array[FFTLENGTH/2+1];
static Shortword wi_array[FFTLENGTH/2+1];

void main(void)
{
	int i;
	short length;
	short input[400];
	length = 200;
	v_zap(find_hbuf,2*FFTLENGTH);
    for (i = 0; i < 2*length; i+=2) 
	{
      find_hbuf[i] = input[i/2];  
    }
    fft(find_hbuf,FFTLENGTH,MONE_Q15);
}

/*	Subroutine FFT: Fast Fourier Transform 		*/
/**************************************************************
* Replaces data by its DFT, if isign is 1, or replaces data   *
* by inverse DFT times nn if isign is -1.  data is a complex  *
* array of length nn, input as a real array of length 2*nn.   *
* nn MUST be an integer power of two.  This is not checked    *
* The real part of the number should be in the zeroeth        *
* of data , and the imaginary part should be in the next      *
* element.  Hence all the real parts should have even indeces *
* and the imaginary parts, odd indeces.			      *

* Data is passed in an array starting in position 0, but the  *
* code is copied from Fortran so uses an internal pointer     *
* which accesses position 0 as position 1, etc.		      *

* This code uses e+jwt sign convention, so isign should be    *
* reversed for e-jwt.                                         *
***************************************************************/
/* Q values:
   datam1 - Q14
   isign - Q15 */

#define	SWAP(a,b) temp1 = (a);(a) = (b); (b) = temp1

void fft(Shortword *datam1,Shortword nn,Shortword isign)
{
	Shortword n,mmax,m,j,istep,i;
	Shortword wr,wi,temp1;
	Longword register L_tempr,L_tempi;
	Shortword *data;
	Longword L_temp1,L_temp2;
	Shortword index,index_step;

	data = &datam1[-1];

	n = shl(nn,1);
	j = 1;
	for( i = 1; i < n; i+=2 ) 
	{
		if ( j > i) 
		{
			SWAP(data[j],data[i]);    
			SWAP(data[j+1],data[i+1]);    
		}
		m = nn;
		while ( m >= 2 && j > m ) 
		{
			j = sub(j,m);
			m = shr(m,1);
		}
		j = add(j,m);
	}
	mmax = 2;
	index_step = nn;
	while ( n > mmax) 
	{
		istep = shl(mmax,1);  

		index = 0;
		index_step = shr(index_step,1);

		wr = ONE_Q15;
		wi = 0;
		for ( m = 1; m < mmax;m+=2) 
		{
			for ( i = m; i <= n; i += istep) 
			{
				j = i + mmax;

				//tempr = wr * data[j] - wi * data[j+1]
				L_temp1 = L_shr(L_mult(wr,data[j]),1);
				L_temp2 = L_shr(L_mult(wi,data[j+1]),1);
				L_tempr = L_sub(L_temp1,L_temp2);

				//tempi = wr * data[j+1] + wi * data[j]
				L_temp1 = L_shr(L_mult(wr,data[j+1]),1);
				L_temp2 = L_shr(L_mult(wi,data[j]),1);
				L_tempi = L_add(L_temp1,L_temp2);

				//data[j] = data[i] - tempr
				L_temp1 = L_shr(L_deposit_h(data[i]),1);
				data[j] = extract_h(L_sub(L_temp1,L_tempr));

				//data[i] += tempr
				data[i] = extract_h(L_add(L_temp1,L_tempr));

				//data[j+1] = data[i+1] - tempi
				L_temp1 = L_shr(L_deposit_h(data[i+1]),1);
				data[j+1] = extract_h(L_sub(L_temp1,L_tempi));

				//data[i+1] += tempi
				data[i+1] = extract_h(L_add(L_temp1,L_tempi));
			}
			index = add(index,index_step);
			wr = wr_array[index];
			if (isign < 0)
			    wi = negate(wi_array[index]);
			else
			    wi = wi_array[index];
		}
		mmax = istep;
	}
} /* fft */






/* Initialization of wr_array and wi_array */
void fs_init(void)
{
	Shortword i;
	Shortword fft_len2,shift,step,theta;

	fft_len2 = shr(FFTLENGTH,1);
	shift = norm_s(fft_len2);
	step = shl(2,shift);
	theta = 0;

	for (i = 0; i <= fft_len2; i++) 
	{
		wr_array[i] = cos_fxp(theta);    
		wi_array[i] = sin_fxp(theta);    
		if (i >= (fft_len2-1))
			theta = ONE_Q15;
		else
			theta = add(theta,step);
	}
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色在线看| 精品99久久久久久| 日韩欧美三级在线| 亚洲三级视频在线观看| 极品美女销魂一区二区三区| 91官网在线观看| 国产欧美一区二区在线| 日韩精品三区四区| 91免费在线视频观看| 欧美va日韩va| 日韩成人精品在线| 色噜噜狠狠成人中文综合| 精品国产一区二区精华| 五月激情综合色| 色哟哟一区二区在线观看| 久久你懂得1024| 蜜桃久久av一区| 91精彩视频在线| **性色生活片久久毛片| 国产精品456露脸| 2024国产精品| 国产一区二区三区四| 欧美一区二区精品久久911| 午夜在线成人av| 欧美日韩一区在线观看| 亚洲精品国产第一综合99久久 | 日韩午夜在线影院| 亚洲综合视频网| 在线免费亚洲电影| 亚洲视频电影在线| 色综合久久中文字幕| 一区二区三区日韩欧美| 在线观看亚洲成人| 亚洲成a天堂v人片| 欧美无砖专区一中文字| 亚洲成人免费视频| 欧美人牲a欧美精品| 日韩激情av在线| 欧美一区二区三区喷汁尤物| 免费精品视频最新在线| 欧美电影在哪看比较好| 免费三级欧美电影| 国产日韩精品一区二区三区| 成人网在线播放| 一区二区三区免费看视频| 色婷婷综合久久久| 日韩电影免费一区| 久久日一线二线三线suv| 成人一区在线观看| 亚洲女人的天堂| 91精品综合久久久久久| 精品一区二区日韩| 中文字幕一区二区不卡| 欧美日韩国产天堂| 久久97超碰国产精品超碰| 国产精品美女久久久久久久久久久 | 最好看的中文字幕久久| 欧美影院一区二区三区| 蜜桃视频一区二区| 国产精品高潮呻吟久久| 欧美日本国产一区| 国产精品1区二区.| 亚洲成人自拍偷拍| 久久久久久久久久久久久女国产乱| 成人精品亚洲人成在线| 日韩电影一区二区三区四区| 国产婷婷精品av在线| 欧美日韩一级黄| 国产精品一区二区91| 亚洲国产成人tv| 国产三级一区二区| 欧美性高清videossexo| 国产成人免费在线视频| 亚洲自拍都市欧美小说| 国产无一区二区| 欧美图区在线视频| 成人午夜激情视频| 日韩不卡一区二区| 亚洲精品一二三区| 国产亚洲污的网站| 日韩一级黄色大片| 91福利区一区二区三区| 风间由美一区二区av101| 日韩国产欧美在线视频| 亚洲男人天堂av| 中文字幕欧美日韩一区| 日韩免费在线观看| 91精品国产乱| 欧美影院精品一区| 91在线视频播放| 国产成人8x视频一区二区| 青娱乐精品视频在线| 亚洲一区中文日韩| 中文字幕日韩一区二区| 国产午夜精品美女毛片视频| 日韩一区二区免费电影| 精品视频1区2区| 欧美视频自拍偷拍| 色丁香久综合在线久综合在线观看| 成人午夜私人影院| 国产成人综合亚洲网站| 国产呦萝稀缺另类资源| 久久精品国产99久久6| 秋霞午夜鲁丝一区二区老狼| 亚洲国产日韩精品| 亚洲高清一区二区三区| 亚洲一区二区三区四区不卡| 一区二区三区在线观看网站| 亚洲欧美成aⅴ人在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 久久一二三国产| 国产三级精品三级在线专区| 久久久久久久精| 国产午夜亚洲精品午夜鲁丝片| 国产视频亚洲色图| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产精品视频你懂的| 国产视频911| 中文子幕无线码一区tr| 国产欧美精品一区二区三区四区 | 国产欧美日韩亚州综合| 国产日韩精品一区| 国产精品国产三级国产aⅴ原创 | 中文字幕一区av| 亚洲免费看黄网站| 亚洲成人一区二区| 麻豆精品一区二区三区| 国产一区不卡视频| 成人午夜精品一区二区三区| 91蜜桃免费观看视频| 欧美日韩激情一区| 日韩一级免费观看| 国产欧美一区二区三区在线看蜜臀| 国产日韩影视精品| 亚洲六月丁香色婷婷综合久久| 亚洲综合区在线| 久久国产尿小便嘘嘘| 成人午夜电影小说| 日本高清不卡一区| 精品久久人人做人人爽| **欧美大码日韩| 日本va欧美va精品发布| 丁香天五香天堂综合| 欧美日韩国产免费一区二区| 精品久久久久久最新网址| 亚洲欧洲日韩在线| 天堂成人国产精品一区| 国产a级毛片一区| 欧美日韩一区二区欧美激情| 精品久久久三级丝袜| 一区二区三区美女| 国产麻豆一精品一av一免费 | 免费观看久久久4p| jlzzjlzz亚洲日本少妇| 欧美一级一区二区| 亚洲色大成网站www久久九九| 秋霞电影网一区二区| 成人av网站在线观看| 欧美一级电影网站| 亚洲欧美日韩国产综合| 国产一区二区三区黄视频 | 久久综合资源网| 亚洲在线成人精品| 国产白丝网站精品污在线入口| 91久久国产综合久久| 国产清纯美女被跳蛋高潮一区二区久久w| 一级日本不卡的影视| 东方aⅴ免费观看久久av| 91精选在线观看| 亚洲一区免费视频| 成a人片国产精品| 欧美精品一区二区三区在线| 亚洲一区二区三区四区的| 高清beeg欧美| xf在线a精品一区二区视频网站| 午夜不卡av在线| 91在线视频网址| 国产精品国产三级国产| 经典三级视频一区| 4hu四虎永久在线影院成人| 亚洲精品自拍动漫在线| 97久久超碰国产精品电影| 久久色在线观看| 国产一区二区三区久久悠悠色av | 美女在线视频一区| 欧美性大战久久久| 亚洲午夜日本在线观看| 91蝌蚪porny九色| 中文字幕在线观看不卡视频| 国产suv一区二区三区88区| 日韩精品影音先锋| 免费成人你懂的| 欧美成人女星排行榜| 麻豆成人综合网| 精品国产乱码久久| 国产一区二区三区在线观看免费视频| 精品不卡在线视频| 国产大片一区二区| 中文字幕一区二区5566日韩| av在线综合网|