📄 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 + -