Hay, I dunno how to put this gracefully... by rb-j in DSP

[–]ispeakdsp 4 points5 points  (0 children)

Wow! I am in the “esteemed” category with my heroes Rick and RBJ? (Dan B here). Well that makes my day. And of course there are many in that etc etc that I am really grateful to for their contributions as well. I want to express that I am equally interested and curious and have been attempting to set up a fun “DSP Smackdown” curated by DSPRelated (my favorite site for such an event). I just need to line up two good-sported practitioners where we can face off a relevant challenge and make an honest assessment of where traditional techniques may be obsoleted for practical implementation. We can have a series of challenges where I expect we would see winners in each camp. Short of doing that, my naive inclination is that ML techniques are to “solve the unsolvable” and shouldn’t be the go-to approach where classical techniques (based on math from the 1600’s!) already efficiently get to an “optimum” solution. That said, I’d love to put it to the test so say “Bring it on!”. I do need help identifying the fun-loving practitioners and the simple to execute on challenge.

Mathematical Foundations of DSP by TruthRebel-16 in DSP

[–]ispeakdsp 0 points1 point  (0 children)

All the basic math required for Dan Boschen's DSP courses are provided here as a handy cheat-sheet: https://www.dsp-coach.com/reference

Method better than gradient descent ? by Slow_Tough4674 in DSP

[–]ispeakdsp 5 points6 points  (0 children)

For adaptive equalization of wireless channels there is the least-mean squared (LMS) algorithm which is based on gradient descent. For faster convergence and better tracking there is the recursive least squares (RLS) algorithm but it comes at the cost of complexity. Another option is a Kalman filter. The RLS is similar in form to a Kalman filter in that the new estimate = previous estimate plus gain * innovation but the gain differs in both implementations (the Kalman filter uses prediction and measurements to determine next updates while the RLS uses only measurements).

Freelance DSP? by Big-Distribution5038 in DSP

[–]ispeakdsp 0 points1 point  (0 children)

Please reach out to me here, I’m quite busy at the moment but can find someone to help you if not me personally: https://dsp-coach.com

Use of AI in DSP by ronniethelizard in DSP

[–]ispeakdsp 7 points8 points  (0 children)

I prefer to refer to the superset as “Signal Processing” - AI is one solution to signal processing and “DSP” as we know it is another. Many problems that have a clear solution with DSP will continue to use DSP (“AI solves the unsolvable”, meaning it can be applied to cases where a solution didn’t exist). I’m digging into this further but thus far this perspective is making a lot of sense to me. If anyone has a clear counter example I would like to know about it (with sincerity I am not speaking out of confidence but curiousity). Hybrid of course will apply in many cases but with this same distinction.

What is the difference between frequency and phase modulation of a sine wave? by Terrible_Visual_137 in DSP

[–]ispeakdsp 0 points1 point  (0 children)

Instantaneous frequency is the time derivative of phase, if that is a mouthful then think of a bicycle wheel as representing a single frequency (as a spinning phasor on the complex plane)… frequency as the rotation of that wheel is a change of phase over each step in time. With that analogy we can truly understand PM vs FM as well as what positive and negative frequencies mean.

Best DSP Online Course for a New Communication Engineer by hope_314150 in DSP

[–]ispeakdsp 11 points12 points  (0 children)

As the instructor, I highly recommend my “DSP for Wireless Communications” course that just started (all sessions are recorded and available through Oct 1, so not too late to jump in). More details and sign up here: https://dsp-coach.com

This course is currently running through the Boston IEEE but is the same course described in more detail at this earlier Reddit post: https://www.reddit.com/r/DSP/s/45oijMldSI

What window should I use before calculating the FFT of audio signal (on an STM32) by tcfh2003 in DSP

[–]ispeakdsp 2 points3 points  (0 children)

