计算机频谱仪仿真,频谱分析仪模拟仿真.doc
頻譜分析儀模擬仿真
數(shù)字信號(hào)處理課程設(shè)計(jì)
題目:頻譜分析儀模擬仿真
專業(yè):電子信息工程
班級(jí):
姓名:
日期:2015-03-26
目錄
設(shè)計(jì)目的------------------------------------------------------------------------1
程序流程------------------------------------------------------------------------2
軟件設(shè)計(jì)------------------------------------------------------------------------3
心得體會(huì)------------------------------------------------------------------------4
參考文獻(xiàn)------------------------------------------------------------------------5
一、設(shè)計(jì)目的
1、通過對(duì)頻譜分析儀的模擬掌握其基本原理和基本功能;
2、學(xué)習(xí)掌握用計(jì)算機(jī)輸出基波包括:方波、正弦波、余弦波等;
3、掌握倒位序、離散傅里葉變換(DFT)、快速傅里葉變換(FFT)的原理及算法;
4、分別用DFT和FFT分析比較32位方波序列對(duì)比,體會(huì)快速算法的意義;
5、學(xué)會(huì)用turbo c編程軟件并且對(duì)c語言編程算法進(jìn)行實(shí)踐,加深理解。
二、軟件設(shè)計(jì)
1、方波8位加DFT抽樣
#include
#include
#define N 8
#define PI 3.1415926
int sam[8];
void sample()
{
int i,j;
printf("抽樣結(jié)果:\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變換結(jié)果:\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=
總結(jié)
以上是生活随笔為你收集整理的计算机频谱仪仿真,频谱分析仪模拟仿真.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络安全入门学习:社会工程学
- 下一篇: ISIS(中间系统到中间系统)