-
大小: 7.1MB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-09-25
- 語(yǔ)言: 其他
- 標(biāo)簽: xilinx??hls??8點(diǎn)fft??可擴(kuò)展??
資源簡(jiǎn)介
使用xilinx hls編寫的8點(diǎn)fft,稍加擴(kuò)展就可變?yōu)槿我饣c(diǎn)fft,代碼簡(jiǎn)潔有注釋

代碼片段和文件信息
#include?“fft.h“
/*******computing?the?cos?twiddles*********/
float?cos_lookup(int?n){
float?cos_table[FFT_SIZE/4+1]={
#include?“cos_qtable.txt“
};
float?tmp;
int?idx;
int?sign;
if(n<=FFT_SIZE/4){
idx=n;
sign=0;
}
else{
idx=FFT_SIZE/4-n%(FFT_SIZE/4);
sign=1;
}
return?sign??(float)-cos_table[idx]:(float)cos_table[idx];
}
/*******computing?the?sin?twiddles*********/
float?sin_lookup(int?n){
float?sin_table[FFT_SIZE/4+1]={
#include?“sin_qtable.txt“
};
float?tmp;
int?idx;
if(n<=FFT_SIZE/4){
idx=n;
}
else{
idx=FFT_SIZE/4-n%(FFT_SIZE/4);
}
return?(float)sin_table[idx];
}
/*************computing?the?twiddles****************/
compx?twiddle_fft(int?n)
{
compx?tmp;
tmp.real=cos_lookup(n);
tmp.imag=-sin_lookup(n);
return?tmp;
}
/**************complex?multiply********************/
compx?multiply(compx?twiddlecompx?data)
{
compx?tmp;
float?abcdefg;
a=twiddle.real;
b=twiddle.imag;
c=data.real;
d=data.imag;
tmp.real=a*c-b*d;
tmp.imag=a*d+b*c;
return?tmp;
}
/**************complex?addition*******************/
compx?plus(compx?acompx?b){
compx?tmp;
tmp.real=a.real+b.real;
tmp.imag=a.imag+b.imag;
return?tmp;
}
/**************complex?subtraction****************/
compx?minus(compx?acompx?b){
compx?tmp;
tmp.real=a.real-b.real;
tmp.imag=a.imag-b.imag;
return?tmp;
}
void?fft(int?xin[FFT_SIZE]compx?xout[FFT_SIZE])
{
int?kk;
int?k;
compx?xout1[FFT_SIZE];
compx?xout2[FFT_SIZE];
compx?twd;
compx?tmp;
//變換地址
int?m;
int?tmpl;
for(kk=0k=0;k if(k tmpl=xin[kk];
xin[kk]=xin[k];
xin[k]=tmpl;
}
m?=?FFT_SIZE/2;
while(m<(kk+1)){
kk?=?kk-m;
m?=?m/2;
}
kk?=?kk+m;
}
//第一階段
for(k=0;k xout1[k].real=xin[k]+xin[k+1];
xout1[k].imag=0.0;
xout1[k+1].real=xin[k]-xin[k+1];
xout1[k+1].imag=0.0;
}
for(k=0;k printf(“%f~~~%f\n“xout1[k].realxout1[k].imag);
}
//第二階段
for(kk=0;kk for(k=0;k<2;k++){
twd=twiddle_fft(k*FFT_SIZE/4);
tmp=multiply(twdxout1[k+kk+2]);
xout2[k+kk]=plus(xout1[k+kk]tmp);
xout2[k+kk+2]=minus(xout1[k+kk]tmp);
}
}
//第三階段
for(kk=0;kk for(k=0;k<4;k++){
twd=twiddle_fft(k*FFT_SIZE/8);
tmp=multiply(twdxout2[k+kk+4]);
xout[k+kk]=plus(xout2[k+kk]tmp);
xout[k+kk+4]=minus(xout2[k+kk]tmp);
}
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-03-08?11:15??fft\
?????目錄???????????0??2014-03-08?11:15??fft\fft_prj\
?????目錄???????????0??2014-03-08?11:15??fft\fft_prj\.apc\
?????目錄???????????0??2014-03-08?11:15??fft\fft_prj\.apc\.src\
?????目錄???????????0??2014-03-08?11:15??fft\fft_prj\.apc\.tb\
?????文件?????????667??2014-03-13?04:04??fft\fft_prj\.apc\autopilot.apfmapping
?????文件???????17888??2014-03-13?04:35??fft\fft_prj\.cproject
?????文件????????4251??2014-03-13?04:04??fft\fft_prj\.project
?????目錄???????????0??2014-03-08?11:15??fft\fft_prj\.settings\
?????文件????????1952??2014-03-13?02:53??fft\fft_prj\.settings\fft_prj.Debug.launch
?????文件????????1955??2014-03-13?02:53??fft\fft_prj\.settings\fft_prj.Release.launch
?????文件?????????944??2014-03-13?04:35??fft\fft_prj\.vivado_hls_log_all.xm
?????文件??????????33??2014-03-11?16:52??fft\fft_prj\cos_qtable.txt
?????文件????????2498??2014-03-13?04:33??fft\fft_prj\fft.c
?????文件?????????239??2014-03-13?04:34??fft\fft_prj\fft.h
?????文件?????????513??2014-03-13?04:29??fft\fft_prj\fft_test.c
?????文件??????????15??2014-03-11?17:46??fft\fft_prj\in.dat
?????文件??????????33??2014-03-11?16:53??fft\fft_prj\sin_qtable.txt
?????目錄???????????0??2014-03-08?11:15??fft\fft_prj\solution1\
?????目錄???????????0??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\
?????文件??????????32??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\.automg_exit
?????文件??????????22??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\.autopilot_exit
?????目錄???????????0??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\
?????文件???????19271??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\a.export.ll
?????文件????????7680??2013-09-04?04:11??fft\fft_prj\solution1\.autopilot\db\a.g
?????文件????????7680??2013-09-04?04:11??fft\fft_prj\solution1\.autopilot\db\a.g.0
?????文件????????9716??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\a.g.0.bc
?????文件????????9964??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\a.g.1.bc
?????文件???????61700??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\a.g.1.ll
?????文件???????10016??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\a.g.2.bc
?????文件????????9632??2014-03-13?04:35??fft\fft_prj\solution1\.autopilot\db\a.g.2.prechk.bc
............此處省略296個(gè)文件信息
評(píng)論
共有 條評(píng)論