/* file : dft.h
* description : 複數類、離散傅利葉變換類模板
* formula : x(k)= ∑n=x(n) e^-j2π/nnk
* ** auther : hanc<[email protected]>
* create time : 2018.8.14
* */
#ifndef dft_h
#define dft_h
#include #include #include #define pi 3.1415926535
namespace hclib
complex(double a,double b)
void setreal(double v)
void setimag(double v)
double getreal()
double getimag()
//複數求模
double calmodular()
//操作符過載:兩複數物件相加
complex operator + (const complex& parm)
//操作符過載:兩複數物件相減
complex operator - (const complex& parm)
//操作符過載:兩複數物件相乘
complex operator * (const complex& parm)
//操作符過載:兩複數物件 +=
complex& operator += (const complex& parm)
};templateclass dft
double getreal(int i)
double getimag(int i)
t getmvalue(int i)
void insert_srcdata(t* src,int n)//拷貝數碼訊號至m_array
void dft_cal_point(int p) //計算頻域上乙個點的dft的實部、虛部、模值
m_complex[p] = thispoint;
m_value[p] = m_complex[p].calmodular();
}void dft_cal() //計算所有dft
}};}
#endif // dft_h
離散傅利葉變換 快速傅利葉變換C 實現
傅利葉變換是將時域訊號變換為頻域訊號的一種方式,我主要用它來做兩件事情 1 求一段資料的週期性。2 通過傅利葉變換及其逆變換,進行低通濾波 去躁 首先需要做幾點說明 1.快速傅利葉變換是離散傅利葉變換的快速演算法,當資料來源較大時 大於1000 快速傅利葉變換有明顯優勢。2.快速傅利葉變換的訊號源長...
使用python實現離散時間傅利葉變換
我們經常使用傅利葉變換來計算數碼訊號的頻譜,進而分析數碼訊號,離散時間傅利葉變換的公式為 x ejw n n x n e jwn x e jw n n x n e j wn可是自己動手實現一遍才是最好的學習。在數字分析裡面,傅利葉變換預設等時間間隔取樣,不需要時間序列,只需要訊號陣列即可分析。分析過...
離散時間傅利葉變換DTFT實現
使用matlab軟體畫出頻譜圖 x zeros 1,3 m ones 1,n zeros 1,3 m 給出輸入序列 w 15 0.1 15 1e 10 x sin 0.5 n w t sin 0.5 w t 給出頻譜序列 subplot 1,3,1 stem n,x,畫出輸入序列 axis 20,2...