How to use the FFT like a pro, 3 essential signal prep tips

Поділитися
Вставка
  • Опубліковано 6 вер 2024

КОМЕНТАРІ • 43

  • @BCarli1395
    @BCarli1395 6 місяців тому +6

    Thank you. Concise and accessible, yet still gives a surprisingly thorough introduction to sampling issues.

    • @MarkNewmanEducation
      @MarkNewmanEducation  6 місяців тому +1

      Glad it was helpful. Two more videos are coming in this series which I'll be releasing over the next few weeks. However, you can see them already as I have linked to them on the end screen.

  • @yds6268
    @yds6268 6 місяців тому +2

    I did not expect this video in my feed, but it's exactly what I need

  • @RafaelHA2010
    @RafaelHA2010 2 місяці тому

    im not an engineer, im learning EEG analisis and ur vudeos have been so helpfull, thanks and greettings from CDMX

  • @bradzepfan
    @bradzepfan 6 місяців тому +3

    OMG you are INCREDIBLE. what a treasure!

  • @sathyaprakash153
    @sathyaprakash153 6 місяців тому +2

    Very nicely explained.

  • @adastra123
    @adastra123 4 місяці тому

    Just ordered the book.
    Brilliant , brilliant brilliant 👏.
    Thanks so much.

  • @ItsMeTheUser
    @ItsMeTheUser 6 місяців тому +1

    Welcome back sir! Great video as always!

  • @acidangel162
    @acidangel162 5 місяців тому

    Great video. I especially like the part about the windowing function. You explain why it's needed really well. Hanning window is OK when you are dealing with low dynamic range. Like 10 to 20 dB. It falls short when you increase the dynamic range above that. I recommend the Kaiser window. It has somewhat narrow main lobes and is adjustable. You can even go above 100 dB of dynamic range. You can select the correct value for the Kaiser window based on how much dynamic range you need. For audio 50-60 dB is sufficient.

  • @joaopedrorocha4790
    @joaopedrorocha4790 6 днів тому

    treasure chest found hiding on youtube! Thanks for sharing!

  • @orterves
    @orterves 6 місяців тому +2

    This is fantastic, thanks!

  • @AnimeSyncInfinite
    @AnimeSyncInfinite 6 місяців тому +3

    The G.O.A.T

  • @RaoHaseeb-vj7ur
    @RaoHaseeb-vj7ur 3 місяці тому

    real life sheldon cooper feels like hosting fun with flags but its actually really fun to watch

  • @MrHeatification
    @MrHeatification 3 місяці тому

    really good

  • @Pedritox0953
    @Pedritox0953 5 місяців тому

    Great video! Very entertaining

  • @deeps-n5y
    @deeps-n5y 6 місяців тому +1

    Thank you ❤

  • @rezah336
    @rezah336 5 місяців тому

    give some examples of the power of the fourier transform, always show applications

  • @alopez545
    @alopez545 5 місяців тому

    The boss is back!

  • @emiliomartineziii2980
    @emiliomartineziii2980 28 днів тому +1

    Has the course been released yet? I clicked the link hoping to buy it but it said it was not available

    • @MarkNewmanEducation
      @MarkNewmanEducation  2 дні тому

      I just released the course today. If you sign up before 12th September, you can get a 10% discount by entering the coupon code: LAUNCHWEEK on the checkout page. Clicking on the following link should apply the code automatically: howthefouriertransformworks.com/courses/?coupon_code=LAUNCHWEEK

    • @emiliomartineziii2980
      @emiliomartineziii2980 2 дні тому

      @@MarkNewmanEducation Totally going to do it. Thanks a ton

    • @MarkNewmanEducation
      @MarkNewmanEducation  2 дні тому

      I just got a notification that you bought the course. Thanks. I hope you find it useful. If you have any questions, please email me at mark@howthefouriertransformworks.com

    • @emiliomartineziii2980
      @emiliomartineziii2980 2 дні тому

      @@MarkNewmanEducation Yeah I bought it because your book saved me countless hours. I will probably let you know in a few months how I would rate it. Also, I’m close to becoming an instructor at a university, so if your course turns out to be legendary like the book, I would seriously consider making your book and online lessons a required text/supplement for students

  • @nareshkumar4207
    @nareshkumar4207 6 місяців тому

    How do we find the highest frequency present in a signal?

    • @MarkNewmanEducation
      @MarkNewmanEducation  6 місяців тому +2

      Ahh. That's difficult. You really need to know something about your signal first. How do you know how big something is until you measure it, but the very act of measuring, in this case, has the potential to alter the measurement. It's more a case of deciding which frequency range interests you. For example, if this is an audio signal that you want humans to hear, filter out anything above 20kHz as we can't hear those frequencies anyway.

    • @nareshkumar4207
      @nareshkumar4207 6 місяців тому

      @@MarkNewmanEducation Thank for your kind reply sir.

  • @matthewduck302
    @matthewduck302 6 місяців тому

    Hi Mark could you please help, I follow what you are saying in the video, but for applications of the FFT, typically the algorithm does not ask for the Fs of the signal when I implement it in MATLAB or Python. At most it allows for me to specify the size if I want to pad it up to a different length, but it doesn’t need the Fs. I know how to scale the axis when it gives me an output, but how does it know what frequencies to test in the signal if I don’t feed it the sample rate? For example, If I have a function with frequency content up to say 10 MHz and I only have 10,000 data points with a sampling rate of 30 MHz, the FFT in programming doesn’t explicitly ask for the sampling rate, so wouldn’t it only check frequencies up to 10 kHz for the 10,000 points? Caveat that the result looks correct without the giving the sample rate. Why is this?

    • @MarkNewmanEducation
      @MarkNewmanEducation  6 місяців тому +1

      The FFT algorithm itself will not actually tell you the frequency of any of the sinusoids in your signal. It doesn't care about it. As far as it is concerned, it sees the frequency as an index which ranges from 0 to your FFT size rather than what we would like to see as a number in Hz. In the same way, the FFT algorithm won't directly tell you the Magnitude or Phase of each sinusoid. It only gives you the cosine (real) and sine (imaginary) components for each sinusoid in the signal. If you want to know the Frequency, Magnitude or Phase, you have to work it out for yourself from the list of complex numbers. In your example, you are sampling your signal at 3 times the highest frequency which is great. You won't miss out on any data. To work out the actual frequency of each item in the list, you need to take the position of the item (which will range from 0 to 9,999) and divide it by the number of samples in your FFT (10,000), then multiply the result by 30Mhz. This will give you the frequency in Hz.
      Just an observation: 10,000 samples is not a power of 2. If the FFT is running without giving you an error message, then MATLAB is doing something to your signal to make the number of samples a power of 2. Otherwise, the FFT cannot run. The shape of your output may well look right. However, check the actual sample values. They will be a scaled version of the real frequency of each sinusoid unless MATLAB is doing something really clever and is somehow working out what the sample rate is in some way. (For example, if you are feeding it 2 columns of data, one containing the timestamp of each sample and the other containing the amplitude).

  • @polarizadmax
    @polarizadmax 6 місяців тому +1

    How about zero padding the signal with low number of sample ? 🤔

    • @MarkNewmanEducation
      @MarkNewmanEducation  6 місяців тому +2

      Aha... you're anticipating next week's video. I've linked to it on the end screen.

    • @keipfar
      @keipfar 6 місяців тому

      If you feed your fft algorithm with a sample of size N, the fft by default gives the spectra for only N values of frequencies. But it could give you more. If you want more values, you trick the fft algorithm by using Zero padding (adding zeros to your original sample to increase artificially N without changing the information of the signal). Zero padding does nothing to address the sampling rate issue; it doesn't change the information contained in the signal.

    • @polarizadmax
      @polarizadmax 6 місяців тому

      @@keipfar And what if we insert zero between sparse less number of samples before FFT/DFT ?

    • @keipfar
      @keipfar 6 місяців тому

      @@polarizadmaxI am not aware of such techniques. My guess is you will distort the content of the signal. I don't know.

  • @elijahjflowers
    @elijahjflowers 6 місяців тому

    have you used the FFT on thought?

    • @MarkNewmanEducation
      @MarkNewmanEducation  6 місяців тому +1

      No I haven't! That's an interesting idea. How would you measure thought?