没有合适的资源?快使用搜索试试~ 我知道了~
基于matlab的fft算法设计.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 12 浏览量
2021-10-30
05:06:22
上传
评论
收藏 472KB PDF 举报
温馨提示
试读
21页
matlab
资源推荐
资源详情
资源评论
目 录
1 引言 ................................................................................................................................ 1
2 课程设计内容及要求 ..................................................................................................... 2
2.1 课程设计内容 ........................................................................................................... 2
2.2 课程设计要求 ........................................................................................................... 2
2.3 课程设计目的 ........................................................................................................... 2
2.3 课程设计平台 .......................................................................................................... 2
3 基于 MATLAB的 FFT算法设计原理 .............................................................................. 3
3.1 总体设计流程图 ....................................................................................................... 3
3.2 语音信号的采集 ....................................................................................................... 3
3.3 语音信号的时频分析 ............................................................................................... 3
3.4 快速傅里叶变换 ....................................................................................................... 6
3.4.1
FFT
的运算规律 ................................................................................................ 8
3.4.2 基于 MATLAB的 FFT所编写程序的框图 ........................................................ 12
3.5 自编算法与机带算法仿真波形比较 ..................................................................... 13
4 设计总结 ....................................................................................................................... 16
参考文献 .......................................................................................................................... 17
附录 .................................................................................................................................. 18
课程设计说明书
1
1 引言
随着信息时代,数字时代的到来,数字信号处理已经成为一门极其重要的学科
和技术领域。以 DSP 为核心芯片的处理系统日益变成了数字信号处理系统的主流。
它广泛用于电子信息、通信、图像处理、语音处理、生物医学、自动控制、地质探
测等领域,受到工程设计和使用人员的青睐。
MATLAB ,它是美国 Math Works 公司推出的一种面向工程和科学计算的交互
式计算软件。它以矩阵运算为基础,把计算、可视化、程序设计融合在一个简单易
用的交互式工作环境中,是一款数据分析和处理功能都非常强大的工程适用软件。
通过本次实习我们学会了分析和处理音频信号,首先要对声音信号进行采集,
MATLAB 的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,
可直接控制声卡进行数据采集。 Window 自带的录音机程序也可驱动声卡来采集语
音信号,并能保存为 WAV 格式文件,供 MATLAB 相关函数直接读取、 写入或播放。
MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件, 它可以
将声音文件变换位离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如
数据滤波、傅立叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信
号处理与分析工具箱位语音信号分析提供了十分丰富的功能函数,利用这些功能函
数可以快捷而又方便的完成语音信号的处理和分析以及信号的可视化,是人机交互
更加便捷。信号处理是 MATLAB 重要应用的领域之一。
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理
的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语
音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
语音信号的处理与滤波的设计主要是用 MATLAB 作为工具平台, 设计中涉及
到声音的录制、播放、存储和读取,语音信号的抽样、频谱分析,滤波器的设计及
语音信号的滤波,通过数字信号处理课程的理论知识的综合运用。从实践上初步实
现对数字信号的处理。
课程设计说明书
2
2 课程设计内容及要求
2.1 课程设计内容
录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信
号的时域波形和频谱图; 在 Matlab 环境下编写基 2 DIT-FFT 算法;利用自己编写的
算法对已采集的语音信号进行频谱分析,并画出语音信号的时域与频谱图,并与
Matlab 数字信号处理工具箱中的 fft 函数进行对比研究,验证自编算法的正确性。
2.2 课程设计要求
1.完成语音信号的采集,利用 windows 自带的录音机或其他软件,录制一段
语音,时间在 1s 以内;
2.在 Matlab 中编写程序,实现输入信号的倒序;
3.编写程序,实现蝶形运算;
4.画出语音信号的频谱图,与 Matlab 数字信号处理工具箱中的 fft 函数进行对
比研究,并对设计结果进行独立思考和分析;
2.3 课程设计目的
1.学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。
2.掌握在 Windows 环境下语音信号采集的方法。
3.掌握数字信号处理的基本概念、基本理论和基本方法。
4.掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法。
5.学会用 MATLAB 对信号进行分析和处理。
2.4 课程设计平台
MATLAB 7.1 软件
MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、 可视化以及交互
式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非
线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为
科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的
解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如 C、Fortran)的
编辑模式,代表了当今国际科学计算软件的先进水平。
课程设计说明书
3
3 基于 MATLAB的 FFT算法设计原理
3.1 总体设计流程图
在一个相对较安静的环境下,录下 1s 左右的 wav 声音信号,然后对声音进行
采样,画出其时域波形和频谱图,其流程图如图 1 所示:
图 1 设计流程图
3.2 语音信号的采集
在实际工作中,我们可以利用 windows 自带的录音机录制语音文件。采集到语
音信号之后,需要对语音信号进行分析,如语音信号的时域分析、频谱分析、语谱
图分析。在 MATLAB 中,我们可以通过 [y,fs,bits]=wavread('语音信号路径 ',[N1 N2])
语句。用于读取语音,采样值放在向量 y 中, fs 表示采样频率 (Hz),bits 表示采样
位数。 [N1 N2] 表示读取从 N1 点到 N2 点的值(若只有一个 N 的点则表示读取前 N
点的采样值)。向量 y 则就代表了一个信号(也即一个复杂的 “函数表达式 ”)也就
是说可以像处理一个信号表达式一样处理这个声音信号。
3.3 语音信号的时频分析
利用 MATLAB 中的 “wavread”命令来读入(采集)语音信号,将它赋值给某一
向量。再对其进行采样,记住采样频率和采样点数。下面介绍 Wavread 函数几种调
用格式。
开始
输入声音信号
对声音信号采样
蝶形运算
原信号 fft 运算
结束
课程设计说明书
4
1.y=wavread(file )
功能说明:读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。
2.[y,fs,nbits]=wavread(file)
功能说明: 采样值放在向量 y 中,fs 表示采样频率 (hz),nbits 表示采样位数。
3.y=wavread(file , N)
功能说明:读取钱 N 点的采样值放在向量 y 中。
4.y=wavread(file ,[N1,N2] )
功能说明:读取从 N1 到 N2 点的采样值放在向量 y 中。
接下来,对语音信号 speech off.wav 进行采样。其程序如下:
[y,fs,nbits]=wavered ( ‘speech off.wav ’);
功能说明:把语音信号加载入 Matlab 仿真软件平台中
然后,画出语音信号的时域波形,再对语音信号进行频谱分析。 MATLAB 提供了
快速傅里叶变换算法 FFT 计算 DFT 的函数 fft, 其调用格式如下:
Xk=fft(xn,N)
参数 xn 为被变换的时域序列向量, N 是 DFT 变换区间长度,当 N 大于 xn 的长度
时,fft 函数自动在 xn 后面补零。,当 N 小于 xn 的长度时, fft 函数计算 xn 的前 N
个元素,忽略其后面的元素。
原始信号的时域波形图如图 3 所示:
剩余20页未读,继续阅读
资源评论
jishuyh
- 粉丝: 0
- 资源: 7万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python 程序语言设计模式思路-行为型模式:职责链模式:将请求从一个处理者传递到下一个处理者
- 9241703124789646.16健身系统2.apk
- postgresql-16.3-1-windows-x64.exe
- Python 程序语言设计模式思路-结构型模式:装饰器讲解及利用Python装饰器模式实现高效日志记录和性能测试
- 基于YOLOv5和DeepSORT的多目标跟踪仿真与记录
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
- skywalking-plugins.jar skywalking-alarm.jar
- 独栋别墅图纸D020-两层-10.00&11.00米- 施工图.dwg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功