landzenki 发表于 2011-8-19 07:24

求相位移和相速度

先大概说一下吧,如果需要后面会附上具体数据和程序。
起因是要做表面波分析,用重锤单次击打物体表面,在距离击打点L1和L2处,安置了2个信号接收器。采集数据完毕。
最终要求出相位速度与波长图谱 phase velocity, & wavelenght
如果图谱中相位速度出现了断点,可以推断出物体内部有破坏或者非均质

采集的数据是时间域,x1 x2,做了fft,y1,y2. 求出了频域图
但是不知道怎么求相位移,phase shift.


我的想法是:
time delay=phase shift / (2*pi*f)            时间延迟=相位移 / (频率*2π)
phase velocity=D/ time delay                   相位速度=L1与L2间距离 / 时间延迟
wavelenght=phase velocity/ frequency波长=相位速度 / 频率

所以如果能求出相位移,相位速度和波长就可以求出来了
可是计算结果不对,请问这样的算法对不对?如果没问题的话,那就是我程序编写的问题了
请高手指点

ChaChing 发表于 2011-8-22 00:26

本帖最后由 ChaChing 于 2011-8-22 00:27 编辑

回复 1 # landzenki 的帖子

要求相位移是否應求传递函数!?
看看這些有沒用
怎样求传递函数? http://forum.vibunion.com/thread-86828-1-1.html
    请问如何在matlab中求传递函数 http://forum.vibunion.com/thread-66038-1-1.html
    如何用matlab实现系统传递函数的辨识? http://forum.vibunion.com/thread-89775-1-1.html
    已知系统的输入输出,怎么用matlab求得系统的传递函数? http://forum.vibunion.com/thread-99606-1-1.html
From : http://forum.vibunion.com/home-space-uid-63979-do-blog-id-18250.html

landzenki 发表于 2011-9-3 17:12

本帖最后由 landzenki 于 2011-9-3 17:13 编辑

回复 2 # ChaChing 的帖子

前阵子考试,耽搁了两天
谢谢发来的相关链接,但是对于传递函数还是不甚理解,信号分析这方面是0起步啊……

程序方面
我进一步编辑了一下
先用angle语句求出phase1和phase2
再用phase1-phase2 求出相位差,但是经检查,相位差中有负值
所以进而得出的时间延迟也有负值,最终导致波长和相速度都存在负值
用unwrap(phase) 试过了,得出的图还是很奇怪。
自我感觉是对于相在-pi ~ pi之间的jump没有处理好 导致了误差

不知道问题是不是出在这里
文献中的图谱如下


自己求出的图如下,怎么看都不对啊

hitman1990 发表于 2015-1-7 21:13

landzenki 发表于 2011-9-3 17:12
回复 2 # ChaChing 的帖子

前阵子考试,耽搁了两天


哥们我现在做的也是跟你一样,遇到同样的问题,不知道你解决了没
页: [1]
查看完整版本: 求相位移和相速度