handsomecc 发表于 2006-9-18 23:01

求高手指点:看看我编写的对数功率谱相关函数问题出在哪里?

我现在在做旋转机械设备的早期故障方面的论文,需要按照文献中的公式编写一段对数功率谱相关函数的程序,我把试验数据和我做出的图放到了压缩包中,希望大家能帮我看看,看看是哪里编写的有问题?
我先把程序付到这里吧!
没办法数据太大,我只能单个压缩上传。希望管理员原谅!
fid=fopen('e:\新建文件夹\9.11-9.18本特利转子试验台试验数据分析\重新整理数据\test6t.txt','r')
a=fscanf(fid,'%f');
status=fclose(fid);
b=length(a)/5;
fid=fopen('e:\新建文件夹\9.11-9.18本特利转子试验台试验数据分析\重新整理数据\test6t.txt','r')
s=fscanf(fid,'%f',);
sig1=s(1,1:b)-mean(s(1,1:b));
status=fclose(fid);
fid=fopen('e:\新建文件夹\9.11-9.18本特利转子试验台试验数据分析\重新整理数据\bph1860t.txt','r')
c=fscanf(fid,'%f');
status=fclose(fid);
d=length(c)/5;
fid=fopen('e:\新建文件夹\9.11-9.18本特利转子试验台试验数据分析\重新整理数据\bph1860t.txt','r')
t=fscanf(fid,'%f',);
sig2=t(1,1:d)-mean(t(1,1:d));
status=fclose(fid);
nfft=1024;
fs=1280;
=psd(sig1(1024*11:1024*12),1024,fs,hamming(1024),0,'mean');
=psd(sig2(1024*11:1024*12),1024,fs,hamming(1024),0,'mean');
%figure(1)
%plot(f,pxy1)
%figure(2)
%plot(f,pxy2)
pxy1=log10(px1);
pxy2=log10(px2);
noa=0;
nob=0;
c=0;
for i=1:513
   nox(i)=noa+pxy1(i).*pxy1(i);
   noy(i)=nob+pxy2(i).*pxy2(i);
   cc(i)=c+pxy1(i).*pxy2(i);
noa1(i)=sqrt(nox(i));
nob1(i)=sqrt(noy(i));
sim(i)=cc(i)./(noa1(i).*nob1(i));
end
plot(f,sim(i))
大家先看看我上传的这篇文献,然后给我一些修改的建议。谢谢大家!

我选用了文献《机械设备微小故障在线诊断的新方法》当中的方法

AaronSpark 发表于 2006-9-19 03:04

文件读入有问题,你这个程序根本就没有读入需要的数据

数据读入方法参考帖子http://forum.vibunion.com/forum/viewthread.php?tid=8937

[ 本帖最后由 eight 于 2007-2-12 21:58 编辑 ]

handsomecc 发表于 2006-9-19 07:56

是我上传的时候疏忽了,大家见谅,我忘记把数据里面上面几行说明去掉了,只能劳烦大家手动,删掉txt当中那几句说明的文字,留下数据,调用从数据开始。

handsomecc 发表于 2006-9-19 08:02

我已经对我上传的数据test6和bph1860t作了更改,大家无需再做出改动,现在大家调用一下试一试应该没有问题了。
求高手帮忙,江湖救济,小弟的论文全靠它了,谢谢了!!!!

AaronSpark 发表于 2006-9-20 01:18

for i=1:513
   nox(i)=noa+pxy1(i).*pxy1(i);
   noy(i)=nob+pxy2(i).*pxy2(i);
   cc(i)=c+pxy1(i).*pxy2(i);
noa1(i)=sqrt(nox(i));
nob1(i)=sqrt(noy(i));
sim(i)=cc(i)./(noa1(i).*nob1(i));
end

这一段程序是什么意思?

另外你给的信号好像是正弦信号阿

handsomecc 发表于 2006-9-20 08:32

四楼的朋友你说的那段程序我是打算做积分,可以肯定写的有问题,问题是如何改,我现在不知道从何下手
另外你说的信号数据是正弦信号,其实不是的,是我从本特利RK4实验台上做出的实验数据

handsomecc 发表于 2006-9-20 16:35

怎么没有人提出解决方法呢????
拜托了看贴要回帖,呵呵,

AaronSpark 发表于 2006-9-22 07:39

原帖由 handsomecc 于 2006-9-20 08:32 发表
四楼的朋友你说的那段程序我是打算做积分,可以肯定写的有问题,问题是如何改,我现在不知道从何下手
另外你说的信号数据是正弦信号,其实不是的,是我从本特利RK4实验台上做出的实验数据

从信号图上来看好像是正弦

handsomecc 发表于 2006-9-24 13:48

拜托了 能不能提一些有建设性的意见,不要说一些无关痛痒的话

jimin 发表于 2006-9-24 14:47

