02-21-2006 03:13 PM
Hi,
Im analysing data from a number of milling tests in
terms of resonance peaks, and need to remove the FFT
peaks corresponding to the tooth passing frequency,
i.e. in the example attatched the cutting tooth engaged
with the workpiece with a frequency of 91,67Hz,
therefore at all multiples of this frequency I have
peaks which I need to eliminate. For this I need to
generate a VBS. I have a number of ideas of how to do this but was hoping for an outside, impartial idea of how it could be achieved.
Thanks in advance!
Helen
02-22-2006 02:37 AM
02-22-2006 06:08 AM
Hi Ingo,
basically what I need to do is to compare the amplitude peaks (without those at multiples of 91,67Hz) in channel 6 with those from channels 12, 15 and 18 respectively.
I had been thinking of putting together a script to do the following:
1. Identify the highest amplitude of a peak in ch6.
2. Generate (somehow!) peaks of this amplitude at multiples of 91,67Hz
3. Subtract this signal from ch 6, and then set the values < 0 to zero.
4. Compare this edited signal with chs. 12, 15, 18
The most important areas of the signal are therefore those frequency ranges in which peaks in chs 12, 15 and 18 - as shown in the attatched picture.
regards,
helen
02-22-2006 10:47 AM
02-22-2006 10:47 AM
02-22-2006 12:18 PM - edited 02-22-2006 12:18 PM
order = 1 f = 91.67 cfreq = 5 cspec = 6 cpeak=cno(ChnListToChnStr(chnalloc("peaks", cl(cfreq)))) ' cpeak=cno("free") : chnalloc "peaks", cl(cfreq) do nextord = Pno(cn(cfreq),order*f) chd(nextord,cpeak)=1 order=order+1 loop until order*f > cmax(cfreq) cnspec=cno(ChnListToChnStr(chnalloc("new spec", cl(cspec)))) ' cnspec=cno("free") : chnalloc "new spec", cl(cspec) formulacalc "ch("&cnspec&"):=(ch("&cspec&")-ch("&cpeak&"))" formulacalc "ch("&cnspec&"):=((ch("&cnspec&")>0)*ch("&cnspec&"))"
Message Edited by IngoS on 02-22-2006 07:19 PM