这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 用CCS对一个信号进行FFT频谱分析后,怎么DA转换输出到示波器上观察

共10条 1/1 1 跳转至

用CCS对一个信号进行FFT频谱分析后,怎么DA转换输出到示波器上观察

菜鸟
2014-05-10 22:09:08     打赏
用CCS对一个信号进行FFT频谱分析后,怎么DA转换输出到示波器上观察。

菜鸟
2014-05-11 11:34:08     打赏
2楼
就是我用CCS仿真出了频谱图,怎么样在普通示波器上观察它呢。

菜鸟
2014-05-11 11:41:17     打赏
3楼
不是说可以对DSP芯片的输出的结果做DA变换,然后观察吗

菜鸟
2014-05-11 11:45:32     打赏
4楼
我想再请教一个问题,怎么对电脑里一个现成的.dat文件用CCS做FFT,用C语言?只看到了那种在C语言里生成一个波形再变换的,不会从电脑里导入的这种。

菜鸟
2014-05-11 11:58:13     打赏
5楼
#include "math.h" #define sample_1 256 #define signal_1_f 60 #define signal_2_f 200 #define signal_sample_f 512 #define pi 3.1415926 int input[sample_1]; float fwaver[sample_1],fwavei[sample_1],w[sample_1]; float sin_tab[sample_1]; float cos_tab[sample_1]; void init_fft_tab(); void input_data(); void fft(float datar[sample_1],float datai[sample_1]); void main() {   int i;   init_fft_tab();   input_data();   for (i=0;i<sample_1;i++)    {      fwaver[i]=input[i]; fwavei[i]=0.0f; w[i]=0.0f; } fft(fwaver,fwavei); while(1);  }  void init_fft_tab()   {    float wt1;    float wt2;    int i;    for (i=0;i<sample_1;i++)     { wt1=2*pi*i*signal_1_f; wt1=wt1/signal_sample_f; wt2=2*pi*i*signal_2_f; wt2=wt2/signal_sample_f; input[i]=(cos(wt1)+cos(wt2))/2*32768; }   }   void input_data()    {     int i; for(i=0;i<sample_1;i++) {  sin_tab[i]=sin(2*pi*i/sample_1);  cos_tab[i]=cos(2*pi*i/sample_1); } }   void fft(float datar[sample_1],float datai[sample_1]) {  int x0,x1,x2,x3,x4,x5,x6,x7,xx;  int i,j,k,b,p,L;  float TR,TI,temp;  for(i=0;i<sample_1;i++)  {   x0=x1=x2=x3=x4=x5=x6=0;   x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01;   x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01;   xx=x0*128+x1*64+x2*32+x3*16+x4*8+x5*4+x6*2+x7;   datai[xx]=datar[i];  }  for(i=0;i<sample_1;i++)   {     datar[i]=datai[i];datai[i]=0; }  for(L=1;L<=8;L++)   {    b=1;i=L-1; while(i>0) { b=b*2;i--; } for(j=0;j<=b-1;j++) { p=1;i=8-L; while(i>0)  {  p=p*2;i--;  } p=p*j;         for(k=j;k<256;k=k+2*b) {  TR=datar[k];TI=datai[k];temp=datar[k+b];  datar[k]=datar[k]+datar[k+b]*cos_tab[p]+datai[k+b]*sin_tab[p];  datai[k]=datai[k]-datar[k+b]*sin_tab[p]+datai[k+b]*cos_tab[p];  datar[k+b]=TR-datar[k+b]*cos_tab[p]-datai[k+b]*sin_tab[p];  datai[k+b]=TI+temp*sin_tab[p]-datai[k+b]*cos_tab[p];    }  } } for(i=0;i<sample_1/2;i++) { w[i]=sqrt(datar[i]*datar[i]+datai[i]*datai[i]); } } -f 0 -w -stack 500 -sysstack 500 -l rts55.lib MEMORY  {    DARAM: o=0x100,  l=0x7f00    VECT:o=0x8000, l=0x100    DARAM2:o=0x8100,l=0x7f00    SARAM: o=0x10000,l=0x30000    SDRAM:o=0x40000,l=0x3e0000   }  SECTIONS  {    .text: {}>DARAM     .vectors: {}>VECT    .trcinit:{}>DARAM    .gblinit:{}>DARAM    .frt:{}>DARAM     .cinit:{}>DARAM    .pinit:{}>DARAM     .sysinit:{}>DARAM2    .far:{}>DARAM2    .const:{}>DARAM2    .switch:{}>DARAM2    .sysmem:{}>DARAM2    .cio:{}>DARAM2    .MEM$obj:{}>DARAM2    .sysheap:{}>DARAM2    .sysstack:{}>DARAM2    .stack:{}>DARAM2    .input:{}>DARAM2    .fftcode:{}>DARAM2    } 这个是一个fft.c,用的是C5510,CCS仿真已经可以了。请问怎么才能输出到示波器呢?如果您有时间,想请你帮我一下。

菜鸟
2014-05-11 12:03:12     打赏
6楼
我现在的任务是要对一个现有的.dat文件用CCS进行FFT频谱分析,然后输出到示波器上观察。如果您会的话,我想多请教一下,真的需要帮助。波形如图。

菜鸟
2014-05-11 12:28:32     打赏
7楼
这个实验主要就是为了验证DSP芯片的FFT功能,不能直接连接示波器的

菜鸟
2014-05-11 12:41:36     打赏
8楼
我给您发了站内信,请您看看吧。输出到示波器先不管,我想问一下怎么对电脑里的一个.dat文件进行分析。可以从那个程序里改吗?

菜鸟
2014-05-11 13:46:15     打赏
9楼
我现在已经有了一个fft.c和fft.cmd,可以在C语言中生成一个波形并对它频谱分析,在CCS中已经仿真出来了。现在有两个问题请教:1、现在只是仿真,实际连接DSP芯片是什么步骤和结果呢;2.怎么把程序改成对电脑中.dat文件的分析。

菜鸟
2014-05-11 23:03:22     打赏
10楼
那么请问您会吗?可以帮帮我不?另外问一下C6678是什么样的芯片。

共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]