If you want to play around with the DTFT MATLAB App from this video, you can find it here: github.com/aerojunkie/control-tools/tree/master/DTFT%20MATLAB%20App
This was truly amazing! This guy has MIT level brainpower. Like woah, his ability to explain and efficiently articulate this stuff is unreal. This channel will be my saving grace in dsp for sure! Already subscribed too. He's a legend for sure!
I learned about DFT and z-transform many years ago, but it wasn't until I watched this video that I truly understood what the 'e' and 'z' in these two transformations actually do.
I've been able to solve a Fourier Transform in analytical form back at uni, without understanding what it was for. I've been able to implement a Discrete Fourier Transform algorithm in code to do simple frequency analysis of a signal, without understanding why the algorithm was the way it is. With your explanation, I think I finally get the "why" of the Discrete Fourier Transform, the way it uses correlation. Thanks for this explanation; I feel like one more thing is clicking into place.
Brian is amazing! This video is extremely clear :) One note on time delay [n-1] implying z^-1, it wasn't clear to me at first how the first example with a pulse function translated to all general cases, but it later occured to me that y^0, which in a delayed sequence matched z^-1, and every term afterward matches the original function, so hence it is the case for the general case. Such that time delay [n-2] does not imply z^-2, and so on. If I have understood correctly.
Your explanations and teachings are awesome. This opens my eyes to so many things, and in just 1 video!. Brain, you have been blessed with an amazing gift. Thank you for sharing this with us.
I wonder why at 10:11, we did not make the cosine wave an imaginary signal. why choose the sine wave over the cosine wave? what would be the result if we just made the cosine wave imaginary?
We know that we can use FT on account of e^{i /omega n} forming an orthogonal basis for all n. I'm wondering, since z^{-n} spans all complex exponentials (assuming no limit like n>0), if there are any non-zero inner products between differently-based exponential functions. I mean, just by definition you're sweeping over scalar multiples of a basis, making all elements (r e^{i /omega})^{-n} LD on (e^{i /omega})^{-n}, right?
Yes, that's right. This is why you have to see what is the application for which you are going to choose certain transform. For instance, z-transform is used in digital filter design, whereas the Laplace transform is mainly used in applications such as AC circuit analysis, and so on.
I'm almost done with it! I had to change what I'm going to cover in it because I found a video by Youngmoo Kim that covers pretty much what I wanted to and it's brilliantly done. I'm going to call it out in my video and cover a few different things now. I'd put the link but my comment will be removed but search RU-vid for "Applied DSP No. 9: The z-Domain and Parametric Filter Design"
Hi Brian, thanks for great explanation. At your DTFT demo 10:10, your input data signal clearly has magnitude of 1, so you choose the probing signals also have magnitude of 1 so it fits perfectly in your "dot product". If the input data signal is a combination of many frequencies with different magnitudes, it seems that we still keep the magnitude of probing signals (sine and cosine) as 1. I wonder why that still works? Shouldn't we adjust magnitude of probing signals according to the input signal?
I think I understand your question, but I might be off a bit. Let me give it a try. If a particular frequency in the input signal had an amplitude that wasn't 1 there would still be correlation between it and the probing signal with an amplitude of 1. Since we're multiplying the two signals, having a larger amplitude in one is just like multiplying the product of the two signals by a gain. So that frequency would have a larger value in the lower plot. Which is exactly what you want because you want to see "how much" of each frequency there is in the original signal. For example, if the signal is 5*sin(t) and the probing signal is sin(t), then the product of the two is 5*sin^2(t) and so the summation would be 5 times larger. Was that your question and did my answer make sense?
This is how I see it, lets assume the input signal is a sum of many sinusoidal signals like x1.sin(w1.t) + x2.sin(w2.t) + x3.sin(w3.t) + .... When you have infinite data point, you can prove mathematically that with each probing signal, ONLY the exact probing signal that have the same frequency as one of the input's frequency components would have a NON-ZERO dot product (you can intuitively understand the reason why this happen by taking the integration of the product of two sinusoidal signals with different frequencies, the value would be 0), so the value of x1, x2, x3 or any amplitude of the input's frequency component is not that important (except when you need to know the amplitude of the component frequency) since the output plot would only have pulses at those exact frequencies (when you have infinite data point).
@@BrianBDouglas Thank you so much for the feedback. Very much appreciated you asking! Yes! I do have questions that, if possible, I'd love to see them answers. 1) Can you give a couple more examples of how to go from the zero+poles representation to the filter equation? 2) Can you explain butter filters design and their relation to the Z-transform? What does the butter function does? 3) Can you explain `sos` for filter design? Why `sos` is more stable than the `butter` function in some cases? These are some topics I came across when first watching this video. I would find very helpful to have them addressed, but if you consider a bit out of scope for the next video you're planning that is fine. I looking forward to it anyways, your videos are great and I've learned a lot! Thank you for all the effort and quality put into them!
Hi Brian, since I am studying how to develop MATLAB apps, would it be possible for you to share the app that you have used during the discussion on the DTFT? Thanks
I am wondering why Mathworks took so long time to make such videos? We are in 2023 and version 2023 has been released. These control methods were introduced and had been modified since version 2006 .
Thank you very much Brian. I love you man (I'm not gay 😂). I have a master degree in CS and system control but I never really understood system control and that's why when I have free time I enjoy watching your videos. software engineering sucks, I spend my day refactoring complex, buggy programs written by idiots and unconscious people. I'd like to do something more meaningful and intellectually stimulating like systems controls. Unfortunately, I wasn't taught the latter and maths very well, and thanks to some books and youtube videos, I'm in the process of fixing that. I have a question : Why don't we use exponential functions based on 'e' to scan/probe the sampled signal ? Is it because the signal is sampled and it doesn't make sense to use a function that expresses continuous growth/decay ? after all we can pose r = e^something.
This subject (like many others) is so complex that a single video is not enough to explain it in depth. You need to watch several videos by different people to improve your understanding of the subject.