计算机频谱仪仿真,频谱分析仪模拟仿真设计.doc

本文档详细介绍了使用C语言编程实现频谱分析仪模拟仿真的过程,涵盖了方波生成、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)的原理与应用。通过32位方波序列的DFT和FFT分析,探讨了快速算法在信号处理中的优势。此外,还展示了Turboc编程软件的使用,并分享了作者的心得体会。
摘要由CSDN通过智能技术生成

.专业整理.

.学习帮手.

数字信号处理课程设计

题目:频谱分析仪模拟仿真

专业:电子信息工程

班级:

姓名:

日期:2015-0

目录

设计目的------------------------------------------------------------------------1

程序流程------------------------------------------------------------------------2

软件设计------------------------------------------------------------------------3

心得体会------------------------------------------------------------------------4

参考文献------------------------------------------------------------------------5

一、设计目的

1、通过对频谱分析仪的模拟掌握其基本原理和基本功能;

2、学习掌握用计算机输出基波包括:方波、正弦波、余弦波等;

3、掌握倒位序、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)的原理及算法;

4、分别用DFT和FFT分析比较32位方波序列对比,体会快速算法的意义;

5、学会用turbo c编程软件并且对c语言编程算法进行实践,加深理解。

二、软件设计

1、方波8位加DFT抽样

#include

#include

#define N 8

#define PI 3.1415926

int sam[8];

void sample()

{

int i,j;

printf("抽样结果:\n");

for(i=0;i

{

if(i

{

j=1;

sam[i]=j;

printf("sam[%d]=%d ",i,j);

}

if(i>=N/2)

{

j=-1;

sam[i]=j;

printf("sam[%d]=%d ",i,j);

}

}

printf("\n");

}

void DFT()

{

int k,n,a;

float sum1=0,sum2=0;

float xi[N],xj[N],xk[N];

printf("DFT变换结果:\n");

for(k=0;k

{

for(n=0;n

{

xi[n]=sam[n]*cos(-(2*PI/N)*k*n);

sum1+=xi[n];

xj[n]=sam[n]*sin(-(2*PI/N)*k*n);

sum2+=xj[n];

}

xk[k]=sqrt(sum1*sum1+sum2*sum2);

sum1=0;

sum2=0;

}

for(a=0;a

{

printf("X[%d]=%f ",a,xk[a]);

}

printf("\n");

}

void main()

{

sample();

DFT();

}

截图

2、方波32位程序

#include

void main()

{

int i,a,N;

N=32;

for(i=0;i

{

a=1;

printf("%d ",a);

}

for(i=N/2;i

{

A=-1

printf("%d ",a);

}

system("pause");

}

软件截图

2、DFT程序

#include

#include

void main()

{

float t,re=0,im=0,sum,mod,P=3.1415926;

int n,k,N=32,*x;

for(n=0;n

{

x[n]=1;

}

for(n=N/2;n

{x[n]=-1;}

for(k=0;k

{

for(n=0;n

{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值