能否求某一曲线的功率谱?
对于某一信号我们可以求它的功率谱密度,但是对于某一曲线(由多项式表示如y=x.^3+x.^2+x)能否求其功率谱密度呢?尝试采用对信号进行功率谱估计得方法来求这一曲线的功率谱,发现得到的结果很奇怪:除了横坐标(表示频率)为0的时候纵坐标不等于零之外,其他横坐标对应的纵坐标的值全部为零。另外,用相同的方法得到的某一波浪状的曲线的功率谱的结果也是一样的,不知为何,请大神指点,感激不尽!楼主用什么程序分析。数据如何选取? wanyeqing2003 发表于 2017-5-28 12:04
楼主用什么程序分析。数据如何选取?
各种方法都试过了,包括直接法、间接法、改进的直接法还有AR模型,结果都很奇怪。以直接法为例,程序如下:
x=0:0.001:0.13;
y=(0.0012*(x*100).^4-0.00849472*(x*100).^3-0.03144991*(x*100).^2+0.58530388*(x*100))/100;
figure(1)
subplot(211)
plot(x,y);
title('曲线')
nfft=1024;
Fs=1000;
window=boxcar(length(y));
=periodogram(y,window,nfft,Fs);
subplot(212)
plot(f,Pxx);
title('曲线的功率谱')
程序中y=f(x)就是曲线的多项式表达,相当于将曲线的函数表达式代替了信号,不知道这种方法是否有问题,请指教! brimel 发表于 2017-5-28 20:52
各种方法都试过了,包括直接法、间接法、改进的直接法还有AR模型,结果都很奇怪。以直接法为例,程序如下 ...
您是否用的是matlab。
是否需要先将函数离散化,变成数组后再做频谱分析。
matlab我不是太熟悉。请高手指导一下。 请注意,功率谱密度是定义在一个稳态随机过程里,你却要求一个曲线的功率谱密度!为什么? hcharlie 发表于 2017-5-28 21:36
请注意,功率谱密度是定义在一个稳态随机过程里,你却要求一个曲线的功率谱密度!为什么?
我是想分析一条曲线或者这条曲线的曲率曲线所蕴藏的频率信息,比如如果一条曲线或者它的曲率曲线近似于正弦或者余弦,那么通过分析其功率谱就可以知道它的频率成分。请问这样做可以吗? wanyeqing2003 发表于 2017-5-28 21:35
您是否用的是matlab。
是否需要先将函数离散化,变成数组后再做频谱分析。
matlab我不是太熟悉。请高手 ...
我也想过将数据离散化,但是离散化的这些数据也还是从曲线的函数表达式里得到的,所以就直接将函数表达式当成信号,也不知道这样对不对 brimel 发表于 2017-5-28 22:04
我也想过将数据离散化,但是离散化的这些数据也还是从曲线的函数表达式里得到的,所以就直接将函数表达式 ...
不形成数组如何做FFT。
你定义了1024个点。如果只给一个数,余下是否都为零或常数?
请再试试。 你这个分析物理意义很牵强吧,上面hcharlie主任都提了,该方法前提是稳态过程,x的三次方不收敛的,而且无明显周期性,峰值应该非常小
wanyeqing2003 发表于 2017-5-28 22:57
不形成数组如何做FFT。
你定义了1024个点。如果只给一个数,余下是否都为零或常数?
请再试试。
谢谢指导,我将数据离散化之后再试试 yelv123 发表于 2017-5-29 06:46
你这个分析物理意义很牵强吧,上面hcharlie主任都提了,该方法前提是稳态过程,x的三次方不收敛的,而且无 ...
谢谢,我先将数据离散化后再试试看 我不赞成做这样的事。
数学的精髓是什么?精确!
要做到精确,必须满足各种数学方法的条件和适用范围。
所谓频谱分析数学上两种方法,FFT和功率谱,实际功率谱法也是基于FFT法。
我说过功率谱密度只是在稳态随机信号有定义,而且是无限长才能算得其精确值。
傅里叶分析也是对无限长信号的方法,FFT是对有限长数据的,所以就有限制,要求是对无穷长的周期函数截取一段整数周期的采样,这样的计算才是精确的。
以上是理想情况。
在工程中稳态随机用PSD法,比如随机振动试验控制;而接近于周期函数用FFT法,比如测量机器的振动,也要尽量取整数周期,否则要用什么加窗法来减小误差。
而你现在是想取有限长的任意函数做频谱分析,这不在PSD或FFT法的范围之内,得不到精确结果的。
如果不是精确的结果,即使算出来其可信度是值得怀疑的。 一条曲线的频谱分析有何意义? 本帖最后由 brimel 于 2017-5-31 15:58 编辑
hcharlie 发表于 2017-5-30 07:30
我不赞成做这样的事。
数学的精髓是什么?精确!
要做到精确,必须满足各种数学方法的条件和适用范围。
谢谢老师的指点!我理解的就是说只有稳态随机过程、无限时长,有一定周期性(至少截取一个周期长度),求其功率谱或者FFT才比较有意义是吗?我尝试对一近似周期的曲线做了FFT,麻烦老师帮忙看一下有没有问题,非常感谢
syms t;x=(0.0012*(t*13).^4-0.00849472*(t*13).^3-0.03144991*(t*13).^2+0.58530388*(t*13))/13;%曲线方程y1=diff(x,t);y2=diff(y1,t);r=y2/(1+y1^2)^(3/2);%求曲线的曲率xx=0:0.001:1;rr=zeros(size(xx));for i=1:length(xx)rr(i)=abs(subs(r,t,xx(i)));endfigure(1)subplot(211)plot(xx,rr);title('曲线的曲率')h=0.001;t=0:h:1;X=fft(rr);f=t/h;subplot(212)plot(f(1:floor(length(f)/2)),abs(X(1:floor(length(f)/2))));%曲率的频谱图
mni987654321 发表于 2017-5-31 08:17
一条曲线的频谱分析有何意义?
与信号的频谱分析类似,在时域内无法直观表现出来的东西,在转化为频域后就一目了然了。我的目的是将一条曲线当成一个信号,通过求其功率谱或者FFT,看能否提取出该曲线波动的频率
页:
[1]
2