Quantcast

Complex half-band finite impulse response filter and method of making same

Imported: 13 Feb '17 | Published: 18 Jan '11

Mohamed Elfataoui, Gagan Mirchandani

USPTO - Utility Patents

Abstract

An electrical signal filter for processing a discrete-time real signal having a length N. In one embodiment, the filter comprising a delay line having N taps and a corresponding respective N filter coefficients. Values for the filter coefficients are determined by first shifting an impulse function of length N by a fraction of N so as to obtain a shifted impulse function. An analytic-signal-generating method is then applied to the impulse function so as to output the filter coefficient values. The values are then assigned to the N taps to complete the filter.

Description

RELATED APPLICATION DATA

This application is a continuation-in-part of U.S. patent application Ser. No. 11/191,734, filed Jul. 28, 2005, entitled “Discrete-Time Analytic Signal Generation Method and System,” which claims the benefit of priority of U.S. Provisional Patent Application Ser. No. 60/591,967, filed Jul. 28, 2004, of the same title. This application claims the benefit of U.S. Provisional Patent Application No. 60/705,074, filed Aug. 2, 2005, entitled “Complex Half-Band Filter Generation Method and System.” Each of these applications is incorporated herein by reference in its entirety.

GOVERNMENT LICENSE RIGHTS

The U.S. Government may have a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Grant No. F49620-00-1-0280 awarded by DEPSCoR.

FIELD OF THE INVENTION

The present invention generally relates to the field of signal processing. In particular, the present invention is directed to a complex half-band finite impulse response filter and method of making same.

BACKGROUND OF THE INVENTION

Analytic signals, both continuous and discrete, are signals of-considerable importance in many fields, and especially in signal processing. Instead of processing a given real signal, it is often advantageous to processing its analytic counterpart, which includes in its real part the original signal and in its imaginary part, a 90° phase shifted version of the original signal. The imaginary part is often referred to as the hilbert transform of the real part, and the filter generating the imaginary part is typically referred to as a hilbert transformer or, equivalently, a 90° phase shifter. The analytic signal is, then, a generalization of the complex exponential. Analytic signals are useful in a host of applications in signal processing and in communications. Examples of such applications include, but are not limited to, single-sideband analog communication systems and analog frequency-division multiplex systems.

Discrete-time analytic (DTA) signals have characteristics similar to their analog counterparts. A discrete-time sequence is defined to be analytic by requiring that its discrete-time Fourier transform (DTFT) vanish in the interval [π,0). Such a signal is referred to as a DTA signal. DTA signals may be generated by methods that include frequency-based methods, such as hilbert, and time-domain filtering methods. Time-domain filtering methods are real-time and can convert a real input signal to a DTA signal as the real input signal is received. In a time-domain approach, the length of the filter affects the accuracy and approximation to the analytic signal. Frequency-domain methods are not real-time and require access to the full real input signal. Certain frequency-domain methods, such as hilbert, fail to generate a DTA signal for specific discrete-time real signals and could benefit from improved shiftability. In addition, these methods could benefit from a decreased attenuation of the DTFT in the negative frequency range.

A new frequency-domain method is desired that can generate a DTA signal for those specific discrete-time real signals for which other frequency-domain methods fail. Also, it is desireable to generate a DTA signal for any discrete-time real signal with decreased attenuation of the DTFT in the negative frequency range as measured by the property of shiftability. In addition, in the time domain it is desirable to have a new “uniform approximation” (i.e., an N-length filter having an impulse response that converges uniformly to an ideal response as N→∞) finite impulse response (FIR) filter that filters a discrete real signal and outputs a DTA signal and is characterized by invertibility, real-time implementation and linear phase and, depending upon the application, also orthogonality.

SUMMARY OF THE INVENTION

In one aspect, a signal filter comprising a delay line having a number of taps and a plurality of filter coefficients hn corresponding respectively to the number of taps. Each of the plurality of filter coefficients hn is determined as a function of: shifting an impulse signal having a length by a fraction of the length so as to obtain a shifted impulse signal; and operating on the shifted impulse signal using an analytic-signal-generating method.

In another aspect, a method of designing a filter for processing a discrete-time real signal. The method comprises selecting a number of taps for a delay line, the number of taps corresponding respectively to a number of filter coefficients hn. A value for each of the number of filter coefficients hn is determined as a function of an analytic-signal-generating method operated on a shifted impulse signal. Each value is assigned to a corresponding respective one of the number of taps.

DETAILED DESCRIPTION:

The present invention includes systems and methods for generating a DTA signal from a real signal. In one embodiment, a method of generating a DTA signal is provided that in addition to zeroing the DTFT (or equivalent) of a DTA signal at negative frequencies ωk=2πk/N, where N/2+1≦k≦N−1, includes forcing the DTFT (or equivalent) of a DTA signal at one or more additional points in the negative frequency range to zero.

In one aspect, a system of the present invention may include a hardware configuration, such as a circuit designed to generate a DTA signal from a real signal. In another aspect, a system of the present invention may include software configured to receive a real input signal and to generate a DTA signal therefrom.

