matlab 画短时能量图
使用的 zqq.txt 是一个语音文件,只有1列,数字大概有60000多个
fid=fopen('zqq.txt', 'rt');
x=fscanf(fid, '%f');
fclose(fid);%计算窗长为50,帧移=0时的语音能量
s=fra(50, 50, x);%帧长为50个数字,帧移为50个数字, 得到s为1319行,50列的矩阵。也就是每一行有50个数字,这50个数字为一帧
%disp(length(s2));
%disp(size(s2, 1));
%disp(size(s2, 2));
s2=s.^2;
%b=sum(a,dim); a表示矩阵;dim等于1或者2,1表示每一列进行求和,2表示每一行进行求和;表示每列求和还是每行求和;b表示求得的行向量
energy=sum(s2, 2);%对矩阵s2每一行求和, energy为1319行,1列,也就是每个数字代表一帧能量
%disp(size(energy, 1));
%disp(size(energy, 2));
subplot(2, 2, 1);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=50');
axis([0, 1500, 0, 2*10^10]);%计算窗长为100,帧移=0时的语音能量
s=fra(100, 100, x);
s2=s.^2;
energy=sum(s2, 2);
subplot(2, 2, 2);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=100');
axis([0, 750, 0, 4*10^10]);%计算窗长为400,帧移=0时的语音能量
s=fra(400, 400, x);
s2=s.^2;
energy=sum(s2, 2);
subplot(2, 2, 3);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=400');
axis([0, 190, 0, 1.5*10^11]);%计算窗长为800,帧移=0时的语音能量
s=fra(800, 800, x);
s2=s.^2;
energy=sum(s2, 2);
subplot(2, 2, 4);
plot(energy);
xlabel('帧数');
ylabel('短时能量E');
legend('窗长N=800');
axis([0, 95, 0, 3*10^11]);function f=fra(len, inc, x)%len为帧长,inc为帧长一帧移%size(X,1),返回矩阵X的行数;%size(X,2),返回矩阵X的列数;%disp(size(x, 1));fh=fix(((size(x, 1) - len)/inc) + 1);%计算帧数,fh=1319%disp(fh);f=zeros(fh, len);%fh行,len列的0矩阵,这里是1319行,50列的0矩阵i=1; n=1;while i<=fhj=1;%下面的循环是每次循环一次填满一行50个数字,也就是一帧,填满一行以后,将行数加1后再次填while j<=lenf(i, j)=x(n);j=j+1;n=n+1;endn=n-len+inc;% n-len代表将恢复到上帧的末尾,+inc的意思是在上一帧的末尾再移动inc长度 i=i+1;end
end
matlab 画短时能量图相关推荐
- 用matlab画饼状图和相量图
用matlab画饼状图和相量图 subplot(1,2,1); pie([2347,1827,2043,3025]); %pie表示画饼状图 title('pie chart'); legend('q ...
- 数学建模中如何用 matlab画漂亮的图(一)
数学建模中如何用 matlab画漂亮的图(二维图形) 1 plot绘图命令*** 1.1 plot(x) 当x为实向量时,plot(x)绘制出的曲线,横坐标为该向量的下表,纵坐标为每一个下表位置所对应 ...
- matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图
问题提出 画你自己的手的形状,在MATLAB中输入 figure('position',get(0,'screensize')) axes('position',[0 0 1 1]) [x,y]=gi ...
- Matlab画圆方向图,如何在matlab里画天线的立体方向图?
如何在matlab里画天线的立体方向图?有没有具体的函数? 有的,你看下一般的matlab教程里都有着方面的介绍,查一下就可以了 有数据,Matlab可以画 归根到底,画极坐标方向图是坐标变换的问题. ...
- 如何用matlab画电场强度三维图,浅析matlab模拟静电场三维图与恒定电流场模拟静电场...
浅析matlab模拟静电场三维图与恒定电流场模拟静电场 1 浅析 Matlab 模拟静电场三维图 与恒定电流场模拟静电场 摘要:本文利用恒定电流场模拟静电场,通过寻找等势点的方法描绘出点 电荷对的电力 ...
- 使用MATLAB画SCI论文图
从gcf和gca说起 不论是 Python 绘图还是Matlab绘图,想要获得更好看的图,都会用到这两个单词. gcf:get current figure,是目标图像的图形句柄对象 gca:get ...
- 以二维振动为例展示使用matlab画圆形三维图的偷懒方法
画图主要是用极坐标,我们使用画复数的函数来画. clc;%清空上次的 %draw_Bessel%画这个东西 a=4;%圆形半径% %定义角向和径向的步长和范围 fai=[-4:0.1:4]; r=[0 ...
- matlab画箱型图均值方差,Matlab 绘制箱线图
文章目录 前言 主要介绍箱线图(Box-plot)和利用Matlab绘制箱线图. 一.箱线图介绍 统计指标一般包括:四分位数.均值.中位数.众数.方差.标准差等,箱线图作为一种数据统计的方法,内容包括 ...
- matlab画二维图彩图,matlab二维图形绘制.pdf
MATLAB 绘二维图 数据可视化的目的在于:通过图形,从一堆杂乱的离散数据中观察数 据间的内在关系,感受由图形所传递的内在本质. MATLAB 一向注重数据的图形表示,并不断地采用新技术改进和完备其 ...
最新文章
- Swift和Objective-C的运行时编程
- EOS账户系统(6)权限和Action映射
- morningcat2018 LearningDocs
- python环形队列_Python 实现数据结构-循环队列的操作方法
- Factory Method (工厂模式)
- Mac如何用Boot Camp安装Windows 11?告诉你如何安装 能不能安装!
- 小孩儿学计算机可以学些什么,基础知识
- Python 爬虫入门(一)——爬取糗百
- 服务器虚拟化分步实施,服务器虚拟化解决实施方案.doc
- 随机森林基本原理与算法描述
- Excel表头怎么设计?这里有超全面的表头设计方法!一分钟可学会
- 微信小程序audio的简单实用
- github rust 项目Travis ci配置
- 七夕送什么礼物最实用?送人绝对不会出错的礼物值得买
- 产品需求文档(PRD)
- Windows10远程登陆Ubuntu桌面
- java思维导图源代码_如何使用思维导图解读java开源项目
- 永磁同步电机的标么值系统
- 第2节--深度学习基础介绍-机器学习--课程介绍(下)
- 蓝懿ios网络请求bock