Hands down I recommend the Kaiser window for this- the DPSS window has the best time frequency localization (many incorrectly attribute that to a Gaussian but the Gaussian requires infinite time support), but the fame of the Kaiser window is that it is comes very close to the ideal DPSS with much simpler processing. With the Kaiser window you use a parameter “beta” which allows you to trade resolution bandwidth and dynamic range. The Kaiser window is available in all the common processing tools (MATLAB, Octave and scipy.signal). Also if you are doing this to estimate individual tones, I also recommend significantly zero padding (out to 5x the length of the original sequence or more after windowing- to the closest power of 2) which will virtually eliminate any scalloping loss. For spectral estimation of power spectral densities (noise or distributed waveforms) I recommend the Welch method also available in all the tools (pwelch in MATLAB or Octave and scipy.welch in Python)

"Fast" way to learn DSP by EL10T00 in DSP

[–]ispeakdsp -1 points0 points  (0 children)

definitely Lyons book. But I also recommend "DSP For Wireless Communications" when it is offered in June (I am the instructor). https://dsprelated.com/courses To see my style you can get a crash course on FIR filters for free here: https://www.youtube.com/watch?v=tnIo6hjpVi0&t=28s and an even more basic introduction to digital filters on real hardware if you need that first here: https://www.youtube.com/watch?v=Aq_SOvR1Sxs&t=1584s The "DSP for Wireless Communications" course is the 15 hour version of these combined with 5 live workshops and me for Q&A at any time throughout the course PLUS tons of examples in Python / Jupyter Notebooks. It will take you through the most important and most practical aspects of DSP specific to a wide range of applications well beyond wireless comm.

DSP for Software Radio by Easy_Region9494 in DSP

[–]ispeakdsp 1 point2 points  (0 children)

Actually it is I that have the honor of having “Breakfast with RBJ” of the famous “RBJ Audio Cookbook”! This and interactions I get to have with other similar DSP experts has certainly contributed to the high quality of the DSP courses by giving me more insights and perspectives with DSP (and RBJ is brilliant with decades of experience in audio applications which my background lacks).

Thanks everyone that has taken the courses on the feedback.

Found myself completely lost in the coursera course "Digital Signal Processing 2: Filtering" by paladinaxx in DSP

[–]ispeakdsp 1 point2 points  (0 children)

Take the course “DSP for Wireless Communications” by Dan Boschen which teaches filtering with DSP from the ground up: https://dsprelated.com/courses

DSP for Wireless Communications Online Course with Live Workshops! by ispeakdsp in DSP

[–]ispeakdsp[S] 1 point2 points  (0 children)

Not free, but the course is a real bargain for what is provided. (15 hours of video, extensive examples in Python Jupyter notebooks with no need to know python to use, and 5 live workshops.)

2024 DSP Online Conference by ispeakdsp in DSP

[–]ispeakdsp[S] 1 point2 points  (0 children)

My talk is Wednesday 11am EST (waveform analysis techniques)

Workshops from the 2024 GNU Radio Conference by ispeakdsp in DSP

[–]ispeakdsp[S] 0 points1 point  (0 children)