FIG. 1 illustrates one exemplary embodiment of the present disclosure. System 100 includes an input module 110 for receiving a real input signal 120. System 100 also includes a DTA signal generation module 130 in communication with input module 110. Input module 110 is configured to deliver real input signal 120 to DTA signal generation module 130. DTA signal generation module 130 modifies the DTFT (or equivalent) of a DTA signal corresponding to real input signal 120 by zeroing the negative frequencies (ωk=2πk/N, where N/2+1≦k≦N−1. DTA signal generation module 130 also zeroes one or more additional points in the negative frequency domain in generating a DTA signal 140. An output module 150 is in communication with DTA signal generation module 130 for receiving and outputing DTA signal 140.

A real input signal, such as real input signal 120, may be any real signal for which a corresponding analytic signal is desired. Examples of real input signals include, but are not limited to, seismic, amplitude modulated, ultrasonic, acoustic, and radar. In one example, a real input signal may be an impulse signal.

FIG. 2 illustrates one exemplary method 200 of generating a DTA signal that includes, at step 210, providing a real signal having a discrete spectrum with N points and a continuous frequency domain spectrum. At step 220, at least N/2 points in a negative region of the continuous frequency domain spectrum are set to zero. At step 230, a DTA signal is generated from the zeroed continuous frequency domain spectrum. The DTA signal may be delivered to an analytic signal processing device for processing. Examples of analytic signal processing devices include, but are not limited to, a single-sideband analog communication system, an analog frequency-division multiplex system, a radar system, a feature detection system, a texture segmentation system, a signal-to-noise estimation system, a damage diagnosis system, a vibration analysis system, and any combinations thereof. By setting at least N/2 points in the negative continuous frequency domain spectrum to zero, a DTA signal can be generated for all real signals including a certain class of real signals for which the hilbert method fails. For real signals for which the hilbert method may have been able to produce a DTA signal, the DTA signal generated at step 230 according to this embodiment of the present invention may have reduced bandwidth as measured by improved shiftability.

An improved DTA signal that is generated in accordance with the present invention can be utilized in a variety of applications. Improved shiftability and the ability to obtain a DTA signal from a class of real signals not previously achievable through specific methods benefits such applications. One example of such an application is in single-sideband modulation. In a single-sideband modulation, the bandwidth of the original real signal is reduced in the corresponding DTA signal. Examples of applications for an improved DTA signal generated according to the present invention include, but are not limited to, a complex wavelet processing, a radar application, an application of estimation of instantaneous frequency, feature detection, texture segmentation, estimation of a signal in noise, damage diagnosis of a machine, vibration analysis, and any combinations thereof. Complex wavelet processing is discussed by Felix C. A. Fernandes, “Directional, Shift Insensitive, Complex Wavelet Transforms with Controllable Redundancy,” PhD. Thesis, Rice University, January 2002, which is incorporated herein by reference as if set forth herein in its entirety. Radar applications of DTA signals are discussed in Lawton, W. M., “Analytic Signals and Radar Processing,” Processings of SPIE, Vol. 3723, April 1999, which is incorporated herein by reference as if set forth herein in its entirety. An application of estimation of instantaneous frequency is discussed by Boashash, “Estimating and Interpreting The Instantaneous Frequency of a Signal-Part 1: Fundamentals,” Proceedings of the IEEE, vol. 80 No. 40, April 1992, which is incorporated herein by reference as if set forth herein in its entirety. An example of feature detection is discussed by P. Kovesi, “Invarient measure of image features from phase information,” Ph.D. Thesis, University of Western Australia, May 1996 and Morrone et al., “Feature detection from local energy,” Pattern Recognition Letters, Vol. 6, 1987, each of which is incorporated herein by reference as if set forth herein in its entirety. An example of texture segmentation is discussed by Blow et al., “Hypercomplex signals—a novel extension of the analytic signal to the multidimensional case,” IEEE Trans. Signal Processing, Vol. 49, No. 11, November 2001, which is incorporated herein by reference as if set forth herein in its entirety. An example of estimation of signal in noise is discussed by S. C. Olhede and A. T. Walden, “Analytic wavelet thresholding,” Technical Report, Nov. 10, 2003, which is incorporated herein by reference as if set forth herein in its entirety. An example of damage diagnosis of a machine is discussed by Feldman et al., “Damage diagnosis of rotors: application of hilbert-transform and multi-hypothesis testing,” Journal of Vibration and Control, 1999, 5, p 421-445, which is incorporated herein by reference as if set forth herein in its entirety. An example of vibration analysis is discussed by Lebold et al., “Review of vibration analysis methods for gearbox diagnostics and prognostics,” Proceedings of the 54th Meeting of the Society for Machinery Failure Prevention Technology, Virginia Beach, Va., May 1-4, 2000, p 623-634, which is incorporated herein by reference as if set forth herein in its entirety.

FIG. 3 illustrates another exemplary embodiment method 300 of generating a DTA signal that includes, at step 310, providing a real signal having a first discrete spectrum with N points. The real signal also has a continuous frequency domain spectrum. At step 320, at least N/2 points in a negative region of the continuous frequency domain spectrum are set to zero. At step 330, it is ensured that a total of N/2 points in the negative region of the continuous frequency domain spectrum are set to zero. At step 340, an inverse Fourier transform is obtained of the result of step 330 to generate a DTA signal.

FIG. 4 illustrates yet another exemplary method 400 that includes, at step 410, providing a real signal having N points in a discrete spectrum. At step 420, an N-point discrete Fourier transform (DFT) of the real signal is obtained. The N-point discrete Fourier transform has a frequency domain spectrum with a DC term and a Nyquist term. The DC term is at zero frequency and the Nyquist term at one-half the sampling frequency. At step 430, the frequency domain spectrum of the N-point DFT is set to zero at (N/2)−1 negative frequencies. At step 440, a first complex component is added to the DC term and a second complex component is added to the Nyquist term of the frequency domain spectrum. Steps 430 and 440 may occur in any order. At step 450, a first inverse DFT is obtained of the result of steps 430 and 440. At step 460, the result of step 450 may be used to generate a DTA signal corresponding to the real signal.

In still yet another exemplary embodiment, aspects of the present invention can be implemented in a system including computer-executable instructions, that are executed by a conventional, general purpose computing device. Examples of conventional, general purpose computing devices include, but are not limited to, a personal computer; a handheld device, such as a personal data assistant (PDA) and a mobile telephone device; a server; and any combination thereof. FIG. 5 illustrates an exemplary hardware environment 500 for the implementation of the present invention. In this example, system 505 for generating a discrete-time analytic signal according to the present invention resides in a memory system 510, such as a disk unit or tape unit. A processor 515 is interconnected via a system bus 520 to a random access memory (RAM) 525, a read-only memory (ROM) 530, input/output (I/O) adapter 535 for system bus 520, a user interface adapter 540 (for connecting a keyboard 545, a mouse 550, and/or another user interface device to system bus 520), and a display adapter 555 for connecting system bus 520 to a display device 560. Memory system 510 is in communication with system bus 520 via I/O adapter 535. Although this example includes certain components, one of ordinary skill will recognize a variety of computing environments that may include one or more of these components and/or different components. Hardware environment 500 also includes an input module 565 for receiving a real signal 570 from an external source. Input module 565 is in communication with system bus 520 for communicating real signal 570 to system 505 for generation of a discrete-time analytic signal. Output module 575 is in communication with system bus 520 for receiving an analytic signal 580 that corresponds to real signal 570 from system 505 for delivery to an external system, such as an analytic signal processing module 590. As those skilled in the art will readily appreciate, any of the methods disclosed herein can alternatively be implemented in other digital hardware, e.g., application specific integrated circuits, dedicated digital signal processors, programmable and reprogrammable devices, such as field programmable gate arrays, or analog circuitry, or a combination of digital hardware and analog circuitry.

COMPARATIVE EXAMPLE

In this example, a DTA is generated using a conventional method utilizing a hilbert transform operator. For a finite real valued sequence x(n), the DTA signal z(n) is defined as
z(n)=x(n)+jH{x(n)}
where H is the hilbert transform operator, and j2=−1. The periodic spectrum of z(n) is

Z ( ) = n = 0 N - 1 z ( n ) - n
where N is the length of z(n). The discrete-time Fourier transform (DTFT) is periodic with period 2π. Thus, ω is continuous in the interval [−π, π]. For analyticity it is required that
Z(e)=0 for ωε[−π, 0).
Because ω is continuous in the interval [−π, π], the DTFT cannot be computed exactly. Hence, the DFT is utilized. The DFT is obtained by uniformly sampling the DTFT on the ω-axis at ωk=2πk/N, where 0≦k≦N−1. Thus,

Z ( k ) = Z ( ) | ω = 2 π k N = n = 0 N - 1 z ( n ) - j2π k n / N .

An approach to generating a DTA signal resides in the frequency domain. An example procedure for deriving a DTA signal includes:

    • Computing an N-point DFT of x(n);
    • Forming an N-point DFT of the corresponding DTA signal by multiplying the N-point DFT of x(n) by the vector:

a ( n ) = { 1 , n = 0 2 , 1 n N / 2 - 1 1 , n = N / 2 0 , N / 2 + 1 n N - 1

Thus, the N-point DFT of the DTA signal is

Z ( k ) = { X ( k ) , k = 0 2 X ( k ) , 1 k N / 2 - 1 X ( k ) , k = N / 2 0 , N / 2 + 1 k N - 1 { 1 }

    • Obtaining a DTA signal by computing the inverse DFT of the N-point DFT:

z ( n ) = 1 / N k = 0 N - 1 Z ( k ) j2π kn / N { 2 }

An explicit expression for z(n) in terms of the real signal x(n) can be derived. For an even integer N, z(n) can be written as

z ( n ) = x ( n ) + j ( 2 / N ) p = 0 N / 2 - 1 x ( 2 p + 1 ) cot ( π ( n - ( 2 p + 1 ) ) / N ) , if n even z ( n ) = x ( n ) + j ( 2 / N ) p = 0 N / 2 - 1 x ( 2 p ) cot ( π ( n - 2 p ) / N ) , if n odd { 3 } { 4 }

Equations {3} and {4} can be derived using equations {2} and {1} as follows:

z ( n ) = 1 / N k = 0 N / 2 Z ( k ) j2π k n / N = 1 N Z ( 0 ) + 1 / N k = 1 N / 2 - 1 Z ( k ) j2π k n / N + 1 N Z ( N / 2 ) j2π ( N / 2 ) n / N = 1 N X ( 0 ) + 2 / N k = 1 N / 2 - 1 X ( k ) j 2 π kn / N + 1 N X ( N / 2 ) n = 1 N X ( 0 ) + 2 / N k = 1 N / 2 - 1 X ( k ) j2π kn / N + 1 N X ( N / 2 ) n + x ( n ) - x ( n ) = x ( n ) + 1 N X ( 0 ) + 2 / N k = 1 N / 2 - 1 X ( k ) j 2 π k n / N + 1 N X ( N / 2 ) n - 1 / N k = 0 N - 1 X ( k ) j2π k n / N = x ( n ) + 1 N X ( 0 ) + 2 / N k = 1 N / 2 - 1 X ( k ) j 2 π k n / N - 1 / N k = 0 N / 2 - 1 X ( k ) j 2 π k n / N - 1 / N k = N / 2 + 1 N - 1 X ( k ) j2π k n / N = x ( n ) + 1 / N k = 1 N / 2 - 1 X ( k ) j 2 π k n / N - 1 / N k = N / 2 + 1 N - 1 X ( k ) j2π k n / N . Let B - 1 / N k = N / 2 + 1 N - 1 X ( k ) j2π k n / N and change variable k = p + N 2 . Thus B = - 1 / N p = 1 N / 2 - 1 X ( p + N 2 ) jπ2 ( p + N 2 ) n / N = - 1 / N p = 1 N / 2 - 1 X ( p + N 2 ) j2π p n / N n = 1 / N p = 1 N / 2 - 1 X ( p + N 2 ) j2π p n / N ( - 1 ) n . { 5 }

Therefore, from equation {5}:

z ( n ) = x ( n ) + 1 / N k = 1 N / 2 - 1 X ( k ) j 2 π k n / N - 1 / N k = 1 N / 2 - 1 X ( k + N 2 ) j2π k n / N ( - 1 ) n = x ( n ) + 1 / N k = 1 N / 2 - 1 { X ( k ) j2π k n / N - X ( k + N 2 ) j2π k n / N ( - 1 ) n } = x ( n ) + 1 / N k = 1 N / 2 - 1 j2π k n / N { X ( k ) - X ( k + N 2 ) ( - 1 ) n } . { 6 }
The terms in parenthesis in equation {6} are as follows:

X ( k ) - X ( k + N 2 ) ( - 1 ) - n = m = 0 N - 1 x ( m ) - j2π m k / N - m = 0 N - 1 x ( m ) - j2π ( k + N / 2 ) m / N ( - 1 ) - n = m = 0 N - 1 x ( m ) { - j2π m k / N - - j2π ( k + N / 2 ) m / N ( - 1 ) - n } = m = 0 N - 1 x ( m ) - j2π m k / N { 1 - ( - 1 ) m + n } .

Accordingly, equation {6} can be written as

z ( n ) = x ( n ) + 1 / N k = 1 N / 2 - 1 j2π k n / N { m = 0 N - 1 x ( m ) - j 2 π m k / N { 1 - ( - 1 ) m + n } } = x ( n ) + 1 / N { m = 0 N - 1 x ( m ) ( 1 - ( - 1 ) m + n ) k = 1 N / 2 - 1 j2π k ( n - m ) / N } . { 7 }

If (m+n) is even in equation {7}, the term

x ( m ) ( 1 - ( - 1 ) m + n ) k = 1 N / 2 - 1 j2π k ( n - m ) / N = 0 ;
When (m+n) is odd, the expression

k = 1 N / 2 - 1 j2π k ( n - m ) / N
can be simplified as

k = 1 N / 2 - 1 j2π k ( n - m ) / N = k = 0 N / 2 - 1 j2π k ( n - m ) / N - 1 = 1 - ( n - m ) 1 - j2π ( n - m ) / N - 1 = 1 - ( - 1 ) ( n - m ) 1 - j2π ( n - m ) / N - 1.

The expression (m+n), when odd, is equivalent to (n−m), when odd. Therefore,

k = 1 N / 2 - 1 j2π k ( n - m ) / N = 2 1 - j2π ( n - m ) / N - 1 = 1 + j2π ( n - m ) / N 1 - j2π ( n - m ) / N = - ( n - m ) / N + ( n - m ) / N - ( n - m ) / N - ( n - m ) / N = 2 cos ( π N ( n - m ) ) - j 2 sin ( π N ( n - m ) = j cos ( π N ( n - m ) ) sin ( π N ( n - m ) = j cot ( π N ( n - m ) ) . { 8 }

For n even, (n−m) odd is equivalent to m odd. Also, for n odd, (n−m) odd is equivalent to m even. Therefore, for n even and m odd, 1−(−1)n+m=2, and for n even and m even, 1−(−1)n+m=0. Thus, referring back to equation {7} and using equation {8}, equation {3} for n being even is:

z ( n ) = x ( n ) + 1 / N m = 0 N - 1 x ( m ) ( 1 - ( - 1 ) m + n ) j cot ( π N ( n - m ) ) = x ( n ) + 1 / N m = 0 , m odd N - 1 x ( m ) ( 1 - ( - 1 ) m + n ) j cot ( π N ( n - m ) ) = x ( n ) + j ( 2 / N ) p = 0 N / 2 - 1 x ( 2 p + 1 ) cot ( π ( n - ( 2 p + 1 ) ) / N ) .
Similarly, for n odd, equation {4} becomes:

z ( n ) = x ( n ) + j ( 2 / N ) p = 0 N / 2 - 1 x ( 2 p ) cot ( π ( n - 2 p ) / N ) .

A continuous-time analytic signal is defined as that with spectrum which is zero for ω<0. Thus, it is a complex signal. A non-zero real signal is not analytic. Similarly, a non-zero discrete-time real signal is not analytic. From equations {3} and {4}, it is known that if the imaginary part of z(n) were zero, then z(n) would be real and consequently not analytic. For all even values of x(n) equal to a real constant a and all odd values of x(n) equal to a real constant β (with no loss of generality, both constants are assumed to be different than zero), equations {3} and {4} produce

imag ( z ( n ) ) = ( 2 / N ) β p = 0 N / 2 - 1 cot ( π ( n - ( 2 p + 1 ) ) / N ) , if n even imag ( z ( n ) ) = ( 2 / N ) α p = 0 N / 2 - 1 cot ( π ( n - 2 p ) / N ) , if n odd .

The imaginary part of z(n) being zero is equivalent to

p = 0 N / 2 - 1 cot ( π ( n - ( 2 p + 1 ) ) / N ) = 0 , if n even and p = 0 N / 2 - 1 cot ( π ( n - 2 p ) / N ) = 0 , if n odd . { 9 } { 10 }

Thus, for N being even,

p = 0 N / 2 - 1 cot ( π ( n - ( 2 p + 1 ) ) / N ) = 0 , if n even { 11 } p = 0 N / 2 - 1 cot ( π ( n - 2 p ) / N ) = 0 , if n odd . { 12 }

Equation {11 } can be shown as true by showing that the left hand side (LHS) of each equation can be written as a circulant matrix and then showing that the first row of the matrix sums to zero. First, A=(a)n/2*p denotes the matrix with elements (a)n/2*p=cot(π(n−(2p+1))/N, where 0≦p≦N/2−1, 0≦n≦N−1, and n even. Hence,

A = [ a 00 a 01 a 02 a 0 ( N 2 - 1 ) a 20 a 21 a 22 a 23 a 0 ( N 2 - 1 ) a 41 a 42 a 43 a 44 a ( N - 6 ) ( N 2 - 1 ) a ( N - 4 ) ( N 2 - 1 ) a ( N - 2 ) 0 a ( N - 2 ) 1 a ( N - 2 ) ( N 2 - 2 ) a ( N - 2 ) ( N 2 - 1 ) ]

Showing that the matrix A=(a)n/2*p, for 0≦p≦N/2−1, 0≦n≦N−1, and n even is a circulant matrix is the equivalent to showing that it is Toeplitz. The first column is obtained by transposing the first row and flipping the last (N/2−1) terms. To show that the matrix is Toeplitz, the following is shown to be true:

a ( n 2 + 1 ) ( p + 1 ) = a n 2 p .

For 0≦p≦N/2−1, 0≦n≦N−1, and n even:

a ( n 2 + 1 ) ( p + 1 ) = cot ( π N ( n + 2 - 2 p - 3 ) ) = cot ( π N ( n - 2 p - 1 ) ) = a n 2 p .

The first column is obtained by transposing the first row and flipping the last (N/2−1) terms. This is equivalent to verifying that

a p 0 = a 0 ( N 2 - p )
which is shown by:

a 0 ( N 2 - p ) = cot ( π N ( - ( 2 ( N 2 - p ) + 1 ) ) ) = cot ( π N ( 2 p - 1 ) - π ) = cot ( π N ( 2 p - 1 ) ) = a p 0 .

Thus, the matrix, A, is circulant. To show that

p = 0 N / 2 - 1 cot ( π ( n - ( 2 p + 1 ) ) / N ) = 0 ,

0≦n≦N−1, and n even, it is enough to show that the first row of the matrix A sums to zero. For n=0,

p = 0 N / 2 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) = p = 0 N / 4 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) + p = N / 4 N / 2 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) . Now p = N / 4 N / 2 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) = q = 0 N / 4 - 1 cot ( π N ( - ( 2 ( N 2 - 1 - q ) + 1 ) ) ) = q = 0 N / 4 - 1 cot ( π N ( 2 p + 1 ) - π ) = q = 0 N / 4 - 1 cot ( π N ( 2 q + 1 ) ) .
Therefore,

p = 0 N / 2 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) = p = 0 N / 4 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) + q = 0 N / 4 - 1 cot ( π N ( 2 q + 1 ) ) = 0.

