问题标签 [spectrum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
colors - 生成光谱中的下一个颜色
每个人。我将如何生成色谱中的下一种颜色?就像一个函数,它接受一个红色值、一个绿色值和一个蓝色值作为输入和输出。我可以输入纯红色(RGB 255, 0, 0),它会输出橙红色。
编辑:更多背景信息:我假设 H、S 和 V 值的数值范围为 0-255。我正在编写的 C 程序在色调值小于 256 时递增,如果不是则将其重置为 0,将 HSV 转换为 RGB,在屏幕上显示颜色,然后循环。我已经尝试了几个 HSV-to-RGB 功能,但它们不起作用。
python - 将 RGB 三元组列表排序为频谱
我有一个 RGB 三元组列表,我想以这样的方式绘制它们,使它们形成类似光谱的东西。
我已将它们转换为人们似乎推荐的 HSV。
然而,结果看起来不太像一个漂亮的彩虹-y光谱。我怀疑我需要转换为不同的色彩空间或以不同的方式处理 HSL 三元组。
有谁知道我需要做什么才能使这些数据看起来大致像彩虹?
更新:
我在玩希尔伯特曲线并重新审视了这个问题。通过沿希尔伯特曲线的位置对 RGB 值(两个图像中的相同颜色)进行排序会产生一个有趣的(如果仍然不完全令人满意)的结果:
audio - 注意使用光谱差异的起始检测
我对发病检测相当陌生。我阅读了一些关于它的论文,并且知道仅使用时域时,可能会有大量的误报/否定,并且通常建议同时使用时域和频域或频域。
关于这一点,我有点困惑,因为我在如何使用频谱能量或 FFT bin 的结果来确定音符开始方面遇到了麻烦。因为,音符的开始不是由振幅的尖峰代表吗?
有人可以启发我吗?谢谢!
audio - 如何缩放波形文件的 FFT 输出?
波形文件:44100 Hz,16 位,双通道。
我使用 FFT 计算每个输出频率区间的幅度。但我不知道缩放它以绘制(实时)频谱。
任何人都可以帮助我吗?
math - 如何重新采样/重新组合光谱?
在 Matlab 中,我经常使用 Welch 方法 ( ) 计算功率谱pwelch
,然后将其显示在对数对数图上。估计的频率pwelch
是等距的,但对数间隔的点更适合对数图。特别是,将绘图保存为 PDF 文件时,由于高频点过多,会导致文件很大。
从线性间隔频率到对数间隔频率重新采样(重新组合)频谱的有效方案是什么?或者,有什么方法可以在 PDF 文件中包含高分辨率光谱而不会生成过大的文件?
显而易见的事情是简单地使用interp1
:
然而,这是不希望的,因为它不节省频谱中的功率。例如,如果在两个新频率区间之间有一条大谱线,它将简单地从生成的对数采样谱中排除。
为了解决这个问题,我们可以对功率谱的积分进行插值:
这很可爱,而且大部分都有效,但是 bin 中心不太正确,并且它不能智能地处理低频区域,频率网格可能会变得更精细地采样。
其他想法:
- 编写一个函数来确定新的频率分级,然后用于
accumarray
进行重新分级。 - 在进行插值之前对频谱应用平滑滤波器。问题:平滑内核大小必须适应所需的对数平滑。
- 该
pwelch
函数接受一个频率向量参数f
,在这种情况下,它使用 Goetzel 算法计算所需频率的 PSD。也许首先使用对数间隔的频率向量进行调用pwelch
就足够了。(这或多或少是有效的?) - 对于 PDF 文件大小问题:包括光谱的位图图像(看起来很笨拙——我想要漂亮的矢量图形!);
- 或者可能显示一个区域(多边形/置信区间)而不是简单的分段线来指示光谱。
resolution - 具有高分辨率的实时 FFT,同时保持低延迟
我已阅读有关 fft 和分辨率的所有维基百科文章和 stackoverflow 文章。但是,在学习如何在没有巨大延迟问题的情况下获得高分辨率频率方面没有任何帮助。
如果我正确理解信号处理:
我的采样率为 44,100,占用 256 个块。那么频率分辨率将是 44,100/2/256 = 86.1 Hz 每个频率仓与 FFT。
我经常看到诸如http://www.tunelab-world.com/和http://www.spectraplus.com/之类的示例,它们能够确定低至 0.01 Hz 的频率。
如果我用上述方法做到这一点,我需要 4410,000 个 bin 才能获得这种分辨率。在 44,100 采样率下,从输入中填充数据需要 100 秒。
我知道我错过了一些东西,但我不知道是什么。
我怎样才能得到一个信号,然后以这种精度绘制图表或显示峰值的频率,而不需要大量的垃圾箱或永远等待?
在此先感谢您的帮助!
opencv - 用 C++ 绘制图像的光谱(fftw,OpenCV)
我正在尝试创建一个程序来绘制给定图像的二维灰度光谱。我正在使用 OpenCV 和 FFTW 库。通过使用来自互联网的提示和代码并对其进行修改,我设法加载图像,计算该图像的 fft 并从 fft 重新创建图像(它是相同的)。我无法做的是绘制傅立叶光谱本身。请你帮助我好吗?这是代码(删除了不太重要的行):
}
问题出在“频谱”部分。我得到的不是频谱,而是一些噪音。我究竟做错了什么?我会很感激你的帮助。
file - 如何比较两个 .mp4 文件?
我想比较两个 mp4 文件,有人有想法吗?也许通过插入视频频谱?
谢谢。
audio - Why do I need to apply a window function to samples when building a power spectrum of an audio signal?
I have found for several times the following guidelines for getting the power spectrum of an audio signal:
- collect N samples, where N is a power of 2
- apply a suitable window function to the samples, e.g. Hanning
- pass the windowed samples to an FFT routine - ideally you want a real-to-complex FFT but if all you have a is complex-to-complex FFT then pass 0 for all the imaginary input parts
- calculate the squared magnitude of your FFT output bins (re * re + im * im)
- (optional) calculate 10 * log10 of each magnitude squared output bin to get a magnitude value in dB
- Now that you have your power spectrum you just need to identify the peak(s), which should be pretty straightforward if you have a reasonable S/N ratio. Note that frequency resolution improves with larger N. For the above example of 44.1 kHz sample rate and N = 32768 the frequency resolution of each bin is 44100 / 32768 = 1.35 Hz.
But... why do I need to apply a window function to the samples? What does that really means?
What about the power spectrum, is it the power of each frequency in the range of sample rate? (example: windows media player visualizer of sound?)
c# - 当音频频谱达到特定高度时如何捕捉事件,例如由响亮的声音触发的事件?
我已经有了播放器的程序,波形发生器,频谱分析仪,记录时间的列表框。这些东西在起作用。现在,我想添加一个功能,当您播放音频文件时,当它达到某个阈值或频谱的最大峰值时,该当前事件的时间将被记录到列表框中。我设法在列表框中添加了时间,所以现在,我唯一的问题是如何检测事件。我在频谱分析仪中使用了 FFT,但我坚持这一点。如何使用我当前的资源(如 FFT、波形发生器、频谱分析仪等)来做到这一点?
这是我需要的,
- 当我播放音频并且声音达到某个阈值时,将记录流的当前时间。
太感谢了。我的最后期限将在 36 小时后。每一个帮助将不胜感激。我的未来取决于此。祝我好运。:) 多谢你们!请给我一个样品或确切的事情要做。如果您需要有关我的项目的更多信息,我会给您我的资源。谢谢!上帝保佑。
PS 这个项目需要一个军鼓检测器。但是我没有太多时间了,所以我决定不检测军鼓,而是检测频谱的最高峰,因为大多数时候,军鼓比其他乐器(如贝斯、钹)产生的最高峰。多谢你们!