### Negative Zero

My wife brings up the following story any time she wants to make the point that I’m pedantic: When one of my daughters was in second grade, her math teacher told the class that any number divided by zero was one. I dashed off an impassioned email to the teacher, insisting that the result had…

### Introduction to AES67

AES67 is a standard for transport of high performance audio over IP networks. High performance, as AES67 defines it, is at least a 44.1 kHz sampling frequency, at least 16-bit resolution and latency less than 10 ms. AES67 is targeted to applications in professional audio: broadcast, production, live audio and commercial and residential applications. Rather…

### Sometimes, Noise Helps

I’ve been working on a fun problem lately that involves estimating a scalar parameter from a set of repeated observations. It turns out that in certain circumstances, the presence of noise in the system can actually make the estimate more accurate, which is a little counterintuitive and also kind of cool. In my case, I…

### Why Sample Size and Random Sampling Matters

Recently we tweeted an interesting article on big data, from the Financial Times. The author’s key point is that sampling bias and sampling error are possible even with large data sets. As illustration, the author discusses a classic case where the Literary Digest incorrectly predicted that Alf Landon would beat FDR in the 1936 election.…

### Choosing the Correct Video Sampling Format

We’re a little late in posting this, but I wrote a blog entry for EDN last week that discusses how to choose the correct video sampling format.  An excerpt:  To process signals digitally, they must first be sampled and quantized. Sampling refers to measuring the light intensity at discrete space-time points, while quantization is the…

### Big Data, Probability and Birthdays: Part 2 of 2

In Part One of this blog post I discussed how to state an experiment in the form of probability spaces. Determining the sample space and the event space is necessary to be able to talk intelligently about probability measures, which is the topic of this post. Approach 1: Counting We’ve figured out the sample space…

### Big Data, Probability and Birthdays: Part 1 of 2

Cardinal Peak’s big data practice is expanding as we continue adding data scientists to our staff. In a recent discussion regarding a data set we’re analyzing, a probability problem conceptually equivalent to the following arose: In a room filled with N people, what is the probability that none of them have the same birthday? In…

### The Difference Between HMAC and MAC

Hash-based message authentication code, or HMAC, is an important building block for proving that data transmitted between the components of a system has not been tampered with. HMAC is a widely used cryptographic technology. I recently came across its use in an RFID system. Perhaps the most common use of HMAC is in TLS—Transport Layer…

### A C++ Class to Implement Low-Pass, High-Pass and Band-Pass Filters

We recently needed a simple C++ class for linear phase FIR filtering, and I figured it might be useful to others, as well. You can download it here. Here’s how to use this class: Specify the desired filter type (low-pass, high-pass, or band-pass) in the constructor, along with the other needed parameters: the number of…