Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signal processing FFT中加窗函数的确定_Signal Processing_Fft - Fatal编程技术网

Signal processing FFT中加窗函数的确定

Signal processing FFT中加窗函数的确定,signal-processing,fft,Signal Processing,Fft,我一直在学习FFT和加窗函数的有用性。我遇到的一个问题是加窗函数对FFT中信号幅度的影响。例如,假设我的信号等于: y = 5.0 * sin(50.0 * 2.0 * pi * x) + 1.0 * sin(80.0 * 2.0 * pi * x) 然后我想进行一次FFT并得到以下曲线图: 然后,如果我执行14度的kaiser加窗函数,我将收到以下FFT: 我想做的是:给定一个信号,我想从中提取一个频率约为已知的波。为了做到这一点,我想应用一个窗口函数,使它更清楚我试图提取的频率是多少,

我一直在学习FFT和加窗函数的有用性。我遇到的一个问题是加窗函数对FFT中信号幅度的影响。例如,假设我的信号等于:

y = 5.0 * sin(50.0 * 2.0 * pi * x) + 1.0 * sin(80.0 * 2.0 * pi * x)
然后我想进行一次FFT并得到以下曲线图:

然后,如果我执行14度的kaiser加窗函数,我将收到以下FFT:


我想做的是:给定一个信号,我想从中提取一个频率约为已知的波。为了做到这一点,我想应用一个窗口函数,使它更清楚我试图提取的频率是多少,但不会丢失关于我试图提取的波的振幅的信息。这可能吗?类似于从窗口功能反转振幅降低的方法。

所有窗口功能都将改变感知的振幅。记住,窗口功能正在改变信号,尽管是以一种服务于特定目的的方式

所以,为了得到有意义的振幅,你必须做一些“归一化”。大多数窗口函数都记录了规范化


但是,在大多数情况下,我并不认为你需要它们。窗口功能主要用于帮助您检测“峰值”。一旦找到峰值,就可以使用相同“仓”(在加窗函数之前)的FFT(DFT)结果。

所有加窗函数都会改变感知的振幅。记住,窗口功能正在改变信号,尽管是以一种服务于特定目的的方式

所以,为了得到有意义的振幅,你必须做一些“归一化”。大多数窗口函数都记录了规范化


但是,在大多数情况下,我并不认为你需要它们。窗口功能主要用于帮助您检测“峰值”。找到峰值后,您可以使用相同“仓”(在窗口功能之前)的FFT(DFT)结果。

请提供用于执行窗口的代码。也许您忘记了将窗口规格化为正确的振幅。这更多的是DSP理论,而不是编程-可能更好地询问-请提供用于执行窗口的代码。也许你忘了将窗口标准化为正确的振幅。这更多的是DSP理论而不是编程——也许最好继续问下去