matlab白噪音wav,为声音文件添加白噪音

浏览量:

1,154

(在苹果系统下,如果文章中的图片不能正常显示,请升级Safari浏览器到最新版本,或者使用Chrome、Firefox浏览器打开。)

在数字信号的处理中,我们在研究一些问题的时候,经常会用到噪音,甚至有时候专门产生噪音并添加到某些信号中来研究一些问题。比如,图像和语音识别等任务中添加一些不同的噪音来测试机器学习模型在有噪音环境下的识别率。我们就需要使用一些方法来产生噪音并且添加到原信号中去。

噪声从物理角度上看,是声波的频率、强弱变化无规律、杂乱无章的声音。[1] 白噪声,是一种功率谱密度为常数的随机信号或随机过程。“白色”仅意味着信号是不相关的,白噪声定义要求其均值为零,但没有对信号应当服从哪种概率分布作出任何假设。如果某白噪声过程服从高斯分布,则它是“高斯白噪声”。类似的,还有泊松白噪声、柯西白噪声等。[2]

所以,我们可以使用随机函数来产生分布在 (-1,1)区间内的噪音信号,在MATLAB中,可以使用rand()和randi()等函数来产生。下面我将简单介绍两种白噪音。

均匀分布的白噪音

均匀分布的白噪音在取值区间上,信号值服从均匀分布。在(-1,1)区间内的均匀分布期望值为0。我们通过随机函数产生白噪音后,再将原信号和噪音信号按比例混淆,即加权平均。MATLAB实现过程如下:

%为语音序列添加白噪音

[wav,fs]=audioread('audio.wav'); %读入声音文件

noisewav(1:size(wav))=0;

for i=1:size(wav)

noisewav(i)=rand*(-1)^randi

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值