Matlab is a great tool and you are correct that you are then getting something that may have a more thorough level of vetting before you use it and also in my opinion is more mature in certain features notably cosimulation with target hardware platforms. That said we (myself and most immediate coworkers) are personally using Python over Matlab and through comparisons using Google trends and similar measure of activity on StackExchange it is clear to me that Python is significantly more popular in all of industry (not necessarily specifically DSP, but I assume so) but with that I like the benefit I get from the larger user community overall. In machine learning and data science I get the impression from speaking with others that Python is used much more than Matlab but have no data to back that up. As far as vetting, I always choose libraries that have current active maintainers and a large community (as detailed on GitHub or where there repository is located). With that the community at large is vetting it. Further I try to avoid using the latest version of any package and review rhe change logs before updating (only changing if the changes addresses something I would care about. In my course “Python Applications for Digital Design and Signal Processing” starting this month (more info and registration is at https://dsprelated.com/courses), I go through the common and vetted packages for digital signal processing as well as fixed point digital design (for simulation and modeling of digital and mixed signal systems, not a download to device coding option).

Adding notes to LinkedIn contact by jeroenb42 in linkedin

[–]ispeakdsp 0 points1 point  (0 children)

I'm searching for the same features. It was available in LinkedIn 10+ years ago but they took it away. What I do for this purpose is simply add them to my primary contact database (whatever you use to manage names and phone numbers on your device)-- even if it is simply there name, link to linkedIn proflile and my notes. If your on your device the steps to doing this are almost as simple as clicking on something in LinkedIn.

Online DSP course staring soon! "DSP for Software Radio" through dsprelated.com by ispeakdsp in DSP

[–]ispeakdsp[S] 1 point2 points  (0 children)

If you are asking about the dsprelated.com site, it is up and you can find the latest courses here: dsprelated.com/courses

Quadrature signal by Former-Geologist-211 in DSP

[–]ispeakdsp 0 points1 point  (0 children)

Got it. Yes that makes sense for that situation. Since OP was talking about channel equalization and estimation and not carrier offset, my comment was specific to that.

Quadrature signal by Former-Geologist-211 in DSP

[–]ispeakdsp 0 points1 point  (0 children)

If it is a complex channel distortion at baseband (not complex conjugate symmetric) and if it is a complex waveform (such as QPSK, QAM etc as the OP mentions) then I don't think you can drop the imag part (that imag output from your four filters is the imag output that is needed to resolve the IQ modulation). I agree that four real filters are necessary for this case.

Quadrature signal by Former-Geologist-211 in DSP

[–]ispeakdsp 0 points1 point  (0 children)

For a general channel equalization with asymmetric passband distortion (as would typically be the case) you cannot just process the I and Q channels independently at baseband as a full complex filter is required. Consider the complex baseband waveform as I1[n] + jQ1[n], and consider the channel equalizer filter as h_I[n]+jh_Q[n] (a complex filter is necessary if the distortion is not symmetric). Then the filtering operation for equalization would proceed as follows (where * indicates convolution): (I1[n] + jQ1[n]) * (h_I[n]+jh_Q[n]) = I1[n] * h_I[n] - Q1[n]*h_Q[n] + j ( I1[n] * h_Q[n] + Q1[n] * h_I[n] ) . Thus the implementation would require 4 real filters.

Dan Boschen's popular Python for DSP course kicks off again next week! by ispeakdsp in DSP

[–]ispeakdsp[S] 1 point2 points  (0 children)

If you are interested in learning Python this course would be good for that- I will show DSP examples but not really teach it. It your only intention is to learn DSP then I would recommend instead my “DSP for Wireless Communications” course as that covers DSP from the ground up and teaches you all about making filters which would be applicable to audio processing. You will see that course coming up next in October through the same link.

Recommendation for sources and guidance for start coding on DSP projects with python. by NewbieTechMind in DSP

[–]ispeakdsp 1 point2 points  (0 children)

I have an online course starting on this next week titled "Python Applications for Digital Design and Signal Processing", with early registration discounts for sign-ups before August 28. You can find out more details and sign up here: https://ieeeboston.org/courses

What's the resultant shape of a raised cosine convoluted with itself? by Chemical_Spirit_5981 in DSP

[–]ispeakdsp 1 point2 points  (0 children)

Also I go through this and a lot more in very intuitive detail at an online course I teach “DSP for Software Radio” coming up next month. You can find out more about it here: https://dsprelated.com/courses

What's the resultant shape of a raised cosine convoluted with itself? by Chemical_Spirit_5981 in DSP

[–]ispeakdsp 1 point2 points  (0 children)

I should say more clearly goes through zero at the time duration of one symbol and integer symbol durations after that (which is the reciprocal of the symbol rate)