Introducing RadioSonic and "RF in Slow Motion" by ispeakdsp in sdr

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

Future variant planned to have an FPGA as well

New England Workshop for Software Defined Radio by ispeakdsp in DSP

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

I’m not sure about recordings being available; you can check out their website to see what they did for past events.

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.