I was using FFT.Transform when I saw the effect, not Transform2. I haven't tried it for Transform2. With a DC offset of 1 in the time domain I saw a DC amplitude of 2 in the frequency domain, the Sine amplitudes were 1 as expected.It is a scaling problem when using Fft.Transform2.
Because not only the DC component is double but also the frequency amplitudes are doubled.
I wonder if it is something to do with the fact that as I noted there is no DC component in the complex conjugate part. Maybe the DC component has the complex equivalent added to it and that is why it is double the size.I would have expected 1 and not 2 as you. I have no explanation for that.
Sounds like a good idea.For the scaling, I would suggest to scale directly FFTReal and FFTImag in the transform functions, so there will be no problem with ToAmplitude and ToPhase independent from what Transform function was used.
I'll remove it to keep things tidy - I like tidyAs now we have Transform2, the function ToAmpAndPhase is no more useful.
I like the layout of your Tachometer.
Will the needle move according to the speed ?
Would look nice.
I'm away for the weekend with just a netbook. I noticed this, but I didn't have time to investigate. I thought that I had merely moved the scaling from Inverse to Transform. The present scaling seems to to be what is needed for the Inverse to return the original time series. I'll look again when I'm back on Monday afternoon.scaling is half the original amplitudes.
I thought that I would leave it in in case it was needed as it is faster to do it there than in a loop in Basic4ppc.as now the scaling is directly done in the Transform functions there is no need anymore to have a scaling factor
As the algorithm round-trips OK I assume that it is a part of how the algorithm works but it would be interesting to know why.the DC offset amplitude is still the double of the sine's amplitudes, I have not yet looked to find out why this happens.
I don't find it pedantic nor quibbling ! That's the way to get better programs.some pedantic quibbling.
Sines are boring, why not stick a Cosine or two in so we get some real elements?
Fixed, it happened only when using Transform=0In Config 20 periods produce a frequency of 10! Surely a period ...
Fixed, that's the problem when writing in other language. In my current language, french, sine<>sinus. So it didn't look strange to me.In Config "Sinus definition"probably "Sine definitions".
I thought that I had eliminated all extenal scaling but retained the internal scaling so that a Transform followed by a ToAmplitude/Phase then a ToReal/Imaginary then an Inverse returned (with reasonable accuracy) the original time series. Does it not?Wouldn't you set the scaling factor in the Transform functions to get the original amplitudes of the sines?
That's why I originally put the scaling in ToAmplitude. However version 1.8 now has it built into the transforms and inverses.the amplitudes of the sines in the frequency domain are half of the amplitdes in the time domain.
I hoped you would discover itI've only just found the graph cursor function in the demo by accident. Nice touch but it needs documenting that it's there!
I had noticed this too, is fixed.I think the amplitudes quoted in the demo help need checking.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?