数字信号处理课程设计报告--基于MATLAB的语音去噪处理

上传人:ji****72 文档编号:27374606 上传时间:2018-01-09 格式:DOC 页数:22 大小:296KB
返回 下载 相关 举报
数字信号处理课程设计报告--基于MATLAB的语音去噪处理_第1页
第1页 / 共22页
数字信号处理课程设计报告--基于MATLAB的语音去噪处理_第2页
第2页 / 共22页
数字信号处理课程设计报告--基于MATLAB的语音去噪处理_第3页
第3页 / 共22页
数字信号处理课程设计报告--基于MATLAB的语音去噪处理_第4页
第4页 / 共22页
数字信号处理课程设计报告--基于MATLAB的语音去噪处理_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数字信号处理课程设计报告--基于MATLAB的语音去噪处理》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告--基于MATLAB的语音去噪处理(22页珍藏版)》请在金锄头文库上搜索。

1、第 1 页数字信号处理课程设计报告基于 MATLAB 的语音去噪处理专 业: 通信工程 班 级: 通信 1101 班 组 次: 第 7 组 姓名及学号: 胡政权(2011013825) 姓名及学号: 潘 爽(2011013836) 第 2 页组 员 承 担 任 务胡政权负责程序的编写,并检验程序是否错误,利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理,对课程设计要求进行最后审核。潘爽负责课程设计实验 MATLAB 仿真对实验结果进行分析,上网查阅材料对实验发表自己看法同时对实验要求进行扩展。对论文进行抒写,排版使实验课程设计更加完善。指导教师评价意见

2、第 3 页基于 MATLAB 的语音去噪处理1、设计目的(1)巩固所学的数字信号处理理论知识, 理解信号的采集、处理、加噪、去噪过程;(2)综合运用专业及基础知识,解决实际工程技术问题的能力;(3)学习资料的收集与整理,学会撰写课程设计报告。2、设计任务(1)语音信号的录制。(2)在 MATLAB 平台上读入语音信号。(3)绘制频谱图并回放原始语音信号。(4)利用 MATLAB 编程加入一段正弦波噪音,设计滤波器去噪。(5)利用 MATLAB 编程加入一段随机噪音信号,设计 FIR 和 IIR 滤波器去噪,并分别绘制频谱图、回放语音信号。(6)通过仿真后的图像以及对语音信号的回放,对比两种去噪

3、方式的优缺点。其大概流程框图可如下表示:(图 2-1)图 2-1 课程设计的流程第 4 页3、设计原理3.1 去噪原理3.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率 fs.max 大于信号中,最高频率 fmax的 2 倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的 510 倍;采样定理又称奈奎斯特定理。1924 年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中 W 是理想低通信道的带宽,N 是电平强度)为

4、什么把采样频率设为 8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的 2 倍频 带 为 F 的 连 续 信 号 f(t)可 用 一 系 列 离 散 的 采 样 值 f(t1),f(t1 t),f(t12 t), .来 表 示 ,只要这些采样点的时间间隔 t 1/2F, 便 可 根 据 各 采 样 值 完 全恢 复 原 来 的 信 号 f(t)。 这 是 时 域 采 样 定 理 的 一 种 表 述 方 式 。 时 域 采 样 定 理 的 另 一 种 表 述 方 式 是 : 当 时 间 信 号 函 数 f(t)的 最 高 频 率 分 量 为 fM 时 ,f(t)的 值 可

5、由 一 系 列 采 样 间 隔 小 于 或 等 于 1/2fM 的 采 样 值 来 确 定 ,即 采 样 点 的 重 复 频 率f 2fM。 图 为 模 拟 信 号 和 采 样 样 本 的 示 意 图 。 时 域 采 样 定 理 是 采 样 误 差 理 论 、 随 机 变 量 采 样 理 论 和 多 变 量 采 样 理 论 的 基 础 。 对于 时 间 上 受 限 制 的 连 续 信 号 f(t)( 即 当 t T 时 ,f(t)=0,这 里 T=T2-T1 是 信 号 的 持续 时 间 ) , 若 其 频 谱 为 F( ) ,则 可 在 频 域 上 用 一 系 列 离 散 的 采 样 值 (

6、 2-1)采 样 值 来 表 示 ,只 要 这 些 采 样 点 的 频 率 间 隔 ( 2-2)3.1.2 采样频率采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采 样 频 率 只 能 用 于 周 期 性 采 样 的 采 样 器 , 对 于 非 周 期 性 采 样 的 采 样 器 没 有 规 则 限 制 。采 样 频 率 的 常 用 的 表 示 符 号 是

7、 fs。 通 俗 的 讲 采 样 频 率 是 指 计 算 机 每 秒 钟 采 集 多 少 个第 5 页声 音 样 本 , 是 描 述 声 音 文 件 的 音 质 、 音 调 , 衡 量 声 卡 、 声 音 文 件 的 质 量 标 准 。 采 样 频 率越 高 , 即 采 样 的 间 隔 时 间 越 短 , 则 在 单 位 时 间 内 计 算 机 得 到 的 声 音 样 本 数 据 就 越 多 , 对声 音 波 形 的 表 示 也 越 精 确 。 采 样 频 率 与 声 音 频 率 之 间 有 一 定 的 关 系 , 根 据 采 样 定 理 ,只 有 采 样 频 率 高 于 声 音 信 号 最