求高手帮忙,江湖救济,小弟的论文全靠它了,谢谢了!!!!
怎么没有人提出解决方法呢????
拜托了看贴要回帖,呵呵,
拜托了 能不能提一些有建设性的意见,不要说一些无关痛痒的话
试问一下,你又给别人提过多少有建设性的意见
看了这几句,我忍不住想说几句,这是你的论文,做的好与不好,和别人没有任何关系,这个如果和别人的专业不太相关的话,别人不可能按你的要求,看你给的参考文献,然后帮你调试程序,别人给你提意见,引导性回答问题,你还说是一些无关痛痒的话,ABBYABBIE是花过时间看你的程序,看的出,她也是一个很热心的人,论坛上有很多热心的人,对这样的人,我都是很敬佩的,你这么说,看谁还会给你提意见,吃饱了撑着,调试程序的过程也是提高自己能力的过程,多调试几遍,以后看程序就不会那么累了,水平自然而然就提高了,所谓的贵人相助也是一两句话,那些matlab的高手(我是初学者)也很忙的,他们也有自己的事情,不可能一天到晚泡在论坛上,帮助别人解决问题,要把主动权掌握在自己手里,不要老是把希望寄托在别人身上,然后成为自己不想学习的借口。

songzy41 发表于 2006-9-26 14:13

原帖由 jimin 于 2006-9-24 14:47 发表
这是你的论文,做的好与不好,和别人没有任何关系,这个如果和别人的专业不太相关的话,别人不可能按你的要求,看你给的参考文献,然后帮你调试程序,别人给你提意见,引导性回答问题,你还说是一些无关痛痒的话,ABBYABBIE是花过时间看你的程序,看的出,她也是一个很热心的人,论坛上有很多热心的人,对这样的人,我都是很敬佩的,你这么说,看谁还会给你提意见,吃饱了撑着,调试程序的过程也是提高自己能力的过程,多调试几遍,以后看程序就不会那么累了,水平自然而然就提高了,所谓的贵人相助也是一两句话,那些matlab的高手(我是初学者)也很忙的,他们也有自己的事情,不可能一天到晚泡在论坛上,帮助别人解决问题,要把主动权掌握在自己手里,不要老是把希望寄托在别人身上,然后成为自己不想学习的借口。
完全同意jimin的意见,我另外补充几点:
1,在这里问问题的大部分是本科的高年级学生,或硕士研究生,你们在学习中,做论文的过程中遇到了问题,希望有人帮你解决,但很重要的要学会尊重他人,和尊重他人的劳动。
2,我很不赞同给出一篇文献,然后提出怎么解决。一篇文献少说有几页,多则十几页,对于不是同一专业,即使同一专业不是同一个方向对文献中的许多细节也不会非常清楚的。因此提问时,即使要附上文献,最好给出你问题是在文献的哪一部分(我见到过在本论坛上就有人给出请看文献笫几页笫几段到笫几页笫几段),这样尽量减少回复者的工作量。因为回复者都是在业余时间去做的,简单的问题可能当场就能回复;复杂一些的可能要花上几天时间。
3,对提问题者,要清晰说出你的问题关键是什么,不能把你要写论文需做的事都请别人来解决。
4,在回复时有可能提出一些问题,这是极正常的,往往是你没把问题说清楚,或回复者不了解的。例如对handsomecc提供的数据,ABBYABBIE提出是否是正弦波,这至少说明ABBYABBIE想帮你解决问题,并打开数据文件看过数据。无非是handsomecc提供的数据给错了,或故障信息就在正弦波内,说明一下不是就可以了。要允许他人提问题,有利于把解决问题一步一步地推进。
总之希望在论坛内大家互想尊重,造成一种和谐的学术氛围。

songzy41 发表于 2006-9-26 14:24

对于handsomecc的问题,我同意ABBYABBIE的提问:
1,给的信号象正弦波,下图给出sig1和sig2前200ms的图。是否故障信号就在这正弦信号内?
2,在文献中是对F-ΔF至F+ΔF区间内积分,你怎么把整个正频率域内都相加了?
for i=1:513
   nox(i)=noa+pxy1(i).*pxy1(i);
   noy(i)=nob+pxy2(i).*pxy2(i);
   cc(i)=c+pxy1(i).*pxy2(i);
noa1(i)=sqrt(nox(i));
nob1(i)=sqrt(noy(i));
sim(i)=cc(i)./(noa1(i).*nob1(i));
end

handsomecc 发表于 2006-9-28 08:51

我觉得你们虽然说的是很有道理,但是我现在只是想知道问题有没有解决的可能性?至于楼上说它是正弦波,我只能说看上去很像,测出的轴振信号就是这个样子的,微小故障征兆十分的不明显。是我当初比较着急,言语上对楼上的朋友有所冒犯,实在是对不起,恳请原谅。不过也请楼上的各位朋友认真对待别人的帖子,这些数据的确是我从本特利转子试验台上采集下的数据,不要说是我造出的正弦信号就行了。希望有兴趣的朋友能和我联系,我会把我采集到的数据上传到论坛上的。我做的故障类型:不对中、不平衡、松动、油膜涡动、碰摩。我上传得这两段数据test是正常状态的,bph是不平衡的。
页: [1]
查看完整版本: 求高手指点:看看我编写的对数功率谱相关函数问题出在哪里?