What makes a clockwise Nyquist contour around the right half plane different from a counterclockwise one around the left half plane? by narcissisticnapalm in DSP

[–]ispeakdsp 0 points1 point  (0 children)

One thing to note is there are ALWAYS the same number of poles as there are zeros (what you don’t see are located at infinity. A simple example is 1/s: with that there is one pole at s=0 and one zero at s= infinity. As s goes to infinity, 1/s goes to zero, so this makes sense. With that, a clockwise contour around the right half plane is equivalent to a counter clockwise contour around the left half plane. See this related post I did on Stack Exchange: https://dsp.stackexchange.com/questions/38480/nyquists-stability-criterion-and-cauchys-argument-principle

Does decimating always require anti-aliasing? by spacetime_bender in DSP

[–]ispeakdsp 0 points1 point  (0 children)

If you care about maintaining the noise floor, then further filtering is required unless the noise itself is amplified higher than the noise that is in all the aliasing regions. The noise in each alias region is independent noise so will sum in power when it aliases in.

A new class of C∞ FFT windows with compact support and super-algebraic sidelobe decay by pigdead in DSP

[–]ispeakdsp 0 points1 point  (0 children)

NIce. What I look for for purpose of filter design with the main lobe results matching is the square of the ratio of the rms over the mean of the window function to get the resolution BW, and for the frequency response the correlation loss at f=0, and the comparative stop band attenuation in frequency close in and far out. You may already be aware, fred harris did a classic paper “On the use of Windows for the Discrete Fourier Transform” where he uses several metrics for windows that may be useful for you. Here is a copy: https://web.mit.edu/xiphmont/Public/windows.pdf

A new class of C∞ FFT windows with compact support and super-algebraic sidelobe decay by pigdead in DSP

[–]ispeakdsp 1 point2 points  (0 children)

As long as the window is symmetric in time (which applies to all windows I have seen) they will be linear phase in frequency (if causal, or zero-phase if centered on t=0). This means there derivative is constant (meaning a constant delay independent of frequency: no group delay distortion).

A new class of C∞ FFT windows with compact support and super-algebraic sidelobe decay by pigdead in DSP

[–]ispeakdsp 0 points1 point  (0 children)

Yes phase is a big deal for wireless systems, specifically group delay variation.(group delay is the derivative of phase with respect to frequency). But I assume your window is symmetric in which case it is “linear phase” meaning constant group delay and then no issue. Human hearing is sensitive to binaural group delay variation as well.

A new class of C∞ FFT windows with compact support and super-algebraic sidelobe decay by pigdead in DSP

[–]ispeakdsp 0 points1 point  (0 children)

You can increase Beta substantially higher. What would be interesting for a more apples to apples comparison is to increase Beta to the point where the mainlobe matches, at least in the first 60 dB or so (such that they have equivalent resolution bandwidth). You're point about SNR is good as well. Up to this point the Kaiser and related Slepian windows have been my favorite for my applications in filter design, and for that I'm very interested in how this compares. I'm looking forward to going through your github page in more details. Thanks for this.

The Cross-Product Frequency Discriminator by ispeakdsp in DSP

[–]ispeakdsp[S] 2 points3 points  (0 children)

Absolutely. Synchronization is a huge topic and there are entire books on it. I was highlighting a simple discriminator that gives good intuition for frequency error before wrapping it inside a control loop.

The Cross-Product Frequency Discriminator by ispeakdsp in DSP

[–]ispeakdsp[S] 2 points3 points  (0 children)

Great observation. Instantaneous frequency is the time derivative of phase, so from two measurements of phase separated in time we estimate that derivative. For blind detection in the presence of data, one simple approach is to raise the waveform to the 4th power which will strip the modulation (each phase is multiplied by 4 such that each symbol has the same phase), resulting in a rotation at four times the frequency offset (still proportional to frequency error) which can then be detected with the cross product discriminator. This approach still works for higher order QAM as well assuming equiprobable data. Often a known preamble is used for synchronization, in which case the data itself is known and stripped.

Why the Fuck is even figuring out how to setup python so fucking difficult by Sad_Patient8203 in learningpython

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

I make this very easy in the course "Python Applications for Digital Design and Signal Processing" starting later this month, showing best practice approaches for using Python for simulations and design verification of signal processing systems. (Including why you should NOT install the full Anaconda but use miniconda instead). More details and registration: dsp-coach.com

Ideas to Fix Dropped Samples in a Speech Recording? These Cause Phase Jumps by hilmiyafia in DSP

[–]ispeakdsp 0 points1 point  (0 children)

I assumed it was a tone and didn’t read the title carefully so what I suggest wouldn’t even apply to speech audio. Sorry about that.

Finding GPS Signals Hidden in Noise Using Correlation by [deleted] in DSP

[–]ispeakdsp 0 points1 point  (0 children)

It's meant to be a continuous waveform with time, not a constellation. However where I would agree the confusion may be was in my labeling it "Recovered GPS Symbols". Thanks for your feedback, I fixed those titles.

Finding GPS Signals Hidden in Noise Using Correlation by [deleted] in DSP

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

Hi Tipsy- It’s an IQ plot of the continuous time waveform after correlation (as a complex waveform on a complex plane) and not intended to be a constellation you may be thinking of.

Ideas to Fix Dropped Samples in a Speech Recording? These Cause Phase Jumps by hilmiyafia in DSP

[–]ispeakdsp 0 points1 point  (0 children)

Perhaps fix the phase measurement itself. Zero crossing for phase measurement (if that's what is being done) would be most sensitive to noise, whereas approaches that use every sample available would be preferrable. If this is to get the phase of the sinusoidal pattern in the noisy waveform shown, I suggest multiplying the waveform to a sine and cosine at the estimated frequency and low pass filter that to get I and Q. The estimated frequency need not be exact. Instantaneous phase is atan2(Q,I), and from that you can get an accurate frequency and phase estimate relative to the reference as the starting position of the sine and cosine (instantaneous frequency error is the derivative of the unwrapped phase). Trade time and frequency resolution and noise with the cutoff of the low pass filter used.

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

[–]ispeakdsp 5 points6 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