matlab中pwelch函数用法总结
来源:互联网 发布:大草原上的小老鼠 知乎 编辑:程序博客网 时间:2024/05/18 00:35
randn('state',0);
Fs = 1000; t = 0:1/Fs:.3;
x = cos(2*pi*t*200) + randn(size(t)); % 200Hz cosine plus noise
pwelch(x,33,32,[],Fs,'twosided')
[Pxx,f]=pwelch(x,window,noverlap,nfft,fs)
Welch方法是一种修正周期图功率谱密度估计方法,它通过选取的窗口对数据进行加窗处理,先分段求功率谱之后再进行平均。其中窗口的长度N表示每次处理的分段数据长度,Noverlap是指相邻两段数据之间的重叠部分长度。N越大得到的功率谱分辨率越高(越准确),但方差加大(及功率谱曲线不太平滑);N越小,结果的方差会变小,但功率谱分辨率较低(估计结果不太准确)。
1. 将信号分为多段,每段之间可以有overlapping,也可以没有。
2. 每一段加窗
3. 每一段做谱分析
4. 求平均。
关于 信号到底要分多少段?每一段长度多少?我的理解,这个问题的回答,需要考虑频域分辨率。 当然,每一段时间跨度越大,频域分辨率就越高。如果整个信号不分段,那么频域分辨率最高。当然分段也是为了考虑噪声的影响。分得段越多,噪声越小。 有时候,如果一个信号本身不太长,那么如果有overlapping,显然可以比不overlapping的时候的频域分辨率高。 总结一下,每一段的长度,和overlapping 的长度,需要平衡噪音,频域分辨率。
另外注意的是,pwelch里面NFFT,即FFT的个数,是可以变化的。但是最大长度不能超过每一段的点数。当然,很多情况下我们把NFFT等于每一段的点数,这样可以得到最高的频域分辨率。 如果NFFT = 每一段的一半,频域分辨率低一倍。
2. 每一段加窗
3. 每一段做谱分析
4. 求平均。
关于 信号到底要分多少段?每一段长度多少?我的理解,这个问题的回答,需要考虑频域分辨率。 当然,每一段时间跨度越大,频域分辨率就越高。如果整个信号不分段,那么频域分辨率最高。当然分段也是为了考虑噪声的影响。分得段越多,噪声越小。 有时候,如果一个信号本身不太长,那么如果有overlapping,显然可以比不overlapping的时候的频域分辨率高。 总结一下,每一段的长度,和overlapping 的长度,需要平衡噪音,频域分辨率。
另外注意的是,pwelch里面NFFT,即FFT的个数,是可以变化的。但是最大长度不能超过每一段的点数。当然,很多情况下我们把NFFT等于每一段的点数,这样可以得到最高的频域分辨率。 如果NFFT = 每一段的一半,频域分辨率低一倍。
帮助里面
noverlap must be less than the length of the window you specify,
the (default) length N of the FFT is the larger of 256 and the next power of 2 greater than the length of the segment.
noverlap must be less than the length of the window you specify,
the (default) length N of the FFT is the larger of 256 and the next power of 2 greater than the length of the segment.
阅读全文
0 0
- matlab中pwelch函数用法总结
- Matlab中pwelch的用法总结
- matlab中svd函数用法总结
- matlab中svd函数用法总结
- Matlab find()函数用法总结
- MATLAB中函数mesh()用法
- Matlab中kmeans函数用法
- Matlab中pause函数用法
- matlab中textread函数用法
- Matlab中fread函数用法
- Matlab中size函数用法
- Matlab中fread函数用法
- Matlab中find函数用法
- MATLAB中cell函数用法
- MATLAB中find函数用法
- Matlab中各类函数用法
- matlab中chol函数用法
- MATLAB中padarray函数用法
- 笔记本电脑GHOST重装后就剩一个盘了
- sql执行顺序
- unity鼠标双击
- 关于LINUX权限(启动tomcat)-bash: ./startup.sh: Permission denied
- hbase表的设计
- matlab中pwelch函数用法总结
- Java中的static关键字解析
- 【Tensorflow】tf.dynamic_partition 函数 分拆数组
- java之static关键字
- SpringBoot(一)入门
- 如何使用ultraiso制作LinuxU盘启动盘?
- 上台讲课相关总结
- Spring框架中的设计模式(二)
- skew数