【转帖】MATLAB对语音信号加随机噪声及去噪程序

MATLAB对语音信号加随机噪声及去噪程序

(2011-01-28 23:26:51)

%对语言信号做原始的时域波形分析和频谱分析

[y,fs,bits]=wavread(‘C:\Documents and Settings\Administrator\桌面\cuocuo.wav‘);

%  sound(y,fs)      % 回放语音信号

n=length(y)  %选取变换的点数

y_p=fft(y,n);      %对n点进行傅里叶变换到频域

f=fs*(0:n/2-1)/n;   % 对应点的频率

figure(1)

subplot(2,1,1);

plot(y);                    %语音信号的时域波形图

title(‘原始语音信号采样后时域波形‘);

xlabel(‘时间轴‘)

ylabel(‘幅值 A‘)

subplot(2,1,2);

plot(f,abs(y_p(1:n/2)));     %语音信号的频谱图

title(‘原始语音信号采样后频谱图‘);

xlabel(‘频率Hz‘);

ylabel(‘频率幅值‘);

%对音频信号产生噪声

L=length(y)        %计算音频信号的长度

noise=0.1*randn(L,2);  %产生等长度的随机噪声信号(这里的噪声的大小取决于随机函数的幅度倍数)

y_z=y+noise;        %将两个信号叠加成一个新的信号——加噪声处理

%sound(y_z,fs)

%对加噪后的语音信号进行分析

n=length(y);  %选取变换的点数

y_zp=fft(y_z,n);      %对n点进行傅里叶变换到频域

f=fs*(0:n/2-1)/n;   % 对应点的频率

figure(2)

subplot(2,1,1);

plot(y_z);                    %加噪语音信号的时域波形图

title(‘加噪语音信号时域波形‘);

xlabel(‘时间轴‘)

ylabel(‘幅值 A‘)

subplot(2,1,2);

plot(f,abs(y_zp(1:n/2)));     %加噪语音信号的频谱图

title(‘加噪语音信号频谱图‘);

xlabel(‘频率Hz‘);

ylabel(‘频率幅值‘);

对加噪的语音信号进行去噪程序如下:

fp=1500;fc=1700;As=100;Ap=1;

(以上为低通滤波器的性能指标)

wc=2*pi*fc/fs; wp=2*pi*fp/fs;

wdel=wc-wp;

beta=0.112*(As-8.7);

N=ceil((As-8)/2.285/wdel);

wn= kaiser(N+1,beta);

ws=(wp+wc)/2/pi;

b=fir1(N,ws,wn);

figure(3);

freqz(b,1);

(此前为低通滤波器设计阶段)——接下来为去除噪声信号的程序——

x=fftfilt(b,y_z);

X=fft(x,n);

figure(4);

subplot(2,2,1);plot(f,abs(y_zp));

title(‘滤波前信号的频谱‘);

subplot(2,2,2);plot(f,abs(X));

title(‘滤波后信号频谱‘);

subplot(2,2,3);plot(y_z);

title(‘滤波前信号的波形‘)

subplot(2,2,4);plot(x);

title(‘滤波后信号的波形‘)

%sound(x,fs,bits)  %回放滤波后的音频

设计滤波器:

器常用的方法有:脉冲响应不变法和双线性变换法。

数字信号中我们了解到,脉冲响应不变法好处是模拟角频率Ω和数字频率w呈现线性关系w=ΩT,但主要的缺点是它会产生频谱混叠现象,使数字滤波器的频率响应偏离模拟滤波器的频响特性。为了克服这一缺点我们常采用双线性变换法。

下面我们给出IIR数字滤波器和FIR数字滤波器的设计步骤:

一、IIR滤波器的设计步骤如下:

(1)、确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减、阻带截止频率、阻带最小衰减。

(2)、将数字低通滤波器的技术指标转换成响应的模拟低通滤波器的技术指标。

(3)、按照模拟低通滤波器的技术指标设计模拟低通滤波器。

(4)、用双线性变换法将模拟滤波器系统函数转换成数字低通滤波器系统函数。

二、FIR滤波器的设计步骤如下:(重点介绍窗函数法)

