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

频谱分析仪模拟仿真

数字信号处理课程设计

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

专业:电子信息工程

班级:

姓名:

日期:2015-03-26

目录

设计目的------------------------------------------------------------------------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=

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值