对采集的语音信号进行matlab设计与分析课程设计报告 30

上传人:我** 文档编号:113626989 上传时间:2019-11-09 格式:DOC 页数:41 大小:2.15MB
返回 下载 相关 举报
对采集的语音信号进行matlab设计与分析课程设计报告 30_第1页
第1页 / 共41页
对采集的语音信号进行matlab设计与分析课程设计报告 30_第2页
第2页 / 共41页
对采集的语音信号进行matlab设计与分析课程设计报告 30_第3页
第3页 / 共41页
对采集的语音信号进行matlab设计与分析课程设计报告 30_第4页
第4页 / 共41页
对采集的语音信号进行matlab设计与分析课程设计报告 30_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《对采集的语音信号进行matlab设计与分析课程设计报告 30》由会员分享,可在线阅读,更多相关《对采集的语音信号进行matlab设计与分析课程设计报告 30(41页珍藏版)》请在金锄头文库上搜索。

1、 41 语 音 信 号 采 集 与 处 理主 题: Matlab与信息系统仿真课程设计 组 长: XXX 组 员: XXXXXXX 班 级: 电子信息工程1201 目 录第一章 课程设计情况概述1.1 课程设计目的31.2 课程设计内容31.3 小组分工3第二章 具体实现方案及小结2.1 第(1)、(2)版块:录制语以及频谱分析4 2.1.1 板块要求4 2.1.2 版块分析及具体实现代码42.1.3 Matlab仿真结果图52.2 第(3)版块:采样72.2.1 版块要求72.2.2 板块分析及具体实现代码 72.3 第(4)版块:对语音实现几种常见变化132.3.1 版块要求132.3.2

2、 板块分析及具体实现代码132.4 第(5)版块:调制、解调252.4.1 板块要求25 2.4.2 版块分析及具体实现代码252.4.3 Matlab仿真结果图282.5 第(6)版块:加噪、滤波322.5.1 板块要求32 2.5.2 版块分析及具体实现代码322.6 小结41 第一章 课程设计情况概述1.1课程设计目的本课程设计要求掌握Matlab语言特性、数学运算和图形表示;掌握 Matlab程序设计方法在信息处理方面的一些应用;掌握在 Windows 环境下,利用Matlab进行语音信号 采集与处理的基本方法。综合设计实验方案设计5天分析题目,查找相关资料,利用已掌握知识、原理,提出

3、设计具体方案,拟订设计步骤,确定方案,编写程序代码并上机调试,修改完善设计,记录数据,分析结果。1.2 课程设计内容这次的课程设计大致分为两个阶段,一周为一个阶段。1.关于Matlab的基础训练Matlab在信号与系统、随机信号处理中的基本应用 2.综合设计:语音信号的采集与处理 (1)利用 windows 自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。 (2)对录制的语音信号进行频谱分析,确定该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉 or 尖锐?) (3)利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临

4、界采样)对信号的影响。 (4)实现语音信号的快放、慢放、倒放、回声、男女变声。 (5)对采集到的语音信号进行调制与解调,观测调制与解调前后信号的变化。 (6)对语音信号加噪,然后进行滤波,分析不同的滤波方式对信号的影响。1.3 小组分工第(1)、(2)版块XXX,第(3)版块XXX,第(4)版块XXX,第(5)版块XXX,第(6)版块XXX,报告最终由组长统一整理。第二章 具体实现方案2.1 第(1)、(2)版块:录制语音以及频谱分析2.1.1 版块要求:利用windows自带的录音机或者其它录音软件,录制几段语音信号(要有几种不同的声音,要有男声、女声)。 对录制的语音信号进行频谱分析,确定

5、该段语音的主要频率范围,由此频率范围判断该段语音信号的特点(低沉还是尖锐?)2.1.2 版块分析及具体实现代码:先录制几段音频,再利用Matlab编程对其进行频谱分析。x1,fs,nbits=wavread(D:matlab语音样本.wav); %读取音频文件,识别的是音频存放地址 sound(x1,fs); %利用matlab中发声函数sound语句 N=length(x1); M=log(N)/log(2); Q=round(M); %round函数是对所得数取整S=2Q; %求得与N最接近的2的n次幂n=0:N-1; %从0取到N-1X=fft(x1); %进行傅里叶变换 Fs=1*fs

