TI中文支持网
TI专业的中文技术问题搜集分享网站

c6678中FFT结果与matlab中FFT结果差别太大,求帮助

c6678中FFT结果与matlab中FFT结果差别太大,求帮助。附件中包含C6678的FFT工程,matlab的FFT程序,以及两者运算完的结果截图。请求大家帮助了。谢谢。

xueyao:

你可以将MATLAB的数据和你做的数据做一个点除,看是不是存在倍数关系  是那就是有一个动态因子的关系  结果其实没错误

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main (){ int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main () { int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

user1212849:

回复 xueyao:

不存在倍数的关系。频谱完全不对。估计我使用FFT的时候,哪块没有理解。

void main () { int i=0; float j=1.5; /* Generate the input data */ generateInput (NUM_SIN_WAVES); /* Genarate twiddle factors */ gen_twiddle_fft_sp(w_sp, N);

/* Call FFT routine */ DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);

/* Call the test code to seperate the real and imaginary data */ seperateRealImg (); i=(int)(&(y_real_sp[0])); i=(int)(&(y_imag_sp[0]));

该函数我是这么理解的:

(1)generateInput (NUM_SIN_WAVES);产生时域信号。时域为自然序

(2)gen_twiddle_fft_sp(w_sp, N);产生旋转因子

(3)DSPF_sp_fftSPxSP(N, x_sp, w_sp, y_sp, brev, 2, 0, N);实现浮点FFT,输出结果是自然序

(4)seperateRealImg ();将FFT的结果实现实部和虚部分开。

不知道我的理解对不对

赞(0)
未经允许不得转载:TI中文支持网 » c6678中FFT结果与matlab中FFT结果差别太大,求帮助
分享到: 更多 (0)