首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在matlab中绘制时间与频率的关系

我正在试图找到一种方法来创建一个图形,显示一个音频波形及其时频数据(x轴上的时间,y轴上的波能量和频率数据)。我有这段代码,它在两个不同的图上完成:

代码语言:javascript
运行
AI代码解释
复制
[audio, fs] = wavread('audio.wav');

subplot(211)
spectrogram(audio,256,200,256,fs,'yaxis')

subplot(212)
wavEnergy=audio(:,1);
time=(1/fs)*length(wavEnergy);
t=linspace(0,time,length(wavEnergy));
plot(t,wavEnergy);

现在我需要两件事的帮助。

首先,如何获得以秒为单位的频谱图时间?现在它的x范围是0-340 (标记为'time'),我知道这个片段大约有40秒长(另一个图正确地显示了这一点)。

其次,如何将它们绘制在一起?我知道我可以从光谱图中得到一个矩阵,但是我应该从这个矩阵中得到哪个数组,以及如何将它的时间帧转换为秒?

编辑:

第一个问题解决了,但是图仍然在做一些奇怪的事情--它们都输出了大约40秒的数据,但是图的范围和数据的偏移量是不同的。频谱图从0到40秒,但第一个.5s没有显示数据,波形图从0到45秒,最后5秒没有数据。怎样才能使范围和偏移量保持一致?

编辑2:

我只需要在两个子图上使用axis tight;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-23 13:47:55

在相同的时间基础上对齐这两个图依赖于确定数据的采样频率。根据您传递给频谱图的参数,采样频率为1000 Hz。根据您对time = (1/8000)*length(wavEnergy)的定义,采样频率为8,000 Hz。这些并不一致。要从wav文件中获取音频采样频率,您可以使用[audio, fs] = wavread('audio.wav')

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12547704

复制
相关文章
链表指定位置插入,指定位置删除,逆置链表的练习
指定位置插入: insert_pos_val(lk headNode, int pos, int val);
大忽悠爱学习
2021/03/02
1K0
链表指定位置插入,指定位置删除,逆置链表的练习
php如何删除指定字符[通俗易懂]
php删除指定字符的方法:首先创建一个PHP示例文件;然后通过“strreplace(array(“”,”=”,”+”),””,$str);”删除指定字符;最后通过echo输出结果即可。 php删
用户8099761
2023/05/11
1.7K0
在JS数组指定位置插入元素
一、JavaScript splice() 方法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
用户7741497
2022/03/06
6.3K0
C++覆盖或删除指定位置的文件内容
我们经常使用ofstream或者fstream可写文件,使用ifstream可以写文件,但需要设置文件的打开状态为ios::out。C++中IO流打开模式使用位掩码来表示。IO流打开模式有:
恋喵大鲤鱼
2018/08/03
3.8K0
java列表删除指定位置元素_怎么删除数组中的某个元素
1. 因为数组长度在初始化的时候是指定的并且不可变的,所以不能在原有的数组上直接进行删除操作,需要新建一个长度为当前长度减1的数组
全栈程序员站长
2022/09/22
5.5K0
使用MCUXpresso IDE将数据、函数与文件存入指定位置
在进行MCU开发时,根据实际需要,将数据、函数与文件存入指定位置,对合理使用存储器的十分重要。经常有客户问如何将某一数据、函数或文件存入指定的地址空间,结合客户的问题,本文主要对此进行讲解。
刘盼
2023/09/11
5690
使用MCUXpresso IDE将数据、函数与文件存入指定位置
VBA:获取指定数值在指定一维数组中的位置
文章背景:在采用VBA抓取数据时,有时需要判断指定数值是否在一维数组中已存在;如果存在,则希望能够获取该数值在数组内的位置。
Exploring
2022/08/10
7.4K0
VBA:获取指定数值在指定一维数组中的位置
C语言练习7—一维数组删除指定位置元素
题目 在一维数组删除指定位置元素,现定义第一个元素位置为1,一维数组元素个数不确定,需要动态输入,并返回删除元素后的数组以及被删除的元素。 例如输入数组个数为n = 4;将要删除的数组元素位置是2;
全栈程序员站长
2022/09/22
1.7K0
C语言练习7—一维数组删除指定位置元素
python字符串删除指定符号(不限位置)「建议收藏」
这个可以根据正则删除,此处是删除串中的数字1-9,字符a-z,A-Z,还可以加其他的
全栈程序员站长
2022/09/05
1.8K0
如何将配置spring文件指定名字,指定位置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
MonroeCode
2018/02/09
9260
JS 如何创建、读取和删除cookie
Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问咱们的站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问咱们的站点时,应用程序就可以检索以前保存的信息。
前端小智@大迁世界
2019/09/03
14K0
JS 如何创建、读取和删除cookie
替换字符串指定位置字符 php,php如何从指定位置替换字符串
在php中可以使用“substr_replace”函数实现从指定位置替换字符串,其语法是“substr_replace(string,replacement,start,length)”,参数start表示从指定位置开始替换。
全栈程序员站长
2022/08/31
3.6K0
替换字符串指定位置字符 php,php如何从指定位置替换字符串
VBA按行读取csv文件与分割合并
'2017年2月1日05:43:35 '16年想开发的最后一个Excel代码经过漫长的酝酿与研究终于编写完毕,解决了超过一百万行的csv文件Excel打不开的问题,自动分割为多个sheet,并且数字超过15位不会后面全是0。 '也可以用于平常打开csv文件,速度比直接打开快一倍,还可以用于指定行数分割,多文件合并,csv批量转Excel。 ' '顺道普及:csv文件就是用逗号分隔的数据表,有回车或逗号的文本还有长数字用两个"包围(连续两个表示"本身) 'xlsx文件大小约csv的50%,打开时间约
林万程
2018/06/26
4.1K0
Redis如何批量删除指定前缀的key
批量删除指定前缀的Key有两中方法,一种是借助 redis-cli,另一种是通过 SCAN 命令来遍历所有匹配前缀的 key,并使用 DEL 命令逐个删除它们。
孟斯特
2023/10/16
6.9K0
Redis如何批量删除指定前缀的key
scrollto 到指定位置
goTo = function(target){ var scrollT = document.body.scrollTop|| document.documentElement.scrollTop if (scrollT >target) { var timer = setInterval(function(){ var scrollT = documen
windseek
2018/06/15
1.7K0
lodash判断对象数组是否相等_js删除数组中指定元素并返回剩下的
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。 Lodash 的模块化方法 非常适用于:
全栈程序员站长
2022/10/03
5K0
lodash判断对象数组是否相等_js删除数组中指定元素并返回剩下的
点击加载更多

相似问题

部分地址超出了图像区域- Intel Pin

12

图像平移超出容器区域

13

iOS使用CIFilter缩放/扭曲图像的特定部分

31

浮点导致图像超出对齐

10

使用CoreImage过滤图像会导致图像旋转

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文