Desktop Recorder

agraham

Expert
Licensed User
Longtime User
I'm afraid there is something wrong. :( If Ttransform = 2 then "3 Sines" transforms and inverses fine but "3 Cosines" does not retrurn the correct time series after the IFFT. I don't know where the problem lies. I thought that it worked fine on your previous version but unfortunately I can't check it as the latest version overwrote that previous version in my project folder and I can't download it again as you have removed it. Please can you have a look if you still have a previous version available?
 

redbird

Member
Licensed User
How do you like the attached sample program ?
Tachometer with moving needle.

Well, after a bit of playing around, I came to this user-interface with a moving needle, and without much effort, thanks to your code.
I should be ready in a few days to post the final program, once I did some more testing. Your name ("Klaus") is in the credit list, if you don't mind. I would even put your real/complete name with pleasure, but that would be rather indiscrete to ask, I think. :)


attachment.php
 

Attachments

  • 6.1_Tachometer.jpg
    6.1_Tachometer.jpg
    15.7 KB · Views: 34

klaus

Expert
Licensed User
Longtime User
Hi Andrew,

Unfortunately I don't have the previous versions either.

I don't rember having seen this before.
The CalcInvFFT function has not been changed in the FFTdemo program in the last versions.

I had a closer look to undestand what happens.
I modified the FFTdemo program to:
- set the second half of the real and imaginary part in B4PPC
- and calculate the InvFFT with FFT.Inverse

When you run the test program it will show a single cosine.
Click on FFT to show the first half of the FFT signals
Click on CalcInvFFT we get what we see in the FFTdemo program
Click on CFFT and FFT to calculate a new FFT with the inverse time signals with Transform1
We see that
sample 0 has a value of 2 instead of 0
sample 256 has a value of -2 instead of 0.
I don't know where these values do come from.

Click on CSetFFT the program adds the second half of the FFT signal
and sets DataReal(0)=2 and DataReal(256)=-2
Click on C Inv FFT you see the same as what we get with the FFTdemo program.

Then change lines 940 -943
DataReal(256)=0
DataImag(256)=0
' DataReal(0)=2
' DataReal(256)=-2

Repeat the same as above, the inverse transform works.

Best regards.
 

agraham

Expert
Licensed User
Longtime User
Well spotted Kalus:icon_clap:. "DataReal(n/2)=0" was the problem.

When rebuilding the complex conjugate part I earlier said in post #56 "This leaves no value to be relected into index 256 so I have left it as zero." The implicit assumtion was that the data array was initialised to zero but as you are reusing the array there is an unwanted value in there. Fixed dll attached together with almost final help that incorporates your description of the demo which I have taken the liberty of slightly amending to more idiomatic English - hope you don't mind!

If you still have versions 1.6 and 1.7 of the demo programs could you please post them.
I'm afraid that I only have the latest as the later ones overwrote the earlier ones.
If you mean the FFT library versions I have them all.
So do I, and all the sources. My version control system is pretty strict - at least for the stuff I generate myself!

We are nearly there! A couple of comments about the demo.

1) Why not make the "Calc Inv FFT" button visible at the beginning? Once it is visible it stays visible anyway.
2) "Click on one of the sine buttons to continue" implies you can't click the cosines button! How about "signal buttons"?
3) The "Inverse FFT Imaginary" graph legend is wrapped as the label is too short.
 

klaus

Expert
Licensed User
Longtime User
Hi Andrew,
When rebuilding the complex conjugate part I earlier said in post #56 "This leaves no value to be relected into index 256 so ...
I remembered this post, and as the CalcInvFFT routine in the FFTdemo program was not changed I was looking at the second half of the FFT samples.
I have taken the liberty of slightly amending to more idiomatic English - hope you don't mind!
No problem, I'm glad that you do it.

Your suggestions are included.

Unfortunately in the FFT1.9.zip file the FFT.cs file is missing.

Attached the last FFTdemo program.

Best regards.
 

Attachments

  • FFTdemo.sbp
    26.8 KB · Views: 5

klaus

Expert
Licensed User
Longtime User
Updated help in the program:
Remove f2,f3 ... is available only with '3 sines' and 'FFT'.

Best regards.

EDIT: I also updated the Word help file for Remove f2,f3
 

Attachments

  • FFTdemo.sbp
    26.8 KB · Views: 13
  • FFT Demo program.zip
    22.9 KB · Views: 13
Last edited:

redbird

Member
Licensed User
Klaus and Agraham, my code is finally finished. The app is here, you'll easily recognise the fact that I used the fft library, and also Klaus his "moving needle" code in the menu Tools / Tachometer. I want to thank you again for all your help, and as I promised, both your names are mentioned in the credit list. Look at the help menu in the tachometer screen, at the bottom.
The app will of course be of no use for you, as it is about R/C helis, but it seems to become rapidly popular between these hobbyists. The website had 500 unique visitors in a single day since I put the new version online yesterday. Have a peak or a download at HeliPort.
 

klaus

Expert
Licensed User
Longtime User
Hi redbird,

I just had a look at the desktop version and tried it.
Looks pretty nice.

I mad some records, and luckily the wasching machine was running nearby, and I measured the speed of the drum during spinning !

A few posts ago you asked me:
Your name ("Klaus") is in the credit list, if you don't mind. I would even put your real/complete name with pleasure, but that would be rather indiscrete to ask, I think.
I thought I had already answered you but it seems I didn't.
It's not indisctete, my full name is Klaus CHRISTL, it can be found in the Abouts of my programs.

I think you should also add a text over the spectrum button, it's not obvious to know the button's function. I would even set the 3 buttons, other than recording, to invisible during recording.

Best regards.
 

redbird

Member
Licensed User
Klaus,

It's done, your full name will be in the credit list in the next release.
And I will make all buttons disappear while recording, and only show the spectrum buttion with the label when appropriate. Some finetuning now.
I even let the user choose one of eight sounds to be played when the recording is finished. It's impossible to look to the screen when flying a R/C heli, believe me, these things are very unstable by nature.
And maybe a kind of ini file to remember the user his choice, at a next start of the app.
BTW, I'm happy for you that you were able to check your washing machine. :sign0142:
 
Top