Hence, for 0≦n≦N−1, and n even, equation {11} is generated as

p = 0 N / 2 - 1 cot ( π ( - ( 2 p + 1 ) ) / N ) = 0.
Likewise, equation {12} is generated as

p = 0 N / 2 - 1 cot ( π ( n - 2 p ) / N ) = 0 , 0 n ( N - 1 )
and n odd.

Accordingly, for this specific class of signals where the analytic mapping reduces to the identity map and the signals are defined by only two frequencies (0 and π), z(n) is real and a DTA signal is not generated. In one example, where N=4 and x(n)=[x(0) x(1) x(2) x(3)] is a discrete real valued signal. The DTA z(n) corresponding to x(n) in this example can be determined from equations {3 } and {4} as

z ( 0 ) = x ( 0 ) + j 2 ( x ( 3 ) - x ( 1 ) ) z ( 1 ) = x ( 1 ) + j 2 ( x ( 0 ) - x ( 2 ) ) z ( 2 ) = x ( 2 ) + j 2 ( x ( 1 ) - x ( 3 ) ) z ( 3 ) = x ( 3 ) + j 2 ( x ( 2 ) - x ( 0 ) )
For x(3)=x(1)=1 and x(2)=x(0)=2, z(n)=x(n). Also, using MATLAB6.5 and its hi transform:
hilbert([1 2 1 2])=[1 2 1 2].

