小木虫
登陆
|
注册
首页
导读
期刊
发现
社区
招聘老师
当前位置:
首页
>
程序语言
>
matlab处理声音
matlab处理声音
作者
沉默18
来源:
小木虫
750
15
举报帖子
+关注
利用matlab已经读出声音波形图,并用fft得到频谱图,请问我该怎么做才能得到声音的dB?谢谢各位
返回小木虫查看更多
分享至:
更多
今日热帖
EndNote ...
急哭了,MATL...
分享——模糊逻辑...
利用matlab...
程序优化
41款GUI实例...
microsof...
一张图带你清楚的...
精华评论
somomo91
正常是
CODE:
Pref=20; % 20microPascal
Y = fft(y)
db = 20*log10((abs(Y)/Pref))
但有很多解释,比较啰嗦
或者你可以用最新的 MATLAB 2018A,语音处理工具箱 新添加了一个 splMeter ,专门量 spl 的,这个比较标准,最好用这个
somomo91
引用回帖:
3楼
:
Originally posted by
沉默18
at 2018-05-23 08:34:24
非常感谢您!Y=fft(y),Y不是是声压才可以用您下面那个分贝计算公式?您知道怎么才能得到声压吗?
...
计算声压有很多方法,用FFT 也可以,或者用其他的 filter
通常,更好的是用 A-weighting
CODE:
AWeighting = weightingFilter('A-weighting', 48000)
我现在没法用MATLAB测试,你可以先试试这个例子,用 butter filter,
CODE:
[wav,fs_Hz]=audioread( "audiofile.wav" %load the WAV file
my_cal_factor = 1.0; %the value for your system to convert the WAV into Pascals
wav_Pa = wav * my_cal_factor;
%extract the envelope
smooth_sec = 0.125; %"FAST" SPL is 1/8th of second. "SLOW" is 1 second;
smooth_Hz = 1/smooth_sec;
[b,a]=butter(1,smooth_Hz/(fs_Hz/2),'low'); %design a Low-pass filter
wav_env_Pa = sqrt(filter(b,a,wav_Pa.^2)); %rectify, by squaring, and low-pass filter
%compute SPL
Pa_ref = 20e-6; %reference pressure for SPL in Air
SPL_dB = 10.0*log10( (wav_env_Pa ./ Pa_ref).^2 ); % 10*log10 because signal is squared
%plot results
figure;
subplot(2,1,1);
t_sec = ([1:size(wav_Pa)]-1)/fs_Hz;
plot(t_sec,wav_Pa);
xlabel('Time (sec)');
ylabel('Pressure (Pa)');
subplot(2,1,2)
plot(t_sec,SPL_dB);
xlabel('Time (sec)');
ylabel('SPL (dB)');
yl=ylim;ylim(yl(2)+[-80 0]);
,
qqinly
引用回帖:
6楼
:
Originally posted by
沉默18
at 2018-05-24 17:44:43
请问,怎么能得到横轴为频率,纵轴为db呢?
...
dB 是个相对值,要看你以什么参考功率为基准,而绝对值是 dBm 和 dBW,参考功率分别为 mW 和 W ,举个例子:
效果如下:
15
1
2
››
猜你喜欢
板块导航
网络生活
育儿交流
健康生活
有奖问答
资源共享
课件资源
试题资源
化学化工
有机
高分子
无机物化
分析
催化
工艺技术
化工设备
化工
精细化工
电化学
环境
专业学科
机械
物理
数学
农林
食品
地学
能源
信息科学
理工农林
科研生活
博后之家
专业外语
外语学习
导师招生
找工作
招聘信息
考研
考博
公务员
生物医药
新药研发
药学
药品生产
分子生物
微生物
动植物
生物科学
医学
材料
材料
材料工程
微米纳米
晶体
金属
非金属
生物材料
功能材料
复合材料
计算模拟
第一原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
学术交流
论文投稿
基金申请
学术会议
出国留学
留学生活
公派出国
访问学者
海外博后
留学DIY
签证指南
出国考试
海外院所
注册执考
化工工程师
执业药师
执业医师
环境工程师
会计师
注册考试
24小时热帖
换一批
10043以后咋出去啊
3
两类问题算是白选了~
13
25年博士申请
12
博士论文被抄袭
43
"颜宁:基础研究应顶天立地"能做到基础研究同时顶天立地的才是牛人
6
应助之星
nono2009
+关注
topedit
+关注
cc116
+关注
小肉干
+关注
jiagle
+关注
下载小木虫APP
与700万科研达人随时交流
二维码
IOS
安卓
欢迎监督和反馈
:小木虫仅提供交流平台,不对该内容负责。
欢迎协助我们监督管理,共同维护互联网健康,违规贴举报删除请联系邮箱:libolin3@tal.com 或者 QQ:64901448
(点此查看侵权举报方式)
我们保证在7个工作日内给予处理和答复,谢谢您的监督。
©2001-2024 muchong.com,小木虫
京ICP备16008351号
京公网安备 11010802022153号
Copyright © 2001-2024 muchong.com, All Rights Reserved. 小木虫 版权所有
正常是
但有很多解释,比较啰嗦
或者你可以用最新的 MATLAB 2018A,语音处理工具箱 新添加了一个 splMeter ,专门量 spl 的,这个比较标准,最好用这个
计算声压有很多方法,用FFT 也可以,或者用其他的 filter
通常,更好的是用 A-weighting
我现在没法用MATLAB测试,你可以先试试这个例子,用 butter filter,
,
dB 是个相对值,要看你以什么参考功率为基准,而绝对值是 dBm 和 dBW,参考功率分别为 mW 和 W ,举个例子:
效果如下: