Anti Aliasing: Where Would We Be Without It?

o achieve optimum results from digitized data acquisition systems, engineers must keep in mind that they are dealing with the analog world through a sampled-data process. That sampling process imposes restrictions on the input signal spectrum that can be applied to the system’s analog-to-digital converter (ADC). Consequently, an engineer must pay very careful attention to the front-end analog (antialiasing) filtering that precedes any data conversion.

butterworthWhether an engineer designs the filters himself or buys filter modules, he must understand the role a presampling filter plays in a digital signal-acquisition system. When digitally sampling a dc system, a good filter eliminates noise but allows a change in signal to settle out in a reasonable time.

To digitally acquire ac signals, presampling

19 Sep 2014

A Multimedia Chip With Gusto

In the consumer market, target applications can vary over a wide range. These applications can range from low-cost video telephones to high-end electronic products with built-in video instructions.

mm-chipUnlike other compression ICs that consume silicon area with direct and inverse cosine-transform circuits for intraframe or interframe processing and motion prediction, the 7710 performs frame-based compression. Each line within a frame is stored and compressed on a line-by-line basis. Moreover, the chip architecture uses minimal pipelining.

As a result, the processor requires just 128 kbytes or more of video RAM (VRAM). Its I/O latency time in less than 100 [micro-s]. A patented on-chip compression algorithm, contained in compression-code tables, is simpler than the proposed Joint Photography Experts Group (JPEG) standard. With

04 Sep 2014

My Favorite Poet: Lesbia Harford

Lesbia Harford was briefly married to an artist who had an interest in modernism, so she may well have been familiar with some of the early forms of abstract art when she wrote this passage, which obliquely hints at the central theme of the novel. The Invaluable Mystery charts the steps by which a young woman acquires the determination to make her own way in, figuratively, a darkened world. Moreover, the repeated nocturnal descriptions it contains indicate that its author had some appreciation of the sublime. Uncertainty, we can sense, didn’t trouble her.

Yet she also had a very strong appreciation of the quotidian or mundane world. Her novel is once again instructive, for notwithstanding its repeated acknowledgments of the …

06 Aug 2014

Shakespeare: Catholic Or Madness?

In 1535, at about the same time Shakespeare’s father John was born, William Tyndale, translator of the Bible into English, was strangled by imperial officers. Henry VIII, who had tried to have him kidnapped, also wanted him silenced. Also in 1535 Henry demanded that Thomas More should swear the Oath of Supremacy declaring that Henry was the head of the Church of England. More refused and was executed; as were Fisher and, among others, the abbots of three of the monasteries that Thomas Cromwell had seized. In 1547-53, under Edward VI, Henry’s son by his third wife, Jane Seymour, Protestantism was doctrinally established. In 1553, Catherine of Aragon’s daughter Mary Tudor succeeded; she restored Catholicism, gently at first, but after …

19 Jun 2014

Motivation for rewriting unittest

Two weeks or so ago, I brought up my unittest redesign on the new testing-in-python mailing list. A number of people were upset that in redesigning unittest, I had rejected nose and py.test; Titus Brown even wrote a few blog posts on the subject, in particular taking me to task for ignoring nose.

I’ll be honest: when I started redesigning unittest, I did ignore nose and py.test. I remembered looking at them a long time ago, when I was first getting frustrated with unittest, casting around for a better, more flexible alternative. py.test has no support for extensions and depends on the rest of the py library, so that’s out. nose has plugins, …

11 Feb 2013

Porting setuptools to py3k

I recently spent some time porting setuptools to the py3k-struni branch as a means of testing both 2to3 specifically and the porting process generally. What follows are the notes from the experience. Two things to keep in mind: first, the struni branch, though slated to become the “official” Python 3000 branch, is still very much in flux and currently has 30+ failing tests; needless to say, it’s not an ideal porting target. Secondly, I was attempting this without Python 2.6’s forward compatibility mode, which is still mostly unwritten. As both of these situations change, I’ll keep trying to port more code to test the general readiness of the 2.x -> 3.x migration strategy.

Things to do in your Python 2

03 Jan 2013

Got a list of bullet points as to why Python is better

So Tyler says to me, he says:

I went to the Nashville PHP group last night. The conversation turned to which languages are on the rise, and I threw Python into the mix. Problem is, I had very little ammo to arm myself with. Got a list of bullet points as to why Python is better?

Well, yes and no.

In terms of functionality, there’s very little difference between Perl 5, Python, PHP and Ruby. The reasons to choose one over the other are typically very domain-specific (hence subtle and of little use when fighting religious wars): Perl 5 makes text munging simple by having, e.g., regular expressions as first-class citizens; PHP makes web applications more natural because, well, that’s …

19 Dec 2012

Testing unittest

Following up on an earlier post, I’ve just submitted a trio of patches for Python’s unittest module to SourceForge:

  • Patch #1550272 is the test suite itself. It comprises 128 tests for the mission-critical parts of unittest.
  • Patch #1550273 fixes 6 issues uncovered while writing the test suite. Several other items that I raised earlier were judged to be either non-issues or behaviours that, while suboptimal, people have come to rely on.
  • Patch #1550263 follows up on an earlier patch I submitted for unittest’s docs. This new patch corrects and clarifies numerous sections of the module’s documentation.

I’m hopeful that these changes will make it into Python 2.5-final or 2.5.1 at the latest.

Here’s a list of the issues …

19 Sep 2012

Helpful SVK Macro

All my projects use Subversion for revision control, but on my laptop, I use SVK so I can keep working and committing even when away from an Internet connection. (Also: SVK’s merge support and branch tracking beats SVN’s hands down).

(This isn’t an SVK tutorial. For that, you should check out Ron Bieber’s excellent series of SVK tutorials.)

One part of SVK’s everyday workflow is having a mirrored repository, which represents the remote SVN repository, and a local repository, where you normally commit to. You then merge between these repositories — from local to mirrored to push changes to the main repository, mirrored to local to sync with the main repository.

For each project I work on, I name …

19 Mar 2012