标签: signal-processing

MATLAB'谱图'参数

我是MATLAB的初学者,我应该对EEG信号进行频谱分析,绘制功率谱密度和频谱图.我的信号是10几秒长,一个采样频率160 Hz,总共1600 samples有一些关于如何在MATLAB中找到函数参数的问题,包括:

pwelch (x, window, noverlap, nfft, fs);

spectrogram (x, window, noverlap, F, fs);
Run Code Online (Sandbox Code Playgroud)

那么我的问题是在哪里找到参数的值window,noverlap我不知道它们的用途.

matlab signal-processing spectrogram

17
推荐指数
2
解决办法
4万
查看次数

检测风噪声

我想根据音频流开发一个用于检测风的应用程序.
我需要一些专家的想法,只是为了给我指导或一些链接,我知道这不是一件容易的事,但我打算在这里付出很多努力.

我的计划是检测流中的一些常见模式,如果值接近风噪声的这种常见模式,我将通知找到匹配,如果值更接近已知模式,我可以肯定检测到风,如果值与模式不匹配那么我猜没有那么多的风....

这是我的计划,但我需要了解这些事情是如何完成的.是否有一些开放项目已经这样做了?或者是否有人正在研究这个主题?

我在这个论坛上写的原因是因为我不知道如何谷歌它,我找到的东西不是我想要的.我真的不知道如何开始开发这种算法.

编辑1:
我试着录制一个风,当我为我打开保存的音频文件时,它只是一堆数字:).我甚至不知道我应该以什么格式保存这个,波浪足够好吗?我应该使用别的东西,或者如果我用mp3转换风噪音频文件怎么办?这会有助于解析吗?

好吧,我有很多问题,那是因为我不知道从哪里阅读更多关于这类话题的内容.我用guidlines标记我的问题,所以我希望有人会帮助我.

必须有可检测的东西,因为风噪声是如此常见,必须以某种方式检测到这一点,我们只需要有人给我提示,熟悉这个主题的人.

language-agnostic algorithm signal-processing audio-processing

17
推荐指数
1
解决办法
1345
查看次数

MATLAB中filter和conv之间的区别

我有一个MATLAB问题:我正在尝试计算LTI系统的输出,并且我遇到了两个不同的MATLAB函数,这些函数应该适用于该作业,filter并且conv.他们两个有什么区别?

matlab signal-processing convolution

17
推荐指数
2
解决办法
2万
查看次数

如何将过滤器应用于python中的信号

在python中是否有任何准备好的函数将过滤器(例如Butterworth过滤器)应用于给定信号?我在'scipy.signal'中寻找这样的函数,但我没有找到任何有用的函数,而不是过滤设计函数.实际上我希望这个函数将滤波器与信号进行卷积.

python signal-processing scipy

17
推荐指数
1
解决办法
3万
查看次数

是否存在使用频率对数除法的FFT?

维基百科的Wavelet文章包含以下文字:

离散小波变换的计算复杂度也较低,与快速傅里叶变换的 O(N log N)相比,花费O(N)时间.这种计算优势不是变换所固有的,而是反映了频率的对数分割的选择,与FFT的等间隔分频相反.

这是否意味着还有类似FFT的算法使用频率的对数除法而不是线性?是O(N)吗?对于许多应用来说,这显然是优选的.

audio signal-processing logarithm fft

16
推荐指数
1
解决办法
8398
查看次数

你如何对重新采样的音频数据进行双三次(或其他非线性)插值?

