数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx

上传人:b****2 文档编号:15236120 上传时间:2022-10-28 格式:DOCX 页数:17 大小:127.86KB
下载 相关 举报
数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx_第1页
第1页 / 共17页
数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx_第2页
第2页 / 共17页
数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx_第3页
第3页 / 共17页
数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx_第4页
第4页 / 共17页
数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx

《数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx(17页珍藏版)》请在冰豆网上搜索。

数字信号处理课程设计报告基于MATLAB的语音去噪处理Word下载.docx

负责课程设计实验MATLAB仿真对实验结果进行分析,上网查阅材料

对实验发表自己看法同时对实验要求进行扩展。

对论文进行抒写,排版

潘爽使实验课程设计更加完善。

第2页

1、设计目的

(1)巩固所学的数字信号处理理论知识,理解信号的采集、处理、加噪、去噪过程;

(2)综合运用专业及基础知识,解决实际工程技术问题的能力;

(3)学习资料的收集与整理,学会撰写课程设计报告。

2、设计任务

(1)语音信号的录制。

(2)在MATLAB平台上读入语音信号。

(3)绘制频谱图并回放原始语音信号。

(4)利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。

(5)利用MATLAB编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号。

(6)通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。

其大概流程框图可如下表示:

(图2-1)

图2-1课程设计的流程

第3页

3、设计原理

3.1去噪原理

3.1.1采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:

fs.max>

=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5,10倍;

采样定理又称奈奎斯特定理。

1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:

理想低通信道的最高大码元传输速率=2W*log2N(其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?

在数字通信中,根据采样定理,最小采样频率为语音信号最高频率的2倍

频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1?

Δt),f(t1?

2Δt),...来表示,只要这些采样点的时间间隔Δt?

1/2F,便可根据各采样值完全恢复原来的信号f(t)。

这是时域采样定理的一种表述方式。

时域采样定理的另一种表述方式是:

当时间信号函数f(t)的最高频率分量为fM时,f(t)的值可由一系列采样间隔小于或等于1/2fM的采样值来确定,即采样点的重复频率f?

2fM。

图为模拟信号和采样样本的示意图。

时域采样定理是采样误差理论、随机变量采样理论和多变量采样理论的基础。

对于时间上受限制的连续信号f(t)(即当?

t?

>

T时,f(t)=0,这里T=T2-T1是信号的持续时间),若其频谱为F(ω),则可在频域上用一系列离散的采样值

(2-1)

采样值来表示,只要这些采样点的频率间隔

(2-2)

3.1.2采样频率

采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。

采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。

通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。

采样频率的常用的表示符号是fs。

通俗的讲采样频率是指计算机每秒钟采集多

第4页

少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

采样频率与声音频率之间有一定的关系,根据采样定理,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。

这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。

无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。

每增加一个采样位数相当于力度范围增加了6dB。

采样位数越多则捕捉到的信号越精确。

对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。

显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确.

4、设计过程

4.1语音文件在MATLAB平台上的录入与打开

单击自己的电脑开始程序,选择所有程序,接着选择附件,再选择娱乐,最后选择录音。

自己录入“毕业设计”语音信号,然后保存在MATLAB文件夹里面,命名为“wangqingtian.wav”。

利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。

[y,fs,bits]=wavread('

[N1N2]);

用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。

[N1N2]表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。

4.2原始语音信号频谱分析及仿真

再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。

对于波形图与频谱图(包括滤波前后的对比图)都可以用MATLAB画出。

我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。

选择设计此方案,是对数字信号处理的一次实践。

在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。

这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面。

这个方案用到的软件也是在数字信号处理中非常通用的一个软件——MATLAB软件。

所以这个课题

第5页

的设计过程也是一次数字信号处理在MATLAB中应用的学习过程。

课题用到了较多的MATLAB语句,而由于课题研究范围所限,真正与数字信号有关的命令函数却并不多。

sound(x,fs,bits);

用于对声音的回放。

向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。

FFT的MATLAB实现:

在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。

下面介绍这些函数。

函数FFT用于序列快速傅立叶变换。

函数的一种调用格式为y=fft(x)

其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。

且和x相同长度。

