文档帮助中心文档
音频信号和听觉频谱图的谱熵
熵=光谱性(x,f)
熵= Spectralentropy(x,f,名称,值)
实例
熵= Spectralentropy(x,F)返回信号的光谱熵,x,随着时间的推移。函数如何解释x取决于形状F.
熵= Spectralentropy(x,F)
熵
x
F
熵= Spectralentropy(x,F,名称,价值)指定使用一个或多个选项的选项名称,价值对论点。
熵= Spectralentropy(x,F,名称,价值)
名称,价值
全部收缩
读入音频文件,使用默认参数计算熵,然后绘制结果。
[AudioIn,FS] = audioread(“计数-16-44p1-mono-15秒波形”);熵= Spectralentropy(AudioIn,FS);t = linspace(0,尺寸(audioin,1)/ fs,尺寸(熵,1));绘制(t,熵)xlabel('时间'')ylabel(“熵”)
读入音频文件,然后使用光谱图作用
光谱图
[AudioIn,FS] = audioread(“计数-16-44p1-mono-15秒波形”); [s,cf,t]=频谱图(audioIn,fs);
计算mel谱图随时间的熵。绘制结果。
熵= Spectralentropy(S,CF);绘制(t,熵)xlabel('时间'')ylabel(“熵”)
读入音频文件。
[AudioIn,FS] = audioread(“计数-16-44p1-mono-15秒波形”);
随着时间的推移计算功率谱的熵。计算具有25毫秒重叠的数据的50毫米汉明窗口的熵。使用62.5 Hz的范围财政司司长/ 2用于熵计算。绘制结果。
财政司司长
entropy = Spectralentropy(AudioIn,FS,...“窗口”,汉明(圆形(0.05*fs)),...“重叠长度”,圆形(0.025*fs),...'范围',[62.5,fs/2]);t=linspace(0,大小(audioIn,1)/fs,大小(熵,1));图(t,熵)xlabel('时间'')ylabel(“熵”)
创建一个音频文件读取器对象以逐帧中读取的音频数据。创建一个dsp.signalsink.记录谱熵计算。
音频文件读取器
dsp.signalsink.
fileReader=dsp.AudioFileReader(“计数-16-44p1-mono-15秒波形”); 记录器=dsp.SignalSink;
在一个音频流循环中:
读入音频数据帧。
计算音频帧的光谱熵。
记录频谱熵以供以后绘图。
要仅计算给定输入框的频谱熵,请指定具有与输入相同的样本数量的窗口,并将重叠长度设置为零。绘制记录的数据。
尽管~isDone(fileReader)audioIn=fileReader();entropy=spectralEntropy(audioIn,fileReader.SampleRate,...“窗口”,hamming(尺寸(audioIn,1)),...“重叠长度”,0); 记录器(熵)终止plot(logger.buffer)ylabel(“熵”)
用异步缓冲器如果
异步缓冲器
音频流循环的输入具有可变的每帧采样数。
对音频流循环的输入与分析窗口的每个帧具有不一致的样本光谱产物.
光谱产物
您需要计算重叠数据的光谱熵。
创建一个异步缓冲器对象,重置记录器,然后释放文件读取器。
buff=dsp.AsyncBuffer;重置(记录器)释放(文件读取器)
指定为重叠25 ms的50 ms帧计算光谱熵。
fs = filereader.samplerate;SamplesPerframe = ROUNG(FS * 0.05);Samplesoverlap = ROUNG(FS * 0.025);Samplesperhop = SamplesPerframe - SamplesOverlap;WIN =汉明(样品框架);尽管~isDone(fileReader)audioIn=fileReader();写入(buff,audioIn);尽管buff.numReadSamples>=samplesPerHop audioBuffered=读取(buff,samplesPerFrame,samplesOverlap);熵=频谱特性(audioBuffered,fs,...“窗口”,赢,...“重叠长度”,0); 记录器(熵)终止终止发布(文件阅读器)
绘制记录的数据。
plot(logger.buffer)ylabel(“熵”)
输入信号,指定为向量,矩阵或3-D阵列。该功能如何解释x取决于形状F.
数据类型:仅有一个的|双倍的
仅有一个的
双倍的
Hz中的采样率或频率矢量分别指定为标量或向量。该功能如何解释x取决于形状F:
如果F是一个标量,x被解释为时域信号,并且F被解释为采样率。在这种情况下,x必须是实向量或矩阵。如果x指定为矩阵时,列被解释为单个通道。
如果F是一个向量,x被解释为频域信号,并且F被解释为频率,单位为Hz,对应于x.在这种情况下,x一定是真的L-经过-M-经过-N数组,在哪里L是给定频率的频谱值的数量F,M是单个光谱的数量,以及N是通道数。
表的行数x,L,必须等于F.
指定可选的逗号分隔的字符对名称,价值论点。名称是参数名和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen.
名称
价值
name1,value1,...,namen,valuen
“窗口”,哈明(256)
笔记
以下名称-值对参数适用于以下情况:x是一个时域信号。如果x是频域信号,忽略名称-值对参数。
窗
retwin(圆形(F*0.03))
在时域中应用的窗口,指定为逗号分隔对组成“窗口”和一个实向量。向量中的元素数必须在[1,大小(x1)]。矢量中的元素数量也必须大于overtaplenth.
“窗口”
大小(x1)
overtaplenth
圆的(F* 0.02)
在相邻窗口之间重叠的样本数,指定为包括的逗号分隔对“重叠长度”和范围为[0]的整数,大小(窗1))。
“重叠长度”
大小(窗1)
FFT长度
numel(窗)
用于计算DFT的窗口输入样本的频体数量,指定为逗号分隔对'fftlength'和一个正标量整数。如果未指定,FFT长度默认为默认值的元素数窗.
'fftlength'
范围
[0,F/2]
频率范围(以Hz为单位),指定为逗号分隔对,包括'范围'和一个增加范围内真实值的两个元素行向量[0,F/2].
'范围'
谱型
“权力”
'震级'
频谱类型,指定为逗号分隔对组成“光谱类型”和“权力”或者'震级':
“光谱类型”
“权力”- 针对单面功率谱计算光谱熵。
'震级'- 针对单面幅度谱计算光谱熵。
数据类型:char|一串
char
一串
谱熵,以标量、向量或矩阵的形式返回熵对应于窗口的光谱熵x. 每列熵对应于一个独立的通道。
如上所述计算光谱熵[1]:
熵 = − ∑ K = B 1. B 2. s K 日志 ( s K ) 日志 ( B 2. − B 1. )
哪里
sK是bin处的光谱值K.
B1.和B2.是用于计算光谱熵的带边(以箱为单位)。
[1] Misra,H.,S.Ikbal,H. Bourlard和H. Hermansky。“坚固ASR的光谱熵的特征。2004年IEEE声学、语音和信号处理国际会议.
光谱覆盖|Spectralswess.|幽灵性荨麻疹
光谱覆盖
Spectralswess.
幽灵性荨麻疹
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取翻译后的内容(如果可用),并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。
联系您当地的办公室
立即获得审判