Method for finding period of complex periodic wave?

Still too abstract. The paper from Christopher Oakley helps most - thanks!

P.S. As a windsurfer I also hated sailing boats :wink:

You mean that you like them now? (shame on you).

Get a demo Alien signal generator for finding the truth out there (But FFT can’t save you from the inevitable: Alien invasion is nigh > end of days > death and destruction > adios amigos).

FFT_DemoRandomSignalForFFT_V1.gh (124.9 KB)

tenor

1 Like

At least I’ve learned to enjoy the positiv things and simply ignore the rest. Let’s see if I can ignore windsurfers when I start kitesurfing… :grinning:

Thanks for your signal generator. Looks like it creates random signals with occasional exact pattern repetitions. I plugged it into your FFT-script but did not get much out of it. Maybe FFT can be used to find these repetitions but I think @Walt-D is more interested in decomposing an interference signal into the components of different frequencies - so am I. But maybe this is just a lesson on the way?

Anyways, thank you for your help and keep in mind: “nigh” is relative in universe. I doubt that I’ll make it till the end of days.

In fact it’s part of the lesson: in general, you can’t use FFT alone to find periodic portions of a signal (preferably alien sourced and related with the end of days blah, blah). That’s because the FFT does sinusoidal basis decomposition. BUT … you can use FFT as a sub-component of some composite methods, including cepstrums or cepstral analysis, and Harmonic PSpectrum pitch detection methods. That’s what Jeff Goldblum did and then saved the planet (and his marriage).



The bad news are that I don’t have access to my stuff in the practice (nor using a freaky Covid mask - and the rest of things - is my style) … and re-inventing the wheel is not that fun.

1 Like

If I got it correctly he’s after finding repetitions (periods, that is) and NOT a FT signal decomposure. Anyway … this w/e is not a windsurfing w/e (Formula1 AND MotoGP). So there’s some time free (no support races) and thus I added various things (DFT (accurate but slow) + FFT (inaccurate but fast) + power of 2 signalWindow + Inverse FT + you name it) among them a classic FT decomposure.

More after Lewis wins the race (Forza Lewis) . Have in mind that Vale got the Covid thing so he’s not racing.

1 Like

Wow, the weekend may become thrilling - though not in F1 and MotoGP. The Doctor had a really bad season unfortunately. Next year I hope they both make it again!

You mean Vale and himself? (because Lewis right now is in the course for his 7th crown, the GOAT nomination and too many records to list here).

Anyway get a very simple thingy used for the decomposition waves as above: from the Complex[ ] FT, get the double[ ] amplitude and the double[ ] phase, sync sort them and then get N pairs (bottom to top) according some desired depth (frequency 1 for the first [biggest amplitude], then 2, 3, …N+1).

Curves_Sin_Cos_V2.gh (121.6 KB)

1 Like

Hi @PeterFotiadis ,
Thanks for the Curves V2 sample. This is very clear and I’ve learned something!

I did not get that part so I’ve no idea how to approach any solution? I’ve played around and used the outputPoints as signalList and displayed the signalFFTransform as a polyline. Nice, but I guess I need more help…

Lewis made it and he will be on par with Schumacher’s Championships. So next year he can top that… of course, just another item in his list. He already is the Greatest - Congratulations! BTW: Back in the days I also thought that I will not experience someone breaking Michael’s records. :thinking:
But I hope Vale also makes it to “most wins” - Ago can live with that! :wink:

You mean the decompose part? If so the C/FFT Complex [ ] arrayt can yield Amplitudes and Phase (signal shifts) as follows:

Then

And since Array.Sort yields ascending order you should pick your waves amplidute/phase “pairs” from bottom to top (up to some used define value)

BTW: Schumacher had always a clear N2 teammate and that man Todt … meaning a vast collection of under the table actions (and thus results). Not to mention driving ethics (just ask Damon Hill and Jacques Villeneuve)

1 Like

Hi @PeterFotiadis
Thanks for your help! I typed everything in and closed the editor to add the out parts to the scripting component. Then I had to realize that I lost my edit… yeah I guess I also hate computers. But that’s the deal if you really want to learn something :wink:
Now I have to do some boring stuff. I’ll give it another try later…