信号处理与分析课程设计训练任务书

电子工程学科部

2015年4月

第一部分:语音信号部分

题目一:基于归一化互相关函数的基音检测 (负责人:贾懋珅)

本课题是根据电子信息类本科生信号处理和分析课程的学习内容和语音信号处理的实际应用相结合而设计的实践性训练。课程训练以数字信号处理为基础,需要学生在掌握基本原理的同时,理解语音信号的相关知识并结合实际应用实现对语音信号的分析和处理。

训练目的

1.通过利用c程序实现数字信号处理的相关功能,巩固对信号处理原理知识的理解,提高实际编程和处理数据的综合能力,初步培养在解决信号处理实际应用问题中所应具备的基本素质和要求。

2.培养研发能力,通过设计实现不同的信号处理问题,初步掌握在给定条件和功能的情况下,实现合理设计算法结构的能力。

3.提高文献整理和资料查询的能力。通过课下对相关语音知识的学习和理解,培养快速解决实际问题的能力,并在文献整理的过程中学会科技文献的写作,提高语言表达能力。

训练内容

理解语音信号的产生过程和信号的清浊音特性,并基于归一化互相关函数实现信号基音的检测。

设计实验报告要求

1.简要说明语音信号的产生模型和清浊音特性。

2.介绍检测基音周期的基本原理。

3.对语音信号进行适当的处理,根据归一化互相关函数实现基音检测和清浊判决。

思考题和扩展训练

进行基音检测中所进行的预处理和后处理各自都具有哪些作用。

相关原理

语音产生原理

空气从肺部排出形成气流,气流激励声道从嘴唇或鼻孔或同时从嘴唇和鼻孔辐射出来而产生语音。语音按其激励形式的不同可分为浊音、清音两类。当气流通过声门时,如果声带的张力刚好使声带张弛振荡,产生一股准周期的气流,这一气流激励声道就产生浊音语音。当气流通过声门时,声道的某处发生了收缩而形成一个狭窄的通道,当空气流到达此处时被迫以高速通过紧缩部分而在附近产生空气湍流,这种湍流通过声道便形成清音语音。

根据发声器官和语音的产生过程,语音信号可由源-系统模型产生,即把激励特性和声道以及辐射特性分离开来,声道及辐射的影响用一个时变线性系统来考虑,激励发生器则产生一种信号,他或是一串声门脉冲,或是随机变化的噪声信号。当利用声门脉冲激励声道模型时,就会产生浊音信号,而采用噪声作为激励源则会产生清音信号。

2.基于归一化互相关函数的基音检测方法

基音是指发浊音时声带振动所引起的周期性,基音周期是声带振动频率的倒数。基音检测是语音处理中一个非常重要的问题,找到一个完善的适用于不同的讲话者、不同要求和环境、准确和可靠的基音检测的方法是语音处理领域最具挑战性的任务之一。目前,大多数基因检测方法都采用的是自相关法。

对于浊音信号的互相关函数,在基音周期的整数倍位置上出现峰值,而清音的自相关函数没有明显的峰值出现;因此检测是否有峰值就可判断是清音或浊音,检测峰值的位置就可以提取基音周期值。

整个算法的流程如图1所示。下面将分块对算法流程进行介绍。

归一化互相关函数的确定

令语音信号表示为s(n),定义波形相关测度为

令可以导出

令相对误差能量为

图 1 归一化互相关函数基因检测算法流程图

这里ρ(τ)称为归一化互相关函数,并作为基音检测的依据。

2.1预处理

预处理包括去均值、低通滤波、数值滤波三部分。

当语音信号在分析窗里有非零均值或有非常低的低频造声出现时,归一化互相关函数在所要求的所有延迟上均产生高的相关,这对于依赖归一化互相关函数进行清/浊分类的安静段语音或低幅度清音语音段尤其麻烦。因此,在计算归一化互相关函数需要首先从分析窗中减掉均值。

为了减少高频共振峰和外来高频噪声的影响,要对去均值的语音信号进行800Hz低通滤波,这个滤波器可以去除大部分共振峰的影响,又可以在基音评论为最高500Hz时仍能保留其一二次谐波。

经过800 Hz 低通滤波的语音信号,主要去除了第三和第四个高频共振峰及高频噪声的影响,但第一和第二个共振峰有时依然存在,使得浊音段语音信号的周期性模糊,产生了错误基音估计。实验发现,若在800 Hz 低通滤波器之后级联一个数值滤波器可有效去除这一影响,突出了浊音语音信号的周期性,使基音估计可靠。

后处理

为了避免选择实际基音的倍数作为估计值,可采用如下后处理措施。

在三个基音区域内计算ρ(τ),分别得到各自区域的最大值及对应的延迟,记为ρmax1,ρmax2,ρmax3和T1,T2,T3。三个区域分别为

