All Posts

SPTK: The Matched Filter

Matchmaker, Matchmaker, Make me a match, Find me a find, catch me a catch! –“Matchmaker” from Fiddler on the Roof

The Big Time

“The place where I come from is a small town They think so small, they use small words But not me, I’m smarter than that I worked it out I’ve been stretching my mouth To let those big words come right out”

‘Big Time’ by Peter Gabriel

CSP Reduction to Sine-Wave Generation

“Five different voices behind him bellowed, “REDUCTO!” Five curses flew in five different directions and the shelves opposite them exploded as they hit; the towering structure swayed as a hundred glass spheres burst apart, pearly-white figures unfurled into the air and floated there, their voices echoing from who knew what…

CSPB.ML.2018R2.NF

A noise-free version of the 2018 CSP Blog dataset CSPB.ML.2018R2 is posted here. This allows researchers to correctly apply propagation-channel effects to the generated signals, and to easily add their own noise at whatever level they wish. The format of the files is the same as CSPB.ML.2018R2, and the truth…

Interference Mitigation Course at GTRI

Update December 2024: The likely date for this course at GTRI is February 4-5, 2025. Update September 2024: This course is postponed until Spring 2025. I’ll post further updates here as they become available. I’ll be part of a team of researchers and practicing engineers, led by the estimable Dr.…

CSPB.ML.2023G1

Another dataset aimed at the continuing problem of generalization in machine-learning-based modulation recognition. This one is a companion to CSPB.ML.2023, which features cochannel situations.

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.

A Gallery of Cyclic Cumulants

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

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.

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…

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…

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

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…

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.

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.

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…

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.

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.

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.

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…

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.

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.

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…

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…

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…

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

4 thoughts on “All Posts”

        1. 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.

Leave a Comment, Ask a Question, or Point out an Error