我正在编写一些以不同速度播放WAV文件的代码,因此波浪要么慢,要么低音,要么更快,音高更高.我目前正在使用简单的线性插值,如下所示:

            int newlength = (int)Math.Round(rawdata.Length * lengthMultiplier);
            float[] output = new float[newlength];

            for (int i = 0; i < newlength; i++)
            {
                float realPos = i / lengthMultiplier;
                int iLow = (int)realPos;
                int iHigh = iLow + 1;
                float remainder = realPos - (float)iLow;

                float lowval = 0;
                float highval = 0;
                if ((iLow >= 0) && (iLow < rawdata.Length))
                {
                    lowval = rawdata[iLow];
                }
                if ((iHigh >= 0) && (iHigh < rawdata.Length))
                {
                    highval = rawdata[iHigh];
                }

                output[i] = …
Run Code Online (Sandbox Code Playgroud)

audio interpolation signal-processing resampling bicubic

16
推荐指数
2
解决办法
1万
查看次数

从任意音频文件中提取语音部分的好方法是什么?

我有一组由用户上传的音频文件,并且不知道它们包含什么.

我想获取一个任意的音频文件,并将每个人正在讲话的实例提取到单独的音频文件中.我不想检测实际的单词,只是"开始说话","停止说话"点并在这些点生成新文件.

(我的目标是Linux环境,并在Mac上进行开发)

我找到了看起来很有前途的Sox,它有一个'vad'模式(Voice Activity Detection).然而,这似乎找到了第一个语音实例,并在此之前剥离音频,因此它很接近,但不是很正确.

我也看过Python的'wave'库,但后来我需要编写自己的Sox'vad'实现.

是否有任何命令行工具可以实现我想要的现成产品?如果没有,任何好的Python或Ruby方法?

linux audio voice signal-processing voice-detection

16
推荐指数
1
解决办法
6970
查看次数

仅使用扬声器和麦克风进行软件传真需要多长时间?

故事

我没有任何传真硬件,所以我很难与通过电话接听传真噪音的人沟通.很难想象在2012年人们仍在使用吃树木和纸张进行交流的设备.所以,我想传真给他们一个宣布,互联网,电子邮件和视频会议的新时代终于到来了.

http://xkcd.com/454/

问题

由于我没有任何传真硬件,明显和最快的选择是通过在线服务发送消息.从另一方面来说,传真硬件基本上是扬声器,麦克风和一点点数字信号处理代码.唯一明显的问题是代码.传真协议是已知的 - 即使在Python中实现它也不应该是一个问题,但到目前为止我还没有看到使用扬声器+麦克风进行传真的任何示例.CPU性能是不可能的 - 现代PC具有足够的功率来计算2400比特/秒的足够噪声.因此,对此我唯一的技术解释是延迟 - (从麦克风传输到DSP代码并返回到扬声器的噪声时间)太长,以至于它会中断传输.

问题

如果以上情况属实 - 传真协议所需的延迟是多少?
有没有测量麦克风扬声器延迟的工具?
还有什么我想念的?
是否可以在Python中实现所有内容?

PS我在研究国际电联时找不到任何东西(除了我发现国际电联找你)

python fax signal-processing protocols

16
推荐指数
1
解决办法
605
查看次数

在MATLAB中调整3D矩阵(图像)的大小

我有一个3D矩阵(MxNxK),并希望将其调整为(M'xN'xK')(就像在matlab中的imresize).我使用图像金字塔,但其结果不是很准确,需要更好的.有解决方案吗

matlab signal-processing image-processing multidimensional-array 3d-modelling

16
推荐指数
3
解决办法
2万
查看次数

Python中的2D卷积类似于Matlab的conv2

我一直在尝试使用SciPy进行2D矩阵的卷积,而Numpy却失败了.对于SciPy我试过,sepfir2d和scipy.signal.convolve和Convolve2D for Numpy.在Matlab for Python中是否有像conv2这样的简单函数?

这是一个例子:

 A= [ 5     4     5     4;
      3     2     3     2;
      5     4     5     4;
      3     2     3     2 ]
Run Code Online (Sandbox Code Playgroud)

我想把它卷入其中 [0.707 0.707]

而来自Matlab的conv2的结果是

3.5350    6.3630    6.3630    6.3630    2.8280
2.1210    3.5350    3.5350    3.5350    1.4140
3.5350    6.3630    6.3630    6.3630    2.8280
2.1210    3.5350    3.5350    3.5350    1.4140
Run Code Online (Sandbox Code Playgroud)

有些函数用Python来计算这个输出吗?我将感激回应.

python matlab signal-processing image convolution

16
推荐指数
3
解决办法
2万
查看次数