频谱分析仪模拟仿真2————————————————————————————————作者:————————————————————————————————日期:3数字信号处理课程设计题目:频谱分析仪模拟仿真专业:电子信息工程班级:姓名:日期:2015-03-264目录1.设计目的------------------------------------------------------------------------12.程序流程------------------------------------------------------------------------23.软件设计------------------------------------------------------------------------34.心得体会------------------------------------------------------------------------45.参考文献------------------------------------------------------------------------55一、设计目的1、通过对频谱分析仪的模拟掌握其基本原理和基本功能;2、学习掌握用计算机输出基波包括:方波、正弦波、余弦波等;3、掌握倒位序、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)的原理及算法;4、分别用DFT和FFT分析比较32位方波序列对比,体会快速算法的意义;5、学会用turboc编程软件并且对c语言编程算法进行实践,加深理解。二、软件设计1、方波8位加DFT抽样#include#include#defineN8#definePI3.1415926intsam[8];voidsample(){inti,j;printf("抽样结果:\n");for(i=0;i=N/2){j=-1;sam[i]=j;printf("sam[%d]=%d",i,j);}}printf("\n");}voidDFT(){intk,n,a;floatsum1=0,sum2=0;floatxi[N],xj[N],xk[N];printf("DFT变换结果:\n");for(k=0;kvoidmain(){inti,a,N;7N=32;for(i=0;i#includevoidmain(){floatt,re=0,im=0,sum,mod,P=3.1415926;intn,k,N=32,*x;for(n=0;n#include#defineN32voidmain(){intnv2,nm1,i,k,j=0,x[100],t;nv2=N/2;nm1=N-1;printf("请输入自然序:\n");for(i=0;i#includestructcmplex{floatr;floati;};structcmplexss(structcmplexa1,structcmplexa2){structcmplexc;c.r=a1.r*a2.r-a1.i*a2.i;c.i=a1.r*a2.i+a1.i*a2.r;return(c);}voidmain(){11inti,k,N=32,nv,nm,j=0,m,le,le0,ip;floatpai=3.1415926,tmp,sum,*a;structcmplexu,w,t,x[32];for(i=0;i