EXAMPLE 1

In this example, a method according to the present invention is utilized to generate a DTA signal having a discrete spectrum represented by S(k) where S(k) is a finite complex valued sequence of length N. N is even. With reference to equations {3} and {4}, let s(n) be an analytic signal corresponding to x(n) such that

s ( n ) = x ( n ) + j ( 2 / N ) { p = 0 N / 2 - 1 x ( 2 p + 1 ) cot ( π ( n - ( 2 p + 1 ) ) / N ) + a } , if n even { 13 } s ( n ) = x ( n ) + j ( 2 / N ) { p = 0 N / 2 - 1 x ( 2 p ) cot ( π ( n - 2 p ) / N ) + b } , if n odd { 14 }
where real variables

2 N a and 2 N b
are added to the imaginary parts of the analytic signal z(n) of equations {3} and {4}. The components a and b are complex components that will be defined for this example below.

The following illustrates that the DFT S(k) of s(n) is zero for N/2+1≦k≦N−1. For n even
s(i)=z(n)+j(2/N)a=z(n)+jt(n)
and for n odd
s(n)=z(n)+j(2/N)b=z(n)+jt(n)
where

t ( n ) = { 2 a / N , n even 2 b / N , n odd .

The DFT of t(n) is equal to

T ( k ) = n = 0 N - 1 t ( n ) - j2π kn / N = n = 0 N / 2 - 1 t ( 2 n ) - j2π k 2 n / N + n = 0 N / 2 - 1 t ( 2 n + 1 ) - j2π k ( 2 n + 1 ) / N = ( 2 / N ) { a n = 0 N / 2 - 1 - j2π k 2 n / N + b n = 0 N / 2 - 1 - j2π k ( 2 n + 1 ) / N } .

Thus

S ( k ) = Z ( k ) + j T ( k ) = Z ( k ) + j { ( 2 / N ) { a n = 0 N / 2 - 1 - j2π k 2 n / N + b n = 0 N / 2 - 1 - j2π k ( 2 n + 1 ) / N } }
where Z(k) is the DFT of z(n).

It is now shown that

S ( k ) = { X ( k ) + j ( a + b ) , k = 0 2 X ( k ) , 1 k N / 2 - 1 X ( k ) + j ( a - b ) , k = N / 2 0 , N / 2 + 1 k N - 1 { 15 }

Z(k) satisfies the following

Z ( k ) = { X ( k ) , k = 0 2 X ( k ) , 1 k N / 2 - 1 X ( k ) , k = N / 2 0 , N / 2 + 1 k N - 1

Therefore, it is sufficient to show that

T ( k ) = { a + b , k = 0 0 , 1 k N / 2 - 1 a - b , k = N / 2 0 , N / 2 + 1 k N - 1. { 16 }

The proofs of k=0 and k=N/2 are straightforward. For 1≦k≦N/2−1 it is verified that

n = 0 N / 2 - 1 - j2π k 2 n / N = n = 0 N / 2 - 1 - j2π k ( 2 n - 1 ) / N = 0.
For the remaining interval, the proof follows by the conjugate symmetry relationship for real signals. Having established equation {15 }, where S(k) has a one sided spectrum like Z(k), parameters a and b are available to establish other effects. This degree of freedom is utilized by choosing values for a and b to force the DTFT of s(n) to be zero for some ω in the interval (−π, 0). This alleviates the problem encountered before, by generating a complex signal rather than a real one for the special class of signals referred to earlier. Zeroing the DTFT for some ω in the negative frequency range will also form a neighborhood of ω where the DTFT could be small, thus allowing for improved transform shiftability.

It is necessary to determine a and b such that for some ω

S ( ) = n = 0 N - 1 s ( n ) - n = 0 { 17 }
where s(n) is defined by equations {13} and {14} above.

For, s(n) defined by equations {13} and {14}, and ωε(−π, 0), ∃ real numbers a, b such that

S ( ) = n = 0 N - 1 s ( n ) - n = 0 { 18 }

This is shown by

S ( ) = p = 0 N - 1 s ( p ) - p = p = 0 N 2 - 1 s ( 2 p ) - 2 p + p = 1 N 2 s ( 2 p - 1 ) - ( 2 p - 1 ) .
Denote by

α 1 ( ω ) = p = 0 N / 2 - 1 x ( 2 p ) cos ( 2 p ω ) α 2 ( ω ) = 2 / N p = 0 N / 2 - 1 q = 0 N / 2 - 1 x ( 2 q + 1 ) cot ( f ( p , q ) ) sin ( 2 p ω ) r 1 ( ω ) = 2 / N p = 0 N / 2 - 1 sin ( 2 p ω ) α 3 ( ω ) = p = 1 N / 2 x ( 2 p - 1 ) cos ( ω ( 2 p - 1 ) ) α 4 ( ω ) = 2 / N p = 1 N / 2 q = 0 N / 2 - 1 x ( 2 q ) cot ( f ( p , q ) ) sin ( ω ( 2 p - 1 ) ) r 2 ( ω ) = 2 / N p = 1 N / 2 sin ( ω ( 2 p - 1 ) ) α i 1 ( ω ) = - p = 0 N / 2 - 1 x ( 2 p ) sin ( 2 p ω ) α i 2 ( ω ) = - 2 / N p = 0 N / 2 - 1 q = 0 N / 2 - 1 x ( 2 q + 1 ) cot ( f ( p , q ) ) cos ( 2 p ω ) r i 1 ( ω ) = 2 / N p = 0 N / 2 - 1 cos ( 2 p ω ) α i 3 ( ω ) = - p = 1 N / 2 x ( 2 p - 1 ) sin ( ω ( 2 p - 1 ) ) α i 4 ( ω ) = - 2 / N p = 1 N / 2 q = 0 N / 2 - 1 x ( 2 q ) cot ( f ( p , q ) ) cos ( ω ( 2 p - 1 ) ) r i 2 ( ω ) = 2 / N p = 1 N / 2 cos ( ω ( 2 p - 1 ) ) where f ( p , q ) = ( π / N ) ( 2 p - ( 2 q + 1 ) ) .

Therefore, using equation {13 }

p = 0 N 2 - 1 s ( 2 p ) - jω2 p = p = 0 N 2 - 1 { { x ( 2 p ) + j ( 2 / N ) { q = 0 N / 2 - 1 x ( 2 p + 1 ) cot ( π ( 2 p - ( 2 p + 1 ) ) / N ) + a } } { cos ( 2 p ω ) - j sin ( 2 p ω ) } } = p = 0 N 2 - 1 x ( 2 p ) cos ( 2 p ω ) + 2 / N p = 0 N / 2 - 1 q = 0 N / 2 - 1 x ( 2 q + 1 ) cot ( f ( p , q ) ) sin ( 2 p ω ) + a 2 N p = 0 N / 2 - 1 sin ( 2 p ω ) + j { - p = 0 N / 2 - 1 x ( 2 p ) sin ( 2 p ω ) + 2 / N p = 0 N / 2 - 1 q = 0 N / 2 - 1 x ( 2 q + 1 ) cot ( f ( p , q ) ) cos ( 2 p ω ) + a 2 N p = 0 N / 2 - 1 cos ( 2 p ω ) } = α 1 ( ω ) + α 2 ( ω ) + ar 1 ( ω ) + j { α i 1 ( ω ) - α i 2 ( ω ) + ar i 1 ( ω ) }
and using equation {14}

p = 1 N 2 s ( 2 p - 1 ) - ( 2 p - 1 ) = p = 1 N 2 { { x ( 2 p - 1 ) + j ( 2 / N ) { q = 0 N / 2 - 1 x ( 2 q ) cot ( π ( 2 p - 1 - 2 q ) / N ) + b } } { cos ( ( 2 p - 1 ) ω ) - j sin ( ( 2 p - 1 ) ω ) } } = p = 1 N / 2 x ( 2 p - 1 ) cos ( ω ( 2 p - 1 ) ) + 2 / N p = 1 N / 2 q = 0 N / 2 - 1 { x ( 2 q ) cot ( f ( p , q ) ) sin ( ω ( 2 p - 1 ) ) } + b 2 N p = 1 N / 2 sin ( ω ( 2 p - 1 ) ) + j { - p = 1 N / 2 x ( 2 p - 1 ) sin ( ω ( 2 p - 1 ) ) + 2 N N / 2 p = 1 q = 0 N / 2 - 1 x ( 2 q ) cot ( f ( p , q ) ) cos ( ω ( 2 p - 1 ) ) + b 2 N p = 1 N / 2 cos ( ω ( 2 p - 1 ) ) } = α 3 ( ω ) + α 4 ( ω ) + br 2 ( ω ) + j { α i 3 ( ω ) - α i 4 ( ω ) + br i 2 ( ω ) } .

Hence
S(e)=α1(ω)+α2(ω)+αr1(ω)+α3(ω)+α4(ω)+br2(ω)+ji1(ω)−αi2(ω)+ari1(ω)+αi3(ω)−αi4(ω)+bri2(ω)}  {19}

To show that a solution exists for S(e)=0, the real and imaginary parts of equation {19} are equated to zero. Therefore,

{ ar 1 ( ω ) + br 2 ( ω ) = - α 3 ( ω ) - α 4 ( ω ) - α 1 ( ω ) - α 2 ( ω ) ar i 1 ( ω ) + br i 2 ( ω ) = - α i 3 ( ω ) + α i 4 ( ω ) - α i 1 ( ω ) + α i 2 ( ω ) .

Accordingly, for
Δ(ω)=−r2(ω)ri1(ω)+r1(ω)ri2(ω)≠0,
the values of a and b are as follows:
a={−ri2(ω)(α3(ω)+α4(ω)+α1(ω)+α2(ω))−r2(ω)(−αi3(ω)+αi4(ω)−αi1(ω)+αi2(ω))}/Δ(ω)
b={r1(ω)(−αi3(ω)+αi4(ω)−αi1(ω)+αi2(ω))+ri1(ω)(α3(ω)+α4(ω)+α1(ω)+α2(ω))}/Δ(ω).

Now

Δ ( ω ) = - ( 2 / N ) 2 { p = 1 N / 2 sin ( ω ( 2 p - 1 ) ) q = 0 N / 2 - 1 cos ( 2 ω q ) - p = 1 N / 2 cos ( ω ( 2 p - 1 ) ) q = 0 N / 2 - 1 sin ( 2 ω p ) } = - ( 2 / N ) 2 { p = 1 N / 2 q = 0 N / 2 - 1 sin ( ω ( 2 p - 2 q - 1 ) ) } = - ( 2 / N ) 2 { p = 1 N / 2 q = 0 N / 2 - 1 imag ( j ( ω ( 2 p - 2 q - 1 ) ) ) } = - ( 2 / N ) 2 { imag ( p = 1 N / 2 q = 0 N / 2 - 1 j ( ω ( 2 p - 2 q - 1 ) ) ) } .

For ωε(−π, 0)

imag ( p = 1 N / 2 q = 0 N / 2 - 1 j ( ω ( 2 p - 2 q - 1 ) ) ) = 1 - cos ( ω N ) 2 sin ( ω ) .

Next

p = 1 N 2 q = 0 N 2 - 1 j ( ω ( 2 p - 2 q - 1 ) ) = - { p = 1 N 2 jω2 p } { q = 0 N 2 - 1 - jω2 q } = - { p = 1 N 2 ( 2 ) p } { q = 0 N 2 - 1 ( - 2 ) q } = - { p = 0 N 2 ( 2 ) p - 1 } { 1 - - j2ω N 2 1 - - j2ω } = - { 1 - - j2ω ( N 2 + 1 ) 1 - - j2ω - 1 } { 1 - - N 1 - - j2ω } = - j2ω - j2ω ( N 2 + 1 ) 1 - j2ω 1 - - N 1 - - j2ω = - 2 1 - N 1 - j2ω 1 - - N 1 - - j2ω = 1 - N - - N + 1 1 - - j2ω - j2ω + 1 = 1 - cos ( ω N ) 1 - cos ( 2 ω ) = 1 - cos ( ω N ) 2 sin 2 ( ω ) = ( cos ( ω ) + j sin ( ω ) ) 1 - cos ( ω N ) 2 sin 2 ( ω ) = cos ( ω ) 1 - cos ( ω N ) 2 sin 2 ( ω ) + jsin ( ω ) 1 - cos ( ω N ) 2 sin 2 ( ω ) .

Therefore,

imag ( p = 1 N / 2 q = 0 N / 2 - 1 j ( ω ( 2 p - 2 q - 1 ) ) ) = sin ( ω ) 1 - cos ( ω N ) 2 sin 2 ( ω ) = 1 - cos ( ω N ) 2 sin ( ω ) .

For ω=−π

p = 1 N / 2 q = 0 N / 2 - 1 j ( ω ( 2 p - 2 q - 1 ) ) = ( p = 1 N / 2 - j ( 2 π p ) ) ( q = 0 N / 2 - 1 j ( 2 π q ) ) = - ( N 2 ) ( N 2 ) = - ( N 2 ) 2 .

Therefore, for
ωε(−π, 0), Δ(ω)=−(2/N)2(1−cos(ωN)/(2 sin(ω))), and for ω=−π, Δ(ω)=0.

Thus, for ωε(−π, 0)
Δ(ω)=0⇄cot(ωN)=1.

Hence
Δ(ω)=( )⇄ω=2πk/N for N/2+1≦k≦N−1.

Letting

A = { ω [ - π , 0 ) | ω = 2 π k / N where N / 2 + 1 k N - 1

Therefore, for ωε(−π, 0) and ωεA the system (20) has a solution. From equation {15 }, the DFT of S(k) of s(n) is equal to zero on A. Therefore, the DTFT, S(e) is also zero on A.

EXAMPLE 2

In this example, a method according to the present invention was used to generate a analytic signal for a signal having a discrete spectrum x(n)=[1 2 1 2]. Constants a and b were chosen such that the DTFT was forced to equal zero at ω=−2.4 for x(n). The ω value was selected empirically. A 256 point DFT was utilized to illustrate results. For x(n)=[1 2 1 2], the DTA s(n)=[1−1.869j 2−0.702j 1−1.869j 2−0.702j] was generated using equations {13} and {14}.

For comparison, hilbert was used to generate an analytic signal for the same signal having a discrete spectrum x(n)=[1 2 1 2]. The analytic signal using hilbert z(n)=x(n), as discussed above for signals such as x(n)=[1 2 1 2].

FIG. 6 illustrates the magnitude of the spectrum of the analytic signal generated by a method according to the present invention. This spectrum is shown as a solid line and labeled ehilbert. FIG. 6 also illustrates the magnitude of the spectrum of the analytic signal generated using hilbert. The hilbert spectrum is shown as a broken line and labeled hilbert. As formulated the spectrum using a method according to the present invention is equal to zero at ω=−b 2.4, and is small in the neighborhood of ω=−2.4. This is not the case using hilbert. As expected, the magnitude for the latter case is symmetric about ω=0.

EXAMPLE 3

In this example, a method according to the present invention was used to generate an analytic signal for a signal h(n), the daubechies scaling filter db16 (which does not belong to the class for which hilbert fails). Constants a and b were chosen such that the DTFT was forced to equal zero at ω=−π+0.001 for h(n). The ω value was selected empirically. A 256 point DFT was utilized to illustrate results. For comparison, hilbert was used to generate an analytic signal for h(n).

FIG. 7 illustrates the magnitude of the spectrum of the analytic signal generated by a method according to the present invention. This spectrum is shown as a solid line and labeled ehilbert. FIG. 7 also illustrates the magnitude of the spectrum of the analytic signal generated using hilbert. The hilbert spectrum is shown as a broken line and labeled hilbert. The magnitude of the spectrum of the DTA signal generated by a method of the present invention vanishes faster than that for the spectrum generated by hilbert.

EXAMPLE 4

In this example, DTA signals were generated by time and frequency domain methods including a projection method, a remez method, hilbert, and a method according to the present invention (hereinafter referred to as ehilbert). The projection method is discussed further by Felix C. A. Fernandes, “Directional, Shift Insensitive, Complex Wavelet Transforms with Controllable Redundancy,” PhD. Thesis, Rice University, January 2002, which is incorporated herein by reference as if set forth herein in its entirety. The remez method is discussed further by Reilly et al., “Analytic Signal Generation—Tips and Traps,” IEEE Trans. Signal Processing, vol. 42, No. 11, pp 3241-45, November 1994, which is incorporated herein by reference as if set forth herein in its entirety. The DTA signals were applied to an orthogonal wavelet transform. The corresponding reduction in aliasing was measured at the subbands.

The degree of bandwidth reduction or equivalently, sideband suppression, was determined in terms of the reduction in aliasing. To measure the reduction in aliasing, the concept of shiftability was utilized. Shiftability, in the spatial domain, corresponds to a lack of aliasing. It is equivalent to the constraint that the power of the transform coefficients is preserved when the input signal is shifted in position. A transform is defined as shiftable when the coefficient energy in each subband is conserved under input-signal shifts. Consequently, the degree of reduction in aliasing is determined by determining the variation in subband power (in a critically sampled wavelet transform)as the input analytic signal is translated.

Time-domain methods require the generation of filter coefficients, the analytic signal being obtained as the output of these filters. They are based on approximations to a continuous spectrum. The length of the corresponding DTA signal depends on both the signal and filter lengths. Frequency domain methods, such as hilbert and ehilbert, on the other hand are not real-time, requiring access to the whole input signal. The corresponding DTA signal is obtained from the discrete spectrum of the real signal. The length of the DTA signal depends only on the length of the original real signal.

In this example, an analytic impulse of length 16 was generated for each of the methods: hilbert, ehilbert, projection, and remez. An analytic impulse is a DTA signal corresponding to an impulse. The projection and remez methods entail approximation of lowpass filters, which are then shifted by π/2. A daubechies filter was used in the projection method and the equiripple approximation was used in the remez method. Each of the DTA signals created was padded with 16 zeros and applied to a discrete orthogonal wavelet filterbank using Meyer's scaling and wavelet filters. Subband powers at three scales were plotted over 16 shifts of the input signal, the input signal power being constant over the shifts.

FIGS. 8 and 9 illustrate the transform powers at the four subbands for each DTA signal (analytic impulse), as a function of input signal shifts. For ehilbert, S(e) was forced to zero at ω=−π+2.31. In each of the figures, the plots for hilbert, ehilbert, projection, and remez generated DTA signals is given by a different line type indicated in the corresponding legend. FIG. 8A shows plots for Level-1 bandpass. FIG. 8B shows plots for Level-2 bandpass. FIG. 9A shows plots for Level-3 bandpass. FIG. 9B shows plots for Level-3 lowpass.

The power at all four subbands using hilbert varies substantially over input signal shifts, relative to that with ehilbert. At level 2, performance of hilbert, projection and remez are about equal. At subbands at level 3, ehilbert performs considerably better than projection for which the power varies substantially while power variations are about the same relative to remez. Ehilbert generates a spectrum that suppresses more negative frequencies than that obtained using hilbert. Accordingly, aliasing is considerably reduced.

DTA Signal Filters

As mentioned above, when processing signals in real time, e.g., when signals need to be processed continuously rather than waiting until an entire signal is available for the frequency domain techniques discussed above, filters can be used to process the signals. FIG. 10 illustrates a filter 1000 that can be used, e.g., to generate a DTA signal from a discrete-time real signal, and is designed using a DTA-signal-generating method, e.g., either hilbert or ehilbert. As discussed below, filter 1000 may be designed in a manner that satisfies the properties of invertibility, generalized linear phase and real-time implementation. In addition, if hilbert is used in the design process, the property of orthogonality will also be satisfied. Note, however, that while an embodiment of filter 1000 designed on the basis of ehilbert will not have orthogonality, the use of ehilbert results in improved shiftability. Furthermore, filter 1000 designed in accordance with the following techniques also has the benefits of being easily scalable, and it is stable.

Importantly, the present inventors have shown (see U.S. Provisional Patent Applications Ser. Nos. 60/705,074 and 60/591,967 incorporated herein by reference above) that the frequency response of filter 1000 designed as discussed below converges uniformly to the ideal response as the filter length N→∞, except at 0 and π where it converges pointwise to a value of 1. Uniform convergence ensures that the amplitude spectrum of the complex half-band spectrum of filter 1000 lies within a band of height 2ε, ε>0, bounding the ideal filter spectrum given by:

G ( j w ) = { 2 , 0 < ω < π 0 , - π < ω < 0. { 21 }
That is, there exists a positive integer N such that this is true for all filter lengths n≧N. Therefore, the maximum passband ripple and maximum stopband ripple can be minimized by selecting a longer filter length N. The design of filter 1000 using the techniques described below is also efficient in that for even N, the design has the smallest number of non-zero filter coefficients.

Filter 1000 may be a finite impulse response (FIR) filter and, consequently, have a logical structure that comprises a delay line 1004 having an input x(n), an output z(n) and a number N of taps 1008 separated by N−1 delays 1012. Filter 1000 also includes a plurality of filter coefficients h0 to hN-1 corresponding respectively to the N taps 1008. Those skilled in the art will be very familiar with the basic delay-line structure of the FIR-type filter such that further explanation of the logical structure of filter 1000 is not necessary for those skilled in the art to understand the filter. Those skilled in the art will also readily appreciate that the logical structure of filter 1000 may be embodied in an actual working filter that is essentially purely software based (i.e., the functionality of the filter is embodied in software running on a processor or other instruction-based machine) or that is purely hardware (i.e., does not utilize any software), or a combination of software and hardware. Given the parameters of filter 1000, e.g., its length (number N of taps 1008) and values of filter coefficients h0 to hN-1, an artisan of ordinary skill could readily implement the logical structure of filter 1000 in the desired mode.

Important aspects of filter 1000 are the number N of taps 1008 and the particular values of filter coefficients h0 to hN-1. The determination of these values is as follows. The number N of taps 1008 is selected to be equal to the length (also N) of discrete-time real signal x(n) input into filter 1000. The values of filter coefficients h0 to hN-1 may be determined using an impulse function of length N. First, the impulse function is shifted by a fraction of the length N, and then the values for filter coefficients h0 to hN-1 are obtained from a DTA-signal-generating method, e.g., either hilbert or ehilbert, as desired. FIGS. 11A and 12A illustrate, respectively, an impulse function 1100 having a length N=8 (even) and an impulse function 1200 having a length N=15 (odd). (Consequently, the corresponding filters 1000 (FIG. 10) would have 8 taps 1008 and 15 taps, respectively.)

After the impulse function and its length N have been identified, as mentioned, the impulse function is shifted to the right. To maintain linearity of filter 1000 (FIG. 10), an even-length impulse function is shifted by half of the length, i.e., by N/2, and an odd-length impulse function is shifted by (N−1)/2, so as to obtain a corresponding respective shifted impulse function. FIG. 11B illustrates the shifted impulse function 1104 corresponding to even-length impulse function 1100 of FIG. 11A. The shift from impulse function 1100 to shifted impulse function 1104 is 8/2=4. FIG. 12B, on the other hand, illustrates the shifted impulse function 1204 corresponding to the odd-length impulse function 1200 of FIG. 12A. The shift from impulse function 1200 to shifted impulse function 1204 is (15−1)/2=7.

After obtaining the shifted impulse function, filter coefficients h0 to hN-1 may be determined as a function of an analytic signal generator, such as hilbert or ehilbert. Although the following example is directed to determining the values of filter coefficients h0 to hN-1 for hilbert, those skilled in the art will understand that similar techniques may be used for ehilbert and any other DTA signal generator.

Referring again to FIG. 10, the closed-form expression of the frequency response Z(e) of filter 1000 of length N under hilbert may be obtained after deriving the closed form expression of the impulse response z(n) of the filter. First, the DTA signal output z(n) of filter 1000 for the general case wherein input x(n) is an arbitrary discrete-time real signal is considered.

For the case when N is even, input x(n) is taken to be a discrete-time real signal of even length N. The expression for z(n) of the DTA signal corresponding to this even-N input x(n) under hilbert is given by the following equation:

z ( n ) = { x ( n ) + j ( 2 N ) p = 0 N / 2 - 1 x ( 2 p + 1 ) cot ( π ( n - ( 2 p + 1 ) ) / N ) , for n even x ( n ) + j ( 2 N ) p = 0 N / 2 - 1 x ( 2 p ) cot ( π ( n - 2 p ) / N ) , for n odd { 22 }
For the case when N is odd, input x(n) is taken to be a discrete-time real signal of odd length N. The expression for z(n) of the DTA signal corresponding to this odd-N input x(n) under hilbert is given by the following equation:

z ( n ) = x ( n ) + j N p = 0 p n N - 1 x ( p ) cos ( π ( n - p ) / N ) - ( - 1 ) n + p sin ( π ( n - p ) / N ) { 23 }
From these explicit equations for the DTA signal output z(n) for an arbitrary real signal x(n), the closed-form expression for the impulse response output z(n) of filter 1000 to a unit sample sequence input x(n) may be obtained. The corresponding frequency response Z(e) can then be determined as a function of the length N of filter 1000.

When N is even, input x(n) is taken to be the discrete-time impulse of even-length N shifted by N/2, i.e.:

x ( n ) = { 1 , n = N / 2 0 , 0 n N - 1 , n N / 2 { 24 }
Where N is a multiple of 4, using equation {22} with input x(n) expressed in equation {24}, the following expression for the filter coefficients hn (n=0→N−1) is obtained.

z ( n ) = { 0 , n even , n N / 2 1 , n = N / 2 j ( 2 N ) cot ( π N n - π 2 ) , n odd { 25 }
It is noted that the only non-zero even-indexed filter coefficient hn is at n=N/2 and is equal to 1. In a second case where N is even, but N/2 is odd, using equation {22} with input x(n) expressed in equation {24}, the following expression for the filter coefficients hn is obtained.

z ( n ) = { j ( 2 N ) cot ( π N n - π 2 ) , n even 0 , n odd , n N / 2 1 , n = N / 2 { 26 }
Here, too, the only non-zero odd filter coefficient hn is at n=N/2, which is an odd index and equal to 1. Consequently, for the case of N being even, about half of filter coefficients h0 to hN-1 are equal to zero.

When N is odd, input x(n) is taken to be the discrete-time impulse of odd-length N shifted by (N−1)/2, i.e.:

x ( n ) = { 1 , n = N - 1 2 0 , 0 n N - 1 , n N - 1 2 { 27 }
Where N is a multiple of 4, using equation {23} with input x(n) expressed in equation {27}, the following expression for the filter coefficients hn is obtained.

z ( n ) = j / N cos ( π ( n - N - 1 2 ) / N ) - ( - 1 ) n sin ( π ( n - N - 1 2 ) / N ) { 28 }
After the values for filter coefficients h0 to hN-1 have been determined using the appropriate one of equations {25}, {26} and {28}, these values may be used to construct filter 1000. As shown in U.S. Provisional Patent Application Ser. No. 60/705,074 incorporated herein by reference above, DTA signal output z(n) of filter 1000 designed using hilbert in the above manner is invertible, i.e., the original input x(n) can be recovered by taking the real part of the DTA signal output by the filter, and orthogonal, i.e., the real and imaginary parts of the DTA signal output z(n) are orthogonal to one another. The '074 application also demonstrates that filter 1000 designed using hilbert in the above manner has a generalized linear phase, provides real-time implementability and realizes full shiftability and uniformly converges to the ideal response as N→∞.

With the formulae for filter coefficients at hand, it is a straightforward matter to determine the values of the filter coefficients. For example, for filter 1000 of FIG. 10 designed in accordance with hilbert for the case that N=8, which is a multiple of 4, equation {25} may be used to obtain the values of filter coefficients hn. The following table illustrates the values of the eight filter coefficients for N=8 using equation {25}.

Coeff. Coff. Value hn n (Eqn {25}) h0 0 0 h1 1 j(1/4)cot(−3π/8) h2 2 0 h3 3 j(1/4)cot(−π/8) h4 4 1 h5 5 j(1/4)cot(π/8) h6 6 0 h7 7 j(1/4)cot(3π/8)

FIG. 13 illustrates at a very high level an electronic device 1300 that incorporates at least one DTA filter 1304 made in accordance with the present disclosure. DTA filter 1304 may be an FIR filter, such as FIR filter 1000, designed using an analytic-signal-generating method as described above. As those skilled in the art will readily appreciate, electronic device 1300 may be any type of electronic device in which it is useful to have one or more DTA filters. For example, electronic device 1300 may be a communications device, i.e., a transmitter, receiver or transceiver, or, a radar device, sonar device or testing device, among others. Furthermore, electronic device 1300 may be a device that generates an analytic signal that serves as a complex quadrature filter bank. There is a wide variety of useful applications for a filter of this kind. Other examples include satellite receivers, modems and algorithms for motion estimation.

Correspondingly, electronic device 1300 may include input circuitry 1308 that generates, transmits and/or conditions a discrete-time real signal 1312 for input into DTA filter 1304. DTA filter 1304 then operates on discrete-time signal 1312 to generate a DTA signal 1316, which is output from the DTA filter to output circuitry 1320. Output circuitry 1320 may be any circuitry suitable for using DTA signal 1316 in the context of electronic device 1300. Since the variety of electronic devices represented by electronic device 1300 of FIG. 13 is broad and diverse, and further since those skilled in the art will readily understand how to design these devices, including input and output circuitry 1308, 1320, it is neither practicable nor necessary to describe input and output circuitry in any further detail for those skilled in the art to understand the broad scope and enablement of the present disclosure relative to DTA filter 1304.

While the foregoing discussion has been directed to designing filters for generating DTA signals, those skilled in the art will readily appreciate that the foregoing procedures for designing complex half-band filters leads also to the design of lowpass and bandpass filters through a simple and direct shift of the spectrum.

Exemplary embodiments have been disclosed above and illustrated in the accompanying drawings. It will be understood by those skilled in the art that various changes, omissions and additions may be made to that which is specifically disclosed herein without departing from the spirit and scope of the present invention.

Claims

1. A signal filter, comprising:
a delay line having a number of taps; and
a plurality of filter coefficients hn corresponding respectively to said number of taps, each of said plurality of filter coefficients hn determined as a function of:
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
a delay line having a number of taps; and
a plurality of filter coefficients hn corresponding respectively to said number of taps, each of said plurality of filter coefficients hn determined as a function of:
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
2. The filter of claim 1, wherein said length of said impulse signal is N and said number of taps equals N.
3. The filter of claim 1, wherein said analytic-signal-generating method is a hilbert method.
4. The filter of claim 1, wherein said analytic-signal-generating method is an ehilbert method.
5. The filter of claim 1, wherein said length of said impulse signal is an even N and said impulse signal is shifted by N/2 to obtain said shifted impulse signal.
6. The filter of claim 5, wherein N is a multiple of four and each of said plurality of filter coefficients hn equals:
0 for n even and n≠N/2;
1 for n=N/2; and
j ( 2 N ) cot ( π N n - π 2 )
for n odd.
0 for n even and n≠N/2;
1 for n=N/2; and
7. The filter of claim 5, wherein N/2 is odd and each of said plurality of filter coefficients hn equals:
j ( 2 N ) cot ( π N n - π 2 )
for n even;
0 for n odd and n≠N/2; and
1 for n=N/2.
0 for n odd and n≠N/2; and
1 for n=N/2.
8. The filter of claim 1, wherein said length of said impulse signal is an odd N and said impulse signal is shifted by (N−1)/2 to obtain said shifted impulse signal.
9. The filter of claim 8, wherein each of said plurality of filter coefficients hn equals:
j / N cos ( π ( n - N - 1 2 ) / N ) - ( - 1 ) n sin ( π ( n - N - 1 2 ) / N ) .
10. An electronic device, comprising:
input circuitry for generating a discrete-time real signal; and
a filter responsive to said discrete-time real signal so as to output a discrete-time analytic signal, said filter comprising:
a delay line having a number of taps; and
a plurality of filter coefficients hn corresponding respectively to said number of taps, each of said plurality of filter coefficients determined as a function of:
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
input circuitry for generating a discrete-time real signal; and
a filter responsive to said discrete-time real signal so as to output a discrete-time analytic signal, said filter comprising:
a delay line having a number of taps; and
a plurality of filter coefficients hn corresponding respectively to said number of taps, each of said plurality of filter coefficients determined as a function of:
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
a delay line having a number of taps; and
a plurality of filter coefficients hn corresponding respectively to said number of taps, each of said plurality of filter coefficients determined as a function of:
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
shifting an impulse signal having a length by a fraction of said length so as to obtain a shifted impulse signal; and
operating on said shifted impulse signal using an analytic-signal-generating method.
11. The electronic device of claim 10, wherein said length of said impulse signal is N and said number of taps equals N.
12. The filter of claim 10, wherein said analytic-signal-generating method is a hilbert method.
13. The filter of claim 10, wherein said analytic-signal-generating method is an ehilbert method.
14. The filter of claim 10, wherein said length of said impulse signal is an even N and said impulse signal is shifted by N/2 to obtain said shifted impulse signal.
15. The filter of claim 14, wherein N is a multiple of four and each of said plurality of filter coefficients hn equals:
0 for n even and n≠N/2;
1 for n=N/2; and
j ( 2 N ) cot ( π N n - π 2 )
for n odd.
0 for n even and n≠N/2;
1 for n=N/2; and
16. The filter of claim 14, wherein N/2 is odd and each of said plurality of filter coefficients hn equals:
j ( 2 N ) cot ( π N n - π 2 )
for n even;
0 for n odd and n≠N/2; and
1 for n=N/2.
0 for n odd and n≠N/2; and
1 for n=N/2.
17. The filter of claim 10, wherein said length of said impulse signal is an odd N and said impulse signal is shifted by (N−1)/2 to obtain said shifted impulse signal.
18. The filter of claim 17, wherein each of said plurality of filter coefficients hn equals:
j / N cos ( π ( n - N - 1 2 ) / N ) - ( - 1 ) n sin ( π ( n - N - 1 2 ) / N ) .