(1)、根据对阻带衰减以及过渡带的指标要求,选择窗函数类型(有:矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。在保证阻带衰减满足要求的情况下,尽量选择主瓣集中的窗函数。

(2)、构造希望逼近的频率响应函数。

(3)、计算h(n),有限长序列

(4)、加窗得到设计结果。

时间: 2024-10-08 09:24:55

【转帖】MATLAB对语音信号加随机噪声及去噪程序的相关文章

[转] Matlab中给信号加高斯白噪声的方法

MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度. y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗. y = wgn(m,n,p,imp,state) 重置RANDN的状态. 在数值变量后还可附加一些标志性参数: y = wgn(

语音信号实时采集与处理

<一>基于MATLAB的语音信号采集和分析系统的可视化设计 论文摘要:设计和开发了一种基于MATLAB的语音采集与分析的可视化系统,该系统通过Realtek Ac97型声卡和MATLAB的数据采集工具箱低成本地实现了语音信号的实时采集,并利用 MATLAB 强大的数值计算和信号处理功能高精度地完成了语音信号的分析工作.系统还使用 MATLAB 的图形用户界面设计工具进行了优化,通过简单的对话框和菜单操作取代了复杂的程序修改和调试过程,使得系统的使用更加方便灵活. 论文理解:系统主要包括语音采集

语音信号中的特征提取

原文链接地址:http://blog.csdn.net/u010451580/article/details/51178190 一.语音的产生简介 1.1   发音器官 人体的语音是由人体的发音器官在大脑的控制下做生理运动产生的.人体发音器官由三部分组成:肺和气管.喉.声道. 肺是语音产生的能源所在.气管连接着肺和喉,是肺与声道的联系通道.喉是由一个软骨和肌肉组成的复杂系统,其中包含着重要的发音器官--声带.声带为产生语音提供主要的激励源.声道是指声门(喉)至嘴唇的所有发音器官,包括咽喉.口腔和

语音信号短时域分析之预处理(三)

语音信号是一种非平稳的时变信号,它携带着各种信息.一般而言语音处理目的有两种,一种是对语音信号进行分析,提取特征参数,用于后续处理:一种是加工语音信号,如在语音增强中对含噪语音进行背景噪声抑制,以获得相对"干净"的语音. 根据分析参数不同,可分为时域分析和变换域(频域.倒谱域)分析,其中时域分析是最简单.最直观的方法,它直接对语音信号的时域波形进行分析提取主要有语音短时能量和平均幅度.短时平均过零率.短时自相关函数和短时平均幅度差函数等. 实际的语音信号是模拟信号,因此在对语音信号进行

语音信号的梅尔频率倒谱系数(MFCC)的原理讲解及python实现

梅尔倒谱系数(MFCC) 梅尔倒谱系数(Mel-scale FrequencyCepstral Coefficients,简称MFCC).依据人的听觉实验结果来分析语音的频谱, MFCC分析依据的听觉机理有两个 第一Mel scale:人耳感知的声音频率和声音的实际频率并不是线性的,有下面公式 $$f_{mel}=2595*\log _{10}(1+\frac{f}{700})$$ $$f = 700 (10^{f_{mel}/2595} - 1)$$ 式中$f_{mel}$是以梅尔(Mel)为

如何将声学的spectrogram(声谱图)重新反变换成时域语音信号

最近在研究一些信号分析的事情,感兴趣如何将频谱信号反变换成时域信号.fft 与ifft可以顺畅的转变,但是这个是一帧信号,当时间较长的信号再一起是,通过反变换变成一帧一帧的时域信号,如何把他们拼接起来非常感兴趣,以后会做一些尝试,这里先留个档案. 1.将声音转化为声谱图(Spectrogram) 通过短时傅里叶变换. 2.将声谱图转换为声音 1. 通过ifft将一帧一帧的FFT信号(即1维的FFT信号数组X(F)(i)[ i=0 to length( X(f) ) ])变换成一小段一小段的时域信

数字语音信号处理学习笔记——语音信号的短时时域分析(1)

3.1 概述 语音信号是一种非平稳的时变信号,它携带着各种信息.在语音编码.语音合成.语音识别和语音增强等语音处理中都需要提取语音中包含的各种信息.一般而言语音处理的目的有两种:一种是对语音信号进行分析,提取特征参数,用于后续处理:另一种是加工语音信号,例如在语音增强中对含噪语音进行背景噪声抑制,以获得相对"干净"的语音:在语音合成方中需要对分段语音进行拼接平滑,获得主观音质较高的合成语音,这方面的应用同样是建立在分析并提取语音信号信息的基础上的.总之,语音信号分析的目的就在于方便有效

语音信号分析

所谓的语音信号分析就是提取表征语音特征的信息,以进行后续的处理:语音识别.说话人识别等.语音特征信息及特征参数的提取.由于语音信号具有短时平稳特性,及在短时内特征参数稳定不变,一般时长为10~30ms,故通常将语音分帧处理,以获得稳定的特征参数.综上,对于一段语音信号,分析时通常表示为由每一帧特征参数组成的特征参数序列. 语音信号处理基本步骤: 端点检测(VAD)切除静音 1预滤波.采样.(A\D)转换 2编码(常用格式PCM ALAW MULAW) 3预处理:(处理已经数字化的信号) 预加重加

【自动语音识别课程】第二课 语音信号分析

[传送门] [自动语音识别课程]第一课 统计语音识别介绍 原文地址:http://blog.csdn.net/joey_su/article/details/36414877 转载请注明出处,欢迎交流. 概述 针对ASR的语音信号分析 特征 频谱分析 倒谱分析 标准特征:MFCC和PLP分析 动态特征 第一课的结尾提到了语音识别的框图,下图展示了信号分析技术在语音识别系统中的位置: 我们先来认识下语音的产生过程: 语音是在发音器官和声道共同作用下产生的.说话时,声带振动发出具有一定周期特性(基音