频谱分析仪模拟仿真设计

上传人:xmg****18 文档编号:121245991 上传时间:2020-02-19 格式:DOC 页数:17 大小:1.16MB
返回 下载 相关 举报
频谱分析仪模拟仿真设计_第1页
第1页 / 共17页
频谱分析仪模拟仿真设计_第2页
第2页 / 共17页
频谱分析仪模拟仿真设计_第3页
第3页 / 共17页
频谱分析仪模拟仿真设计_第4页
第4页 / 共17页
频谱分析仪模拟仿真设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《频谱分析仪模拟仿真设计》由会员分享,可在线阅读,更多相关《频谱分析仪模拟仿真设计(17页珍藏版)》请在金锄头文库上搜索。

1、.专业整理.数字信号处理课程设计 题目:频谱分析仪模拟仿真 专业:电子信息工程 班级: 姓名: 日期:2015-03-26 目录1. 设计目的-12. 程序流程-23. 软件设计-34. 心得体会-45. 参考文献-5一、设计目的1、通过对频谱分析仪的模拟掌握其基本原理和基本功能;2、学习掌握用计算机输出基波包括:方波、正弦波、余弦波等;3、掌握倒位序、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)的原理及算法;4、分别用DFT和FFT分析比较32位方波序列对比,体会快速算法的意义;5、学会用turbo c编程软件并且对c语言编程算法进行实践,加深理解。二、软件设计1、方波8位加DFT抽样

2、#include #include #define N 8#define PI 3.1415926int sam8;void sample() int i,j; printf(抽样结果:n); for(i=0;iN;i+) if(i=N/2) j=-1; sami=j; printf(sam%d=%d ,i,j); printf(n);void DFT()int k,n,a;float sum1=0,sum2=0; float xiN,xjN,xkN;printf(DFT变换结果:n);for(k=0;kN;k+) for(n=0;nN;n+)xin=samn*cos(-(2*PI/N)*k*

3、n);sum1+=xin;xjn=samn*sin(-(2*PI/N)*k*n);sum2+=xjn; xkk=sqrt(sum1*sum1+sum2*sum2);sum1=0;sum2=0;for(a=0;aN;a+)printf(X%d=%f ,a,xka); printf(n);void main() sample(); DFT();截图2、方波32位程序#include void main() int i,a,N; N=32; for(i=0;iN/2;i+) a=1; printf(%d ,a); for(i=N/2;iN;i+) A=-1printf(%d ,a);system(p

4、ause);软件截图 2、DFT程序#include#includevoid main()float t,re=0,im=0,sum,mod,P=3.1415926;int n,k,N=32,*x;for(n=0;nN/2;n+)xn=1;for(n=N/2;nN;n+)xn=-1;for(k=0;kN;k+)for(n=0;nN;n+)t=(-2*P/N)*n*k;re+=xn*cos(t);for(n=0;nN;n+)t=(-2*P/N)*n*k;im+=xn*sin(t);sum=re*re+im*im;mod=sqrt(sum);printf(x%d=%f,n,k,mod);re=0,

5、im=0;sum=0;mod=0;软件截图3、倒位序程序#include#include#define N 32void main()int nv2,nm1,i,k,j=0,x100,t;nv2=N/2;nm1=N-1;printf(请输入自然序:n);for(i=0;iN;i+)scanf(%d,&xi);for(i=0;inm1;i+)if(ij)t=xj;xj=xi;xi=t;k=nv2;while(k=j)j=j-k;k=k/2;j=j+k;printf(输出倒位序:n);for(j=0;jN;j+)printf(%d ,xj);printf(n);软件截图4、FFT程序#includ

6、e #include struct cmplexfloat r;float i;struct cmplex ss(struct cmplex a1,struct cmplex a2)struct cmplex c;c.r=a1.r*a2.r-a1.i*a2.i;c.i=a1.r*a2.i+a1.i*a2.r;return(c);void main()int i,k,N=32,nv,nm,j=0,m,le,le0,ip;float pai=3.1415926,tmp,sum,*a;struct cmplex u,w,t,x32;for(i=0;iN;i+)xi.r=1;xi.i=0;for(i=

7、N/2;iN;i+)xi.r=-1;xi.i=0;nv=N/2;nm=N-1;for(i=0;inm;i+)if(ij)t=xj;xj=xi;xi=t;k=nv;while(k=j)j-=k;k=k/2;j+=k;for(m=1;m=5;m+)le=pow(2,m);le0=le/2;u.r=1;u.i=0;tmp=pai/le0; w.r=cos(-tmp);w.i=sin(-tmp);for(j=0;jle0;j+)for(i=j;iN;i+=le)ip=i+le0;t=ss(xip,u);xip.r=xi.r-t.r; xip.i=xi.i-t.i;xi.r+=t.r; xi.i+=t.

8、i;u=ss(u,w);printf(n);for(i=0;iN;i+)sum=xi.r*xi.r+xi.i*xi.i;ai=sqrt(sum);printf(a%d=%fn,i,ai);软件截图三、心得体会 该实验巩固了我们上学期所学的数字信号处理和信号与系统知识,通过C语言上机操作仿真信号,不仅能够加深我们对各种信号抽样和变换的认识,也能让我们真真切切体会到计算机仿真系统带给我们学生和技术人员的巨大便利。总而言之,本次DSP仿真为我们以后在信号领域的探索和研究打下了良好的基础。四、参考文献 1、程佩清数字信号处理教程清华大学出版社 2013 第四版 2、王宝祥信号与系统哈尔滨工业大学出版社(修订版) 3、谭浩强C语言程序设计清华大学出版社 2008 第二版 .学习帮手.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号