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

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

?? dsp.h

?? dsPIC30F_DSP算法庫
?? H
?? 第 1 頁 / 共 4 頁
字號:
/*********************************************************************
*                                                                    *
*                       Software License Agreement                   *
*                                                                    *
*   The software supplied herewith by Microchip Technology           *
*   Incorporated (the "Company") for its dsPIC controller            *
*   is intended and supplied to you, the Company's customer,         *
*   for use solely and exclusively on Microchip dsPIC                *
*   products. The software is owned by the Company and/or its        *
*   supplier, and is protected under applicable copyright laws. All  *
*   rights are reserved. Any use in violation of the foregoing       *
*   restrictions may subject the user to criminal sanctions under    *
*   applicable laws, as well as to civil liability for the breach of *
*   the terms and conditions of this license.                        *
*                                                                    *
*   THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION.  NO           *
*   WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING,    *
*   BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND    *
*   FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE     *
*   COMPANY SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,  *
*   INCIDENTAL OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.  *
*                                                                    *
*   (c) Copyright 2003 Microchip Technology, All rights reserved.    *
*********************************************************************/

/****************************************************************************
*
* DSP.H
* Interface to the DSP Library for the dsPIC30F.
*
****************************************************************************/

#ifndef	__DSP_LIB__	/* [ */
#define	__DSP_LIB__

/***************************************************************************/

/* External headers. */

#include	<stdlib.h>		/* malloc, NULL */
#include	<math.h>		/* fabs, sin, cos, atan, sqrt */

/*...........................................................................*/

/* Local defines. */

#define	FLOATING	-1			/* using floating type */
#define	FRACTIONAL	 1			/* using fractional type */
#ifndef	DATA_TYPE			/* [ */
#define	DATA_TYPE	FRACTIONAL		/* default */
#endif	/* ] */

/* Some constants. */
#ifndef	PI				/* [ */
#define	PI 3.1415926535897931159979634685441851615905761718750 /* double */
#endif	/* ] */
#ifndef	SIN_PI_Q				/* [ */
#define	SIN_PI_Q 0.7071067811865474617150084668537601828575134277343750
						/* sin(PI/4), (double) */
#endif	/* ] */
#ifndef	INV_SQRT2				/* [ */
#define	INV_SQRT2 SIN_PI_Q			/* 1/sqrt(2), (double) */
						/* 1/sqrt(2) = sin(PI/4) */
#endif	/* ] */

#define	BART_0		 2.0			/* Bartlett 0th factor */

#define	HANN_0		 0.50			/* Hanning 0th factor */
#define	HANN_1		-0.50			/* Hanning 1st factor */

#define	HAMM_0		 0.53836		/* Hamming 0th factor */
#define	HAMM_1		-0.46164		/* Hamming 1st factor */

#define	BLCK_0		 0.42			/* Blackman 0th factor */
#define	BLCK_1		-0.50			/* Blackman 1st factor */
#define	BLCK_2		 0.08			/* Blackman 2nd factor */

#define	COEFFS_IN_DATA	0xFF00			/* page number used for */
						/* filter coefficients */
						/* when allocated in X */
						/* data memory */
/*...........................................................................*/

/* Local types. */

/* Type definitions. */
#ifndef	fractional			/* [ */

#if	DATA_TYPE==FLOATING		/* [ */
typedef	double		fractional;
#else	/* ] */
typedef	int		fractional;
#endif	/* ] */

#ifndef	fractcomplex			/* [ */
typedef struct {
  fractional real;
  fractional imag;
} fractcomplex;
#endif	/* ] fractcomplex */

#endif	/* ] fractional */

/*...........................................................................*/

/****************************************************************************
*
* Preliminary remarks.
*
* None of the functions provided within this API allocate memory space.
*
****************************************************************************/

/*...........................................................................*/

/****************************************************************************
*
* Interface to generic function prototypes. 
*
****************************************************************************/

/* Generic function prototypes. */


#if	DATA_TYPE==FLOATING		/* [ */
#define	Float2Fract(aVal)	(aVal)	/* Identity function */
#else	/* ] */
extern fractional Float2Fract (		/* Converts float into fractional */
   float aVal				/* float value in range [-1, 1) */
);
#endif	/* ] */

/*...........................................................................*/

