数字信号处理课程设计 (2).doc_第1页
数字信号处理课程设计 (2).doc_第2页
数字信号处理课程设计 (2).doc_第3页
数字信号处理课程设计 (2).doc_第4页
数字信号处理课程设计 (2).doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 第一章 设计内容及目的 1 1 1 设计内容 1 1 2 设计目的 1 第二章 设计原理 2 第三章 语音信号的采集与处理 4 3 1 语音信号的采集 4 3 2 语音信号的时频分析 4 3 3 语音信号加噪与频谱分析 5 第四章 数字滤波器的设计 7 4 1 FIR 滤波器的窗函数设计法 7 4 2 IIR 数字滤波器窗函数设计法 9 第五章 信号处理 11 5 1 用滤波器对加噪语音信号进行滤波 11 5 2 比较滤波前后语音信号的波形 11 第六章 心得体会 14 参考文献 15 附录 1 1 第一章第一章 设计内容及目的设计内容及目的 1 11 1 设计内容设计内容 利用 MATLAB 对语音信号进行数字信号处理和分析 要求学生采集语音信号 后 在 MATLAB 软件平台进行频谱分析 并对所采集的语音信号加入干扰噪声 对加入噪声的信号进行频谱分析 设计合适的滤波器滤除噪声 恢复原信号 本设计要求自己录制一段自己的语音后 在 MATLAB 软件中采集语音信号 回放语音信号并画出语音信号的时域波形和频谱图 再在 Matlab 中分别设计不 同形式的 FIR 数字滤波器 之后对采集的语音信号经过不同的滤波器 低通 高通 带通 后 观察不同的波形 并进行时域和频谱的分析 对比处理前后的时域图和频谱图 分析各种滤波器对于语音信号的影响 最后分别收听进行滤波后的语音信号效果 做到了解在怎么样的情况下该用怎 么样的滤波器 首先录制好一段自己的语音 用 Matlab 分别设计好 3 种类型的 滤波器 指标自己确定 低通型 高通型 带通型 用 Matlab 将语音信号进 行采样 并分别将其通过所设计的 3 种滤波器 用 Matlab 自带的语音返回函数 收听滤波后的语音信号 分析并比较其与原语音信号的差异 1 21 2 设计目的设计目的 选择一个语音信号作为分析的对象 或录制一段各人自己的语音信号 对 其进行频谱分析 利用 MATLAB 中的随机函数产生噪声加入到语音信号中 模仿 语音信号被污染 并对其进行频谱分析 设计 FIR 和 IIR 数字滤波器 并对被 噪声污染的语音信号进行滤波 分析滤波后信号的时域和频域特征 回放语音 信号 最后 设计一个信号处理系统界面 在所设计的系统界面上可以选择滤 波器的类型 具体设计目的如下 1 学会 MATLAB 的使用 掌握 MATLAB 的程序设计方法 2 掌握在 Windows 环境下语音信号采集的方法 3 掌握数字信号处理的基本概念 基本理论和基本方法 4 掌握 MATLAB 设计数字滤波器的方法并会对信号进行分析和处理 2 第二章第二章 设计原理设计原理 语音信号时一种非平稳的时变信号 它带着各种信息 在语音编码 语音 合成 语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种 信息 语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信 息 语音信号处理可以分为时域和变换域等处理方法 其中时域分析是最简单 的方法 直接对语音信号的时域波形进行分析 崎岖的特征参数主要有语音的 短时能量 短时平均过零率 短时自相关函数等 信号提取 通过图形用户界面上的菜单功能按键采集电脑上的一段音频信 号 完成音频信号的频率 幅度等信息的提取 并得到该语音信号的波形图 信号调整 在设计的用户图形界面下对输入的音频信号进行各种变化 如 变化幅度 改变频率等操作 以实现对语音信号的调整 信号的傅里叶表示在信号的分析和处理中起着重要的作用 因为对于线性 系统来说 可以很方便地确定其对正弦或复指数和的响应 所以傅里叶分析方 法能完善地解决许多信号分析和处理问题 另外 傅里叶表示使信号的某些特 性变得更明显 因此 它能更深入地说明信号的各项红物理现象 由于语音信号时随着时间变化的 通常认为 语音是一个受准周期脉冲或随 机噪声源激励的线性系统的输出 输出频谱是声道系统频率响应与激励源频谱 的乘积 身份到系统的频率响应及激励源都是随时间变化的 因此一般标准的 傅里叶表示虽然适用于周期及平稳随机信号的表示 但不能直接用于语音信号 由于语音信号可以认为在短时间内 近似不变 因而可以采用短时分析法 在 用户图形界面西啊对采集的语音信号进行 Fourier 等变换 并画出变换前后的 频谱图和倒谱图 滤除语音信号中的噪音部分 可以采用抵用滤波 高通滤波 带通滤波 并比较各种滤波后的效果 数字信号处理是利用计算机或专用处理设备 以数值计算的方法对信号进 行采集 抽样 变换 综合 估值与识别等加工处理 借以达到提取信息和便 于应用的目的 它在语音 雷达 图像 系统控制 通信 航空航天 生物医 学等众多领域都获得了极其广泛的应用 具有灵活 精确 抗干扰强 设备尺 寸小 造价低 速度快等优点 数字滤波器 是数字信号处理中及其重要的一部分 随着信息时代和数字 技术的发展 受到人们越来越多的重视 数字滤波器可以通过数值运算实现滤 波 所以数字滤波器处理精度高 稳定 体积小 重量轻 灵活不存在阻抗匹 配问题 可以实现模拟滤波器无法实现的特殊功能 数字滤波器种类很多 根 据其实现的网络结构或者其冲激响应函数的时域特性 可分为两种 即有限冲 激响应 FIR Finite Impulse Response 滤波器和无限冲激响应 IIR Infinite Impulse Response 滤波器 FIR 滤波器结构上主要是非递归结构 没有输出到输入的反馈 系统函数 H 3 z 在处收敛 极点全部在 z 0 处 因果系统 因而只能用较高的阶数达到 高的选择性 FIR 数字滤波器的幅频特性精度较之于 IIR 数字滤波器低 但是 线性相位 就是不同频率分量的信号经过 fir 滤波器后他们的时间差不变 这 是很好的性质 FIR 数字滤波器是有限的单位响应也有利于对数字信号的处理 便于编程 用于计算的时延也小 这对实时的信号处理很重要 FIR 滤波器因 具有系统稳定 易实现相位控制 允许设计多通带 或多阻带 滤波器等优点 收到人们的青睐 IIR 滤波器采用递归型结构 即结构上带有反馈环路 IIR 滤波器运算结构 通常由延时 乘以系数和相加等基本运算组成 可以组合成直接型 正准型 级联型 并联型四种结构形式 都具有反馈回路 同时 IIR 数字滤波器在设 计上可以借助成熟的模拟滤波器的成果 如巴特沃斯 契比雪夫和椭圆滤波器 等 有现成的设计数据或图表可查 在设计一个 IIR 数字滤波器时 我们根据 指标先写出模拟滤波器的公式 然后通过一定的变换 将模拟滤波器的公式转 换成数字滤波器的公式 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现 随着 MATLAB 软件及信号处理工具箱的不断完善 MATLAB 很快成为应用学科等领域不 可或缺的基础软件 它可以快速有效地实现数字滤波器的设计 分析和仿真 极大地减轻了工作量 有利于滤波器设计的最优化 4 第三章第三章 语音信号的采集与处理语音信号的采集与处理 3 13 1 语音信号的采集语音信号的采集 将话筒接入计算机的语音输入插口上 按下录音按钮 录制一段语音信号 如下图 3 1 所示 利用 PC 机上的声卡和 WINDOWS 操作系统可以进行数字信号 的采集 将话筒输入计算机的语音输入插口上 启动录音机 按下录音按钮 接 着对话筒说话 语音信号处理 说完后停止录音 屏幕左侧将显示所录声音的 长度 点击放音按钮 可以实现所录音的重现 以文件名 speech 保存入 g MATLAB work 中 可以看到 文件存储器的后缀默认为 wav 这是 WINDOWS 操作系统规定的声音文件存的标准 图 3 1 语音信号的采集 3 23 2 语音信号的时频分析语音信号的时频分析 语音信号有两个特点 1 时域范围内的随机性 短时间的稳定性 2 语音频谱范围在 300 3400Hz 内 语音信号波形如图 3 2 所示 利用 MATLAB 的 wavread 命令来读入 采 集 语音信号 将它赋值给某一向量 再对其进行采样 记住采样频率和采样 点数 下面介绍 Wavread 函数几种调用格式 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 5 功能说明 读取从 N1 到 N2 点的采样值放在向量 y 中 接下来 对语音信号 OriSound wav 进行采样 其程序如下 y fs nbits wavered OriSound 把语音信号加载入仿真软件平台 然后 画出语音信号的时域波形 再对语音信号进行频谱分析 MATLAB 提供了 快速傅里叶变换算法 FFT 计算 DFT 的函数 fft 其调用格式如下 Xk fft xn N 参数 xn 为被变换的时域序列向量 N 是 DFT 变换区间长度 当 N 大于 xn 的长度时 fft 函数自动在 xn 后面补零 当 N 小于 xn 的长度时 fft 函数计 算 xn 的前 N 个元素 忽略其后面的元素 图 3 2 语音信号时域波形 3 33 3 语音信号加噪与频谱分析语音信号加噪与频谱分析 WGN 用于产生高斯白噪声 AWGN 则用于在某一信号中加入高斯白噪声 也 可直接用 randn 函数产生高斯分布序列 如图 3 3 所示为语音信号频谱 图 3 3 语音信号频谱 在本次课程设计中 我们是利用 MATLAB 中的随机函数 rand 或 randn 产生 噪声加入到语音信号中 模仿语音信号被污染 并对其频谱分析 Randn 函数 有两种基本调用格式 Randn n 和 Randn m n 前者产生 n n 服从标准高斯 分布的随机数矩阵 后者产生 m n 的随机数矩阵 在这里 我们选用 Randn m n 函数 语音信号添加噪声及其频谱分析的主要程序如下 y fs nbits wavread OriSound N length y 求出语音信号的长度 Noise 0 01 randn n 2 随机函数产生噪声 6 Si y Noise 语音信号加入噪声 sound Si subplot 2 1 1 plot Si title 加噪语音信号的时域波形 S fft Si 傅里叶变换 subplot 2 1 2 plot abs S title 加噪语音信号的频域波形 加噪后频谱在 3 8KHz 处多出高频脉冲成分 听觉上是很刺耳很不舒适的噪 音 导致原有信号听着比较模糊 如图 3 4 为加噪前后语音信号频谱对比图 图 3 4 加噪前后语音信号频谱对比图 7 第四章第四章 数字滤波器的设计数字滤波器的设计 4 14 1 FIRFIR 滤波器的窗函数设计法滤波器的窗函数设计法 对于数字高通 带通滤波器的设计 通用方法为双线性变换法 可以借助 于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器 再经过双线性 变换将其转换策划那个所需的数字滤波器 具体设计步骤如下 1 确定所需类型数字滤波器的技术指标 2 将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频 率 转换公式为 2 T tan 0 5 3 将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标 4 设计模拟低通滤波器 5 通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器 6 采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数 字滤波器 对于线性相位滤波器 经常采用 FIR 滤波器 FIR 数字滤波器的参数为 通 带截止频率 0 2 过渡带宽度40 dB FIR 滤波器的窗 函数设计法为 由给定的指标确定窗函数和长度 N 确定延时值 求理想的单 位脉冲响应 求滤波器的单位取样响应 按此要求设计 FIR 数字低通滤波器的 归一化频率特性曲线如图 4 1 所示 图 4 1 频率特性曲线 FIR 低通滤波器用窗函数设计低通滤波器的程序如下 rp 1 rs 50 p 1 10 rp 20 通带阻带波纹 s 10 rs 20 fpts wp ws mag 1 0 8 dev p s n21 wn21 beta ftype kaiserord fpts mag dev kaiserord 求阶数截止频率 b21 fir1 n21 wn21 Kaiser n21 1 beta 由 fir1 设计滤波器 h w freqz b21 1 得到频率响应 plot w pi abs h title FIR 低通滤波器 FIR 带通滤波器用窗函数设计低通滤波器的程序如下 wp1 tan pi Fp1 Ft 带通到低通滤波器参数转换 wp2 tan pi Fp2 Ft ws1 tan pi Fs1 Ft ws2 tan pi Fs2 Ft w wp1 wp2 ws2 bw wp2 wp1 wp 1 ws wp wp2 w 2 bw w n22 wn22 buttord wp ws 1 50 s 求低通滤波器阶数和截止频率 b22 a22 butter n22 wn22 s 求 S 域的频率响应的参数 num2 den2 lp2bp b22 a22 sqrt wp1 wp2 bw 将 S 域低通参数转为带通 num22 den22 bilinear num2 den2 0 5 双线性变换实现 S 域到 Z 域的转 换 h w freqz num22 den22 根据参数求出频率响应 plot w 8000 0 5 pi abs h axis 0 4000 0 1 5 legend 用 butter 设计 FIR 高通滤波器用窗函数设计低通滤波器的程序如下 p 1 10 rp 20 通带阻带波纹 s 10 rs 20 fpts ws wp mag 0 1 dev p s n23 wn23 beta ftype kaiserord fpts mag dev b23 fir1 n23 wn23 high Kaiser n23 1 beta 由 fir1 设计滤波器 h w freqz b23 1 得到频率响应 plot w 12000 0 5 pi abs h title FIR 高通滤波器 axis 3000 6000 0 1 2 用窗函数法设计 FIR 滤波器的步骤如下 1 根据对阻带衰减及过渡带的指标要求 选择串窗数类型 矩形窗 三 9 角窗 汉宁窗 哈明窗 凯塞窗等 并估计窗口长度 N 先按照阻带衰减选择 窗函数类型 原则是在保证阻带衰减满足要求的情况下 尽量选择主瓣的窗函 数 2 构造希望逼近的频率响应函数 3 计算 h n 4 加窗得到设计结果 4 24 2 IIRIIR 数字滤波器窗函数设计法数字滤波器窗函数设计法 IIR 滤波器和 FIR 滤波器的设计方法完全不同 IIR 滤波器设计方法有间接 法和直接法 间接法是借助于模拟滤波器的设计方法进行的 其设计步骤是 先设计过渡模拟滤波器得到系统函数 H s 然后将 H s 按某种方法转换成 数字滤波器的系统函数 H z FIR 滤波器比鞥采用间接法 常用的方法有窗函 数法 频率采样发和切比雪夫等波纹逼近法 我们知道 脉冲响应不变法的主要缺点是会产生频谱混叠现象 使数字滤 波器的频响偏离模拟滤波器的频响特性 为了克服之一缺点 可以采用双线性 变换法 利用模拟滤波器设计 IIR 数字低通滤波器的步骤 1 确定数字低通滤波器的技术指标 通带边界频率 通带最大衰减 阻带截止频率 阻带最小衰减 2 将低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标 3 按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器 4 模拟滤波器系统函数转换成数字低通滤波器系统函数 在 Matlab 中 可以利用函数 fir1 设计 FIR 滤波器 利用函数 butter cheby1 和 ellip 设计 IIR 滤波器 利用 Matlab 中的函数 freqz 画出各步步 器的频率响应 hn fir1 M wc window 可以指定窗函数向量 window 如果缺省 window 参 数 则 fir1 默认为哈明窗 其中可选的窗函数有 Rectangular Barlrtt Hamming Hann Blackman 窗 其相应的都有实现函数 MATLAB 信号处理工具箱函数 buttp buttor butter 是巴特沃斯滤波器设计函 数 其有 5 种调用格式 本课程设计中用到的是 N wc butter N wc Rp As s 该格式用于计算巴特沃斯模拟滤波器的阶数 N 和 3dB 截止频率 wc butter cheby1 和 ellip 设计 IIR 滤波器时都是默认的双线性变换法 所以在 设计滤波器时只需要代入相应的实现函数即可 IIR 数字低通滤波器的主要程序 如下 wp 2 pi Fp Ft ws 2 pi Fs Ft fp 2 Ft tan wp 2 10 fs 2 Fs tan wp 2 n11 wn11 buttord wp ws 1 50 s 求低通滤波器的阶数和截止频率 b11 a11 butter n11 wn11 s 求 S 域的频率响应的参数 num11 den11 bilinear b11 a11 0 5 双线性变换实现 S 域到 Z 域的变换 h w freqz num11 den11 根据参数求出频率响应 plot w 8000 0 5 pi abs h legend 用 butter 设计 IIR 数字带通滤波器的设计程序如下 wp1 tan pi Fp1 Ft 带通到低通滤波器的转换 wp2 tan pi Fp2 Ft ws1 tan pi Fs1 Ft ws2 tan pi Fs2 Ft w wp1 wp2 ws2 bw wp2 wp1 wp 1 ws wp1 wp2 w 2 bw w n12 wn12 buttord wp ws 1 50 s 求低通滤波器阶数和截止频率 b12 a12 butter n12 wn12 s 求 S 域的频率响应参数 num2 den2 lp2bp b12 a12 sqrt wp1 wp2 bw 将 S 域低通参数转为带通 的 num12 den12 bilinear num2 den2 0 5 双线性变换实现 S 域到 Z 域的转 换 h w freqz num12 den12 根据参数求出频率响应 plot w 8000 0 5 pi abs h axis 0 4000 0 1 5 legend 用 butter 设计 11 第五章第五章 信号处理信号处理 5 15 1 用滤波器对加噪语音信号进行滤波用滤波器对加噪语音信号进行滤波 函数 fftfilt 用的是重叠相加法实现线性卷积的计算 调用格式为 y fftfilter h x M 其中 h 是系统单位冲击响应向量 x 是输入序列向量 y 是 系统的输出序列向量 M 是有用户选择的输入序列的分段长度 缺省时 默认 的输入向量的重长度 M 512 用自己设计的各滤波器分别对加噪的语音信号进行滤波 在 Matlab 中 FIR 滤波器利用函数 fftfilt 对信号进行滤波 IIR 滤波器利用函数 filter 对信号进 行滤波 该低通滤波器滤除高频信号 保留低频语音信号 符合设计滤除高频 噪音保留低频原始语音信号的特点 用设计的滤波器对加噪语音信号进行滤波 除噪 其频率特性曲线如图 5 1 所示 图 5 1 滤波除噪频率特性曲线 加噪语音通过该低通滤波器之后 保留了低频信号 滤除高频信号 使语 音听着不再尖锐刺耳 这说明已经达到了滤除高频噪音信号的目的 5 25 2 比较滤波前后语音信号的波形比较滤波前后语音信号的波形 采取双线行变换法用低通滤波器对原语音信号进行滤波处理 处理后在对 原信号进行频谱分析 之后把原来的信号与用低通滤波器处理过后的信号进行 比较 比较之后看看他们的异同 低通滤波器的程序如下 y fs nbits wavread speech n length y 求出语音信号的长度 noise 0 01 randn n 2 随机函数产生噪声 s y noise 语音信号加入噪声 S fft s 傅里叶变换 12 z11 filter num11 den11 s sound z11 m11 fft z11 求滤波后的信号 subplot 2 2 1 plot abs S g title 滤波前信号的频谱 grid subplot 2 2 2 plot abs m11 r title 滤波后信号的频谱 grid subplot 2 2 3 plot s title 滤波前信号的波形 grid subplot 2 2 4 plot z11 title 滤波后的信号波形 滤波前语音信号的波形如图 5 2 所示 图 5 2 低通滤波前语音信号的波形 信号经过高通滤波后 滤波前后的信号密度明显减小 这是滤除了高频噪 音保留了低频语音信号的结果 其语音信号波形如图 5 3 所示 其程序如下 y fs nbits wavread speech n length y 求出语音信号的长度 noise 0 01 randn n 2 随机函数产生噪声

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论