matlab处理音频信号
Matlab 处理音频信号 Matlab 软件在数字信号处理上发挥了相当大的优势,本课题就从频域的角度对信号进行分析,并通过分析频谱来设计出合适的滤波器。数字语音信号是一种信号,我们处理数字语音信号,也就是对一种信号的处理,那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。按信号特点的不同,信号可表示成一个或几个独立变量的函数。 信号有以下几种:(1)连续时间信号:在连续时间范围内定义的信号,但信号的幅值可以是连续数值,也可以是离散数值。当幅值为连续这一特点情况下又常称为模拟信号。实际上连续时间信号与模拟信号常常通用,用以说明同一信号。(2)离时间信号:时间为离散变量的信号,即独立变量时间被量化了。而幅度仍是连续变化的。(3)数字信号:时间离散而幅度量化的信号。 语音信号是基于时间轴上的一维数字信号,在这里主要是对语音信号进行频域上的分析。在信号分析中,频域往往包含了更多的信息。对于频域来说,大概有 8 种波形可以让我们分析:矩形方波,锯齿波,梯形波,临界阻尼指数脉冲波形,三角波,余旋波,余旋平方波,高斯波。对于各种波形,我们都可以用一种方法来分析,就是傅立叶变换:将时域的波形转化到频域来分析。 在 Matlab 软件中,我们可以使用 wavread 命令来读入语音信号,并将其赋值给某一向量。再将该向量看作一个普通的信号,对其进行 FFT 变换实现频谱分析,再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用 Matlab 画出。我们还可以通过 sound 命令来对语音信号进行回放,以便在听觉上来感受声音的变化。 在 Matlab 中,我们可以使用 FFT 函数来进行频谱分析。函数 FFT 用于序列快速傅立叶变换。函数的一种调用格式为 y=fft(x),其中,x 是序列,y 是序列的 FFT,x 可以为一向量或矩阵,若 x 为一向量,y 是 x 的 FFT。且和 x 相同长度。若 x 为矩阵,则 y 是对矩阵的每一列向量进行 FFT。如果 x 长度是 2 的幂次方,函数 fft 执行高速基-2FFT 算法;否则 fft 执行一种混合基的离散傅立叶变换算法,计算速度较慢。 在 Matlab 中,我们还可以使用 abs 函数和 angle 函数来计算复序列的幅值和相位。函数 abs(x) 用于计算复向量 x 的幅值,函数 angle(x) 用于计算复向量的相角,介于 和 之间,以弧度表示。函数 unwrap(p) 用于展开弧度相位角 p,当相位角绝对变化超过 时,函数把它扩展至 。 本课题的设计过程也是一次数字信号处理在 Matlab 中应用的学习过程。课题用到了较多的 Matlab 语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。但是,这个课题的设计过程对数字信号处理的实践和学习都是非常有利的。
剩余15页未读,继续阅读
- liudanking2012-04-24应该是把网站上的一篇文章直接贴进去的。有些公式显示不出来
- 粉丝: 5
- 资源: 32
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 全国大学生电子设计大赛项目合集全国电赛优秀作品STM32项目(大赛作品)STM32F072RBNUCLEO智能家居控制
- 空调加热器MPC模型预测控制程序带文献 空调取暖器、室内温度调节模型预测控制、 MPC控制的MATLAB程序,纯M文件,代码约3
- 基于Java语言的华为广告服务OAID标识与转化跟踪变现设计源码
- 按鈕多語言按鈕樣式前端
- 永磁同步电机反馈解耦控制 模型包含反馈解耦模型和说明文档,适合有一定基础的人员学习
- STM32硬件资料硬件工程师手册全STM32硬件资料硬件工程师手册全
- 基于Java和Shell的lodsve-maven-plugins设计源码
- 全国大学生电子设计大赛项目合集全国电赛优秀作品STM32项目(ST大赛三等奖作品)超声波自拍神器
- 基于朴素贝叶斯与als算法实现的高效歌单推荐助手设计源码
- 异步电机矢量控制 FOC 采用Simulink搭建的三相异步电机矢量控制,采用的双电流闭环进行调速控制,分模块搭建,便于学习,模