赞
踩
比如我有一个随机信号, 长度为8, 所谓的长度是说被8个点采样了, 如下图:
那么我们知道它输出的X[K] 也应该有8个数, 代表的意思是8个点里有0次周期, 1次周期, 2次周期, …7次周期的基波. 所以当我的采样点加多, 对应的输出的X[k]也就越长, 这里注意的是 在固定的采样频率下, 采样点是不变的, 那么我们就可以把短的信号补长, 补上0
然后再做DFT就可以得到长度为8的, 为16的等不等的数组, 会发现补零使得图变平滑了, 实质就是 频率的分辨率变小了, 之前的时候提到 对应每个X[k], 它的频率是 k ∗ f s / N k*f_s/N k∗fs/N ,所以频率分辨率就是 f s / N f_s/N fs/N .
看下面这个图, 假如我的原信号有4410个点, 然后补零到16384个点, 它的频谱图可能是这样的:
假如不补零而是这个信号变长了,就是不在原来的地方断掉而是不断的延续,其频谱图如下:
FFT 是快速计算DFT的统称
看下面这个图, 第一个是256个点里振动了4个周期, 第二个是把后面的36个点给去掉了
按理来说应该只有一个频率, 但是截断补零后第二个信号出现了别的频率, 也就是出现了所谓的频率泄露的情况, 这是为什么呢?
DFT计算的时候会把有限长的信号补长, 变为无限长的, 假如不是整数周期的话就会在补的地方出现跳变, 这个跳变的频率其实是无限大的, 所以各个地方都会有频率了
比如下面的信号应该是先440Hz, 后660Hz, 但是DFT得到的频谱图完全看不出来
可以得到第一帧的X数组, len(X) =N
帧移取帧长的25%到75%, 再取一帧
可以查看下面的例子, 帧长分别是2048个点, 4096个点, 16384个点, 可以看到frame很小时间分辨率比较好, 能够清楚看到是什么时候跳变的, 但是对音频的频率却不清楚, 假如frame很大, 则频率可以明显的知道, 但是 跳变的界限就不清楚了
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。