fenny wrote in news:506500000005000000BD080100-
1042324653000@exchange.ni.com:
> Thank you, SCOTT.
>
> Yes,as you said, the "smooth" is applied to the frequency domain in
> stead of time domain.
>
> So the original ASYST codes are questionable. right?
>
> Then, I can not have exactly the same result as the original ASYST
> code even if I perform correct "smoothing" in LABVIEW.
>
> I'm just trying to do the same things as the original ASYST
> code(that's what i want to achieve),because I don't have the
> mathimetics of the code. So I have to follow each step of the old
> codes.(that's the biggest trouble I have with this task.)
>
>
> in fact,I don't know if this "smoothing" is necessary.
> because the old codes did this "smoothing", i want to do the same
> thing to see if i can get the same results.
> i want to match my result with the old ASYST codes perfectly!
>
> another problem is that: the frequency domain signal is obtained by
> deviding one frequency domain signal(velocity) by another frequency
> domain signal(force).
>
> I don't have the time domain signal(mobex) in the first place.
>
> is it possible to transfer the frequency domain back to time
> domain(IFFT)and perform filtering to the time domain signal and FFT
> back to frequency domain?
Starting to understand slightly better. The filter routines I was talking
about are time domain techniques, not frequency domain. Frankly, I'm not
sure of the best way to do this in labview.
As a long-time signal processor, I'd say that smoothing is for the time
domain, not the frequency domain. There's little reason to make an FFT
look smooth-- it just won't help with subsequent operations, and could
actually hurt your estimates.
It sounds like you're trying to estimate a trasfer function of a system
that uses velocity as an input and generates force as an output. Filtering
your FFT's shouldn't be necessary to do this. All this would do is kid you
into thinking you have a better answer than you actually have.
The approach I would take would be to use the tfe function in the signal
processing toolbox in matlab to estimate the transfer function, and the
cohere function to calculate the coherence as a function of frequency. I
don't use Labview for this type of stuff, though I'm sure its possible,
just not as convenient as Matlab for me. In fact, I implemented this
entire method in ASYST in the early '90s.
Yeah, you can probably exactly replicate the ASYST code, but I'd take the
approach of getting the best answer, instead. You can get better estimates
of transfer function than the techniques you describe. I would recommend
finding a book by Marple, I think the title is Random Signal Processing,
and read about the Welch Periodogram.
My overall recommendation would be to not attempt to replicate the ASYST
code directly, operation by operation. Instead, post what arrays you have,
and what you need to do to them-- i.e, what does the original code do? So,
if you generate a thread like "need help doing transfer function estimation
in Labview", and describe the signals you have, you'll get much better
advice than you would if you post requests for help for each step in the
processing. Give us the overview of what the program needs to do, and
you'll be surprised at how much help you'll get.
--
Scott
Reverse first field of address to reply