【问题标题】:1d Array Signal (List) to .wav in MatlabMatlab中的一维数组信号(列表)到.wav
【发布时间】:2016-08-02 12:41:56
【问题描述】:

我在做一个项目,我们想测量小海洋动物的运动。数字信号来自 0..255,其中 0 表示无运动,255 表示最大运动。

问题:传感器还测量 水运动,因此即使动物不移动,我们也会收到信号。现在我想尝试通过我从视频剪辑 (Adobe Audition) 中了解的降噪方法来减少“噪音”。我知道,Matlab 也有降噪方法,但我以前从未使用过它,所以对我来说理解起来相当复杂。

有没有办法将一维数组(具有 f.e. 4000 个样本的普通列表)导出到 MatLab 中的 wav 文件?样本应该是音高/频率吗?还是音量?使音频降噪工作的最佳方法是什么?还是我完全错了,应该走另一条路?

这是我的数据(一小时)的示例图片,其中峰值是微小的运动,而 ~14 到 ~27 之间的数据主要是(但不是全部!)水噪声。 example signal

提前致谢! 问候, 最大

【问题讨论】:

  • 降噪和降噪之间是有区别的,是的,Matlab 两者都可以,但是你的问题太宽泛了,无法回答。是的,您可以使用wavwrite 将一维数组导出为 wav - 音高或完整信号取决于您要使用的算法,如果过滤(即低通)那么您不需要音高,如果您正在重建或降噪,也许你可以使用音高。再次,就像我说的,太宽泛而无法提供答案。也许您应该将此发布到 Signal Processing Stack Exchange,以了解您首先要做什么。
  • 谢谢,我会看看你提供的链接,不知道这个网站。

标签: matlab audio wav noise-reduction


【解决方案1】:

将一维数组保存到 .wav 文件的示例:

audiowrite('audio_filtered.wav',audio_filt,44100 );

audio_filt 是一维数组,44100 是采样频率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多