?? chirp.c
字號:
#include <def21161.h>
#include <stdio.h>
#include <math.h>
#define BandWidth 2.0e6 //發射信號帶寬
#define TimeWidth 42.0e-6 //發射信號時寬
#define Fs 2.0e6 //采樣頻率
#define pi 3.14
//#define num 420 //num=0.5*Fs*TimeWidth; // 采樣點數
//#define N1 840 //N1=2*num+1;
#define M 2048
float dm lfmreal[M];
float dm lfmimag[M];
extern float echo_re_fft[M];
extern float echo_im_fft[M];
extern float dsp_re_fft[M];
extern float dsp_im_fft[M];
extern float dsp_re[M];
extern float dsp_im[M];
extern float echo_re[M];
extern float echo_im[M];
extern float refft[M];
extern float imfft[M];
extern float coeffreal[M];
extern float coeffimag[M];
/* float dsp_re_fft[M];
float dsp_im_fft[M];
float dsp_re[M];
float dsp_im[M];
float echo_re[M];
float echo_im[M];
float refft[M];
float imfft[M];
float coeffreal[M];
float coeffimag[M];*/
float result[M];
void _fft(float*,float*);
void _module(float*,float*);
void main()
{
/* float u;
u=pi*(BandWidth/TimeWidth); //調制斜率
*/
//這里r4,r8作為c與匯編的接口寄存器
int i,u,k,n;
for (i=1;i<=1920;i++)
{
echo_re[i] =lfmreal[i];
echo_im[i] =lfmimag[i];
}
for(i=1921;i<=2048;i++)
{
echo_re[i]=0;
echo_im[i]=0;
}
fft(echo_re,echo_im);
module(refft,imfft);
for(u=1;u<=2048;u++)
{
echo_re_fft[u]=refft[u];
echo_im_fft[u]=imfft[u];
}
for(k=1;k<=2048;k++)
{
dsp_re_fft[k]=echo_re_fft[k]*coeffreal[k]-echo_im_fft[k]*coeffimag[k];
dsp_im_fft[k]=echo_im_fft[k]*coeffreal[k]+echo_re_fft[k]*coeffimag[k];
}
fft(dsp_re_fft,dsp_im_fft);
for(n=1;n<=2048;n++)
{
dsp_re[n]=refft[n]/M;
dsp_im[n]=imfft[n]/M;
}
module(refft,imfft);
exit(0) ;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -