## Introducing Dr. John A. Snoap

An expert signal processor. An expert machine learner. All in one person!

## Infinity, Periodicity, and Frequency: Comments on a Recent Signal-Processing Perspectives Paper ([R195])

If a tool isn’t appropriate for your problem, don’t blame the tool. Find another one.

## SPTK: The Z Transform

I think of the Z transform as the Laplace transform for discrete-time signals and systems.

## CSPB.ML.2022R2: Correcting an RNG Flaw in CSPB.ML.2022

For completeness, I also correct the CSPB.ML.2022 dataset, which is aimed at facilitating neural-network generalization studies.

## CSPB.ML.2018R2: Correcting an RNG Flaw in CSPB.ML.2018

KIRK: Everything that is in error must be sterilised. NOMAD: There are no exceptions. KIRK: Nomad, I made an error in creating you. NOMAD: The creation of perfection is no error. KIRK: I did not create perfection. I created error.

## SPTK: Practical Filters

We know that ideal filters are not physically possible. Here we take our first steps toward practical–buildable–linear time-invariant systems.

## The Next Logical Step in CSP+ML for Modulation Recognition: Snoap’s MILCOM ’23 Paper [Preview]

We are attempting to force a neural network to learn the features that we have already shown deliver simultaneous good performance and good generalization.

## A Gallery of Cyclic Cumulants

The third in a series of posts on visualizing the multidimensional functions characterizing the fundamental statistics of communication signals.

## CSP Blog Interview: Why We Still Need Human Signal Processors with Engineers E. Akamai and D. Peritum

What do practicing engineers think of using large-language models like ChatGPT in their research, development, and writing tasks? And is there a future for humans in signal processing?

## Latest Paper on CSP and Deep-Learning for Modulation Recognition: An Extended Version of My Papers [52]

Another step forward in the merging of CSP and ML for modulation recognition, and another step away from the misstep of always relying on convolutional neural networks from image processing for RF-domain problem-solving.

## SPTK: The Laplace Transform

The Laplace transform easily handles signals that are not Fourier transformable by introducing an exponential damping function inside the transform integral.

## Update on DeepSig Datasets

‘Insufficient facts always invite danger.’ Spock in Star Trek TOS Episode “Space Seed”

## Cyclostationarity of Frequency-Shift-Keyed Signals

The cyclostationarity of frequency-shift-keyed signals depends strongly on the way the carrier phase evolves over time. Many distinct cycle-frequency patterns and spectral correlation shapes are possible.

## Blog Notes and Reader Poll

Final Update on “Future Posts” Poll: So among the CSP Blog readers that voted, I think the consensus is to produce more “on brand” posts on CSP and the Signal-Processing ToolKit. Also, there is significant interest in doing CSP with GNU Radio, which I have considerable experience with, and so…

## SPTK Addendum: Problems with resampling using MATLAB’s resample.m

Sometimes MATLAB’s resample.m gives results that can be trouble for subsequent CSP.

## Is Radio-Frequency Scene Analysis a Wicked Problem?

By the pricking of my thumbs, something wicked this way comes …

## Frequency Shift (FRESH) Filtering for Single-Sensor Cochannel Signal Separation

CSP can be used to separate cochannel contemporaneous signals. The involved signal-processing structure is linear but periodically time-varying.

## PSK/QAM Cochannel Dataset for Modulation Recognition Researchers [CSPB.ML.2023]

The next step in dataset complexity at the CSP Blog: cochannel signals.

## SPTK: Echo Detection and the Prisoner’s Dilemma

Let’s apply some of our Signal Processing ToolKit tools to a problem in forensic signal processing!

## ICARUS: More on Attempts to Merge IQ Data with Extracted-Feature Data in Machine Learning

How can we train a neural network to make use of both IQ data samples and CSP features in the context of weak-signal detection?

## 66,000+ Page Views in 2022!

The CSP Blog took a big step forward in 2022, with 66,700 67,965 page views and counting, which is 10,000 12,000 more than last year’s (record) number of about 56,000. Thanks to all my readers! As usual in these end-of-year reveries, I will show some highlights from the CSP Blog…

## CSP Community Spotlight: A Publicly Available python-Based SCF Estimator

The CSP Blog recently received a comment from a signal processor that needed a small amount of debugging help with their python spectral correlation estimator code. The code uses a form of the time-smoothing method and aims to compute and plot the spectral correlation estimate as well as the corresponding…

## Correcting the Record: Comments On “Wireless Signal Representation Techniques for Automatic Modulation Classification,” by X. Liu et al

It’s too close to home, and it’s too near the bone …

## Neural Networks for Modulation Recognition: IQ-Input Networks Do Not Generalize, but Cyclic-Cumulant-Input Networks Generalize Very Well

Neural networks with CSP-feature inputs DO generalize in the modulation-recognition problem setting.

## Desultory CSP: The Human-Genome Edition

And now for something completely different …

## Critic and Skeptic Roundup

“That was excellently observed,” say I, when I read a passage in an author, where his opinion agrees with mine. When we differ, there I pronounce him to be mistaken. – Jonathan Swift

## Epistemic Bubbles: Comments on “Modulation Recognition Using Signal Enhancement and Multi-Stage Attention Mechanism” by Lin, Zeng, and Gong.

Another brick in the wall, another drop in the bucket, another windmill on the horizon …

## ‘Comment of the Month’ on the CSP Blog

Introducing swag for the best CSP-Blog commenters.

## What is the Minimum Effort Required to Find ‘Related Work?’: Comments on Some Spectrum-Sensing Literature by N. West [R176] and T. Yucek [R178]

Starts as a personal gripe, but ends with weird stuff from the literature.

## Blog Notes and Preview

May 2022 saw 6026 page views at the CSP Blog, a new monthly record! Thanks so much to all my readers, new and old, signal processors and machine learners, commenters and lurkers. My next non-ranty post is on frequency-shift (FRESH) filtering. I will go over cyclic Wiener filtering (The Literature…

## Elegy for a Dying Field: Comments on “Detection of Direct Sequence Spread Spectrum Signals Based on Deep Learning,” by F. Wei et al

Black-box thinking is degrading our ability to connect effects to causes.

## Some Concrete Results on Generalization in Modulation Recognition using Machine Learning

Neural networks with I/Q data as input do not generalize in the modulation-recognition problem setting.

## A Great American Science Writer: Lee Smolin

While reading a book on string theory for lay readers, I did a double take…

## Wow, Elsevier, Just … Wow. Comments On “Cyclic Correntropy: Properties and the Application in Symbol Rate Estimation Under Alpha-Stable Distributed Noise,” by S. Luan et al.

Can we fix peer review in engineering by some form of payment to reviewers?

## SPTK: Sampling and The Sampling Theorem

The basics of how to convert a continuous-time signal into a discrete-time signal without losing information in the process. Plus, how the choice of sampling rate influences CSP.

## Update on J. Antoni’s Fast Spectral Correlation Estimator

Let’s take a look at an even faster spectral correlation function estimator. How useful is it for CSP applications in communications?

## Shifted Dataset for the Machine-Learning Challenge: How Well Does a Modulation-Recognition DNN Generalize? [Dataset CSPB.ML.2022]

Another RF-signal dataset to help push along our R&D on modulation recognition.

## One Last Time …

We take a quick look at a fourth DeepSig dataset called 2016.04C.multisnr.tar.bz2 in the context of the data-shift problem in machine learning.

## Comments on “Proper Definition and Handling of Dirac Delta Functions” by C. Candan.

An interesting paper on the true nature of the impulse function we use so much in signal processing.

## Wave Walker DSP: A New Kind of Engineering Blog

A colleague has started up a website with lots of content on digital signal processing: Wave Walker DSP. This is, to me, a new kind of engineering blog in that it blends DSP mathematics and practice with philosophy. That’s an intriguing complement to my engineering blog, which I view as…

## The Principal Domain for the Spectral Correlation Function

What are the ranges of spectral frequency and cycle frequency that we need to consider in a discrete-time/discrete-frequency setting for CSP?

## J. Antoni’s Fast Spectral Correlation Estimator

The Fast Spectral Correlation estimator is a quick way to find small cycle frequencies. However, its restrictions render it inferior to estimators like the SSCA and FAM.

## SPTK (and CSP): Random Processes

The merging of conventional probability theory with signal theory leads to random processes, also known as stochastic processes. The ideas involved with random processes are central to cyclostationary signal processing.

## The Signal-Processing Equivalent of Resume-Padding? Comments on “A Robust Modulation Classification Method Using Convolutional Neural Networks” by S. Zhou et al.

Does the use of ‘total SNR’ mislead when the fractional bandwidth is very small? What constitutes ‘weak-signal processing?’

## SPTK: Examples of Random Variables in Communication-Signal Contexts

Some examples of random variables encountered in communication systems, channels, and mathematical models.

## Worth the Price of a (Fancy) Cup of Coffee?

Just a reminder that if you are getting some value out of the CSP Blog, I would appreciate it if you could make a donation to offset my costs: I do pay WordPress to keep ads off the site! I also pay extra for a class of service that allows…

## SPTK: The Analytic Signal and Complex Envelope

In signal processing, and in CSP, we often have to convert real-valued data into complex-valued data and vice versa. Real-valued data is in the real world, but complex-valued data is easier to process due to the use of a substantially lower sampling rate.

## Desultory CSP: More Signals from SigIDWiki.com

More real-world data files from SigIDWiki.com. The range of spectral correlation function types exhibited by man-made RF signals is vast.

## SPTK: The Moving-Average Filter

A simple and useful example of a linear time-invariant system. Good for smoothing and discovering trends by averaging away noise.

## Zero-Padding in Spectral Correlation Estimators

Why does zero-padding help in various estimators of the spectral correlation and spectral coherence functions?

## Cyclostationarity of DMR Signals

Let’s take a brief look at the cyclostationarity of a captured DMR signal. It’s more complicated than one might think.

## SPTK: Ideal Filters

Ideal filters have rectangular or unit-step-like transfer functions and so are not physical. But they permit much insight into the analysis and design of real-world linear systems.

## Comments on “Deep Neural Network Feature Designs for RF Data-Driven Wireless Device Classification,” by B. Hamdaoui et al

Another post-publication review of a paper that is weak on the ‘RF’ in RF machine learning.

## Spectral Correlation and Cyclic Correlation Plots for Real-Valued Signals

Spectral correlation surfaces for real-valued and complex-valued versions of the same signal look quite different.

## SPTK: Convolution and the Convolution Theorem

Convolution is an essential element in everyone’s signal-processing toolkit. We’ll look at it in detail in this post.

## SPTK: Interconnection of Linear Systems

Real-world signal-processing systems often combine multiple kinds of linear time-invariant systems. We look here at the general kinds of connections.

## 50,000 Page Views in 2020

And counting … Last evening the CSP Blog crossed the 50,000 page-view threshold for 2020, a yearly total that has not been achieved previously! I want to thank each reader, each commenter, and each person that’s clicked the Donate button. You’ve made the CSP Blog the success it is, and…

## Are Probability Density Functions “Engineered” or “Hand-Crafted” Features?

The Machine Learners think that their “feature engineering” (rooting around in voluminous data) is the same as “features” in mathematically derived signal-processing algorithms. I take a lighthearted look.

## Stationary Signal Models Versus Cyclostationary Signal Models

What happens when a cyclostationary time-series is treated as if it were stationary?

## DeepSig’s 2018 Dataset: 2018.01.OSC.0001_1024x2M.h5.tar.gz

The third DeepSig dataset I’ve examined. It’s better!

## More on DeepSig’s RML Datasets

The second DeepSig data set I analyze: SNR problems and strange PSDs.

## Blog Notes: New Page with All CSP Blog Posts in Chronological Order

To aid navigating the CSP Blog, I’ve added a new page called “All CSP Blog Posts.” You can find the page link at the top of the home page, or in various lists on the right side of the Blog, such as “Pages” and “Site Navigation.” Let me know in…

## All BPSK Signals

An analysis of DeepSig’s 2016.10A dataset, used in many published machine-learning papers, and detailed comments on quite a few of those papers.

## Professor Jang Again Tortures CSP Mathematics Until it Breaks

In which my life is made a little harder.

## SPTK: Frequency Response of LTI Systems

The frequency response of a filter tells you how it scales each and every input sine-wave or spectral component.

## SPTK: Linear Time-Invariant Systems

LTI systems, or filters, are everywhere in signal processing. They allow us to adjust the amplitudes and phases of spectral components of the input.

## SPTK: The Fourier Transform

An indispensable tool in CSP and all of signal processing!

## Symmetries of Higher-Order Temporal Probabilistic Parameters in CSP

What are the unique parts of the multidimensional cyclic moments and cyclic cumulants?

## SPTK: The Fourier Series

A crucial tool for developing the temporal parameters of CSP.

## SPTK: Signal Representations

A signal can be written down in many ways. Some of them are more useful than others and can lead to great insights.

## Signal Processing Toolkit: Signals

Introducing the SPTK on the CSP Blog. Basic signal-processing tools with discussions of their connections to and uses in CSP.

## New Look for a New Year and New Decade

2020 is the fifth full year of existence for the CSP Blog, and the beginning of a new decade that will be full of CSP explorations. I thought I’d freshen up the look of the Blog, so I’ve switched the theme. It is a cleaner look with fewer colors and…

## Symmetries of Second-Order Probabilistic Parameters in CSP

Do we need to consider all cycle frequencies, both positive and negative? Do we need to consider all delays and frequencies in our second-order CSP parameters?

## The Ambiguity Function and the Cyclic Autocorrelation Function: Are They the Same Thing?

To-may-to, to-mah-to?

## CSP Resources: The Ultimate Guides to Cyclostationary Random Processes by Professor Napolitano

My friend and colleague Antonio Napolitano has just published a new book on cyclostationary signals and cyclostationary signal processing: Cyclostationary Processes and Time Series: Theory, Applications, and Generalizations, Academic Press/Elsevier, 2020, ISBN: 978-0-08-102708-0. The book is a comprehensive guide to the structure of cyclostationary random processes and signals, and it…

## On Impulsive Noise, CSP, and Correntropy

And I still don’t understand how a random variable with infinite variance can be a good model for anything physical. So there.

## Sponsoring the CSP Blog

I’ve decided to solicit donations to the CSP Blog through PayPal. For the past four years, I’ve been writing blog posts and doing my best to answer comments at no cost to my readers. And it has turned out very well indeed, thanks to all the people that stop by…

## For the Beginner at CSP

Here is a list of links to CSP Blog posts that I think are suitable for a beginner: read them in the order given. How to Obtain Help from the CSP Blog Introduction to CSP How to Create a Simple Cyclostationary Signal: Rectangular-Pulse BPSK The Cyclic Autocorrelation Function The Spectral…

## On The Shoulders

What modest academic success I’ve had in the area of cyclostationary signal theory and cyclostationary signal processing is largely due to the patient mentorship of my doctoral adviser, William (Bill) Gardner, and the fact that I was able to build on an excellent foundation put in place by Gardner, his…

## Simple Synchronization Using CSP

Using CSP to find the exact values of symbol rate, carrier frequency offset, symbol-clock phase, and carrier phase for PSK/QAM signals.

## 100,000 Page Views!

The CSP Blog has reached 100,000 page views! Also, a while back it passed the “20,000 visitors” milestone. All of this for 53 posts and 10 pages. More to come! I started the CSP Blog in late 2015, so it has taken a bit over three years to get to…

## Can a Machine Learn a Power Spectrum Estimator?

Learning machine learning for radio-frequency signal-processing problems, continued.

## Dataset for the Machine-Learning Challenge [CSPB.ML.2018]

A PSK/QAM/SQPSK data set with randomized symbol rate, inband SNR, carrier-frequency offset, and pulse roll-off.

## MATLAB’s SSCA: commP25ssca.m

In this short post, I describe some errors that are produced by MATLAB’s strip spectral correlation analyzer function commP25ssca.m. I don’t recommend that you use it; far better to create your own function. If you subscribe to MATLAB’s Communication Toolbox, you have access to an implementation of the SSCA: commP25ssca.m.…

## How we Learned CSP

We learned it using abstractions involving various infinite quantities. Can a machine learn it without that advantage?

## Useful Signal Processing Blogs or Websites?

Update November 1, 2018: A site called feedspot (blog.feedspot.com) contacted me to tell me I made their “Top 10 Digital Signal Processing Blogs, Websites & Newsletters in 2018” list. Weirdly, there are only eight blogs in the list. What’s most important for this post is the other signal processing blogs…

## Comments on “Detection of Almost-Cyclostationarity: An Approach Based on a Multiple Hypothesis Test” by S. Horstmann et al

The statistics-oriented wing of electrical engineering is perpetually dazzled by [insert Revered Person]’s Theorem at the expense of, well, actual engineering.

## A Challenge for the Machine Learners

The machine-learning modulation-recognition community consistently claims vastly superior performance to anything that has come before. Let’s test that.

## CSP Estimators: The FFT Accumulation Method

An alternative to the strip spectral correlation analyzer.

## ‘Can a Machine Learn the Fourier Transform?’ Redux, Plus Relevant Comments on a Machine-Learning Paper by M. Kulin et al.

Reconsidering my first attempt at teaching a machine the Fourier transform with the help of a CSP Blog reader. Also, the Fourier transform is viewed by Machine Learners as an input data representation, and that representation matters.

## Computational Costs for Spectral Correlation Estimators

The costs strongly depend on whether you have prior cycle-frequency information or not.

## CSP Patent: Tunneling

Tunneling == Purposeful severe undersampling of wideband communication signals. If some of the cyclostationarity property remains, we can exploit it at a lower cost.

## Resolution in Time, Frequency, and Cycle Frequency for CSP Estimators

Unlike conventional spectrum analysis for stationary signals, CSP has three kinds of resolutions that must be considered in all CSP applications, not just two.

## CSP Estimators: Cyclic Temporal Moments and Cumulants

How do we efficiently estimate higher-order cyclic cumulants? The basic answer is first estimate cyclic moments, then combine using the moments-to-cumulants formula.

Loading…

Something went wrong. Please refresh the page and/or try again.

Hi Dr Spooner. This page is blank as of today.

Hey Dylan. I tried to fix it. I will have to get some WordPress.com help. Thanks!

It’s a little ugly, but good to go!

WordPress gave me a hint on how to restore the pretty version, which I’ve done, but at the expense of disallowing sharing of the posts and the “Like” button. I don’t care about “Likes,” so that’s fine, and people can always email or text the URLs themselves, so this workaround is fine indefinitely.