数字信号处理实验五(实验箱)报告Word格式.docx

上传人:b****9 文档编号:13075870 上传时间:2022-10-04 格式:DOCX 页数:8 大小:593.54KB
下载 相关 举报
数字信号处理实验五(实验箱)报告Word格式.docx_第1页
第1页 / 共8页
数字信号处理实验五(实验箱)报告Word格式.docx_第2页
第2页 / 共8页
数字信号处理实验五(实验箱)报告Word格式.docx_第3页
第3页 / 共8页
数字信号处理实验五(实验箱)报告Word格式.docx_第4页
第4页 / 共8页
数字信号处理实验五(实验箱)报告Word格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

数字信号处理实验五(实验箱)报告Word格式.docx

《数字信号处理实验五(实验箱)报告Word格式.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验五(实验箱)报告Word格式.docx(8页珍藏版)》请在冰豆网上搜索。

数字信号处理实验五(实验箱)报告Word格式.docx

2、熟悉FFT算法原理和FFT子程序的应用;

3、学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

二、实验原理与步骤:

(一)实验原理:

1、离散傅立叶变换DFT的定义:

将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。

2、FFT是DFT的一种快速算法,将DFT的N2步运算减少为(N/2)log2N步,极大的提高了运算的速度。

3、旋转因子的变化规律。

4、蝶形运算规律。

5、基-2FFT算法。

(二)实验步骤:

1、复习DFT的定义、性质和用DFT作谱分析的有关内容;

2、复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,分析本实验提供的FFT样例子程序;

3、运行CCS软件,对样例程序进行跟踪,分析结果;

记录必要的参数。

4、填写实验报告。

5、样例程序实验操作说明

A、实验前准备:

1)正确完成计算机、E300的连接;

2)用音频线连接音源和E300板的MIC_IN,系统上电;

B、实验

启动CCS,Project/Open打开“..\Algorithm\02FFT\example.pjt”工程文件;

双击“example.pjt”及“Source”可查看各源程序;

加载“example.out”;

在主程序中,k++处设置断点;

单击“Run”运行程序,程序将运行至断点处停止;

用View/Graph/Time/Frequency打开一个图形观察窗口;

设置该观察图形窗口变量及参数;

采用双踪观察在启始地址分别为x和mo,长度为1024,数值类型为32位有符号浮点变量,如图所示;

数组x和mo分别存放的是经A/D转换后的语音信号和对该信号进行FFT变换的结果;

单击“Animate”或按F10运行程序;

调整观察窗口并同步观察输入语音信号波形及其FFT变换结果;

单击“Halt”暂停程序运行,关闭窗口,本实验结束。

三、实验内容及结果:

(一)内容:

单击“Animate” 或按F10运行程序;

调整观察窗口并同步观察输入语音信号波形及其FFT变换结果。

(二)实验结果:

a.源程序:

#include"

Config1cfg.h"

//定义包含的库#include<

stdio.h>

#include<

c6x.h>

#include"

c6211dsk.h"

#include<

csl_pll.h>

csl.h>

e300_codec.h>

math.h"

#defineLength1024 //宏定义#defineLen10

//==================================================

intin;

floatx[Length],mo[Length];

floatpr[Length],pi[Length],fr[Length],fi[Length];

//定义数组intxm,i,n,k;

//定义变量

//LeftandrightsignalsamplesunsignedintxL,xR;

voidmain() //主函数

{

unsignedintdat;

init_sys();

initial_aic23();

delay_SYS

(1);

initial_mcbsp1();

//子函数声明

i=0;

//初始化变量

k=0;

n=Length;

for(;

;

) //死循环

for(i=0;

i<

=n-1;

i++)

mcbsp1Rx_ready();

dat=(*(unsignedint*)0x1900000);

//DRR1;

in=(intshort)dat;

//xm=

x[i]=(float)in;

//32768.0;

pr[i]=x[i];

pi[i]=0;

}

kfft(pr,pi,Length,Len,fr,fi,0,1);

i<

i++)

mo[i]=sqrt(fr[i]*fr[i]+fi[i]*fi[i]);

//快速傅里叶变换

k++;

b.图:

下图是输入两个不同的音频信号得到的波形:

改变length的值:

当length=512时:

当length=128时:

五、思考题:

1、对于不同的N,幅频特性会相同吗?

为什么?

答:

对于不同的N,幅频特性不相同,因为他们函数表达式不相同,模不相同。

2、FFT进行谱分析,可以应用在什么方面?

FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT 的基本性质。

可以应用在对周期信号频谱分析和对模拟信号频谱分析。

3、结合实验中所给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。

误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。

对信号进行谱分析的重要问题是频谱分辨率D和分析误差。

频谱分辨率直接和FFT

的变换区间N有关,因为FFT能够实现的频率分辨率是2π/N≤D。

可以根据此时选择

FFT的变换区间N。

4、总结实验所得主要结论。

给的输入信号不同,得到的结果也不同。

只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。

对信号进行频谱分析时,数据样本应有足够的长度,一般FFT程序中所用数据点数与原含有信号数据点数相同,这样的频谱图具有较高的质量,可减小因补零或截断而产生的影响。

周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

如果不知道信号周期,可以尽量选择信号的观察时间长一些。

对模拟信号的频谱时,首先要按照采样定理将其变成时域离散信号。

如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

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

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

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

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