Beating Nyquist with Compressed Sensing, in Python

Ғылым және технология

This video shows how it is possible to beat the Nyquist sampling rate with compressed sensing (code in Python).
Book Website: databookuw.com
Book PDF: databookuw.com/databook.pdf
These lectures follow Chapter 3 from:
"Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Brunton and Kutz
Amazon: www.amazon.com/Data-Driven-Sc...
Brunton Website: eigensteve.com
This video was produced at the University of Washington

Пікірлер: 54

  • @jedhomer4381
    @jedhomer43813 жыл бұрын

    So impressive - you're a gifted speaker. Definitely checking out your book.

  • @sustrasbk
    @sustrasbk3 жыл бұрын

    Steve, I just wanted to thank you for your amazing videos. I am a PhD student working on applying compressed sensing ideas to imaging semiconductor materials. Your explanations in videos and book have been superb and very clear. Enormous help.

  • @chrisguiney4568
    @chrisguiney45682 жыл бұрын

    This is actually the same technique you'll see for image reconstruction from a monte carlo based path tracer. It's a pretty interesting topic, and it's really neat to see it presented from a compressed sensing perspective! It opens the door to talk about what sort of sampling strategies there are to reduce the introduction of aliasing, as well as convolutional filters to clean up the reconstruction. I suppose in a way, the camera in a path tracer essentially serves as a virtual sensor, getting it's readings from randomly sampling the lighting equation

  • @mehdikoochak9678
    @mehdikoochak96783 жыл бұрын

    Amazing like always, it becomes my new favorite series which I waiting for every weekend! 😀 Thank you so much for what you’re sharing!

  • @dumisaninamakhwa8123
    @dumisaninamakhwa81232 жыл бұрын

    Thank you so much Steve Brunton for the nice work. This is very helpful. Am working on audio compressed sensing for my masters' thesis.

  • @Saimouer
    @Saimouer3 жыл бұрын

    Just bought your book. You're a massive inspiration for my PhD. Hope to meet you someday!

  • @christinadaniel4671
    @christinadaniel4671 Жыл бұрын

    Thank you for these videos on compressive sensing and information theory. This is helping me with my thesis project in physics.

  • @jesusdavidrinconpuche2193
    @jesusdavidrinconpuche21933 жыл бұрын

    Excellent, video! Looking forward to develop the example

  • @Erosis
    @Erosis3 жыл бұрын

    Wow, this is such a simple concept that I can't believe works.

  • @pierregravel5941
    @pierregravel5941 Жыл бұрын

    Very nice demonstration of the importance of random sampling. Sparsity is only one side of the coin.

  • @Tman7855
    @Tman78553 жыл бұрын

    Steve! Love your videos. As someone interested in sound and DSP, I find this fascinating. One edit: the independent axes labels on the plots at 6:03 are off (power spectrum has a time axis)

  • @kabirabdulmajeed5185
    @kabirabdulmajeed51853 жыл бұрын

    Nicely said as usual!

  • @trivedidehit1931
    @trivedidehit19313 жыл бұрын

    great video. You make it very easy to understand this difficult topics.

  • @Alexagrigorieff
    @Alexagrigorieff3 жыл бұрын

    2:40 - If you under-sample a signal with components over the Nyquist frequency, then you'll create aliases. Your sampled sequence will contain an alias of the under-sampled component. The problem is that you cannot distinguish it from an actual source signal on such aliased frequency. For example, if you have a sum of components at 128 and 768 Hz, and sample it at 1024 Hz, your sampled sequence will contain an aliased frequency 256 Hz. You will not be able to tell such sequence from the input signal of 128 and 256 Hz components.

  • @DiverselyArtistic
    @DiverselyArtistic3 жыл бұрын

    from the first second ,this is just awesome

  • @D-osOrg
    @D-osOrg3 жыл бұрын

    brilliant lecture ! thank you

  • @rlrfproductions
    @rlrfproductions3 жыл бұрын

    Amazing as this is, I'm curious if this is really 'beating' Nyquist or just moving it somewhere else, because I have a strong feeling the minimum timing precision with which you need to know your random samples is, once again, twice that of the highest signal in your data. Nyquist is not easily bested!

  • @Alexagrigorieff

    @Alexagrigorieff

    3 жыл бұрын

    It's just aliasing, not really "beating" Nyquist

  • @CyrusTabery

    @CyrusTabery

    2 жыл бұрын

    If the frequency spectrum is sparse then it works. Which is great

  • @alirezakeramat1381
    @alirezakeramat13813 жыл бұрын

    Amazing and impressive, covering all details. Thanks a lot. A question: since Compressive Sensing (CS) reduced the complicated combinatorial problem to a new fast convex optimization problem, then does that make sense to improve the result of CS by considering its results as an initial guess of some gradient based optimization technique to improve the CS results, or use the CS results to conduct a guided combinatorial search?

  • @emmanuelobeng7952
    @emmanuelobeng7952 Жыл бұрын

    Goodwork

  • @HappyGoLuckyPanda
    @HappyGoLuckyPanda4 ай бұрын

    Very interesting. So, it essentially samples in much higher frequency in some regions where the sampling points are closer. I suspect that one can do a two-pass (or multiple-pass) approach to find optimal sampling points for a specific input.

  • @SunkuSai
    @SunkuSai3 жыл бұрын

    What about noisy signals? A simpler version of the same idea is bandpass sampling. Although bandpass sampling guarantees reconstruction of a noiseless signal with fewer samples in the time domain, the final signal to noise is determined by the total number of samples. So in fact there is no reduction in measurement time for noisy signals.

  • @FKYAP
    @FKYAP3 жыл бұрын

    Hi! Great teaching vids! I'm wondering if this will work with random signals? From your example it seems like a constant signal with different frequencies. From what I can understand from your vids, if my signal is random in time, the random sampling will not work.

  • @severnsevern1445
    @severnsevern14453 жыл бұрын

    Great video!! helpful! Please, need some good references paper in which this technique has been used. Thanks!

  • @xxh7595
    @xxh75953 жыл бұрын

    Thanks for the video! I am wondering if it is possible to index the playlist a bit? So we can follow the book parallel with your video better😁

  • @treasure_moments
    @treasure_moments Жыл бұрын

    THANKS

  • @phillipneal8194
    @phillipneal8194 Жыл бұрын

    Thank you for a clear presentation of compressed sampling. Will this work at frequencies in the HF bands ? For example, a signal at 15 Mhz ?

  • @danielsanntiago
    @danielsanntiago3 жыл бұрын

    great video! How much frequency components can we plug in until the reconstruction fails? in other words, how much non-sparse can be the original signal to achieve this reconstruction with only 128/4096 sampling? is there any metric to tune up the number of random points needed for a given signal with a sparse power spectrum?

  • @MingYuanYu
    @MingYuanYu3 жыл бұрын

    How sensitive is it to noise?

  • @sundaynyanabo2777
    @sundaynyanabo27773 жыл бұрын

    Your Lectures Appears to be Amazing.... I stumbled on one of ur lectures after I had issues with noise in my audio production and felt I could do something to the noise using python, 🤔thinking "denoising in signal processing with python or matlab"...not so sure tho...i subscribed to this channel and since then, I've been following ur lectures closely.. Buh it seems you're speaking in parables.... Are all these advanced courses?...... Frankly, I'm not understanding....Pre-requisite please...I should @least be at par with some Stuff in your channel... You are doing great, especially not just the codes, buh the graphics, the stream quality (tho @720p, buh awesome) and exhausting ur energy with lots of passion in making these presentations......just to say the less...

  • @Turcian
    @Turcian3 жыл бұрын

    Does it help to sample from a low-discrepancy sequence ?

  • @nadie-qm8rq
    @nadie-qm8rq3 жыл бұрын

    wow first time watching a lecture in 4k

  • @CainisUponUs
    @CainisUponUs3 жыл бұрын

    How does one set a lower limit for the average random sampling rate? Is 128 special in some way? Or is it a rule of thumb to divide the high resolution rate by 32?

  • @charuvaza3807
    @charuvaza38073 жыл бұрын

    Sir can u please make a video on restricted isometry property.

  • @v1e2ridisQ3u4o
    @v1e2ridisQ3u4o3 жыл бұрын

    Fascinating! How well does this transfer to aperiodic signals like chirps?

  • @JRabba1995

    @JRabba1995

    3 жыл бұрын

    Chirps are not sparse so compresed sensing might be not optimal

  • @JRabba1995

    @JRabba1995

    3 жыл бұрын

    @@taktoa1 yes. Youre right

  • @SamAndHenryPlaz
    @SamAndHenryPlaz3 жыл бұрын

    I know that he is leading up to this probably in next videos but what if a frequency just appears in the signal for a little bit and then goes away. These videos are awesome!

  • @SamAndHenryPlaz

    @SamAndHenryPlaz

    3 жыл бұрын

    Oops, I see that taktoa has alreayd answered that a chirplet transform may work for that. I have no idea how a chriplet transform is made though.

  • @SamAndHenryPlaz

    @SamAndHenryPlaz

    3 жыл бұрын

    I'm finding that you really need to read the book section that he made available on his website with the videos. Also I wonder if this technique is what they used for the black hole picture.

  • @nraynaud
    @nraynaud3 жыл бұрын

    can you explain some use cases for that kind of sampling? I feels like the requirement to be able to sample quickly twice in a row doesn't allow for using slower and cheaper ADCs.

  • @PJE

    @PJE

    3 жыл бұрын

    I have the same question. While thinking about it, without being versed in this stuff, I came to the idea that you may have two low-freq "samplers" with a very small time offset between both. The maximum frequency you'd be able to detect with such a setup would depend on that offset more than on the sampling frequency of each "sampler". That deviates quite a lot from the idea of having a single one with randomness, but that's the best I could come up with.

  • @Diegojrendon

    @Diegojrendon

    3 жыл бұрын

    Hey, I am not really sure but, what if historic data is used of a larger time window and the pick a random subset of points? Perhaps not as good as high frequency sampling but it could work I assume with a larger sample

  • @marwanibrahim5584

    @marwanibrahim5584

    3 жыл бұрын

    I am not very experienced with this, but I guess one very simple case would be for storage purposes. If you’re collecting PIV measurements of a flow it is important to be able to observe the flow for a long enough period of time to observe different phenomena but storage can be a problem. Sampling at a high frequency only a few random time points would solve such a problem.

  • @mikelwrnc

    @mikelwrnc

    2 жыл бұрын

    Applies any time that the sampling process is expensive. So if the measurement system generates heat for example and running at full rate will cause eventual overload. Or if the storage of samples is expensive (ex super high spatio-temporal resolutions). Also, purpose-designed CMOS sensors can achieve a higher throughput (spatial or temporal or both).

  • @romanowskis1at
    @romanowskis1at3 жыл бұрын

    what should be go wrong if we can use exponential gowth/decay function to determine when we have to get sample, instead of pure random number of sample? Or Fibbonaci naumbers to determine sample times, for example 1,2, 3, 5, 8, 13, 21 etc. With each single sample we look at different frequency of source signal. Plase dont baned me, im not a mathematican.

  • @mikelwrnc

    @mikelwrnc

    2 жыл бұрын

    Good question, exactly what I was wondering. I’ll be coding up a simulation to evaluate this (as well as the influence of noise, non-stationarity, etc) and I’ll report back.

  • @sebastianm8465
    @sebastianm84653 жыл бұрын

    wouldnt this work only for signals that carry almost no information ?, like the signal doesnt change through time thats why we can extrapolate the high frequency sampled areas.

  • @Veptis
    @Veptis2 жыл бұрын

    How is the random distribution? A gaussian distribution of sample rates doesn't seem the best idea. Wouldn't you have try and get a really far distribution? So you have a few close measurements points and equally many really far apart?

  • @mikelwrnc

    @mikelwrnc

    2 жыл бұрын

    I believe the code a random uniform sampling through time, which in turn implies a random exponential distribution of time deltas.

  • @yaakoubberrgio5271
    @yaakoubberrgio52713 жыл бұрын

    Hello Can you send me a matlab code of compressed sensing Thanks in advance

  • @critic1236
    @critic12364 ай бұрын

    He is cheating. His random number generator is able to generate two points close together which represents a high frequency. This isnt allowed by his premise. He can only sample random points with a restraint on the minimum frequency or space in time between them. I dont think it works then. It might work over multiple periods of data with a minimum random point distance. He didnt put that in the program that I see or at least didnt mention that. Take a slower frequency and phase shift it controllably over multiple cycles might be a better demonstration. You must change the phase slowly in order not to form a higher frequency.

Келесі