关于时域随机化后计算功率谱的问题
大家好,我在开发程序的过程中,发现在将一段伪随机数时域随机化之后,计算其时域随机化数据的功率谱比为随机数的功率谱要分散的多,
但时域随机化数据越长,计算其功率谱越接近伪随机数的功率谱,
但偏差还是比较大,我不知道这个问题该怎么解决,请高手指点一下 不知道你用的是什么方法产生时域序列。
一般情况功率谱的分辨带宽取得细一些,得到的时间序列的信号就会准确一点。有的时候同样的功率谱,同样的分辨率,产生同样的时间序列,由于随机数列排序的不同也会造成时域信号的误差。 有没有进行平均化处理? 是的,通过做平均化处理也可以减少功率谱误差。这就要看你需要的时间长度。 先谢谢wanyeqing2003 和Galaxy163
用rand()函数产生的随机数,然后进行时域随机化,在经过逆傅里叶变换得到的伪随机数
,计算功率谱时也重叠、平均、加窗了,我再试试分频带宽小一点的办法。
不过我对分频带宽这个概念还不懂,请教一下wanyeqing2003 ,
是不是可以这样理解,设的采样频率为8192Hz,采样点数为1024,
那采样带宽就应该是8Hz。谢谢 本帖最后由 wdhd 于 2016-9-7 16:10 编辑
原帖由 wangdd 于 2007-10-2 12:19 发表
先谢谢wanyeqing2003 和Galaxy163
用rand()函数产生的随机数,然后进行时域随机化,在经过逆傅里叶变换得到的伪随机数
,计算功率谱时也重叠、平均、加窗了,我再试试分频带宽小一点的办法。
不过我对分频带 ...
直接用随机函数产生的时间序列,我想应该接近于白噪声信号。采用平均,加窗可以改善数据质量。不过我认为:如果先建立一个目标谱,用带通滤波器处理一下是不是会更好一些;或者直接根据目标谱,采用相位随机的方法直接产生时间序列的随机信号。
你说的8Hz应该是分辨带宽。 我根据目标谱采用相位随机化的方法产生的伪随机信号计算其功率谱,图像显示还好一点,
但是具体工程实践中都要生成真随机信号,也就是对伪随机信号进行时域随机化(对伪随机信号
进行随机抽头、加窗、重叠二分之一叠加),这时再计算真随机信号的功率谱,精度更差,
计算出的功率谱很分散,不知道大家是怎么进行时域随机化的?怎么解决的这个问题?
请同志们指点一下! 这张图片是我用matlab 时域随机化后得到的图像 左上角是伪随机信号的功率谱
其余三幅图是时域随机化后真随机信号的功率谱
将数字信号经过D/A、滤波器、小振动台后,在对振动台信号进行采集。计算功率谱值更分散,高手指点一下,怎么解决
这个问题
[ 本帖最后由 wangdd 于 2007-10-3 22:03 编辑 ] 你这样应该属于非均匀采样吧
可以参考一下非均匀采样的文章
在非均匀采样的情况下
功率谱的求取不能按照FFT来实现
因为每两个采样点之间的间隔不是固定的 本帖最后由 wdhd 于 2016-9-7 16:10 编辑
原帖由 wangdd 于 2007-10-2 18:19 发表
我根据目标谱采用相位随机化的方法产生的伪随机信号计算其功率谱,图像显示还好一点,
但是具体工程实践中都要生成真随机信号,也就是对伪随机信号进行时域随机化(对伪随机信号
进行随机抽头、加窗、重叠二分 ...
可以采用相位随机化的方法处理,产生时域的随机数据。
回复 #7 wangdd 的帖子
原理没错,就不知道你程序具体怎么实现的了。 本帖最后由 wdhd 于 2016-9-7 16:10 编辑原帖由 wanyeqing2003 于 2007-10-8 19:52 发表
可以采用相位随机化的方法处理,产生时域的随机数据。
我的理解是他已经完成相位随机化,产生了一帧时域数据,要由这一帧数据通过时域随机化来产生连续的多帧数据。所以应该可以不用再做相位随机化了,主要是“随机抽头、加窗、重叠”这些工作了。
回复 #8 wangdd 的帖子
一个问题,你的平均次数是多少?另外,你的问题:“将数字信号经过D/A、滤波器、小振动台后,在对振动台信号进行采集。计算功率谱值更分散,高手指点一下,怎么解决这个问题”,我想,你的数据通过功放,振动台以后,测量得到的数据其实是振动台的响应了,更加不可能满足你设定的目标谱。至于所说的分散,应该还是平均的关系。 我采集了10240个数据,FFT长度为1024 ,重叠512个点,平均了(10240-512)/512=19次
[ 本帖最后由 wangdd 于 2007-10-11 11:52 编辑 ] 19次不够的,试试150次看看效果。
页:
[1]
2