/****************************************************************************
*
* Interface to vector operations.
*
* A vector is a collection of numerical values, the vector elements,
* allocated contiguosly in memory, with the first element at the
* lowest memory address. One word of memory (two bytes) is used to
* store the value of each element, and this quantity must be interpreted
* as a fractional value in Q.15 format.
*
* A pointer addressing the first element of the vector is used as
* a handle which provides access to each of the vector values. The
* one dimensional arrangement of a vector fits with the memory
* storage model, so that the n-th element of an N-element vector
* can be accessed from the vector's base address BA as:
*
*	BA +  (n-1)*2,
*
* Note that because of the byte addressing capabilities of the dsPIC30F,
* the addressing of vector elements uses an increment (or decrement) size
* of 2: INC2 (or DEC2) instruction.
*
* Unary and binary operations are prototyped in this interface. The
* operand vector in a unary operation is called the source vector.
* In a binary operation the first operand is referred to as source
* one vector, and the second as source two vector. Each operation
* applies some computation to one or several elements of the source
* vector(s). Some operations result in a scalar value (also to be
* interpreted as a Q.15 fractional number), others in a vector. When
* the result is also a vector this is referred to as the destination
* vector.
*
* Some operations resulting in a vector allow computation in place;
* i.e., the results of the operations are placed back on the source
* (or source one, if binary) vector. In this case, the destination
* vector is said to (physically) replace the source (one) vector.
* When an operation can be computed in place it is indicated as such
* in the comments provided with its prototype.
*
* For some binary operations, the two operands can be the same (physical)
* source vector: the operation is applied between the source vector
* and itself. If this type of computation is possible for a given
* operation, it is indicated as such in the comments provided with
* its prototype.
* 
* Some operations can be self applicable and computed in place.
* 
* The operations prototyped in this interface take as an argument the
* cardinality (number of elements) of the operand vector(s). It is
* assumed that this number is in the range {1, 2, ..., (2^14)-1}, and
* that in the case of binary operations both operand vectors have the
* same cardinality. Note that no boundary checking is performed by
* the operations, and that out of range cardinalities as well as the
* use of source vectors of different sizes in binary operations may
* produce unexpected results.
*
* Additional remarks.
*
* A) Operations which return a destination vector can be nested, so that
*    for instance if:
*
*	a = Op1 (b, c), with b = Op2 (d), and c = Op3 (e, f), then
*
*	a = Op1 (Op2 (d), Op3 (e, f))
*
* B) The vector dot product and power operations could lead to saturation
*    if the sum of products is greater than 1-2^(-15) or smaller than -1.
*
* C) All the functions have been designed to operate on vectors allocated
*    in default RAM memory space (X-Data or Y-Data).
*
* D) The sum of sizes of the vector(s) involved in an operation must not
*    exceed the available memory in the target device.
*
****************************************************************************/

/* Vector operation prototypes. */


extern fractional VectorMax (		/* Vector (last) maximum */
					/* maxVal = max{srcV[elem]} */
					/* if srcV[i] = srcV[j] = maxVal */
					/* and i < j, then *(maxIndex) = j */
   int numElems,			/* number elements in srcV */
   fractional* srcV,			/* ptr to source vector */
   int* maxIndex			/* ptr to index for maximum value */

					/* maxVal returned */
);

/*...........................................................................*/

extern fractional VectorMin (		/* Vector (last) minimum */
					/* minVal = min{srcV[elem]} */
					/* if srcV[i] = srcV[j] = minVal */
					/* and i < j, then *(minIndex) = j */
   int numElems,			/* number elements in srcV */
   fractional* srcV,			/* ptr to source vector */
   int* minIndex			/* ptr to index for minimum value */

					/* minVal returned */
);

/*...........................................................................*/

