免费论文网 首页

课程设计报告

时间:2016-09-06 10:39:05 来源:免费论文网

篇一:课程设计报告

课程设计报告

题 目: 语音信号滤波去噪

语音信号滤波去噪

1 课程设计的任务与要求

首先录制一段自己的语音信号,并对录制的信号进行采样,修改其参数设置方便实验,再画出采样后语音信号的时域波形和频谱图。再通过程序编写在程序调试中加入噪声,再画出加入噪声后的时域波形和频谱图。接着自行给定滤波器的性能指标,采用IIR滤波器,并画出滤波器的频率响应。用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化并回放语音信号;通过利用各种不同的开发工具实现语音信号的滤波去噪,掌握数字信号的分析方法和处理方法.

2 设计原理

2.1设计流图

MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波 、傅里叶变换 、时域和频域分析 、声音回放以及各种图的呈现等 , 信号处理是MATLAB 重要应用的领域之一 。

本课程设计介绍了基于Matlab的对语音信号采集、处理及滤波器的设计,并使之实现的过程。理解与掌握课程中的基本概念、基本原理、基本分析方法,用Matlab进行数字语音信号处理,并阐述了课程设计的具体方法、步骤和内容。综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。

采样器的作用是把连续信号变为脉冲或数字序列。图中示出了一个连续信号f(t)经采样器采样后变为离散信号的过程【1】。

图1 连续信号f(t)经采样器采样后变为离散信号

图中f(t)为被采样的连续信号,S(t)为周期性窄脉冲信号,fs(t)为采样后的离散信号,它用下式来表征:fs(t)=f(t)s(t)

采样信号的频率特性为:

如果|F*(jω)|中各个波形不重复搭接,相互间有一定的距离(频率)即若

即采样定理可叙述如下:如果采样周期满足下列条件,即:

式中ωmax为连续信号f(t)的最高次谐波的角频率。则采样信号f*(t)

就可以无失真地再恢复为原连续信号f(t)。需要指出的是,采样定理只是在理论上给出了信号准确复现的条件。

我们可以利用windows自带的录音机录制语音文件,进行数字信号的采集。(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KH z,8位,单声道)或其他软件,将话筒输入计算机的语音输入插口上,启动录音机,录制一段自己的话音。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采

样点数。通过wavread函数的使用进一步理解采样频率、采样位数等概念。图2是基于PC机的语音信号采集过程:

图2 语音采集过程

3 滤波去噪的仿真与实现

3.1录制语音信号

此次录制语音信号,需用到电脑附件中的录音机功能,在机房的电脑系统为

Windows XP系统,在笔记本的win7系统中,录制的语音信号格式为.wma格式文件,需用格式转换器进行转换。在机房电脑中,点击电脑桌面上的“开始”菜单,再选择“程序”中的“附件”,在“附件”的菜单栏中选择“娱乐”,最后点击“录音机”,就可以得到如图3.2的图。然后点击开始录制一段“数字通信原理课程设计”的语音信号,时间大约在2~3秒之间。录制好语音信号之后点击另存为,在另存为的对话框中右下角有“更改”选项,进行更改音频文件的参数,其参数设置的值如图3.3所示。最后将这段语音信号保存在MATLAB下的Work文档中以便以后调用。并命名为“ywt【4】”。

图3 XP系统下的录音机

图4 语音信号参数设置

3.2语音信号的读取

在matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。

wavread函数调用格式

y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

y=wavread(file,N),读取前N点的采样值放在向量y中。

y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。

对语音信号“ywt.wav”进行采样其程序如下:

[y,fs,nbits]=wavread('ywt.wav')

语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。

图5 原始信号波形

3.3 噪声信号的构建

在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:白噪声、单频噪声(正弦干扰)、多频噪声(多正弦干扰)、其他干扰,可设置为低频、高频、带限噪声、Chirp干扰、冲激干扰。

绘制出叠加噪声之后的语音信号时域图形及频域图形,在视觉上与原始信号图形对比,也可以通过Windows播放软件或者是利用MATLAB中的sound()函数从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。

