频谱分析仪模拟仿真设计Word格式文档下载.docx

上传人:b****6 文档编号:18937951 上传时间:2023-01-02 格式:DOCX 页数:12 大小:126.45KB
下载 相关 举报
频谱分析仪模拟仿真设计Word格式文档下载.docx_第1页
第1页 / 共12页
频谱分析仪模拟仿真设计Word格式文档下载.docx_第2页
第2页 / 共12页
频谱分析仪模拟仿真设计Word格式文档下载.docx_第3页
第3页 / 共12页
频谱分析仪模拟仿真设计Word格式文档下载.docx_第4页
第4页 / 共12页
频谱分析仪模拟仿真设计Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

频谱分析仪模拟仿真设计Word格式文档下载.docx

《频谱分析仪模拟仿真设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《频谱分析仪模拟仿真设计Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

频谱分析仪模拟仿真设计Word格式文档下载.docx

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

2、学习掌握用计算机输出基波包括:

方波、正弦波、余弦波等;

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

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

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

二、软件设计

1、方波8位加DFT抽样

#include<

stdio.h>

math.h>

#defineN8

#definePI3.1415926

intsam[8];

voidsample()

{

inti,j;

printf("

抽样结果:

\n"

);

for(i=0;

i<

N;

i++)

{

if(i<

N/2)

j=1;

sam[i]=j;

sam[%d]=%d"

i,j);

}

if(i>

=N/2)

j=-1;

}

voidDFT()

intk,n,a;

floatsum1=0,sum2=0;

floatxi[N],xj[N],xk[N];

DFT变换结果:

for(k=0;

k<

k++)

for(n=0;

n<

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<

a++)

printf("

X[%d]=%f"

a,xk[a]);

voidmain()

sample();

DFT();

截图

2、方波32位程序

inti,a,N;

N=32;

N/2;

a=1;

%d"

a);

for(i=N/2;

A=-1

printf("

system("

pause"

软件截图

2、DFT程序

#include<

floatt,re=0,im=0,sum,mod,P=3.1415926;

intn,k,N=32,*x;

for(n=0;

x[n]=1;

for(n=N/2;

{x[n]=-1;

for(k=0;

t=(-2*P/N)*n*k;

re+=x[n]*cos(t);

im+=x[n]*sin(t);

sum=re*re+im*im;

mod=sqrt(sum);

x[%d]=%f,\n"

k,mod);

re=0,im=0;

sum=0;

mod=0;

3、倒位序程序

#defineN32

intnv2,nm1,i,k,j=0,x[100],t;

nv2=N/2;

nm1=N-1;

请输入自然序:

for(i=0;

scanf("

%d"

&

x[i]);

nm1;

j)

t=x[j];

x[j]=x[i];

x[i]=t;

k=nv2;

while(k<

=j)

j=j-k;

k=k/2;

j=j+k;

输出倒位序:

for(j=0;

j<

j++)

x[j]);

4、FFT程序

structcmplex

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);

inti,k,N=32,nv,nm,j=0,m,le,le0,ip;

floatpai=3.1415926,tmp,sum,*a;

structcmplexu,w,t,x[32];

x[i].r=1;

x[i].i=0;

for(i=N/2;

x[i].r=-1;

nv=N/2;

nm=N-1;

nm;

if(i<

t=x[j];

x[j]=x[i];

x[i]=t;

k=nv;

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;

le0;

for(i=j;

i+=le)

{

ip=i+le0;

t=ss(x[ip],u);

x[ip].r=x[i].r-t.r;

x[ip].i=x[i].i-t.i;

x[i].r+=t.r;

x[i].i+=t.i;

}

u=ss(u,w);

sum=x[i].r*x[i].r+x[i].i*x[i].i;

a[i]=sqrt(sum);

a[%d]=%f\n"

i,a[i]);

三、心得体会

该实验巩固了我们上学期所学的数字信号处理和信号与系统知识,通过C语言上机操作仿真信号,不仅能够加深我们对各种信号抽样和变换的认识,也能让我们真真切切体会到计算机仿真系统带给我们学生和技术人员的巨大便利。

总而言之,本次DSP仿真为我们以后在信号领域的探索和研究打下了良好的基础。

四、参考文献

1、程佩清《数字信号处理教程》清华大学出版社2013第四版

2、王宝祥《信号与系统》工业大学出版社(修订版)

3、谭浩强《C语言程序设计》清华大学出版社2008第二版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1