若x为一矩阵,则y是对矩阵的每一列向量进行FFT。

如果x长度是2的幂次方,函数fft执行高速基,2FFT算法;

否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。

函数FFT的另一种调用格式为y=fft(x,N)

式中,x,y意义同前,N为正整数。

函数执行N点的FFT。

若x为向量且长度小于N,则函数将x补零至长度N。

若向量x的长度大于N,则函数截短x使之长度为N。

若x为矩阵,按相同方法对x进行处理。

经函数fft求得的序列y一般是复序列,通常要求其幅值和相位。

MATLAB提供求复数的幅值和相位函数:

abs,angle,这些函数一般和FFT同时使用。

函数abs(x)用于计算复向量x的幅值,函数angle(x)用于计算复向量的相角,介于和之间,以弧度表示。

函数unwrap(p)用于展开弧度相位角p,当相位角绝对变化超过时,函数把它扩展至。

用MATLAB工具箱函数fft进行频谱分析时需注意:

(1)函数fft返回值y的数据结构对称性

一般而言,对于N点的x(n)序列的FFT是N点的复数序列,其点n=N/2+1对应Nyquist频率,作频谱分析时仅取序列X(k)的前一半,即前N/2点即可。

X(k)的后一半序列和前一半序列时对称的。

(2)频率计算

第6页

若N点序列x(n)(n=0,1,…,N-1)是在采样频率下获得的。

它的FFT也是N点序列,即X(k)(k=0,1,2,…,N-1),则第k点所对应实际频率值为f=k*f/N.(3)作FFT分析时,幅值大小与FFT选择点数有关,但不影响分析结果。

下面的一段程序是语音信号在MATLAB中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图。

[x,fs,bits]=wavread('

C:

\Users\Administrator\Desktop\数字信号处理课程设计\1.wav’);

sound(x,fs,bits);

X=fft(x,4096);

magX=abs(X);

angX=angle(X);

subplot(221);

plot(x);

title('

原始信号波形'

);

subplot(222);

plot(X);

title('

原始语音信号采样后的频谱图‘)

subplot(223);

plot(magX);

原始信号幅值'

subplot(224);

plot(angX);

原始信号相位'

程序运行可以听到声音,得到的图形为:

第7页

图4—1原始语音波形、幅值、相位以及采样后频谱图

4.3加噪语音信号频谱分析及仿真

(1)正弦波信号加入原始语音信号

前面已经介绍了MATLAB软件相关知识,那么我们怎么在没没ATLAB平台上实现对一段原始语音信号加入一个正弦波信号呢,

下面一段程序实现了在原始语音信号加入正弦波信号。

程序见附录5

分析此段程序可知,此程序是先对原始语音信号做时域波形分析和频谱分析,然后再对加噪的语音信号做时域波形分析和频谱分析。

首先通过MATLAB中调用和回放语音信号命令来实现对原始语音信号的调用和回放,程序如下:

\Users\Administrator\Desktop\数字信号处理课程设计\1.wav'

sound(y,fs)

由于在MATLAB中,如要实现两个信号的相加减,那么两个信号的长度和维度都要一

第8页

样才能相加减。

程序中:

n=length(y)用于计算信号的长度和选取变换的点数。

然后用傅里叶变换到频域:

y_p=fft(y,n);

通过函数f=fs*(0:

n/2-1)/n;

计算出对应点的频率,然后绘制出原始语音信号的时域波形和频谱图。

图形如下:

(图4—2)

图4—2原始语音信号采样后时域波形和频谱图

上段程序中,函数noise是频率为3000Hz的正弦波信号噪音,语句y_z=y+noise实现了两个信号的相加,然后绘制加噪后的语音信号时域波形和频谱图并回放加噪后的语音信号。

加噪后的时域波形和频谱图如下:

(图4—3)

第9页

图4-3加噪语音信号时域波形和频谱图

如上所示,通过对加噪前和加噪后语音信号的图像的对比和对语音信号回放的人耳感知可以知道,加入正弦波信号后频谱图和时域波形并没有什么明显的变化,而人耳听到的声音也几乎没有什么变化。

(2)随机噪音信号加入原始语音信号

matl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1