Amazing content! So clear and straight to the point. Must have taken a ton of work to digest it down to this, but still make it understandable, without oversimplifying it, thank you so much for making this publicly available! I'm a mechanical engineer, and needed some refreshing of the theory on DSP and signal processing. Even after I refreshed what I needed, by watching 2 of your videos in this series, I went back and binge-watched the whole 17 videos, just because your way of teaching is so clear, concise and captivating.
@mikexcohen111 ай бұрын
Thank you kindly, @satanaz. It's tough to say how long it took me to make this video. At 15 minutes, it was probably 20 minutes of live recording and then editing, maybe it was an hour to make the slides. But of course, it was 20+ years of studying and working on this topic to get to the point where I could teach it like this. And I didn't invent the techniques; that was the work of genius mathematicians (notably Fourier but many others). And so on... so basically, it took 14 billion years of the universe evolving to make this video :P
@devrimturker3 жыл бұрын
When I watch rolling wheel of car, at high speed, it seems like it is rolling backward. Is it due to aliasing, can we call negative frequency?
@mikexcohen13 жыл бұрын
Excellent analogy!
@amrelsherbiny48112 жыл бұрын
Thank you so much for this amazing series, it really helped me a lot. I have a question regarding the negative frequencies please. I'm sampling a signal at a rate of 1000hz, so my Nyquist frequency is 500hz. After that, I filter the signal with a bandpass filter between 20-450hz. When I plot the Fourier transform results, I'm still seeing positive and negative frequencies, which are mirror images centered around 0. What I don't understand is, if the negative frequencies are the ones after Nyquist frequency, and I am already filtering the signal below Nyquist frequency of the signal, how do they still exist?
@mikexcohen12 жыл бұрын
Thank you, Amr. When you filter, the negative frequencies are also removed. That's because the filter kernel is symmetric in the frequency domain.
@chansonjoy4 жыл бұрын
I found it's a bit too difficult to follow at 9:35 as the transit is too fast and miss some link. I tried to explain to my self as following: so Fourier coefficient (FC) is nothing more than a dot product FC = |A||B|cos(θ) cos(θ) = 1/2e(-jk) + 1/2e(jk) therefor FC = |A||B|(1/2e(-jk) + 1/2e(jk)) FC = 1/2|A||B|e(-jk) + 1/2|A||B|e(jk)) From above we can see FC is composed by 2 parts: positive and negative frequency and the magnitude of these 2 parts is half of |A||B|
@yuxinzhang42283 жыл бұрын
Yes I also felt confused here
@solbanan2 жыл бұрын
same
@charliechang28973 жыл бұрын
Thanks for the great video. But I think it should be hz = linspace(0, srate, N+1) at 11:45, because the first point of dft corresponds to 0 hz and the (N+1) th point corresponds to the sampling rate. Note that in Matlab, "y = linspace(x1,x2,n) generates n points. The spacing between the points is (x2-x1)/(n-1)." (x1 and x2 are included in y)
@mikexcohen13 жыл бұрын
Excellent point, thanks 祐誠張. In fact, the exact number of frequencies depends on whether the time series has an odd or even number of points. I go into this in more detail in the full version of the course, but for a relatively long time series, the difference is tiny and usually inconsequential.
@nathanielrindlaub61862 жыл бұрын
Thank you so much for this video series; it has been truly invaluable! At 1:40 you mention that the FT of complex values performs a little differently and you allude to possibly touching on that in more depth in a later video. Did you ever make a video discussing FTs on complex signals? I am struggling to understand how complex sampling works in software defined radio (which typically uses IQ data) and I imagine such a video would help a great deal. I have scoured KZbin and elsewhere and can not for the life of me understand why bandwidth = sample rate with IQ data.
@mikexcohen12 жыл бұрын
Hey Nathaniel. Well actually, the mechanics and interpretation are the same for complex-valued signals as for real-valued signals. The only difference is that the spectrum is symmetric (that is, the positive frequencies mirror the negative frequencies) for real-valued signals and asymmetric for complex-valued signals. I don't have a specific video on that per se, but I do have videos about complex-valued Morlet wavelets, where you can see an example of an asymmetric power spectrum.
@mugdhagarg5100 Жыл бұрын
Per what you've explained, I can see why there would be aliasing beyond the Nyq freq., but not why the frequencies would keep decreasing as the signal frequencies increase. Please explain such things better? People like me get stuck forever if things are said without their full explanations.
@AnonymousePhx3 жыл бұрын
Thank you for making such complex (no pun intended) subjects accessible to people like me who thought they missed the boat on advanced mathematics and were forever screwed in understanding LFP analyses! :) I'm still a bit hung up on the necessity of using complex sine waves to compute the Fourier transform - do you have any suggested readings, video, or code that steps through the alternative strategies of how it would look to compute Fourier using real sine waves? Thank you so much for what you do.
@mikexcohen13 жыл бұрын
You're welcome, glad you found it useful. You can check out my NEW ANTS playlist on spectral analysis. I also have a full course on the Fourier transform on Udemy. The short answer to your question is that using only real-valued sine waves would give a spectrum that is phase-dependent. But you don't actually need complex sine waves; you can also do it using real-valued cosines and real-valued sines to account for phase alignments between the signal and the sine waves. But then you'd need to combine the information from both. This is actually what Fourier originally proposed, and nowadays we used complex-valued sine waves because it's more convenient.
@mugdhagarg5100 Жыл бұрын
@@mikexcohen1 How and why would sets of sines and cosines account for phase alignments between the signal and the sine waves? How is the information combination thereafter done?
@exoticcoder5365 Жыл бұрын
9:15 Maths is very good 👍🏻
@aleksinuutila23153 жыл бұрын
This is completely unrelated, but the spectrum at 0:42 is identical to the UV-vis spectrum of tetrangulol.
@mikexcohen13 жыл бұрын
Ha! Thanks for sharing. I actually just hand-drew that spectrum and wasn't thinking about anything in particular. But the very low-frequency increase doesn't match with tetrangulol :P (at least from what I can tell from a quick google search...)
@Amine-gz7gq2 жыл бұрын
A wikipedia article that explains the minus sign of the complex exponential exponent : en.wikipedia.org/wiki/Negative_frequency#Applications
@jamiele92503 жыл бұрын
Thank you^^
@mikexcohen13 жыл бұрын
You're welcome, Cat (assuming "Cat Lover" is your real name...).
@jamiele92503 жыл бұрын
@@mikexcohen1 No haha. My name is Dongyi & IG Dongyi_99
@younique97104 жыл бұрын
Thank you for the useful educational video. I have a question for conversion of indice into Hz. I probably miss something you say, but I am not sure whether I correctly understand when we convert indice into Hz. Is it correct that once we figure out or calculate Fourier coefficient, then we convert the indice into Hz?
@mikexcohen14 жыл бұрын
Check out this video: kzbin.info/www/bejne/iHnNoqmZgLuipsk
@younique97104 жыл бұрын
@@mikexcohen1 Thank you for your response to my question. I saw the video that you post the link above. I understand that first we run the MatLab code for fourier coefficient, and then we convert the indice into Hz. However, I do not know how to integrate the MatLab code for the indice of fourier coefficients with the code of MatLab for Hz of fourier coefficient because the code of MatLab for Hz of fourier coefficient (0, srate/2, N/2+1) does not include any variables of the MatLab code for the indice of fourier coefficients.
@mikexcohen14 жыл бұрын
Well, you might need to change or define some variable names if you are integrating different codes.
@younique97104 жыл бұрын
@@mikexcohen1 So, What variables in fourier coefficient match with the following variable? (0, srate/2, N/2+1)? Aren't they just sample rate and the number of time point or nyquist frequency?
@maarite94 жыл бұрын
@@younique9710 I think I understand your problem because I first was missing the same link as you. Please, Dr. Cohen, correct me if I am wrong. You do not have to apply a formula on the coefficients to convert them into Hz. From how I understood it, you have one vector with the Fourier coefficients, and one of the same length in Hz. The Hz vector is as follows: 0 to srate/2 + 1 (your positive part) + your negative part (the same amount of numbers except for 0 and the Nyquist frequency). Now, for example, the Fourier coefficient in position 7 in your coefficient vector is for the frequency at position 7 in your Hz vector. With a sampling rate of 5 Hz and a signal of length 60s (N = 300), the beginning of the Hz vector would be: linspace (0, 5/2, 300/2+1) = [0, 0.0167, 0.0333, 0.05, 0.0667, 0.0833, 0.1, …] So the corresponding frequency would be ans(7) = 0.1 Hz. Hope I could help! P.S. Thank you so much Dr. Cohen, your videos are a gift!