Mike Perkins
Blog Post
Image Processing

The Basics of 3D Image Acquisition

One of our clients is heavily involved in 3D video and has been for several years. However, several are just now starting to think about it because of the uptick of interest in the consumer electronics world. Enough questions have been posed to us recently that it seemed worthwhile to me to pull together a...
Cardinal Peak
Blog Post
Outsourced Engineering

Minimizing Development Costs on Low- to Mid-Volume Products

My last post suggested ways to reduce parts costs in a low- to mid-volume product. This post explores ways to keep development costs low while still creating a cost-effective product. You can’t escape the fact that it takes money to create a low-cost product. It is estimated that the first version of the iPhone had...
Mike Perkins
Blog Post
Video

Thoughts on 3D After NAB

I just returned from this year’s NAB show, where I was bombarded with 3D demos in virtually every booth. Most of the factors driving this 3D superabundance originate outside of the broadcast industry itself. First, TV manufacturers are hot on 3D as a way to get everyone who just bought an HDTV to upgrade to...
One of our clients is heavily involved in 3D video and has been for several years. However, several are just now starting to think about it because of the uptick of interest in the consumer electronics world. Enough questions have been posed to us recently that it seemed worthwhile to me to pull together a...
My last post suggested ways to reduce parts costs in a low- to mid-volume product. This post explores ways to keep development costs low while still creating a cost-effective product. You can’t escape the fact that it takes money to create a low-cost product. It is estimated that the first version of the iPhone had...
I just returned from this year’s NAB show, where I was bombarded with 3D demos in virtually every booth. Most of the factors driving this 3D superabundance originate outside of the broadcast industry itself. First, TV manufacturers are hot on 3D as a way to get everyone who just bought an HDTV to upgrade to...
Howdy Pierce
Blog Post
Connected Devices and IoT

Sniffing iPad Traffic

Our engineering expert details how to capture and analyze all the network traffic flowing to and from a Wi-Fi-enabled device using a network sniffer.
Cardinal Peak
Blog Post
Outsourced Engineering

Designing Low- to Mid-Volume Embedded Products Cost-Effectively

I take it as a given that when a client approaches us with a new embedded product idea, they will require a very demanding set of features and a minimal price tag. The “minimal price tag” part always applies to the development effort required. For products with a hardware component, it also applies to the...
Howdy Pierce
Blog Post
Video

Encoders Aren’t Commodities

My partner Ben Mesander had a really cool post the other day: An H.264 encoder written in 30 lines of C code. Ben’s encoder outputs completely valid H.264, but it doesn’t actually compress anything. (What do you expect from 30 lines!) In fact, because of the necessary H.264 headers, the output of Ben’s encoder is...
Our engineering expert details how to capture and analyze all the network traffic flowing to and from a Wi-Fi-enabled device using a network sniffer.
I take it as a given that when a client approaches us with a new embedded product idea, they will require a very demanding set of features and a minimal price tag. The “minimal price tag” part always applies to the development effort required. For products with a hardware component, it also applies to the...
My partner Ben Mesander had a really cool post the other day: An H.264 encoder written in 30 lines of C code. Ben’s encoder outputs completely valid H.264, but it doesn’t actually compress anything. (What do you expect from 30 lines!) In fact, because of the necessary H.264 headers, the output of Ben’s encoder is...
Cardinal Peak
Blog Post
Streaming Media

World’s Smallest H.264 Encoder

H.264 has a complicated specification with several options, many of which are not commonly used. So, I decided to write the simplest possible H.264 encoder.
Howdy Pierce
Blog Post
Outsourced Engineering

More on Patents

I had intended to give the indemnification issue a rest. But then the following caught my attention this morning: One big difference between patents and other kinds of intellectual property, like copyrights and trademarks, is that patent-holders who want to sue someone for infringement don’t have to show that their patents or their products were...
Howdy Pierce
Blog Post
Outsourced Engineering

Providing Indemnification for Patent Infringement

Discover why Cardinal Peak chose to walk away from an engineering engagement for the first time. Learn about our stance on indemnification and why it matters in high-stakes engineering contracts.
H.264 has a complicated specification with several options, many of which are not commonly used. So, I decided to write the simplest possible H.264 encoder.
I had intended to give the indemnification issue a rest. But then the following caught my attention this morning: One big difference between patents and other kinds of intellectual property, like copyrights and trademarks, is that patent-holders who want to sue someone for infringement don’t have to show that their patents or their products were...
Discover why Cardinal Peak chose to walk away from an engineering engagement for the first time. Learn about our stance on indemnification and why it matters in high-stakes engineering contracts.
Cardinal Peak
Blog Post
Software Development

Writing Defensive Code to Automatically Find Memory Leaks

In an earlier post, I suggested making all your memory allocations go through a single routine, and deletions through another. When you centralize allocation and deallocation like this, you gain a couple of benefits. First of all, you make the memory allocation more explicit, which will tend to make programmers more careful. Second, you can...
Mike Perkins
Blog Post
Signal Processing

Delta Sigma Converters: Filtering, Decimation and Simulations

In my first post on ΔΣ converters I presented an intuitive way to derive the modulator portion of the converter. Now we need to look at what comes after the modulator — namely, the digital filter and the decimator. The high-level structure of the converter looks like this: The analog input voltage, v(t), is assumed...
Cardinal Peak
Blog Post
Security

How To Find a Memory Leak

Finding memory leaks and other problems in your code can be challenging, but there are tools available to help simplify that process. Remember to add time to your schedule so that you can apply the available tools for finding memory leaks and other problems.
In an earlier post, I suggested making all your memory allocations go through a single routine, and deletions through another. When you centralize allocation and deallocation like this, you gain a couple of benefits. First of all, you make the memory allocation more explicit, which will tend to make programmers more careful. Second, you can...
In my first post on ΔΣ converters I presented an intuitive way to derive the modulator portion of the converter. Now we need to look at what comes after the modulator — namely, the digital filter and the decimator. The high-level structure of the converter looks like this: The analog input voltage, v(t), is assumed...
Finding memory leaks and other problems in your code can be challenging, but there are tools available to help simplify that process. Remember to add time to your schedule so that you can apply the available tools for finding memory leaks and other problems.