区域1:80 ~ 47

区域2:40 ~ 79

区域3:20 ~ 39

按如下方法确定最优基音延迟Topt

Topt = T1

ρmax = ρmax1

ifρmax2 ≥ cρmax

ρmax = ρmax2

Topt = T2

ifρmax3 ≥ cρmax

一维信号 处理分析 c语言,信号处理与分析课程设计训练任务书.doc相关推荐

  1. 51单片机c语言教程温度计,单片机课程设计-数字温度计.doc

    武 夷 学 院 课程设计报告 课程名称: 单片机及嵌入式技术 设计题目: 数字温度计 学生班级: 13计算机科学与技术(1)班 学生姓名: 陈圣盛.周鹏飞.刘犇 指导教师: 焦金涛 完成日期: 201 ...

  2. C语言红绿灯课程设计,C语言版交通灯课程设计.doc

    C语言版交通灯课程设计 微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目 ...

  3. c语言编写万年历课程设计,用C语言编写万年历 C课程设计.pdf

    用C语言编写万年历 C课程设计 用用 C++语言编写万年历语言编写万年历 用用 语言编写万年历语言编写万年历 学生姓名:学生姓名: 指导老师:指导老师: 学生姓名学生姓名:: 指导老师指导老师:: 摘 ...

  4. 电信专业《数字信号处理课程设计》任务书

    电信专业<数字信号处理课程设计>任务书 (一) clc;clear; Y_vect=[1 -0.5 0.25]; %num X_vect=[1 2 0 1]; %den figure(1) ...

  5. c语言标准化考试系统课程设计,c语言标准化考试系统课程设计

    1.课课 程程 报报 告告课课 程程 名名 称:称: 标准化考试系统 专专 业业 班班 级级 : 学学 生生 姓姓 名名 : 学学 号号 : 任任 课课 教教 师师 : 学学 期期 : 课程报告任务书 ...

  6. c语言图形时钟编程,C语言图形时钟课程设计实验报告.doc

    C语言图形时钟课程设计实验报告.doc 目录 1.系统功能要求 . 2. 数据结构设计及 说明 . 3.程序结构(画流程图) . 4.各模块的功能 . 5.试验结果(包括输入数据和输出结果) . 6. ...

  7. c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计

    仓库管理系统 C语言 C++ 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ ...

  8. C语言《程序设计基础课程设计》题库

    C语言<程序设计基础课程设计>题库 要求: 学生须按学号最后两位选择对应题目. 采用单链表和文件实现系统. 具体实现要求: (1) 从文件中读出数据,创建带头结点的单链表;将单链表中的数据 ...

  9. 计算机课程设计收费管理系统,C语言机房收费管理系统课程设计

    <C语言机房收费管理系统课程设计>由会员分享,可在线阅读,更多相关<C语言机房收费管理系统课程设计(15页珍藏版)>请在人人文库网上搜索. 1.课程设计报告课程设计题目:机房收 ...

最新文章

  1. Java项目:学生信息管理系统(java+SSM+JSP+layui+maven+mysql)
  2. jaxws-webservice编程续
  3. How to determine what causes a particular wait type
  4. 关于Android C++的NDK环境搭建(Win7系统)
  5. OS- -操作系统概念
  6. linux centos 编译Lua5.2.0 静态库 动态库
  7. 惯性矩和偏心距描述器
  8. H5CS3酷炫登录注册静态页面
  9. QT 009 QSqlDatabase 数据库类的使用
  10. tomcat配置重定向_在Tomcat上配置SSL以及从HTTP到HTTPS的设置自动重定向的步骤
  11. 东风小康为什么是dfsk_重庆造乘用车首次乘坐专列出口欧洲 100辆东风风光ix5抵达德国...
  12. qml demo分析(maskedmousearea-异形窗口)
  13. PHP 点击局部刷新
  14. 大学生怎样学习一门编程
  15. 客户画像--指标标签体系设计方案----业务视角
  16. CAN网络总线_20220720
  17. 经典案例- 磁盘阵列两块盘掉线的数据恢复分析
  18. 可以自学计算机考证吗
  19. H5+jQuery H5+JavaScript 体质指数BMI计算
  20. 基于matlab的多径信道的仿真

热门文章

  1. pytorch使用pytorch-kaldi实现ASR语音识别
  2. python easygui模块_easygui模块放在哪里?
  3. MVD(三-视图加入动画)
  4. 常用电子元件基础知识
  5. windows下通过cmd命令行快速进入指定文件夹
  6. c语言虚数变量,关于C语言中的Complex(复数类型)和imaginary(虚数类型)
  7. 简单-SVN配置遇到的坑
  8. 【Python】类与对象
  9. Validated、Valid 、Validator,他们的区别你知道几个
  10. WEB前端技能考核内容及岗位要求 送给找工作的童鞋 详细概括