当前位置: 首页 > news >正文

matlab基础

https://www.cnblogs.com/shenxiaolin/p/9234666.html

for 循环的值有下述三种形式之一:
在这里插入图片描述

plot函数
https://baike.baidu.com/item/plot/10776857?fr=aladdin
在这里插入图片描述
matlab中length函数
https://jingyan.baidu.com/article/54b6b9c006d3bd6d583b47df.html

断点
https://blog.csdn.net/qq_45562910/article/details/104982713

语音信号的短时平均能量matlab
https://blog.csdn.net/hanxueyu666/article/details/51258659
在这里插入图片描述
我的是MATLAB\R2018a

这里的audioread函数代替了wavread

解读程序:

for i = 1:framenumber;%分帧处理
    framesignal = signal((i-1)*framelength+1:i*framelength);%获取每帧的数据
    E(i) = 0;%每帧能量置零
    for j = 1:framelength;%计算每一帧的能量
        E(i) = E(i)+framesignal(j)^2;
    end
end

signal函数取出(i-1)framelength+1,到iframelength直接的信号值,存放在framesignal 数组中。
E(i) = 0;初始为累计值为0
E(i) = E(i)+framesignal(j)^2;
取出数组framesignal的值,对其平方,然后累计在E(i)中。

https://blog.csdn.net/joey_su/article/details/36414877

加窗
我们知道语音信号是不断改变的(非平稳),但是非平稳的信号不好处理,所以语音处理算法通常假定信号是稳定的。
分段(短时)平稳性:将语音信号看成是由一帧帧构成(假定一帧是平稳的)。
加窗:在时域上,波形乘以窗函数即可得到加窗后的波形,公式为X[n]=W[n]S[n]

如果我们简单地将语音信号分成很多小段,那么这些小段(帧)就是矩形窗,而矩形窗的边缘是陡峭的,即不连续的,所以应该选取连续的窗函数,使得相邻两帧可以平滑过渡。

在语言处理中,通常使用锥形的窗代替矩形窗,比如Hamming或者Hanning,窗函数如下:

在这里插入图片描述
其中,alpha为窗函数的系数,Hamming窗为0.46164,Hanning窗为0.5。

时域上的加窗效果如下
在这里插入图片描述

可见锥形窗边缘部分过渡更加平滑了。

离散傅立叶变换(DFT)
DFT的目的:从一个加窗的信号中提取频谱信息。
输入:加窗后的信号x[n1],…,x[n1+L-1](时域),这里的L是窗的大小
输出:复数x[k],表示N个频带上的第k个频率成分的幅度和相位。
DFT公式:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意点:为了使帧与帧之间的过渡平稳,采用帧移的方法,即两帧之间有个重叠的区域。
对于语音识别来说,我们选用20ms的帧长,10ms的帧移。

Mel-frequency cepstral coefficients (MFCCs)——梅尔频率倒谱系数
梅尔,也就是梅尔刻度;
频率,一种非线性的频率;
倒谱,经倒谱分析后得到的特征;

倒谱
倒过来的频谱,将频谱spectrum前四个字母倒过来得到cepstrum。
我们可以近似理解为倒谱是频谱的一种特殊的你变换,专业说法是同态处理。

语音产生模型可看成是发生源-滤波器(source-filter)模型。
发声源source,声带振动产生波形。
滤波器filter,给波形一个特定的形状,就会有特定的滤波特性。
发声源对区分因素没有用,但是滤波器可以用来区分因素。
倒谱分析可以帮助我们分离发生源和滤波器,这样,我们就可以将滤波器分离出来,就可以区分音素了,这就是非常重要的倒谱特征。

相关文章:

  • 安装vs 2005 sp1出现错误
  • 长长的回廊
  • 王安石传——任浩之著
  • DSP——基本离散信号
  • MySQL之关系
  • LipSync Pro插件
  • 处理 ubuntu preseed 过程中 /etc/network/interfaces 被覆盖问题
  • Destroying assets is not permitted to avoid data loss.
  • apache 的连接限制配置
  • IDEA下指定MAVEN项目中的编译版本
  • 社会学百科——英国DK出版社
  • 安装错误1625:系统策略禁止这个安装,请与系统管理员联系。
  • 苏东坡新传——李一冰著
  • 企业经济性裁减人员规定——劳动合同法小全书
  • 解决firefox下div的background无效的问题
  • [Vue CLI 3] 配置解析之 css.extract
  • 【刷算法】从上往下打印二叉树
  • Angular Elements 及其运作原理
  • AWS实战 - 利用IAM对S3做访问控制
  • IP路由与转发
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Protobuf3语言指南
  • Python连接Oracle
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • web标准化(下)
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 利用DataURL技术在网页上显示图片
  • 前端js -- this指向总结。
  • 如何设计一个微型分布式架构?
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 试着探索高并发下的系统架构面貌
  • 再谈express与koa的对比
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #07【面试问题整理】嵌入式软件工程师
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET开发者必备的11款免费工具
  • .NET中winform传递参数至Url并获得返回值或文件
  • @在php中起什么作用?