91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.86MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-15
  • 語言: 其他
  • 標簽: FFT??

資源簡介

FFT(快速傅立葉變換)圖文并茂附FFT源碼,快速傅里葉變換原理,詳細,圖文并茂FFT算法附源碼

資源截圖

代碼片段和文件信息

/*********************************************************************
?????????????????????????快速福利葉變換C程序包
函數簡介:此程序包是通用的快速傅里葉變換C語言函數,移植性強,以下部分不依
??????????賴硬件。此程序包采用聯合體的形式表示一個復數,輸入為自然順序的復
??????????數(輸入實數是可令復數虛部為0),輸出為經過FFT變換的自然順序的
??????????復數.此程序包可在初始化時調用create_sin_tab()函數創建正弦函數表,
??????????以后的可采用查表法計算耗時較多的sin和cos運算,加快可計算速度.與
??????????Ver1.1版相比較,Ver1.2版在創建正弦表時只建立了1/4個正弦波的采樣值,
??????????相比之下節省了FFT_N/4個存儲空間
使用說明:使用此函數只需更改宏定義FFT_N的值即可實現點數的改變,FFT_N的
??????????應該為2的N次方,不滿足此條件時應在后面補0。若使用查表法計算sin值和
??????????cos值,應在調用FFT函數前調用create_sin_tab()函數創建正弦表
函數調用:FFT(s);
討論群:303616994
參考文獻:
**********************************************************************/
#include?
#include?“fft.h“

float?*SIN_TAB;//定義正弦表的存放空間
int?FFT_N?=?128;//定義采樣點大小?
/*******************************************************************
函數原型:struct?compx?EE(struct?compx?b1struct?compx?b2)
函數功能:對兩個復數進行乘法運算
輸入參數:兩個以聯合體定義的復數ab
輸出參數:a和b的乘積,以聯合體的形式輸出
*******************************************************************/
struct?compx?EE(struct?compx?astruct?compx?b)
{
?struct?compx?c;
?c.real=a.real*b.real-a.imag*b.imag;
?c.imag=a.real*b.imag+a.imag*b.real;
?return(c);
}

/******************************************************************
函數原型:void?create_sin_tab(float?*sin_t,int?PointNum)
函數功能:創建一個正弦采樣表,采樣點數與福利葉變換點數相同
輸入參數:*sin_t存放正弦表的數組指針PointNum采樣點數
輸出參數:無
******************************************************************/
void?create_sin_tab(float?*sin_tint?PointNum)
{
??int?i;
??SIN_TAB=sin_t;
??FFT_N=PointNum;
??for(i=0;i<=FFT_N/4;i++)
SIN_TAB[i]=sin(2*PI*i/FFT_N);
}
/******************************************************************
函數原型:void?sin_tab(float?pi)
函數功能:采用查表的方法計算一個數的正弦值
輸入參數:pi?所要計算正弦值弧度值,范圍0--2*PI,不滿足時需要轉換
輸出參數:輸入值pi的正弦值
******************************************************************/
float?sin_tab(float?pi)
{
??int?n=0;
??float?a=0;
???n=(int)(pi*FFT_N/2/PI);

??if(n>=0&&n<=FFT_N/4)
????a=SIN_TAB[n];
??else?if(n>FFT_N/4&&n????{
?????n-=FFT_N/4;
?????a=SIN_TAB[FFT_N/4-n];
????}
??else?if(n>=FFT_N/2&&n<3*FFT_N/4)
????{
?????n-=FFT_N/2;
?????a=-SIN_TAB[n];
???}
??else?if(n>=3*FFT_N/4&&n<3*FFT_N)
????{
?????n=FFT_N-n;
?????a=-SIN_TAB[n];
???}

??return?a;
}
/******************************************************************
函數原型:void?cos_tab(float?pi)
函數功能:采用查表的方法計算一個數的余弦值
輸入參數:pi?所要計算余弦值弧度值,范圍0--2*PI,不滿足時需要轉換
輸出參數:輸入值pi的余弦值
******************************************************************/
float?cos_tab(float?pi)
{
???float?api2;
???pi2=pi+PI/2;
???if(pi2>2*PI)
?????pi2-=2*PI;
???a=sin_tab(pi2);
???return?a;
}
/*****************************************************************
函數原型:void?FFT(struct?compx?*xin)
函數功能:對輸入的復數組進行快速傅里葉變換(FFT)
輸入參數:*xin復數結構體組的首地址指針,struct型
輸出參數:無
*****************************************************************/
void?FFT(struct?compx?*xin)
{
??int?fmiklj=0;
??register?int?nv2nm1;
??struct?compx?uwt;

???nv2=F

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5590??2013-11-30?09:14??FFT(快速傅立葉變換)\fft.c

?????文件????3546785??2013-08-29?13:00??FFT(快速傅立葉變換)\FFT原理(講得很具體).pdf

?????文件?????????80??2013-11-30?10:29??FFT(快速傅立葉變換)\FFT說明.txt

?????目錄??????????0??2013-11-30?09:12??FFT(快速傅立葉變換)

-----------?---------??----------?-----??----

??????????????3552455????????????????????4


評論

共有 條評論