利用MATLAB中的随机函数(randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析。程序如下:

N=length(y); %求出语音信号的长度

noise=rand(N,2)/20;%噪声信号的函数

z=fft(noise);%快速傅里叶变换

subplot(2 ,1 ,1),plot(noise);title('噪声信号波形');

subplot(2 ,1 ,2),plot(abs(z));title('噪声信号频谱');

axis([0,250000,0,100]);

篇二:2014课程设计报告模板

XXXXXXX机电学院 电子课程设计报告(论文)

题目:多功能电子表设计

专业班级: 电气工程及其自动化123 姓 名: 时 间:2014.06.09~2014.06.20 指导教师:

完成日期:2014年06月 17日

交通灯控制器设计任务书

1.设计目的与要求

设计一个交通灯控制器,要认真并准确地理解有关要求,独立完成系统设计,在双干线的路口上,交通信号灯的变化按照下面假定进行计时:

(1)放行线,绿灯亮放行25秒,黄灯亮警告5秒,然后红灯亮禁止。 (2)禁止线,红灯亮禁止30秒,然后绿灯亮放行。

使两条路线交替的成为放行线和禁止线,便可实现交通控制。 (3)特殊情况下能实现手动操作。 2.设计内容

(1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出。 3.编写设计报告

写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩

在规定时间内,完成叙述并回答问题。

目录 (四号仿宋_GB2312加粗居中)

(空一行)

1 引言 ………………………………………………………………………………1 2 总体设计方案 ……………………………………………………………………1 2.1 设计思路 ………………………………………………………………………1 2.1.1交通灯控制系统的流程图 ………………………………………2 2.1.2 交通灯控制系统的流程 ……………………………………………2 2.2总体设计框图 ……………………………………………………………2 3 设计原理分析 ………………………………………………………………3 3.1 秒脉冲产生器 ………………………………………………………… ………3 3.2分频器 …………………………………………………………………………4 3.3 总控制电路 ……………………………………………………………………4 3.4预置校正电路 …………………………………………………………………8 3.5译码显示电路 …………………………………………………………………8 4 总结与体会 ……………………………………………………………………11 参考文献 …………………………………………………………………………11 附录1 ………………………………………………………………………………12 附录2………………………………………………………………………………13

(目录内容左右顶格,小四仿宋_GB2312,行距固定值20磅)

(页码从正文部分开始)

多功能电子表(三号仿宋_GB231,居中)

(空一行)

摘要: 本设计提出使交通灯的控制电路用数字信号自动控制十字路口的东西,南北方向两组红、绿、黄车辆行驶和人行道交通信号灯以及LED显示倒记时的状态转换的新方法,指挥各种车辆和行人安全通行,实现十字路口交通管理的自动化。{五号仿宋_GB231,行距固定值20磅} (一般3~5行)

关键词: 交通灯控制;秒脉冲发生;译码显示;LED信号灯 (一般3~4个) (空一行)

1 引言(1级标题:顶格,四号仿宋_GB2312加粗)

随着社会经济的发展,交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通控制系统是用于交通流量数据监测、……………..。

(正文:小四仿宋_GB2312,每段首行缩进2字符,行距固定值20。下同)

2 总体设计方案

2.1 设计思路 (2级标题:顶格,小四仿宋_GB2312 加粗)

为了克服常规设计思想中的弊端,本电路采用了建模的灰箱系统模型的设计思想…………。

交通灯的控制系统主要由总控制电路、东西向及南北向的译码显示电路和秒脉冲信号发生电路等部分组成…………。

2.1.1 交通灯控制流程 (3级标题:顶格,小四仿宋_GB2312)

交通灯控制系统流程图如图1所示。

图 1 交通灯控制系统流程图

(图与图名均居中,图要有名称,图名五号仿宋_GB231,图中字符不大于正文字体大小)

(注意:文中所有插图的图序依次为图1 、图2、图3......)

2.2 总体设计框图

交通灯控制器设计原理框图如图……………。

3 设计原理分析

3.1 秒脉冲产生器

秒脉冲产生器是由555集成定时器和R﹑C组成的多谐振荡器,用来产生标准时钟脉冲…………………………

GND1HZ

图2 秒脉冲发生电路

(电路图要求组成正确、参数清楚,需用专门工具(DXP等)绘制,不能用仿真图代替)

由状态图进行状态编码。扭循环计数器状态数:N=2*6=12个。如表1所示为扭循环计数器的状态数。

表 1 扭循环计数器各状态

(表名在上,表序依次为表1 、表2......)

4 总结与体会 (不宜过长)

本电路通过应用数字电路对交通灯的控制电路的设计,提出使交通灯的控制电路用数字信号自动控制十字路口的东西﹑南北方向两组红、绿、黄车辆行驶和人行道交通信号灯以及LED显示倒记时的状态转换的新方法,指挥各种车辆和行人安全………………………

篇三:课程设计报告

图书管理系统

一、设计题目与要求

【问题描述】

设计一个计算机管理系统完成图书管理基本业务。 【基本要求】

1.每种书的登记内容包括书号、书名、著作者、现存量和库存量; 2.对书号建立索引表(线性表)以提高查找效率; 3.系统主要功能如下:

a.采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;

b.借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;

c.归还:注销对借阅者的登记,改变该书的现存量。

二、需求分析

系统中除了main()函数,还有14个子程序,分由四位组员完成;OurTeam()实现对本组组员介绍;List()实现菜单选项输出提示;Menu()实现菜单功能选择;Init()实现首次进入系统时,对系统进行初始化,添加初始图书信息 ;LoadBook()和LoadReader()分别实现从磁盘文件Book.txt和Reader.txt将之前使用的图书、读者信息和借阅书信息加载入链表。InsertNewBook()实现新书入库;AddReader()实现添加读者信息;BorrowBook()和ReturnBook()分别实现借书还书;PrintReader()和PrintBook()分别实现输出全部读者信息和图书信息,读者信息包括已借书信息;退出系统时分别调用SaveReader()和SaveBook()函数把链表中的图书信息和读者信息保存到磁盘文件Reader.txt和Book.txt。

三、概要设计

系统用到的抽象数据类型定义:从整个管理系统来看,我们主要围绕两个实体

进行;一个是图书,另一个就是读者。图书信息结构体定义为:

typedef struct book {

char No[10]; char Name[20];

//书号 //书名 //作者

//现存量CurrentNumber //库存量 //图书信息结构体

char Writer[10]; int CurNum; int Acout;

struct book *next;

}BK;

借书信息结构体定义为: typedef struct borrow {

char borNum[10]; char limDate[8];

//借书号 //归还日期 //借书信息结构体

}BO;借书信息结构体作为读者信息元素出现。 读者信息结构体定义如下: typedef struct reader {

char reNum[10]; char reName[10]; int CurBook; BO borrow[MAX]; struct reader *next;

//读者编号 //读者姓名 //已借书数量 //读者信息结构体

}RD;其中MAX为读者允许的最大的借书量。借书过程通过在读者信息中修改borrow结构体完成。

两个全局指针定义如下: BK *HBook;

//HeadBook 全局图书指针

RD *HReader; //HeadReader 全局读者指针

四、算法设计 1. 算法设计思想

本次课程设计的图书管理系主要用了结构体、链表、数组、函数调用以及一

些基本的C语言知识。以下分别说明链表、结构体和指针的定义和使用:

(1)链表 链表是一种动态的数据结构,它是由一个一个的结点通过指针的方式相连组成的。链表中的各元素在内存中的存储单元可以不连续,有效地避免了顺序存储方式占用大块存储空间、可能造成资源浪费的缺点。链表中的每个结点一般由两部分组成,一部分是数据域,一部分是指针域。这在图书的添加和删除中发挥了重要作用。

(2)结构体 结构体变量的定义与一般变量定义是相同的,但他们的不同在于,结构体中的数据类型可以是多种形式,这样就避免了在定义图书管理系统变量时出现不同数据类型而无法同时定义的问题。

(3)指针 指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串。指针极大地丰富了C语言的功能。通过访问指针变量取得了数组或函数的首地址, 也就找到了该数组或函数。这样一来, 凡是出现数组,函数的地方都可以用一个指针变量来表示, 只要该指针变量中赋予数组或函数的首地址即可。这样做, 将会使程序的概念十分清楚,程序本身也精练,高效。在C语言中, 一种数据类型或数据结构往往都占有一组连续的内存单元。 用“地址”这个概念并不能很好地描述一种数据类型或数据结构, 而“指针”虽然实际上也是一个地址,但它却是一个数据结构的首地址, 它是“指向”一个数据结构的,因而概念更为清楚,表示更为明确。

2. 算法的流程图

以下是详细流程图:

a.系统开始输出小组组员介绍

系统整体流程图为:

b.进入系统后首先进行图书初始化,输入图书的信息。

c.初始化之后,进入系统,显示功能列表,可选择任意操作,但在借书之前先


课程设计报告
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/show/36707.html
转载请保留,谢谢!
相关阅读
最近更新
推荐专题