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

上传人:聆听****声音 文档编号:711074 上传时间:2023-04-29 格式:DOCX 页数:8 大小:593.54KB
下载 相关 举报
数字信号处理实验五(实验箱)报告.docx_第1页
第1页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第2页
第2页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第3页
第3页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第4页
第4页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第5页
第5页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第6页
第6页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第7页
第7页 / 共8页
数字信号处理实验五(实验箱)报告.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

数字信号处理实验报告

实验名称:

实验五基于E300TECHV6713的快速傅里叶变换实验

实验时间:

2014 年 11 月 18 日

学号:

201211106134 姓名:

孙舸

成绩:

评语:

一、实验目的:

1、加深对DFT算法原理和基本性质的理解;

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”暂停程序运行,关闭窗口,本实验结束。

三、实验内容及结果:

(一)内容:

启动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变换结果。

(二)实验结果:

a.源程序:

#include"Config1cfg.h" //定义包含的库#include

#include#include"c6211dsk.h"#include#include

#include

#include"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);

for(i=0;i<=n-1;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、总结实验所得主要结论。

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

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

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

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

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

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

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

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

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2