xjzhendong 发表于 2012-8-2 20:45

我也在做 好好把思路理一下

eragon 发表于 2012-8-9 09:58

学习学习,受益匪浅

eragon 发表于 2012-8-13 14:46

我想知道为什么最后是取逆变换后的实部作为结果?

vibration_323 发表于 2012-8-15 22:43

回复 6 # songzy41 的帖子

原程序中“%消除指定负频带外的频率成分
a(nfft-na+1:nfft-ni+1)=y(nfft-na+1:nfft-ni+1);”
应为a(nfft-na+2:nfft-ni+2)=y(nfft-na+2:nfft-ni+2),原因是为了使ifft后的数值为实数,则a应该为共轭对称,与a(2)对称的为a(nfft),同理,与a(na)共轭对称的应为a(nfft-na+2)

chengying8427 发表于 2012-8-30 11:11

回复 9 # songzy41 的帖子

频域积分 取虚部 乘以1/jw 因子 此处w是指信号中心频率吗?此外, 在程序中没有明白具体哪一处是表示乘以1/jw 因子。由于在学习,会有一些疑问,望不惜赐教   

chengying8427 发表于 2012-9-10 11:24

回复 11 # zzw1983107 的帖子

请问这个问题你懂了吗我也求解

chengying8427 发表于 2012-9-10 11:25

回复 13 # zhaoch 的帖子

请问该问题你解决了吗 同求解

chengying8427 发表于 2012-9-12 10:13

回复 2 # VibrationMaster 的帖子

您好 我最近也在调试这个程序出现几个问题很是不解:
1、对于2次微分或积分后的波形中间基本符合要求,但首尾都有些失真,如位移2次微分成加速度信号波形,这个是什么原因,该做何处理

2、微分或积分程序的开始都有最小截止频率和最大截止频率 这个该怎么设置
3、对于微分程序,我把微分次数设为2时可以运行,显示波形,但设为1了,就显示
      ??? Subscript indices must either be real positive integers or logicals
    这个很是不解
这些问题凭我微薄的学识不能弄明白,愿有时间了能赐教,谢谢您!

chybeyond 发表于 2012-9-14 08:44

{:{23}:}{:{23}:}{:{23}:}

215539542 发表于 2012-9-21 17:01

RE: 帮忙调试一个振动信号频域积分的程序!

新手,最近在做铁路路基振动检测这一块,想补这方面的知识,各位大侠推荐几本教程看看!谢谢{:{19}:}

165390292 发表于 2012-11-11 19:59

十分有用,值得学习。

补充内容 (2012-11-25 18:18):
针对chengying8427 提出的问题可以通过以下方法解决:
%进行一次微分的相位变换
v21=-imag(v1);
v22=real(v1);
v2=v21+v22*i;

补充内容 (2012-11-25 18:19):
解决方法针对问题3:一次微分程序报错

wangshiyu217 发表于 2013-1-16 21:38

真的是好贴啊!

linyinxiaojing 发表于 2013-1-18 17:31

本帖最后由 牛小贱 于 2014-3-28 10:11 编辑

songzy41 发表于 2007-7-26 18:55 static/image/common/back.gif
我实际上在本帖分析中和http://www.chinavib.com/forum/thread-48861-1-1.html帖子的分析中都发现在频域积 ...
我用一个三角函数信号来学习这个程序。
t=(0:0.001:31.416);
dis=sin(10*pi*t);
vel=10*pi*cos(10*pi*t);
acc=-100*pi*pi*sin(10*pi*t);
用acc一次积分求到的v与vel比较,一次积分求到的d与dis比较。已经在程序中进行了滤波,但是结果还是不是很好。不知道是什么原因。求助如何解决。
fni=acc;
i=(-1)^0.5;
sf=1000;                        
fmin=0.5;                        
fmax=20;                        
c=1;                           
it=1;                           
x=fni';                           
n=length(x);

t=0:1/sf:(n-1)/sf;               
nfft=2^nextpow2(n);               
y=fft(x,nfft);                     
df=sf/nfft;                        
ni=round(fmin/df+1);               
na=round(fmax/df+1);               
dw=2*pi*df;                        
w1=0:dw:2*pi*0.5*sf;         
w2=-2*pi*(0.5*sf-df):dw:-dw;         
w=;                        
w=w.^it;                           
a=zeros(1,nfft);
a(2:nfft-1) =y(2:nfft-1)./w(2:nfft-1);      
if it == 2
   y=-a;                              
else
   a1=imag(a); a2=real(a); y=a1-a2*i;
end
a=zeros(1,nfft);
a(ni:na)=y(ni:na);                     

a(nfft-na+2:nfft-ni+2)=y(nfft-na+2:nfft-ni+2);            

y=ifft(a,nfft);
y=real(y(1:n))*c;                     
v=y;
plot(t,vel,t,v);尤其是当把it改成2之后计算的位移信号,很是有问题。


xingzhe 发表于 2013-2-22 01:52

见到 songzy41 教授关于王济频域积分代码错误的讲解,受益匪浅,谢谢!

夏初 发表于 2013-4-2 20:07

linyinxiaojing 发表于 2013-1-18 17:31 static/image/common/back.gif
我用一个三角函数信号来学习这个程序。
t=(0:0.001:31.416)
dis=sin(10*pi*t);


我的也是这样,好像fmin=0.5;%最小截止频率 fmax=80; %最大截止频率对结果影响很大,特别是fmin设置不同的值时,结果变化很大,不知道你解决了没/
页: 1 2 [3] 4 5 6
查看完整版本: 帮忙调试一个振动信号频域积分的程序!