数字信号处理应用课程设计
—声音信号采样分析、滤波、短时傅里叶变化相关应用
姓 名: 王柯皓 学 号:
专 业: 生物医学工程 班 级: 二班 完成日期:
一、 期末大作业概述:
经过一学期的学习,初步了解关于在信号处理中的具体应用,并
掌握了相应部分的设计思路,具体来讲包括,功率谱分析,线性卷积循环卷积的差别与等价条件,数字滤波器设计理论,并完成了三次作业,对脑电信号的谱分析进行了初步的探究,由于数字信号处理课程一直没有跟上进度,很多东西还需要以后慢慢消化。
本次期末大作业对自己采集到的一段声音信号进行功率谱求解、滤波,以及短时傅里叶变换特征谱分析的相关应用,通过对以上内容的设计,粗略回顾了这学期的所学所得,具体的课程设计要求如下所示:
大作业安排:录制自己的一段语音:“天津大学精密仪器与光电子工程学院生物医学工程班, , ”,时间控制在秒到秒左右;利用函数对自己的语音进行采样,记住采样频率。
()画出原始语音信号的时域波形,而后以秒为间隔,求出每秒数据的功率谱。 ()根据语音信号特点,分别设计及滤波器,分别画出滤波器幅频和相频特性曲
1 / 10
线。用设计的滤波器对信号滤波,画出滤波后时域波形。用函数回放语音信号。 ()求出特征频段语音信号随时间变化的曲线(每间隔秒求一次功率谱)。
二、 程序分步实现说明:
(1) 原始信号采集及时域信号波形:
通过计算机声卡设备事先录入一段长度接近的音频,内容为:天津大学精密仪器与光电子工程学院生物医学工程班王柯皓, , 。保存成格式,在中利用函数导入声音信号,并返回电脑设备的采样频率,本实验中为。随后显示原始信号波形并回波声音,其代码如下:
用函数对声音信号采样 []('');
时域波形图
(()); 定义横坐标,将点数转化为时间 (); ();
('原声音信号时域波形'); ('时间'); ('幅度');
(); 用函数播放原始信号信号
2 / 10
(2) 声音信号功率谱分析:
在对信号进行功率谱分析时,考虑到原始设备的采样频率过高,在实际理过程中很多频率是没有用处的,并且那样得到的功率谱线过于密集,因此采用函数重新降低了采用频率()。并利用之前作业处理脑电信号的方法进行谱分析,其程序如下:
秒功率谱
; 重设采样频率 (); 降低采样频率
(); 初始化二维数组,用以记录幅度谱和功率谱 (); ;
()(*()*); ();
()(().*(())); ();
(()); 由于频率范围基本集中在以内,重设频率范围 ('频率'); ('幅度');
得到的频谱图如下所示:
3 / 10
4 / 10
5 / 10
(3) 声音信号滤波分析:
在对声音进行滤波的时候,首先根据之前的功率谱确定了声音信号的范围大约为,以此为根据反复进行实验设计。分别实验了低通带通等滤波器。发现选择低通的时候声音会变得低沉些。而最终选择了一下参数的带通滤波器。如此得到了类似电音的效果,就好像大学英语四级考试时听力的效果,觉得比较好玩,就保留了这个设计。设计方法为避免频率混叠使用了双线性滤波器。根据第四节课的相应学习设计了如下函数,代码如下所示:
使用双线性变换法设计高通滤波器进行实验
通带、阻带截止频率 ;
频率预畸
()**; 临界频率采用角频率表示 ()**; 临界频率采用角频率表示 ()**; ()**; **(); **(); **(); **();
[]([ ],[],''); [](,'');
() 设计模拟的 [](); 映射为数字的 [](); *; ();
(*(())); ;
用滤波器分别对原始信号进行滤波 (); (); ();
('经过滤波器后的时域波形'); ('时间'); ('幅度');
用函数回放语音信号 ();
6 / 10
带通滤波器的幅频特性曲线如下所示:
滤波后的波形如下图所示:
()特征频段语音信号随时间变化的曲线:
为了进一步反应同一频率对应的幅度随时间变化的情况,采用短时傅里叶变化的方法,每进行一次功率谱求解,并选定一些频率观察其随时间的变化情况,以下所选用的频率主要是根据之前的功率谱观察选取的,其代码如下所示:
为数组预分配空间 ; (); ();
7 / 10
(); (); (); (); (); (); (); ; ; ; ;
(()**); (); .*();
用函数进行取整,返回接近于目标频率对应的点数(针对点) ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 ()((*)); 特征频率 (()); (); ();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线'); ();
8 / 10
();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线'); (); ();
('特征峰随时间变化曲线');
9 / 10
10 / 10
因篇幅问题不能全部显示,请点此查看更多更全内容