Morlet wavelets in time and in frequency

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ธ.ค. 2024

ความคิดเห็น • 68

  • @exoticcoder5365
    @exoticcoder5365 ปีที่แล้ว +1

    This is a very good explanation series that other channels didn’t provide, even with many views one, much appreciation sir !

    • @mikexcohen1
      @mikexcohen1  ปีที่แล้ว

      Thank you kindly, exoticcoder5365 :)

  • @thomasalderson368
    @thomasalderson368 3 ปีที่แล้ว +5

    don't quit your day job...
    these videos are insanely helpful.

    • @mikexcohen1
      @mikexcohen1  3 ปีที่แล้ว +3

      lol, making these videos is my night job ;)

  • @BruinChang
    @BruinChang 3 ปีที่แล้ว +5

    The time frequency representation is an art.

  • @donjon9333
    @donjon9333 4 ปีที่แล้ว +17

    U killed me with that joke-let

    • @mikexcohen1
      @mikexcohen1  4 ปีที่แล้ว +8

      In these times, even bad jokes can be useful!

  • @Tapuzi
    @Tapuzi ปีที่แล้ว

    High quality! Thank you. I am trying to base my intuition in this subject for a while, this is very beneficial.

  • @dnranjit
    @dnranjit 4 ปีที่แล้ว +1

    Really interesting video and really appreciate the amount of passion and hardwork has gone into this.One point though: @11:04 ..the amplitude of the sine wave is fluctuating. Only if it had been a complex signal rather than a sinusoid would its amplitude be constant.

    • @mikexcohen1
      @mikexcohen1  4 ปีที่แล้ว

      Great point, thanks Ranjit. Indeed, we always use complex-valued wavelets for the analyses, but I find it useful to start by introducing real-valued wavelets.

    • @dnranjit
      @dnranjit 4 ปีที่แล้ว

      @@mikexcohen1 I must say, your videos are quite lucid and easy to comprehend and most importantly ..a good sense of humor.Good content and really love the color palette for the waveforms. Please keep up the good work.

  • @videofountain
    @videofountain ปีที่แล้ว +2

    I think you may have inspired students to learn morelet about this topic.

  • @vtrandal
    @vtrandal 9 หลายเดือนก่อน

    Excellent video. Thank you. I'm looking for a transcipt to this video, but I cannot find one.

    • @mikexcohen1
      @mikexcohen1  9 หลายเดือนก่อน

      Hmm, that does seem to be the case. They're auto-generated. From some googling, this seems to happen sometimes with long videos, although this isn't my longest YT video. It doesn't seem possible to re-start the autogen process. I'll look into it, thanks for letting me know.

  • @mimArmand
    @mimArmand 3 ปีที่แล้ว

    You are a great teacher!
    I wonder what are some practical use-cases of these transformations? Is it to eliminate some of the noise?

    • @mikexcohen1
      @mikexcohen1  3 ปีที่แล้ว +2

      Thanks! Morlet wavelets are often used in time-frequency analysis, i.e., creating a spectrogram, which shows how spectral energy changes over time.

  • @silviamaradacostacampos8971
    @silviamaradacostacampos8971 3 ปีที่แล้ว

    Congratulation for the explanation!!

  • @周建-s2x
    @周建-s2x ปีที่แล้ว

    May I ask one question¿ why the icwt in matlab of one wavelet coefficient is just a point ¿

  • @exoticcoder5365
    @exoticcoder5365 ปีที่แล้ว +1

    7:09 I caught that joke lol

  • @BeSaj22
    @BeSaj22 2 ปีที่แล้ว

    A life saver! Thanks for these helpful tutorials!
    I love the dad-tier jokes too btw.

    • @mikexcohen1
      @mikexcohen1  2 ปีที่แล้ว

      Glad you like them! (The videos and the jokes.)

  • @ITriedThis
    @ITriedThis 2 ปีที่แล้ว

    Thanks for the video. I'm doing analysis on Pilot Induced Oscillations using Morlet wavelets and this was a great introduction.
    By the way, is a Morlet wavelet a small version of a Mor wavelet?

    • @mikexcohen1
      @mikexcohen1  2 ปีที่แล้ว

      lol, yeah I think so. They're named after Jean Morlet, a French geophysicist. He was the son of Jean Mor, who invented the sine wave. (OK ok, that last sentence is just a joke.)

  • @kevalan1042
    @kevalan1042 3 ปีที่แล้ว +1

    I see that your course uses Matlab, would you consider doing a PyTorch version?

    • @mikexcohen1
      @mikexcohen1  3 ปีที่แล้ว +1

      This whole series is in MATLAB. I have a bunch of other videos and courses in Python. I'm currently working on a course about deep learning in PyTorch, which will probably be finished in the summer...

    • @kevalan1042
      @kevalan1042 3 ปีที่แล้ว

      @@mikexcohen1 thanks for the reply, I like your style

  • @MatthewKelley-mq4ce
    @MatthewKelley-mq4ce 4 หลายเดือนก่อน

    Hehe. 😅 Let's assume I have the background I don't. It'll be fine with time. Topically relevant to what I'm looking into. You're videos seem fun and informative from what little I've seen so far.

    • @mikexcohen1
      @mikexcohen1  4 หลายเดือนก่อน

      You're awesome, Matthew :)

  • @gr_it_solutions
    @gr_it_solutions 9 หลายเดือนก่อน

    Superb sir

  • @edwardody4838
    @edwardody4838 4 ปีที่แล้ว

    Why are the edges of the Morlet Wavelet only close to 0 and not exactly 0?
    Thanks for the great course!

    • @mikexcohen1
      @mikexcohen1  4 ปีที่แล้ว +2

      Good question. One reason is theoretical: A Morlet wavelet is created by multiplying by a Gaussian [ exp(-x^2) ], and a Gaussian can never be zero; it can only asymptote to zero. The second reason is that due to underflow, digital computers have a hard time computing exact zero, so you end up with tiny numbers like 1e-16.
      On the other hand, there is a "practical zero" here where the values at the edges get so tiny that they have no real effect on the data.

    • @edwardody4838
      @edwardody4838 4 ปีที่แล้ว

      @@mikexcohen1 Hi Mike, thanks for replying to that so quickly! It didn't occur to me that the Gaussian would also never be 0 but it makes sense from the way that it's calculated.

  • @SampleroftheMultiverse
    @SampleroftheMultiverse 2 หลายเดือนก่อน +1

    i love waves

    • @mikexcohen1
      @mikexcohen1  2 หลายเดือนก่อน

      Me too 🌊💜

  • @isbestlizard
    @isbestlizard 4 ปีที่แล้ว +1

    Third times the charm. Will this video actually give an example of a wavelet function or continue to handwave

    • @isbestlizard
      @isbestlizard 4 ปีที่แล้ว +1

      YES thank you best wavelet intro on youtube!

  • @tobi3497
    @tobi3497 4 ปีที่แล้ว

    This sliding of the Morley wavelet over the series seems like the exact same thing as the STFT. Where instead of applying this window function on the input signal, you're applying the window function on the convolution wave

    • @mikexcohen1
      @mikexcohen1  4 ปีที่แล้ว

      Yes, that's a good summary. Most "different" methods for time-frequency analysis are actually very similar to each other. Wavelet convolution has some advantages over the STFT (e.g., easier and faster to implement, fewer parameters), but the end result will be basically the same.

    • @tobi3497
      @tobi3497 4 ปีที่แล้ว

      @@mikexcohen1 it seems like it would be slower to run, as youd need to run it for every frequency and time window: O(t x f) . Where was with STFT, you're only running for every time window (getting all the frequencies for that window at once): O(t)

    • @tobi3497
      @tobi3497 4 ปีที่แล้ว

      @@mikexcohen1 I asked a question about this here: dsp.stackexchange.com/questions/68015/wavelets-vs-fourier-transforms

    • @mikexcohen1
      @mikexcohen1  4 ปีที่แล้ว

      It depends on how you set it up and on how many time bins you have. Let's say you have 20 frequencies to extract. You need 1 FFT for the data, 20 FFTs for each wavelet, and 20 IFFTs. So that's 41 FFTs in total for the entire TF map. In neuroscience data analysis, we might have 2000 time points. If you extract 41 time bins for the STFFT, then the number of FFTs is the same, but 41 bins for 2000 time points is rather sparse. Furthermore, people often want to change the width of the time bins over different ranges of frequencies. Let's say you have three bins of frequency ranges with different time windows for the same center time point. So then the number of FFTs for the STFFT is actually 3N where N is the number of time time bins. To match the temporal resolution between STFFT and wavelet convolution, you'd need 2000 FFTs X 3 frequency bins = 6000 FFTs. So the way I've described it here, it's 41 FFTs for the wavelet analysis and 6000 for the STFFT analysis. But again, this is not trivially always the case; it all depends on how you set things up.

    • @tobi3497
      @tobi3497 4 ปีที่แล้ว

      @@mikexcohen1 from what I've read, you've missed out the convolution step for the wavelet transforms. U use 41 ffts to the relevant frequencies, but you still have to do this for every time step - unless I'm confused.

  • @sukursukur3617
    @sukursukur3617 ปีที่แล้ว

    Is morlet wavelet useful in image processing? I googled and there are a few study about that.

    • @mikexcohen1
      @mikexcohen1  ปีที่แล้ว

      Yes, 2D Morlet wavelets are used for filtering images and feature-detection. Although image processing is increasingly done through deep learning models like CNNs.

    • @sukursukur3617
      @sukursukur3617 ปีที่แล้ว

      @@mikexcohen1 Thank you very much for answer. I actually want to ask whether morlet wavelet can be used as kernel in convolution. Why is it not popular in image processing?

    • @mikexcohen1
      @mikexcohen1  ปีที่แล้ว

      Yes, Morlet wavelets are commonly used as convolution kernels. They work great for signals and for images. A lot of image processing is moving towards ML/DL/AI techniques.

  • @yaarobmohammad1020
    @yaarobmohammad1020 4 ปีที่แล้ว

    Can you please apply wavelet on geophysical data ?
    Thank you so much
    Hope you will answer me about this

    • @mikexcohen1
      @mikexcohen1  4 ปีที่แล้ว

      Sure, you can apply wavelet convolution to any regularly sampled time series data.

  • @elevate4181
    @elevate4181 2 ปีที่แล้ว

    Can you multiply elementwise the sine waves by non Gaussian distribution?

    • @mikexcohen1
      @mikexcohen1  2 ปีที่แล้ว

      Sure, you can use any tapering function. But a Gaussian is a great to use for several reasons, including the smoothness and spectral properties.

  • @salihaamoura232
    @salihaamoura232 5 ปีที่แล้ว +1

    Thank you very much 👏👏👏

  • @tienernwoon8637
    @tienernwoon8637 4 ปีที่แล้ว +1

    that joke with let okayyyy srsly AHAHA but before that much thanks and appreciation for your vids! much thorough explanation and Im getting interested along the way!

  • @prankinjp
    @prankinjp 5 หลายเดือนก่อน

    Is there python version for this course

    • @mikexcohen1
      @mikexcohen1  4 หลายเดือนก่อน

      Nope, but the book that this course is based on has been translated into Python. See my github repo for the ANTS book for links.
      That said, I do have a signal-processing course (non-neuroscience-related) that is in both MATLAB and Python.

  • @ninepuchar1
    @ninepuchar1 15 วันที่ผ่านมา

    7:04😂 Good one.

  • @xchen3132
    @xchen3132 4 ปีที่แล้ว +1

    I like the jokelet :3

  • @jyanguas3251
    @jyanguas3251 2 ปีที่แล้ว

    so useful!

    • @mikexcohen1
      @mikexcohen1  2 ปีที่แล้ว

      Glad it was helpful!

  • @aayushbajaj2260
    @aayushbajaj2260 ปีที่แล้ว +1

    I love you

    • @mikexcohen1
      @mikexcohen1  ปีที่แล้ว

      Aww... I love you too, aayushbajaj2260.

  • @DataMount1
    @DataMount1 4 ปีที่แล้ว +1

    Best joke ever

  • @mrx42
    @mrx42 4 ปีที่แล้ว

    Great joke buddy ;) Keep on going =)