8、高 频 率 的 两 倍 时 , 才 能 把 数 字 信 号 表 示 的 声 音 还 原 成 为 原来 的 声 音 。 这 就 是 说 采 样 频 率 是 衡 量 声 卡 采 集 、 记 录 和 还 原 声 音 文 件 的 质 量 标 准 。 采样 位 数 和 采 样 率 对 于 音 频 接 口 来 说 是 最 为 重 要 的 两 个 指 标 , 也 是 选 择 音 频 接 口 的 两 个重 要 标 准 。 无 论 采 样 频 率 如 何 , 理 论 上 来 说 采 样 的 位 数 决 定 了 音 频 数 据 最 大 的 力 度 范围 。 每 增 加 一 个 采 样 位 数 相 当 于 力 度

9、范 围 增 加 了 6dB。 采 样 位 数 越 多 则 捕 捉 到 的 信 号越 精 确 。 对 于 采 样 率 来 说 你 可 以 想 象 它 类 似 于 一 个 照 相 机 , 44.1kHz 意 味 着 音 频 流 进入 计 算 机 时 计 算 机 每 秒 会 对 其 拍 照 达 441000 次 。 显 然 采 样 率 越 高 , 计 算 机 摄 取 的 图片 越 多 , 对 于 原 始 音 频 的 还 原 也 越 加 精 确 . 4、设计过程4.1 语音文件在 MATLAB 平台上的录入与打开单击自己的电脑开始程序,选择所有程序,接着选择附件,再选择娱乐,最后选择录音。自己录入“毕

10、业设计”语音信号,然后保存在 MATLAB 文件夹里面,命名为“wangqingtian.wav”。利用 MATLAB 中的 wavread 命令来读入(采集)语音信号,将它赋值给某一向量。y,fs,bits=wavread( N1 N2);用于读取语音,采样值放在向量 y 中,fs 表示采样频率(Hz),bits 表示采样位数。N1 N2表示读取从 N1 点到 N2 点的值(若只有一个 N 的点则表示读取前 N 点的采样值)。4.2 原始语音信号频谱分析及仿真利用 MATLAB 中的 wavread 命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行 FF

11、T 变换实现频谱分析,再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用 MATLAB 画出。我们还可以通过 sound 命令来对语音信号进行回放,以便在听觉上来感受声音的变化。选择设计此方案,是对数字信号处理的一次实践。在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面。这个方案用到的软件也是在数字信号处理中非常通用的一个软件MATLAB 软件。所第 6 页以这个课题的设计过程也是一次数字信号处理在 MATLAB 中应用的学习过程。

12、课题用到了较多的 MATLAB 语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。sound(x,fs,bits); 用于对声音的回放。向量 y 则就代表了一个信号(也即一个复杂的“函数表达式” )也就是说可以像处理一个信号表达式一样处理这个声音信号。FFT 的 MATLAB 实现:在 MATLAB 的信号处理工具箱中函数 FFT 和 IFFT 用于快速傅立叶变换和逆变换。下面介绍这些函数。函数 FFT 用于序列快速傅立叶变换。函数的一种调用格式为 y=fft(x)其中,x 是序列,y 是序列的 FFT,x 可以为一向量或矩阵,若 x 为一向量,y 是 x 的FFT。且和 x

13、 相同长度。若 x 为一矩阵,则 y 是对矩阵的每一列向量进行 FFT。如果 x 长度是 2 的幂次方,函数 fft 执行高速基2FFT 算法;否则 fft 执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数 FFT 的另一种调用格式为 y=fft(x,N)式中,x,y 意义同前,N 为正整数。函数执行 N 点的 FFT。若 x 为向量且长度小于N,则函数将 x 补零至长度 N。若向量 x 的长度大于 N,则函数截短 x 使之长度为 N。若x 为矩阵,按相同方法对 x 进行处理。经函数 fft 求得的序列 y 一般是复序列,通常要求其幅值和相位。MATLAB 提供求复数的幅值和相位函数:a

14、bs ,angle ,这些函数一般和 FFT 同时使用。函数 abs(x)用于计算复向量 x 的幅值,函数 angle(x)用于计算复向量的相角,介于 和 之间,以弧度表示。函数 unwrap(p)用于展开弧度相位角 p ,当相位角绝对变化超过 时,函数把它扩展至 。用 MATLAB 工具箱函数 fft 进行频谱分析时需注意:(1)函数 fft 返回值 y 的数据结构对称性一般而言,对于 N 点的 x(n)序列的 FFT 是 N 点的复数序列,其点 n=N/2+1 对应Nyquist 频率,作频谱分析时仅取序列 X(k)的前一半,即前 N/2 点即可。X(k)的后一半序列和前一半序列时对称的。

15、(2)频率计算第 7 页若 N 点序列 x(n)(n=0,1,N-1)是在采样频率 下获得的。它的 FFT 也是 N 点序列,即 X(k)(k=0,1,2,N-1),则第 k 点所对应实际频率值为 f=k*f /N.(3)作 FFT 分析时,幅值大小与 FFT 选择点数有关,但不影响分析结果。下面的一段程序是语音信号在 MATLAB 中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图。x,fs,bits=wavread(C:UsersAdministratorDesktop数字信号处理课程设计1.wav);sound(x,fs,bits);X=fft(x,4096);mag

16、X=abs(X);angX=angle(X);subplot(221);plot(x);title(原始信号波形);subplot(222);plot(X); title(原始语音信号采样后的频谱图 )subplot(223);plot(magX);title(原始信号幅值);subplot(224);plot(angX);title(原始信号相位);程序运行可以听到声音,得到的图形为:(第 8 页图 41 原始语音波形、幅值、相位以及采样后频谱图4.3 加噪语音信号频谱分析及仿真(1)正弦波信号加入原始语音信号前面已经介绍了 MATLAB 软件相关知识,那么我们怎么在没没 ATLAB 平台上实现对一段原始语音信号加入一个正弦波信号呢?下面一段程序实现了在原始语音信号加入正弦波信号。程序见附录 5 分析此段程序可知,此程序是先对原始语音信号做时域波形分析

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号