
Streamlining Digital Signal Processing
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Reviews / Votes
"Great tips, tricks of the trade, secrets, practicalshortcuts, and clever engineering solutions from seasoned signalprocessing professionals ... Valuable signal processingtechniques not taught in engineering schools ." (ITbriefing.net, 2 August 2012)More details
Other editions
Additional editions


Person
Content
Contributors xiii
Part One Efficient Digital Filters
1. Lost Knowledge Refound: Sharpened FIR Filters 3
Matthew Donadio
2. Quantized FIR Filter Design Using Compensating Zeros 11
Amy Bell, Joan Carletta, and Kishore Kotteri
3. Designing Nonstandard Filters with Differential Evolution 25
Rainer Storn
4. Designing IIR Filters with a Given 3 dB Point 33
Ricardo A. Losada and Vincent Pellissier
5. Filtering Tricks for FSK Demodulation 43
David Shiung, Huei-Wen Ferng, and Richard Lyons
6. Reducing CIC Filter Complexity 51
Ricardo A. Losada and Richard Lyons
7. Precise Filter Design 59
Greg Berchin
8. Turbocharging Interpolated FIR Filters 73
Richard Lyons
9. A Most Effi cient Digital Filter: The Two-Path Recursive All-Pass Filter 85
Fred Harris
10. DC Blocker Algorithms 105
Randy Yates and Richard Lyons
11. Precise Variable-Q Filter Design 111
Shlomo Engelberg
12. Improved Narrowband Lowpass IIR Filters in Fixed-Point Systems 117
Richard Lyons
13. Improving FIR Filter Coeffi cient Precision 123
Zhi Shen
Part Two Signal and Spectrum Analysis Tricks
14. Fast, Accurate Frequency Estimators 137
Eric Jacobsen, Peter Kootsookos
15. Fast Algorithms for Computing Similarity Measures in Signals 147
James McNames
16. Effi cient Multi-tone Detection 157
Vladimir Vassilevsky
17. Turning Overlap-Save into a Multiband, Mixing, Downsampling Filter Bank 165
Mark Borgerding
18. Sliding Spectrum Analysis 175
Eric Jacobsen and Richard Lyons
19. Recovering Periodically Spaced Missing Samples 189
Andor Bariska
20. Novel Adaptive IIR Filter for Frequency Estimation and Tracking 197
Li Tan and Jean Jiang
21. Accurate, Guaranteed-Stable, Sliding DFT 207
Krzysztof Duda
22. Reducing FFT Scalloping Loss Errors without Multiplication 215
Richard Lyons
23. Slope Filtering: An FIR Approach to Linear Regression 227
Clay S. Turner
Part Three Fast Function Approximation Algorithms
24. Another Contender in the Arctangent Race 239
Richard Lyons
25. High-Speed Square Root Algorithms 243
Mark Allie and Richard Lyons
26. Function Approximation Using Polynomials 251
Jyri Ylöstalo
27. Efficient Approximations for the Arctangent Function 265
Sreeraman Rajan, Sichun Wang, Robert Inkol, and Alain Joyal
28. A Differentiator with a Difference 277
Richard Lyons
29. A Fast Binary Logarithm Algorithm 281
Clay S. Turner
30. Multiplier-Free Divide, Square Root, and Log Algorithms 285
François Auger, Bruno Feuvrie, Feng Li, and Zhen Luo
31. A Simple Algorithm for Fitting a Gaussian Function 297
Hongwei Guo
32. Fixed-Point Square Roots Using L-Bit Truncation 307
Abhishek Seth and Woon-Seng Gan
Part Four Signal Generation Techniques
33. Recursive Discrete-Time Sinusoidal Oscillators 319
Clay S. Turner
34. Direct Digital Synthesis: A Tool for Periodic Wave Generation 337
Lionel Cordesses
35. Implementing a S¿ DAC in Fixed-Point Arithmetic 353
Shlomo Engelberg
36. Effi cient 8-PSK/16-PSK Generation Using Distributed Arithmetic 361
Josep Sala
Part Five Assorted High-Performance DSP Techniques
39. Frequency Response Compensation with DSP 397
Laszlo Hars
40. Generating Rectangular Coordinates in Polar Coordinate Order 407
Charles Rader
41. The Swiss Army Knife of Digital Networks 413
Richard Lyons and Amy Bell
42. JPEG2000-Choices and Trade-offs for Encoders 431
Amy Bell and Krishnaraj Varma
43. Using Shift Register Sequences 441
Charles Rader
44. Efficient Resampling Implementations 449
Douglas W. Barker
45. Sampling Rate Conversion in the Frequency Domain 459
Guoan Bi and Sanjit K. Mitra
46. Enhanced-Convergence Normalized LMS Algorithm 469
Maurice Givens
Index 475
Chapter 1
Lost Knowledge Refound: Sharpened FIR Filters
Matthew Donadio
Night Kitchen Interactive
What would you do in the following situation? Let’s say you are diagnosing a DSP system problem in the field. You have your trusty laptop with your development system and an emulator. You figure out that there was a problem with the system specifications and a symmetric FIR filter in the software won’t do the job; it needs reduced passband ripple or, maybe, more stopband attenuation. You then realize you don’t have any filter design software on the laptop, and the customer is getting angry. The answer is easy: you can take the existing filter and sharpen it. Simply stated, filter sharpening is a technique for creating a new filter from an old one [1]–[3]. While the technique is almost 30 years old, it is not generally known by DSP engineers nor is it mentioned in most DSP textbooks.
1.1 IMPROVING A DIGITAL FILTER
Before we look at filter sharpening, let’s consider the first solution that comes to mind, filtering the data twice with the existing filter. If the original filter’s transfer function is H(z), then the new transfer function (of the H(z) filter cascaded with itself) is H(z)2. For example, let’s assume the original lowpass N-tap FIR filter, designed using the Parks-McClellan algorithm [4], has the following characteristics:
Number of coefficients: N = 17 Sample rate: Fs = 1 Passband width: fpass = 0.2 Passband deviation: δpass = 0.05 (0.42 dB peak ripple) Stopband frequency: fstop = 0.3 Stopband deviation: δstop = 0.005 (−46 dB attenuation)Figure 1–1(a) shows the performance of the H(z) and cascaded H(z)2 filters. Everything looks okay. The new filter has the same band edges, and the stopband attenuation is increased. But what about the passband? Let’s zoom in and take a look at Figure 1–1(b). The squared filter, H(z)2, has larger deviations in the passband than the original filter. In general, the squaring process will:
1. Approximately double the error (response ripple) in the passband. 2. Square the errors in the stopband (i.e., double the attenuation in dB in the stopband). 3. Leave the passband and stopband edges unchanged. 4. Approximately double the impulse response length of the original filter. 5. Maintain filter phase linearity.Figure 1–1 H(z) and H(z)2 performance: (a) full frequency response; (b) passband response.
It is fairly easy to examine this operation to see the observed behavior if we view the relationship between H(z) and H(z)2 in a slightly unconventional way. We can think of filter squaring as a function F[H(z)] operating on the H(z) transfer function. We can then plot the output amplitude of this function, H(z)2, versus the amplitude of the input H(z) to visualize the amplitude change function.
The plot for F[H(z)] = H(z) is simple; the output is the input, so the result is the straight line as shown in Figure 1–2. The function F[H(z)] = H(z)2 is a quadratic curve. When the H(z) input amplitude is near zero, the H(z)2 output amplitude is closer to zero, which means the stopband attenuation is increased with H(z)2. When the H(z) input amplitude is near one, the H(z)2 output band is approximately twice as far away from one, which means the passband ripple is increased.
Figure 1–2 Various F[H(z)] functions operating on H(z).
The squaring process improved the stopband, but degraded the passband. The improvement was a result of the amplitude change function being horizontal at zero. So to improve H(z) in both the passband and stopband, we want the F[H(z)] amplitude function to be horizontal at both H(z) = 0 and H(z) = 1 (in other words, have a first derivative of zero at these points). This results in the output amplitude changing slower than the input amplitude as we move away from zero and one, which lowers the ripple in these areas. The simplest function that meets this will be a cubic of the form
Its derivative (with respect to x) is
Specifying F(x) and F′(x) for the two values of x = 0 and x = 1 allows us to solve (1–1) and (1–2) for the cn coefficients as
(1–3)
(1–4)
Solving (1–5) and (1–6) simultaneously yields c2 = 3 and c3 = –2, giving us the function
(1–7)
Stating this function as the sharpened filter Hs(z) in terms of H(z), we have
The function Hs(z) is the dotted curve in Figure 1–2.
1.2 FIR FILTER SHARPENING
Hs(z) is called the “sharpened” version of H(z). If we have a function whose z-transform is H(z), then we can outline the filter sharpening procedure, with the aid of Figure 1–3, as the following:
1. Filter the input signal, x(n), once with H(z). 2. Double the filter output sequence to obtain w(n). 3. Subtract w(n) from 3x(n) to obtain u(n). 4. Filter u(n) twice by H(z) to obtain the output y(n).Figure 1–3 Filter sharpening process.
Using the sharpening process results in the improved Hs(z) filter performance shown in Figure 1–4, where we see the increased stopband attenuation and reduced passband ripple beyond that afforded by the original H(z) filter.
Figure 1–4 H(z) and Hs(z) performance: (a) full frequency response; (b) passband response.
It’s interesting to notice that Hs(z) has the same half-amplitude frequency (−6 dB point) as H(z). This condition is not peculiar to the specific filter sharpening example used here—it’s true for all Hs(z)s implemented as in Figure 1–3. This characteristic, useful if we’re sharpening a halfband FIR filter, makes sense if we substitute 0.5 for H(z) in (1–8), yielding Hs(z) = 0.5.
1.3 IMPLEMENTATION ISSUES
The filter sharpening procedure is very easy to perform, and is applicable to a broad class of FIR filters; including lowpass, bandpass, and highpass FIR filters having symmetrical coefficients and even-order (an odd number of taps). Even multi-passband FIR filters, under the restriction that all passband gains are equal, can be sharpened.
From an implementation standpoint, to correctly implement the sharpening process in Figure 1–3 we must delay the 3x(n) sequence by the group delay, (N − 1)/2 samples, inherent in H(z). In other words, we must time-align 3x(n) and w(n). This is analogous to the need to delay the real path in a practical Hilbert transformer. Because of this time-alignment constraint, filter sharpening is not applicable to filters having nonconstant group delay, such as minimum phase FIR filters or infinite impulse response (IIR) filters. In addition, filter sharpening is inappropriate for Hilbert transformer, differentiating FIR filters, and filters with shaped bands such as sinc compensated filters and raised cosine filters, because cascading such filters corrupts their fundamental...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.