extern fractional* VectorCopy (		/* Copy elements from source vector */
					/* to an (existing) dest vector */
					/* (both srcV and dstV MUST have, */
					/* at least, numElems elements). */
					/* dstV[n] = srcV[n], 0 <= n < N */
					/* (in place capable) */
   int numElems,			/* number elements to copy (N) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV			/* ptr to source vector */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional* VectorZeroPad (	/* Zero pad tail of a vector */
					/* dstV[n] = srcV[n], 0 <= n < N */
					/* dstV[n] = 0, N <= n < N+M */
					/* (srcV MUST have length >= N) */
					/* (dstV MUST have length N+M) */
					/* (in place capable) */
   int numElems,			/* number elements in srcV (N) */
   int numZeros,			/* number zeros to append (M) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV			/* ptr to source vector */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional* VectorNegate (	/* Vector negate */
					/* dstV[n] = (-1)*srcV[n]+0, 0<=n<N */
					/* (in place capable) */
   int numElems,			/* number elements in srcV (N) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV			/* ptr to source vector */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional* VectorScale (	/* Vector scale */
					/* dstV[elem] = sclVal*srcV[elem] */
					/* (in place capable) */
   int numElems,			/* number elements in srcV (N) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV,			/* ptr to source vector */
   fractional sclVal			/* scale value (Q.15 fractional) */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional* VectorAdd (		/* Vector addition */
					/* dstV[elem] =			*/
					/*    = srcV1[elem] + srcV2[elem] */
					/* (in place capable) */
					/* (with itself capable) */
   int numElems,			/* number elements in srcV[1,2] (N) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV1,			/* ptr to source vector one */
   fractional* srcV2			/* ptr to source vector two */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional* VectorSubtract (	/* Vector subtraction */
					/* dstV[elem] =			*/
					/*    = srcV1[elem] - srcV2[elem] */
					/* (in place capable) */
					/* (with itself capable) */
   int numElems,			/* number elements in srcV[1,2] (N) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV1,			/* ptr to source vector one */
   fractional* srcV2			/* ptr to source vector two */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional* VectorMultiply (	/* Vector elem-to-elem multiply */
					/* dstV[elem] =			*/
					/*    = srcV1[elem] * srcV2[elem] */
					/* (in place capable) */
					/* (with itself capable) */
   int numElems,			/* number elements in srcV[1,2] (N) */
   fractional* dstV,			/* ptr to destination vector */
   fractional* srcV1,			/* ptr to source vector one */
   fractional* srcV2			/* ptr to source vector two */

					/* dstV returned */
);

/*...........................................................................*/

extern fractional VectorDotProduct (	/* Vector dot product */
					/* dotVal =			*/
					/*    = sum(srcV1[elem]*srcV2[elem]) */
					/* (with itself capable) */
   int numElems,			/* number elements in srcV[1,2] (N) */
   fractional* srcV1,			/* ptr to source vector one */
   fractional* srcV2			/* ptr to source vector two */

					/* dot product value returned */
);

/*...........................................................................*/

extern fractional VectorPower (		/* Vector power */
					/* powVal =			*/
					/*    = sum(srcV[elem]^2)	*/
   int numElems,			/* number elements in srcV (N) */
   fractional* srcV			/* ptr to source vector one */

					/* power value returned */
);

/*...........................................................................*/

extern fractional* VectorConvolve (	/* Vector Convolution */
					/* (with itself capable) */
   int numElems1,			/* number elements in srcV1 */
   int numElems2,			/* number elements in srcV2 */
   					/* numElems2 <= numElems1 */
   fractional* dstV,			/* ptr to destination vector */
   					/* with numElems1+numElems2-1 elems */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级免费观看| 日韩av中文在线观看| 香蕉影视欧美成人| 国产伦精品一区二区三区视频青涩 | 中文字幕一区二区三区四区不卡| 夜夜精品浪潮av一区二区三区| 国产在线精品不卡| 欧美日韩久久一区| 中文字幕一区二区在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 日本精品一区二区三区高清| 日本一区二区免费在线观看视频 | 欧美写真视频网站| 国产精品乱码一区二区三区软件| 全国精品久久少妇| 在线视频观看一区| 亚洲日韩欧美一区二区在线| 成人网在线播放| 日韩欧美国产麻豆| 青娱乐精品视频| 欧美丰满少妇xxxxx高潮对白| 亚洲天堂a在线| 99久久久无码国产精品| 欧美激情一区二区三区不卡| 国产精品99久久久久久宅男| 久久久精品免费观看| 免费高清不卡av| 69精品人人人人| 日日摸夜夜添夜夜添亚洲女人| 欧美日韩午夜影院| 亚洲国产精品久久不卡毛片| 在线视频国产一区| 亚洲一区二区在线观看视频 | 精品久久久久久久人人人人传媒| 日本免费在线视频不卡一不卡二| 欧美日韩精品二区第二页| 亚洲成人1区2区| 欧美精品乱人伦久久久久久| 亚洲午夜一区二区| 7777精品伊人久久久大香线蕉完整版 | 在线观看av不卡| 亚洲一区二区三区激情| 欧美色爱综合网| 日本不卡不码高清免费观看| 日韩一区二区麻豆国产| 久久99精品久久久久久| 国产午夜亚洲精品不卡| 色婷婷亚洲综合| 三级不卡在线观看| 精品国产乱码久久久久久久久 | 国产精品日日摸夜夜摸av| 97se亚洲国产综合自在线不卡 | 亚洲天堂中文字幕| 在线观看日韩精品| 国产mv日韩mv欧美| 日韩和欧美一区二区三区| 欧美狂野另类xxxxoooo| 久久国产生活片100| 国产精品视频一区二区三区不卡| 日本韩国精品在线| 美国三级日本三级久久99| 国产精品视频第一区| 色偷偷成人一区二区三区91| 日韩国产一二三区| 国产午夜久久久久| 欧美人妇做爰xxxⅹ性高电影| 久久超碰97人人做人人爱| 国产精品夫妻自拍| 91.麻豆视频| a美女胸又www黄视频久久| 性做久久久久久免费观看| 国产性天天综合网| 欧美日韩精品一区二区三区蜜桃| 蜜臀av性久久久久av蜜臀妖精 | 欧美日韩视频在线观看一区二区三区| 男人的j进女人的j一区| 亚洲欧美自拍偷拍色图| 日韩视频在线永久播放| 91黄视频在线| 国产黄色成人av| 日韩av电影一区| 国产精品午夜电影| 91精品欧美综合在线观看最新| 国产精品一区二区在线观看不卡| 亚洲成a人在线观看| 亚洲人成电影网站色mp4| 久久丝袜美腿综合| 欧美日韩黄色影视| 色综合天天综合网天天狠天天| 激情文学综合插| 国产成人精品免费网站| 男女男精品网站| 亚洲成va人在线观看| 亚洲免费在线电影| 国产精品无遮挡| 久久精品日韩一区二区三区| 精品电影一区二区| 欧美一级搡bbbb搡bbbb| 欧美系列日韩一区| 在线免费观看日韩欧美| 99精品国产视频| av在线不卡免费看| 成人一区二区三区| 国产成人亚洲综合色影视| 麻豆91小视频| 日本成人在线不卡视频| 日韩vs国产vs欧美| 奇米色一区二区| 日本亚洲欧美天堂免费| 青青草国产精品亚洲专区无| 日韩av中文字幕一区二区三区| 性感美女极品91精品| 丝袜美腿高跟呻吟高潮一区| 香蕉久久一区二区不卡无毒影院| 亚洲午夜一二三区视频| 婷婷国产v国产偷v亚洲高清| 午夜久久久影院| 蜜臀av性久久久久蜜臀aⅴ| 久久国产精品72免费观看| 久久国产精品第一页| 韩国成人福利片在线播放| 韩国一区二区视频| 国产成人精品免费网站| eeuss鲁片一区二区三区在线看 | 免费av网站大全久久| 老司机一区二区| 国产成人综合在线播放| 成人免费看黄yyy456| 精品美女一区二区| 久久久www免费人成精品| 国产天堂亚洲国产碰碰| 亚洲色图一区二区三区| 亚洲综合久久av| 蜜桃av噜噜一区| 懂色av中文字幕一区二区三区| youjizz国产精品| 欧美亚男人的天堂| 91精品国产色综合久久不卡蜜臀| 欧美大片在线观看一区| 亚洲国产成人自拍| 亚洲午夜免费电影| 国产在线国偷精品免费看| 99re成人精品视频| 91精品国产91热久久久做人人| 久久综合给合久久狠狠狠97色69| 国产精品短视频| 天天操天天综合网| 成人性生交大片免费看中文| 色综合中文字幕| 日韩你懂的在线播放| 国产精品精品国产色婷婷| 亚洲成人激情自拍| 成人性生交大片免费看视频在线 | 欧美zozo另类异族| 亚洲欧美二区三区| 精品一区二区av| 91极品视觉盛宴| 欧美激情一区二区| 肉丝袜脚交视频一区二区| 成人18视频在线播放| 欧美国产欧美亚州国产日韩mv天天看完整| 中文字幕在线一区免费| 麻豆国产一区二区| 欧美吞精做爰啪啪高潮| 欧美国产精品一区| 久久99国内精品| 欧美丝袜丝交足nylons图片| 国产日韩av一区| 免费人成精品欧美精品| 色诱亚洲精品久久久久久| 2欧美一区二区三区在线观看视频| 亚洲一区二区视频| 色综合一个色综合亚洲| 久久九九久精品国产免费直播| 亚洲电影激情视频网站| 91蜜桃免费观看视频| 国产性色一区二区| 极品瑜伽女神91| 欧美一区二区三区人| 亚洲线精品一区二区三区八戒| 99re热这里只有精品视频| 国产偷国产偷精品高清尤物| 精品一区二区久久久| 日韩精品中文字幕在线不卡尤物| 亚洲最快最全在线视频| 99久久国产免费看| 国产精品天美传媒| 国产乱子伦一区二区三区国色天香 | 成人高清av在线| 久久久久久久久97黄色工厂| 美女脱光内衣内裤视频久久影院| 欧美性生活一区| 亚洲乱码中文字幕| 99视频国产精品| 亚洲欧美自拍偷拍| 91官网在线观看| 亚洲夂夂婷婷色拍ww47| 国产区在线观看成人精品| 国产黑丝在线一区二区三区| 2欧美一区二区三区在线观看视频|