6、; f=n/N*Fs; %图2的横坐标figure(1); subplot(2,1,1);plot(n,x1); %绘制原音频信号图 title(原始音频信号); Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp); axis(0,3000,0,0.01) %绘制频谱图 title(音频的幅度谱);在设计算法的过程中,本段程序的难点在于如何找到与length(x1)最接近的2的n次幂,以及傅立叶变换之后的频谱值(即图中的纵坐标值)。通过先对length(x1)求2的对数,再利用round函数进行四舍五入求整,最终得到想

7、要的最接近length(x1)的2的n次幂。2.1.3 Matlab仿真结果图:从图中可以读出这段音频信号的频率大概在100800赫兹,比较低沉,一般来说应该是男声。从图中可以读出这段音频信号的频率大概在7001400赫兹,比较尖锐,一般来说应该是女声。2.2 第(3)版块:采样2.2.1 版块要求利用采样定理,对该段语音信号进行采样,观察不同采样频率(过采样、欠采样、临界采样)对信号的影响。2.2.2 板块分析及具体实现代码这里涉及到采样下重采样的问题。所谓重采样就是对一系列离散的数字信号进行插值(升频)或去值(降频),以改变原有信号的采样率,在Matlab中,可以用resample(x,p

8、,q),decimate(x,r)函数实现。也可以将原有音频进行重构,对获得的波形进行二次采样,不过这样比较麻烦。本段程序采用的是resample(x,p,q)函数,所用的音频时间大概有3秒,更有利于观察对频谱的影响。 RESAMPLE函数的原理:p/Q是确定采样频率的必要条件,由于系统录音所确定的采样频率由x1,fs,nbits=wavread(D:matlabnv.wav)所决定;%读取音频文件返回值为44100hz。对于所用音频,其频谱分析出来的最高频率是fm=1750 hz。由采样定理得,采样频率fs=2fm=3500 hz,大约是44100的1/13。当为临界采样时fs=2fm,确定

9、p=1,Q=13,采样频率为3500 hz;当为过采样时fs2fm, 确定P=1,Q=10,采样频率为4410 hz;当为欠采样时fs2fm,确定P=1,Q=18,采样频率为2450 hz;程序代码:x1,fs,nbits=wavread(D:matlab nv.wav); %读取音频文件,识别的是地址 sound(x1,fs); %利用matlab中发声函数sound语句 N=length(x1);M=log(N)/log(2);Q=round(M) ;S=2Q;n=0:N-1; %n从0取到N-1X=fft(x1); %进行傅里叶变换 Fs=1*fs; f=n/N*Fs; figure(1

10、); subplot(2,1,1);plot(n,x1); %绘制原音频信号 title(原始音频信号); Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp); axis(0,4000,0,0.01) %绘制频谱图 title(音频的幅度谱); 临界采样: x,fs,nbits=wavread(D:matlabnv.wav); %读取音频文件,识别的是地址 x2=resample(x,1,13); %采样频率化为3500Hzsound(x2,fs/13); %利用matlab中发声函数sound语句 N=length(

11、x2);M=log(N)/log(2);Q=round(M) ;S=2Q;n=0:N-1; %从0取到N-1X=fft(x2);%进行傅里叶变换 Fs=fs/14; f=n/N*Fs; figure(2) subplot(2,1,1);plot(n,x2);%绘制原音频信号 title(临界采样后原始音频信号); Amp=abs(X)/(S/2);Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp); axis(0,4000,0,0.01)%绘制频谱图 title(临界采样音频的幅度谱); 过采样: x,fs,nbits=wavread(D:matlab

12、nv.wav);%读取音频文件,识别的是地址 x3=resample(x,1,10);%采样频率化为4410Hz sound(x3,fs/10); %利用matlab中发声函数sound语句 N=length(x3);M=log(N)/log(2);Q=round(M) ;S=2Q;n=0:N-1; %从0取到N-1X=fft(x3);%进行傅里叶变换 Fs=fs/10; f=n/N*Fs;figure(3); subplot(2,1,1);plot(n,x3);%绘制原音频信号 title(过采样后原始音频信号); Amp=abs(X)/(S/2); Amp(1,:)=Amp(1,:)/2;subplot(2,1,2);plot(f,Amp); axis(0,4000,0,0.01)%绘制频谱图 tit

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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