function A_weight_dB()

clear all;clc;

Audio_File='.\';

% 获取文件夹下的所有文件信息,并存入music结构体

music=dir([Audio_File '*.wav']);

Calculate(Audio_File,music);

end

function  Calculate(Audio_File,music)

for i=1:length(music)

[y,fs]=audioread(strcat(Audio_File,music(i).name));

Frame_Len=3000;                                       % 帧长

End_Frame=length(y)-Frame_Len;                        % 结束帧位置

Step_Len=Frame_Len;                                   % 步长

dBA=[];cnt=1;

for k=0:End_Frame/Step_Len

Frame=y(k*Step_Len+1:k*Step_Len+Frame_Len);

[~,dBA(cnt,1)] = estimateLevel2(Frame,fs,55);

cnt=cnt+1;

end

Mean_dBA=mean(dBA)

Max_dBA=max(dBA)

end

end

function [X,dBA] = estimateLevel2(x,Fs,C)

% 计算分贝

X = abs(fft(x));

XX=X;

f = (Fs/length(X))*[0:(length(X)-1)];

ind = find(f

f = f(ind);

X= X(ind);

indx=find(X>0);

X(X == 0) = 1e-17;

A = filterA(f);

min_X=min(X);

X=X*(1/min_X);

X = A'.*X;

X=X/(1/min_X);

if ~isempty(indx)

X=X(indx);

totalEnergy = sum(X.^2)/length(X);

meanEnergy = totalEnergy/((1/Fs)*length(X));

dBA = 10*log10(meanEnergy+1)+C;

if dBA<30

dBA=30;

end

X = 20*log10(X);

else

dBA=30;

X=XX;

end

end

function A = filterA(f,plotFilter)

c1 = 3.5041384e16;

c2 = 20.598997^2;

c3 = 107.65265^2;

c4 = 737.86223^2;

c5 = 12194.217^2;

% Evaluate A-weighting filter.

f(find(f == 0)) = 1e-17;

f = f.^2; num = c1*f.^4;

den = ((c2+f).^2) .* (c3+f) .* (c4+f) .* ((c5+f).^2);

A = num./den;

% Plot A-weighting filter (if enabled).

if exist('plotFilter') & plotFilter

% Plot using dB scale.

figure(2); clf;

semilogx(sqrt(f),10*log10(A));

title('A-weighting Filter');

xlabel('Frequency (Hz)');

ylabel('Magnitude (dB)');

xlim([10 100e3]); grid on;

ylim([-70 10]);

% Plot using linear scale.

figure(3); plot(sqrt(f),A);

title('A-weighting Filter');

xlabel('Frequency (Hz)');

ylabel('Amplitude');

xlim([0 44.1e3/2]); grid on;

end

end

matlab中求声音的长度,关于声音分贝大小相关推荐

  1. MATLAB中求矩阵非零元的坐标

    MATLAB中求矩阵非零元的坐标: 方法1: index=find(a); [i,j]=ind2sub(size(a),index); disp([i,j]) 方法2: [i,j]=find(a> ...

  2. matlab中求矩阵的迹,求Matlab中矩阵的秩和迹

    1.Matlab中求矩阵的秩 >> a = rand(6) a = 0.8147 0.2785 0.9572 0.7922 0.6787 0.7060 0.9058 0.5469 0.48 ...

  3. matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...

    第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...

  4. Matlab中求取置信区域

    Matlab中求取置信区间_warnerchang的博客-CSDN博客_matlab求置信区间一.概率密度函数.累计分布函数.逆累积分布函数在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简 ...

  5. matlab 中序列求极值的方法,Matlab中求序列的极值

    我们知道,在Matlab中有专门求序列最大值和最小值的函数,分别是Max 和 Min,但是有时候我们不满足于求整个序列的最值,而是对序列的极值,也就是局部的最值感兴趣.对于解析函 数,这个比较简单,只 ...

  6. matlab中求立方根,MATLAB基础入门

    MATLAB有许多使用方法,但最基本,也是入门时首先要掌握的是MATLAB命令窗口(Command Window)的使用方法. MATLAB命令窗口是用于输入数据,运行MATLAB函数和脚本,并显示结 ...

  7. Matlab中求导操作

    文章目录 前言 一.求导命令 二.使用方法 总结 前言 正文 一.求导命令 diff % 差分和近似导数%此 MATLAB 函数 计算沿大小不等于 1 的第一个数组维度的 X 相邻元素之间的差分: 二 ...

  8. matlab中std函数怎么写,Matlab中求均值和标准差的函数分别是mean(x)和std(x)。

    栋教现拟学楼建-,中求准差的教学楼某已框架建工结构程为,中求准差0元直接建筑工程费为,相同结构其他,办公为()万元筑工造价建新接费该拟程直楼建,挖孔元/桩基采用础1人工. 下列中说法,均值何时款业主预 ...

  9. matlab中求包络线函数,matlab包络线函数

    的包络 解调方法 一直 是机 械故 障诊 线 ,只 需要经 过大 脑 的取舍 ,...(c )可 以看 出,经过 MATLAB 中的 Hilbert 函数 后也 出现 了皱 纹 ,...... yma ...

  10. Matlab中求数据概率分布的方法

    一.问题描述 对已有的一些列数据进行分析,想得到该数据的分布和统计特性,如概率密度函数,概率分布,累计概率密度等等. 例如,已有一段时间的声音测量数据,求该数据的分布特性,并给出噪声的95%置信区间统 ...

最新文章

  1. 恍然大悟之原、反、补
  2. MySQL查询的进阶操作--联合查询
  3. DVWA--SQL Injection (盲注)--四个级别
  4. 全国计算机等级考试题库二级C操作题100套(第88套)
  5. [PALAPALA] 无题 - 外来的和尚会念经
  6. linux常用命令(16)locate命令
  7. pycharm 运行后,如何查看变量值以及继续输入语句并运行?(非Debug , debug太慢)
  8. cvpr2019 文章
  9. 银行代码就是银行行号吗?
  10. 制作影像(dmg)文件详细步骤
  11. CISSP-D7-运营安全
  12. Java使用iText PDF按页(逐页、单页)拆分PDF
  13. \xmemory(102): error C4996: 'std::uninitialized_copy::_Unchecked_iterators::_Deprecate':
  14. 示波器1m和50欧姆示阻抗匹配_示波器的阻抗选择
  15. 英文文献检索网站(转)
  16. 微型计算机输出设备 写出六种,2017计算机一级考试强化训练
  17. css选择器(选择div内所有p元素)
  18. 06年底写的5年职业规划与珠海金山邮件面试题回复
  19. 图像超分算法小合集二:FSRCNN、DRCN、RDN、EDSR
  20. 【翻译】EAST: An Efficient and Accurate Scene Text Detector

热门文章

  1. 覆盖计算机网络分类有哪些 英语缩写,简述按覆盖范围划分计算机网络的分类类型有哪些?英语缩写分别是什么?...
  2. 《未来世界的幸存者》摘录
  3. 【笔记总结】C陷阱与缺陷
  4. 【线性代数】矩阵的特征值分解(对角化、谱分解)
  5. android的wifi开发,android开发教程之wifi开发示例
  6. 【Oracle】Oracle insert 语句用法
  7. 如何申请微信H5支付?
  8. 激光雷达互动交互大屏全息互动投影Tuio多点触摸检测驱动引擎
  9. 计算机电子报模板,计算机辅助电气电子线路设计课程设计设计报告排版模板(WIT).doc...
  10. vue axios封装及使用