matlab fft取点问题
在MATLAB中如果fft取点小于采样数,会得到怎样的结果?例如:当假设现在得到一个400000点的wav音频采样序列x,如果在matlab中用fft(x,1024),得...
在MATLAB中如果fft取点小于采样数,会得到怎样的结果?
例如:当假设现在得到一个400000点的wav音频采样序列x,如果在matlab中用fft(x,1024),得到的是怎样的?是将400000个采样点等份取1024个点还是连续取1024个点做fft? 展开
例如:当假设现在得到一个400000点的wav音频采样序列x,如果在matlab中用fft(x,1024),得到的是怎样的?是将400000个采样点等份取1024个点还是连续取1024个点做fft? 展开
展开全部
只会做前1024个点的fft,不过频率值的计算范围还是与原来相同。如果假设400000个点经历的时间是2秒,则采样频率为400000/2=200000hz,400000点fft后,结果会有400000个点,成图时只画前200001个点(后面的与前面的图形是对称的),这200001个点对应的最高频率为100000hz直到0hz(即将0-100000hz均匀划分在200001个点上)。
当你只做前1024个点的时候,1024个点fft后,结果会有1024个点,成图时只画前513个点,采样频率仍为200000hz,所以这513个点对应的最高频率还是100000hz直到0hz(即将0-100000hz均匀划分在513个点上)。所以只要采样频率不变,fft后的最大频率值都是一样的,点数的变化不影响频率的计算范围,但会影响精细度,也就是频率的间隔精度。 但1024点后面的信号是不参与fft的,它们的信息在频谱上就没有表现了。
当你只做前1024个点的时候,1024个点fft后,结果会有1024个点,成图时只画前513个点,采样频率仍为200000hz,所以这513个点对应的最高频率还是100000hz直到0hz(即将0-100000hz均匀划分在513个点上)。所以只要采样频率不变,fft后的最大频率值都是一样的,点数的变化不影响频率的计算范围,但会影响精细度,也就是频率的间隔精度。 但1024点后面的信号是不参与fft的,它们的信息在频谱上就没有表现了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询