GB2535211B - Signal processing apparatus and method - Google Patents

Signal processing apparatus and method Download PDF

Info

Publication number
GB2535211B
GB2535211B GB1502418.5A GB201502418A GB2535211B GB 2535211 B GB2535211 B GB 2535211B GB 201502418 A GB201502418 A GB 201502418A GB 2535211 B GB2535211 B GB 2535211B
Authority
GB
United Kingdom
Prior art keywords
transform
estimator
data points
dft
operable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
GB1502418.5A
Other versions
GB201502418D0 (en
GB2535211A (en
Inventor
Newman Mike
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales Holdings UK PLC
Original Assignee
Thales Holdings UK PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales Holdings UK PLC filed Critical Thales Holdings UK PLC
Priority to GB1502418.5A priority Critical patent/GB2535211B/en
Publication of GB201502418D0 publication Critical patent/GB201502418D0/en
Publication of GB2535211A publication Critical patent/GB2535211A/en
Application granted granted Critical
Publication of GB2535211B publication Critical patent/GB2535211B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

SIGNAL PROCESSING APPARATUS AND METHOD
FIELD
Embodiments described herein relate to processing of signals, particularly but not exclusively in relation to transformation of signals from time domain to frequency domain, and vice versa.
BACKGROUND
Transformation of signals between a first domain and a second domain is a commonplace technique in signal processing. One particular application is transformation from the time domain to the frequency domain. It is used in a variety of situations, including RF communication, radar, audio and video encoding/decoding, where certain signal processing operations are more effective in one domain than the other.
The technique of transformation is also applicable to other data sets. For instance, applications are now being developed which involve the collection and manipulation of data sets which are so large that traditional data processing techniques may be impractical.
These situations are generally referred to as “Big Data”. Such data sets are not limited to time-frequency domain considerations, and other domain relationships may arise. The reader will appreciate from the following that the present disclosure is not limited to time-frequency data transformation.
The mathematical technique most associated with switching between domains in this way is the Fourier transform. While the Fourier transform is easy to understand, it has proved difficult to implement a theoretically perfect Fourier transform in practice. This is because the theoretically ideal Fourier transform ^{gd)} of a time domain function g(t) to a corresponding frequency domain function G(/) is of the following form:
As will be readily understood, completion of the transformation cannot arise for a real signal, as a frequency spectrum could only be determined for all values of t from infinite past to infinite future. Further, for processing in respect of any particular point in time, infinitesimally small deviations in the time domain in the relatively near past or future could have a substantial impact on an end result in the frequency domain, and vice versa. Additionally, implementations to allow real-time processing of information have proved difficult to attain.
Generally, the framework offered by the theoretically ideal Fourier transform has been adapted to take account of practical requirements. One of these requirements is that a system should produce results, within a range of accuracy acceptable to the particular implementation, in a practicable time.
The term Fast Fourier Transform (FFT) describes a class of algorithms which are of interest, at least in circumstances where Gaussian noise is experienced. However, real systems can exhibit non-Gaussian noise conditions. In such cases, an FFT can suffer degraded performance. For instance, a system might in reality experience system noise, and interference from externai sources, containing noise spikes in excess of that predicted by the Gaussian model. Accurate characterisation of interference may be difficult or impossible, since the conditions of operation may not be known in advance.
One approach could be to identify spikes or interference prior to FFT processing. These could then be eliminated. However, this raises a number of difficulties. Firstly, the processing involved to do this may be excessive, since this elimination may need to be carried out at the stage in the signal processing in which the data rate is the highest. Secondly, interference is, by its nature, variable, transient and difficult to quantify. Measurement of typical interference may not be available until the system has been designed and implemented. Thirdly, interference may be sufficient to cause problems even in cases where the interference cannot be reliably identified.
DESCRIPTION OF DRAWINGS
Figure 1 is a schematic functional diagram of a signal processor unit in accordance with a described embodiment;
Figure 2 is a schematic diagram of a Computer apparatus configured to implement the signal processor unit of Figure 1, in a particular implementation of the embodiment;
Figure 3 is a flow diagram of a process for processing a signal in accordance with a described embodiment;
Figure 4 is a schematic diagram of a fast wavelet transform unit of a described example;
Figure 5 is a schematic diagram of a fast wavelet transform unit of a further described example; and
Figure 6 is a schematic diagram of a fast wavelet transform unit of a further described example.
DETAILED DESCRIPTION OF EMBODIMENTS
By way of background, the reader will understand that a conventional FFT computes a Discrete Fourier Transform (DFT) of a set of input values significantly more efficiently (with more than a few input values) than a direct implementation of a DFT.
Many examples of implementation of an FFT in a signal processor have been described in the art. All of these give substantially the same result, allowing for rounding errors, but each has a particular benefit related to the specific circumstances of implementation. For instance, an FFT implementation might be developed with a particular Computer, or particular transform size, in mind. Embodiments described herein can be applied to several of the approaches known in the technical field. ln particular, embodiments described herein are applicable to the decimation in time and decimation in frequency algorithms. FFT algorithms are typically described recursively, applying a DFT to a small number of input points, then combining outputs from different DFTs using an FFT algorithm. ln general terms, embodiments described herein provide transform of discrete data between domains by implementing a fast transform. Effective transform results are obtained by transforming a large set of data points into a correspondingly large result set. To do this, the transform is conducted in stages. At least one of these stages employs an estimator which exhibits robustness against outliers in input data.
According to a first aspect of the present invention, there is provided a signal processor as set out in claim 1.
According to a second aspect of the present invention, there is provided a signal processor as set out in claim 9.
According to a third aspect of the present invention, there is provided a signal processing method as set out in claim 17.
According to a fourth aspect of the present invention, there is provided a method as set out in claim 25.
According to a fifth aspect of the present invention, there is provided a Computer program product as set out in claim 33.
An embodiment of a signal processor unit 10 of the present disclosure is described with reference to Figure 1. As shown in that figure, the signal processor unit 10 is operable to receive a plurality of time domain data points Dt to be transformed into frequency spectrum data points .
While, as illustrated, the number of input data points is equal to the number of output data points, this need not be the case.
Transformation is achieved by using a plurality of robust discrete Fourier transform (DFT) units 20, each of which is applied to three ofthe data elements Dt and each of
While, as illustrated, the number of input data points is equal to the number of output data points, this need not be the case.
Transformation is achieved by using a plurality of robust discrete Fourier transform (DFT) units 20, each of which is applied to three of the data elements Dj and each of which outputs three intermediate values Y. The intermediate values Y are phase shifted by corresponding delay e1^ , and the phase shifted intermediate values Y^' are transformed by fast Fourier transform units 22 into the spectrum values St. ln this example, the signal processor unit 10 is employed to transform from the time domain to the frequency domain. However, the reader will appreciate that the teaching herein can also be employed for transformation from the frequency domain to the time domain. ln detail, as shown, there are four robust DFT units 20, each with three input points. Thus, the signal processor unit 10 is operable to receive twelve data elements D.. These are applied in parallel to the DFT units 20, such that elements adjacent in time are interleaved between the DFT units 20. Thus, elements , £>2, D3 and D4 are applied to respective first input points of DFT units 20-1, 20-2, 20-3 and 20-4. Likewise, elements D5 D6, D7 and £>8 are applied to respective second input points of the DFT units 20-1, 20-2, 20-3 and 20-4. Further likewise, elements £>9 Dw, Du and Du are applied to respective third input points of the DFT units 20-1, 20-2, 20-3 and 20-4.
The outputs of the DFT units 20 are expressed as intermediate results íj. The first aforementioned DFT unit 20-1 produces intermediate results íj, Y2 and Y3. The second DFT unit 20-2 produces intermediate results Y4, Y5 and Y6. The third DFT unit 20-3 produces intermediate results ΥΊ, T8 and K9. The fourth DFT unit 20-4 produces intermediate results Jj0, Yn and Jj2.
Each intermediate result is multiplied by a respective twiddle factor .
The term “twiddle factor” is, despite its apparent informality, well known in the field of transform algorithms. A twiddle factor is generally a multiplicative coefficient by which data is multiplied in the course of a transform.
The twiddle factors in this case are selected as roots of unity in respect of the number of intermediate results. So, with 12 intermediate results, each twiddle factor is one of the results of yfi. The intermediate results, adjusted by the twiddle factors, are hereinafter referred to as intermediate inputs.
For this embodiment, the phase values φί are as follows:
After the twiddle factors have been applied, FFT operations are carried out by a bank of three FFT units 22, each with four points. Thus, each FFT unit 22 receives four intermediate inputs Y^1. The inputs are arranged in sets such that each FFT receives, as inputs, one intermediate input Y^' derived from an intermediate result from each DFT. That is, the first FFT unit 22 receives intermediate inputs Y^ , Y^ , K7e* , and Floe^0, the second FFT unit 22 receives intermediate inputs Y.2e""', K5<?* , , and , and the third FFT unit 22 receives intermediate inputs Y3e^, Ybe'^, Y9e,fi>, and F12í>^2 . The reader will appreciate that the arrangement is readily scalable.
The radix of the FFT unit 22 determines how many values are combined at each levei of the signal processing unit 10. Different radices can be used at different leveis.
The function of the robust DFTs 20 will now be described in detail.
By way of background, a conventional DFT can be represented as a matrix multiplication operation, for example:
(1)
As described by the above equation, the conventional DFT has a constant scale factor, which does not significantly change the effect of the transform. The expression shows the DFT algorithm as the mean of a number of terms. ln contrast, in the robust DFT 20, the mean is replaced by a robust estimate of the centre point of the terms. The reader will understand that there are many possible robust estimators which could be used, with the specific selection dependent on, for example, convenience of implementation. Different values of n (the number of points in the robust DFT unit 20) might also be used.
For example, a 3 (or 4) point median will be insensitive to significant errors in one of its inputs, a 5 point median to errors in two of its inputs. Using 2 leveis of a 3 point robust DFT can provide robustness against significant errors in any 2 of its 9 inputs, and many combinations of up to 4.
However, buílding in excessive robustness will be undesirable in that it will reduce signal to noise ratio and dynamic range, where dynamic range is the ratio of largest to smallest signal that can be processed simultaneously with acceptable loss or distortion. Implementation cost may also be a factor. Implementation cost may represent either computational cost (in terms of software execution) or chip real estate consumption (in the case of a hardware implementation). Both of these can have practical implications, whether it be through power consumption, execution speed or physical size.
It is thus useful to describe advantageous implementations as being “cheaper” than otherwise - economic cost often follows from technical cost. ln general, a mean is cheaper to compute than a median. Since a full determination of a median may be
computationally expensive, it may also be more effective (in terms of computational cost) to use one of a variety of approximations of a median if such would be cheaper.
The following examples show use of a number of further robust estimators which can be employed in DFTs in accordance with the present disclosure. ln a first example, the complex median is used as the robust estimator. ln this case, the robust DFT can be described by
(2)
The complex median Z of a set of n complex numbers is the value in the set that minimises the sum of distances from each point:
(3)
With three or more points, this approach is less susceptible to outlier points. For n=3, the complex median is given by the first Fermat point of the triangle described by the three points. For n=4, the complex median is given by the Radon point. ln these two cases, simple geometric constructions (which can be translated into simple Computer code) are available to compute the complex median. Larger values of n are less likely to be used but, even in these cases, the complex median can be computed iteratively. A median is notably robust in that it is resistant to outliers in the data set. While a mean is immediãtely distorted by an outlier point, a median is not necessarily varied, or not significantly varied, as a result of presence of an outlier. This variation in behaviour is described by way of a measure of breakdown resistance. The breakdown point of a mean is 0% because a single statistic will alter the result of a mean, sometimes deleteriously, whereas other statistical measures may have non-zero breakdown points, in that errors may need to arise in more than one statistic, or errors may need to be higher than a certain levei, to cause erroneous behaviour in the statistical measure employed. The exact determination of breakdown resistance (or robustness) is not material to this disclosure.
Input data typically comprises several components, including the “wanted” signal, Gaussian components such as noise, and non-Gaussian components, typically interference. The components other than the wanted signal can be characterised as outlier data. The presently described embodiments can all be used to provide non-zero breakdown resistance, and thus offer robustness against outlier data. Thus the use of a median in the manner described has the effect of filtering out outlier data from the input data points.
In a second example, the robust DFT unit 20 chooses z to minimise
That is, the unit 20 minimises the sum of the distances, raised to the power p (where 1<=p<=2) from the input points.
If p=1, then this approach delivers the median while, if p=2, the mean results. Values of p between these two extremes trade off robustness against optimal performance in Gaussian noise.
In a third example, a component-wise median can be employed. In this case, the real and imaginary components of each point are treated separately, to generate a real part and an imaginary part of a median. This may be computationally less demanding than performing complex arithmetic, as required in the first example, but this will depend on the form of the implementation, in terms of the capability of the hardware, the programming language used in developing software to configure the hardware, the form and function of the compiler used to convert the software into an executable software product, and so on.
In a fourth example, the robust DFT unit 20 selects that input point xk from the set of N input points x„ where
That is, the unit 20 selects the point that minimises the sum of the distances, raised to the power p (where 1<=p<=2) to the other input points.
If p=1, then this approach approximates the median while, if p=2, it approximates the mean. Values of p between these two extremes trade off robustness against optimal
performance in Gaussian noise. It will be readily understood by the reader that (for p=1) an outlier point can only be selected when more than one outlier is present. ln a fifth example, the robust DFT unit 20 computes a weighted mean, with weights based on distances from the unweighted mean. The weights used could, in a particular embodiment, be inversely proportional to the distance from the mean. This will reduce the influence of outlier data on the calculated estimator, which will, in turn, increase the rejection of the outlier data in the signal processing. ln a second embodiment, the signal processor unit 10 can employ robust DFT units, such as in accordance with any of the examples set out above, at higher leveis of the signal processor unit 10, as well as at the first levei illustrated. These later DFT leveis might use numbers of points and robust estimation techniques different from that employed at the first levei. This may have a positive impact on the robustness of an signal processor unit 10 so constructed.
Further embodiments of robust estimators will be contemplated by the reader. For guidance, a non-exhaustive discussion of robust estimators follows, to demonstrate certain embodiments falling within the scope of the present disclosure.
Central to the calculation of a fast Fourier transform, as explained above, is the use of a DFT in the form:
(4) ln general terms, a robust transform can be derived from a fast transform by replacing the weighted sum by some robust operation. For example, the sum of equation (4), with inputs “ and weights ws, can be replaced by any one of a variety of robust operations:
(5)
The most appropriate estimator will depend on: • The type of the data being combined (real, complex, integer, vector etc) • The type of the weights used in the combination (real or complex) • The number of values being combined • The acceptable computational cost • The degree of robustness required • The degree of noise or interference expected or measured
Robust estimators could include: • Real median • Real weighted median • Complex median • Component complex median • Vector median • Trimmedmean • Winsorized mean • Iteratively weighted estimate of median (iterated a fixed number of times or until convergence) • A linear combination of more than one robust estimator • A linear combination of the mean and one or more robust estimators
Various of these will now be described, to aid the reader in selecting the most appropriate form of robust estimator for the particular case.
Real median
The real median is a conventional median of the weighted inputs in real number space: robust= median(wxux,w2u2,...,wnun} (wi,ui e R)
Real weighted median
As an altemative to the real median, a weighted real median can be computed as if the real weights represent frequencies (number of repetitions of the statistical value). ln this case, the data is sorted into an ascending order and then the value xk in this ordered data is found which satisfies the two conditions that:
(8)
Complex median A complex median could be used, particularly if the inputs are in complex number space:
O) where argmin/(z) is the value of z that minimises ZU) z f\ generalisation of this is given by
(10) where l</?<2. For the limiting value of p=í, equation (10) gives the median and for p = 2 it gives the mean. ln some cases, these mínima can be found analytically. ln other cases, iterative approaches can be taken to approximate them, as discussed below.
Trimmed mean
For Μ,.,Η’, εΚ the trimmed mean of {μλμ.,Ι < i < /?} is a robust estimator. It is calculated by omitting the m largest and smallest elements and taking the mean of the remaining elements. This is an approach used to disregard outliers in statistical analysis.
Winsorized mean
For Μ,.,Ηζ.εΚ the Winsorized mean of {w;w;,l<i <n} is a robust estimator. It is calculated by replacing the m largest and smallest elements with m + 1 largest and smallest respectively, and taking their mean. In essence, this replaces outliers by values in which the system can have more confidence.
Iterative median estimate
Given an estimate of the median z„, an improved estimate can be produced in a number of ways. For example
(11)
The iteration could be initiated in a number of ways e.g. z0 = mean({wiuij) or z0 = 0. A fixed number of iterations could be used or it could be iterated until convergence. Special treatment would need to be given for the case where z„ = wiui for some value of i, since the expression given becomes singular in this case. This might occur quite frequently in practice, as the median will often coincide with these points. Special treatment might involve replacing
(12) for a suitable small value of ε.
Similar expressions can be derived to approximate the minimum of other expressions. For example, for 1 < p < 2:
(13)
will iterate towards
(14)
Implementation
Any of the above described embodiments can be implemented by means of dedicated hardware, or by general purpose hardware configured by software. A typical example of the latter arrangement is illustrated in figure 2. As shown in figure 2, a Computer assembly 100 comprises a computing unit 120, with relatively commonplace construction, in that it comprises an input unit 122 operable to receive signals from various sources, such as a keyboard 160 and a signal to be processed in accordance with a described embodiment. A processor 124 is operable to control the operation of the computing unit 120, including by the execution of Computer executable instructions. The processor 124 is operable to output data and signals to an output unit 126, which is then configured to generate output signals to generate a display at a display unit 162 and, in this example, to generate an output signal commensurate with processing of the input signal mentioned earlier.
The processor 124 has access to two data storage facilities in the computing unit 120. First, a mass storage unit 130 provides non-volatile data storage for the computing unit 120. ln practice, this may be a magnetic or optical hard drive, or a non-volatile solid state device such as FLASH memory. The exact implementation will depend on the type of Computer apparatus contemplated. For instance, a very high power, large scale computing apparatus, such as an industrial scale spectrum analyser, will not be confined by space and can make use of larger mass storage options. A hand held device, such as a smart-phone, will require a more compact solution. The reader will appreciate that the choice of mass storage technology has no bearing on the implementation of a described embodiment.
The mass storage unit 130 Stores a signal processor program 140, one or more native applications 142 and an operating system 144. The role of these software elements will become clear as described below.
A second data storage facility is provided by a volatile memory 128. The fact that the memory 128 is volatile is not wholly relevant, but is indicative of its read/write speed and that it can thus be used as Random Access Memory (RAM) by the processor 124 in execution of computing operations.
In use, on power-up of the computing unit 120, a start-up routine will be executed by the processor 124. The exact nature of this start-up routine, and what causes it to execute, are not relevant to the present diselosure. However, as a result of this, the processor 124 will call for elements of the operating system 144 to be copied across into the volatile memory, as indicated by “operating system instance 154” in figure 2. The use of the volatile memory 128 will enable routines, tools, libraries and data of the operating system to be retrieved and used quickly and with ease, whereas access times to the mass storage unit may be slower and more cumbersome, thus performance limiting.
As part of the start-up routine, or perhaps as a result of user initiated command (e.g. through the keyboard 160), other applications are initiated by the processor, by retrieval of corresponding program data from mass storage unit 130 into the volatile memory 128. As indicated, this includes an instance, 150, of the signal processor program 140 and instances of other running applications 152 corresponding to applications 142 held in the mass storage unit 130.
It will be understood that, at any time, the processor 124 may retrieve and store fragments of program data from mass storage to volatile memory, and it may not be necessary (or indeed possible) to store an entire executable program in volatile memory for the duration of use of that program. Further, a program may not be a stand-alone entity. It may be that a program is written with intended dependence on another program. This is certainly the case for programs written for use on a particular operating system - it is commonplace to make use of routines, tools or libraries of an operating system to enable a program to be executed, and this is the model envisaged here for the signal processor program 140 as instanced 150 in the volatile memory 128.
In use, therefore, the processor 124 executes the signal processor program instance 150 stored in the volatile memory 128, and in doing so it is able to process an input signal in a manner commensurate with the structure and function of the signal processor illustrated schematically in figure 1. To provide further guidance on this, figure 3 illustrates a process corresponding to the signal processor of figure 1, which can then be implemented in software for use in an arrangement such as illustrated in figure 2.
As shown in figure 3, in step S1-2, a time domain signal is received by the Computer 100 and is presented in the form of a set of data points. The data points are in a sequence, and the sequence is divided up into equal groups in step S1-4. A DFT operation is carried out on each of the groups in step S1-6, leading to a corresponding set of intermediate points. ln step S1-8, the intermediate points are distributed into yet further groups, such that the points in each group of intermediate points emanate from different DFT operations and, indeed, the points emanating from any one DFT operation are allocated to different groups of intermediate points. An FFT operation is performed in step S1-10 on each group of intermediate points. The resultant data output from the FFT operations are then assembled in step S1-12 into a final result data set, in the frequency domain.
The structure of the process illustrated in figure 3 lends itself to numerous implementations. Computerisation, such as by way of the arrangement illustrated in figure 2, is evidently one manner in which the process can be performed. Arrangement of specific signal processing components in a form to allow performance of the various processing steps, is another possibility. A DSP (or similar programmable hardware component) could be programmed to perform the process. The process, by its nature, can be implemented in a pipeline arrangement, with data flowing through the various stages of the process thereby to provide an efficient means of processing signal data.
The embodiments described herein all operate to harness the realisation that commonplace DFT units have no resistance to outlier statistics. This has a deleterious impact on the effectiveness of a DFT operating in an environment where non-Gaussian noise and/or interference is experienced. ln reality, almost all operating environments fit this description. Thus, by providing a robust DFT, i.e. one exhibiting at least some resistance to breakdown, in at least the first levei of the FFT unit, the impact of non-Gaussian interference on the signal processing unit can be reduced.
The examples provided in this description demonstrate that at least some robustness to outliers can be achieved by using a robust estimator. The term “robust estimator” is, for the avoidance of doubt, intended to encompass any estimator which is not devoid of robustness. A mean is used above as an example of an estimator devoid of robustness. The degree of robustness required will be dependent on circumstances. A designer of a system in accordance with an embodiment described herein will be able to determine the appropriate levei of robustness required to achieve advantageous operation, given an appropriate model for the non-Gaussian noise and/or interference, for instance the number of expected interference sources. This can be achieved having regard for a desire not to build in excessive robustness which may reduce signal to noise ratio and dynamic range.
The specific examples above have focused on the employment of Fourier analysis to transform time-based data into frequency domain results, and vice versa. However, the reader will no doubt be aware that the use of Fourier analysis is extensive. Many mathematical techniques can be eased by use of a Fourier transformation. For instance, solution of a differentiai equation can be simplified by transforming the problem. This can be useful in control of varying quantities - a relatively computationally complex differentiai equation can be converted into a polynomial problem, with consequent advantages for computation.
Other transforms
The above description of examples have focused on Fast Fourier Transforms (FFTs). However, the reader will appreciate that the same techniques can be applied to other forms of transform, which may have ready application in certain signal processing implementations in the field.
For example, the techniques described above can be employed in producing signal processors utilising the Fast Hadamard Transform, the Fast Wavelet Transform, fast discrete sine and cosine transforms, or the Fast Johnson-Lindenstrauss transform. Each of these provides linear transformations of the data and can be classed as fast transforms. Each has specific properties useful in practical applications.
Transforms are referred to as “fast” when they are much more efficient (for large input signals) than a direct implementation as a matrix multiplication. An implementation of a “fast” transform in digital hardware may not be any faster than a direct implementation, but would involve significantly fewer logic gates. Fast transforms are of considerable importance because they provide efficient ways of transforming large data sets. Considerable effort has been devoted to producing fast versions of the most useful transforms. In general, these fast transforms can all be made more robust using the techniques described here.
In general, fast transforms work by dividing the input into small sets (which may or may not be disjoint). Intermediate outputs for each set are then formed. Each intermediate output is a weighted sum of the corresponding inputs. These intermediate outputs are then combined in further steps to form the desired output. In general, there will be a number of mathematically equivalent ways of implementing the fast transform, the choice being made on the basis of such issues as computational efficiency, dynamic range and numerical stability. The reader will appreciate that the choice of fast transform, and its practical implementation, will depend on the requirements of the design in question.
In particular, whilst commonly used implementations will often divide the input into sets of two elements, rearrangements will often exist with larger sets. These can often be derived quite simply by combining the initial two (or more) steps of the transform.
In cases where the weighted sum combines three or more inputs, a robust transform can be derived from a fast transform by replacing the weighted sum by a robust operation. For example, a sum with inputs m; and weights ws
could be replaced by a variety of robust operations.
Mathematically, all linear transforms can be represented as a matrix M that transforms a vector of inputs u to a vector of outputs y. The reader will acknowledge that matrix
multiplication is a convenient way of representing the output as a weighted sum of the inputs, that is: y = Mu
Fast transformations represent a factorisation of the matrix M as the product of n matrices: MM Μ ....Μ,Μ,Μ, η η-1 321
Such a factorisation allows the transform to be computed by successively multiplying the input vector by Mj, M2 and so on, up to Mn. This is much faster than the single matrix multiplication represented by M since the matrices M; are sparse, with almost all elements zero. A robust transform can be derived from such a representation by replacing the operation “multiplication by M/’ with a robust operation. This can be extended to replacing “multiplication by Mm...M3M2Mj” with a robust operation, where m<n .
Combining matrices in this way will make them less sparse, but potentially make the transform more robust, since each output will generally depend on a larger number of inputs. A variety of linear transformations have been developed based (explicitly or implicitly) on such factorisation techniques. ln these techniques some or all of the matrix multiplications are replaced by linear operations. ln cases where the outputs of an initial stage can be computed as a function of a weighted sum of inputs, similar robust techniques could be applied.
Fast Hadamard transform
For example, a fast Hadamard transform operates on sequences of n = 2m samples and can be decomposed into m steps, in each of which pairs of samples are combined by addition and subtraction. Specifically, the first step, might compute:
Combining the first two of these steps, the transform might compute:
Further steps could be combined, the orders of intermediate results and outputs might be rearranged, and scale factors might be introduced to meet specific requirements. A robust implementation can be derived from an implementation in which more than two inputs are combined by replacing the summation by a robust estimator operation. For example:
where robust( ) is a robust estimator used instead of an arithmetic mean. The choice of robust estimator is, as laid out above, from a wide variety of possibilities.
The Hadamard transform can be applied to real or complex data. An appropriate estimator for real data could be the trimmed (or truncated) mean, where a number of the largest and smallest elements are omitted and the mean computed for the remaining elements.
Hadamard transforms are frequently applied to data in two or more dimensions, such as images. ln this case, the first step from different dimensions might be combined, for example
As the skilled reader will appreciate, similar approaches can be applied to derive multi-dimensional transforms from the other one-dimensional transforms described here.
Fast discrete cosine transform
Fast discrete cosine transforms are widely used, for example in image processing. There are a number of mathematically equivalent ways in which these can be factored, as will be appreciated by the reader.
Likewise, fast discrete sine transforms can be factored in a similar manner, and can employ the same techniques, as shown above, for replacement of an arithmetic mean estimator by a robust estimator, at one or more stages of operation.
Fast wavelet transforms A wide variety of transforms can be considered as fast wavelet transforms and computed in a number of ways. Typically, these involve steps in which Finite Impulse Response (FIR) filters are applied and signals are down-sampled. Figure 4 shows one step of a fast wavelet transform. As shown in figure 4, a fast wavelet transform unit 200 is implemented by two FIR filters 202, one of which is a low pass filter, the other being a high pass filter. Each FIR filter 202 outputs to a respective down sampler 204. Each down sampler 204 is operable to down sample by a factor of 2.
Further steps, with the same or different filters, are frequently applied to one or both outputs. Generally, there is more than one way of achieving mathematically equivalent transforms. For example, figures 5 and 6 represent equivalent transforms, with the
choice being made on the basis of such issues as computational efficiency, dynamic range and numerical stability.
In figure 5, a fast wavelet transform unit 300 comprises, as for the previous example, two FIR filters 302, one of which is a low pass filter, the other being a high pass filter. Each FIR filter 302 outputs to a respective down sampler 304. Each down sampler 304 is operable to down sample by a factor of 2. Then, from each down sampler, the signal data is passed to a further respective pair of FIR filters 306, again one of which is a low pass filter, the other a high pass filter. Each FIR filter 306 outputs to a respective down sampler 308, operative to down sample by a factor of 2.
Of equivalent operation, a fast wavelet transform unit 400, as illustrated in figure 6, comprises a bank of 4 FIR filters 402, each of which is a band pass filter, to cover four parts of a spectrum to be analysed in an incoming discrete time-domain signal. Each FIR filter 402 outputs to a respective down sampler 404. Each down sampler is operable to down sample by a factor of 4.
As the skilled reader will appreciate, the arrangements of figures 5 and 6 are operationally equivalent, and the choice of structure will depend on the requirements of the implementation under consideration.
An FIR with coefficients a, can be represented as a summation, for example:
This FIR could be replaced with a robust operation (for example, median) to give a robust fast wavelet transform:
Fast Johnson-Lindenstrauss transform A Johnson-Lindenstrauss transform is applied to a signal vector by multiplying by a suitable matrix that reduces its dimensionality. With a suitable choice of matrix, distances between pairs of signal vectors will be approximately preserved. Suitable
matrices are typically generated randomly and chosen as a compromise between dimensionality reduction and accuracy in preserving distances.
Johnson-Lindenstrauss transforms have applications in machine learning, for example, to find which of a set of signal vectors is closest to an input signal vector (the “nearest neighbour”). Since the distances are approximately preserved by the transform, the search for a nearest neighbour will generally give the same result, but can be carried out in a lower dimensional space, allowing the use of much faster search procedures.
Johnson-Lindenstrauss transforms are also used in other “big data” applications, for example in performing “least squares” or other types of parameter estimation in very large problems.
Applications of the Johnson-Lindenstrauss transform are susceptible to bad or corrupted data values. Such corruption can be treated as non-Gaussian noise and applications could benefit from additional robustness against it. A number of Fast Johnson-Lindenstrauss transforms have been defined. These typically involve the following steps: 1) Multiply each element of the signal vector by a randomly chosen number 2) Apply a Fast Fourier or Fast Hadamard transform 3) Select randomly chosen elements to reduce the dimensionality.
The robust techniques described here can be applied to the fast transform used. Variants of the Fast Johnson-Lindenstrauss transform might use altemative fast transform techniques, but in general these too could be made more robust with a simple application of the techniques described.
Generalisation of data type
Fast transforms are frequently applied to real or complex numbers represented in binary fixed point or floating point representations. Fast transforms may also be defined that take integer inputs to integer outputs. Such transforms can be made more robust using the techniques discussed above.
Fast transforms can also be applied to other types of mathematical objects and the approaches proposed can also be used to make these transforms more robust.
For example, transforms are frequently applied to vector-valued data sets. ln general, this is done component-wise on the vectors. For example, given a sequence of vectors v; with components vtJ, corresponding spectral components VkJ of spectrum vectors Vk can be found by transforming the components independently for each j :
A robust variant of this can work with whole vector operations, replacing weighted sums with robust estimators specific to vectors, for example the vector median. Various definitions for this exist, for example, the vector that minimises the sum of the distances to the input vectors, that is:
This may be particularly beneficiai in the cases where large errors (if present) are likely to affect more than one component of the vector. ln devising such a technique, it will be apparent that a variety of standard statistical techniques (such as differential sealing of the components and transformations to improve their independence) may be useful.
Missinq data
Practical signal processors must often deal with cases in which some samples are unavailable or known to have invalid values.
The robust transforms described here can be adapted to deal with this either by substituting a specific value (e.g. zero or a value computed from the data set such as the mean) or by using a different estimator (e.g. a 3 point median rather than a 4 point median).
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the scope of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fali within the scope of the inventions.

Claims (33)

CLAIMS:
1. A signal processor operable to transform a first discrete signal comprising a plurality of data points in a first domain into a second discrete signal comprising a plurality of data points in a second domain, the signal processor comprising a plurality of transform stages, each transform stage being operable to apply a fast Fourier-related transform on incoming data, at least one of said transform stages comprising an estimator, said estimator being operable to estimate an estimation value as a centre of the data input into the estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise.
2. A signal processor in accordance with claim 1 where the or each transform stage is operable to apply a fast Fourier-related transform comprising one of a Fast Fourier transform, a Fast Hadamard transform, a Fast discrete cosine transform, a Fast discrete sine transform, a Fast wavelet transform or a Fast Johnson-Lindenstrauss transform.
3. A signal processor in accordance with claim 1, wherein the or each fast Fourier-related transform is a Fast Fourier transform.
4. A signal processor in accordance with claim 3 and comprising: a first transform stage comprising a plurality of discrete Fourier transform, DFT, units, wherein: the DFT units are each operable to receive a respective subset of data points of the first discrete signal, the subsets being mutually disjoint; each DFT unit comprises an estimator, said estimator being operable to estimate an estimation value as a centre of the data input into the respective estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise, the estimator being operable to generate the estimation value on the basis of the respective subset of data points; and the DFT units are each operable to transform their respective subset of first domain data points into a respective plurality of intermediate data points with respect to the estimation value generated by the estimator; an adjustment stage operable to apply a respective adjustment factor to each intermediate data point to form adjusted intermediate data points; and a second transform stage comprising a plurality of discrete Fourier transform, DFT, units, wherein: the DFT units of the second transform stage are each operable to transform a respective subset of said adjusted intermediate data points into a subset of data points in the second domain; each subset of adjusted intermediate data points comprises one adjusted intermediate data point corresponding to any particular one of the DFT units of the first transform stage, and each adjusted intermediate data point is received by one of the DFT units of the second transform stage; and each DFT unit of the second transform stage is operable to transform its respective subset of said adjusted intermediate data points into a respective output subset of data points in the second domain; the signal processor being operable to form a union of the output subsets thereby producing the second discrete signal.
5. A signal processor in accordance with claim 4 wherein each subset of adjusted intermediate data points comprises exactly one adjusted intermediate data point generated by any particular one of the DFT units of the first transform stage.
6. A signal processor in accordance with claim 4 or claim 5, wherein each adjusted intermediate data point is received by exactly one of the DFT units of the second transform stage.
7. A signal processor in accordance with any one of claims 4 to 6 wherein the DFT units of the second transform stage are implemented by fast Fourier transform, FFT, units.
8. A signal processor in accordance with any one of claims 4 to 7, wherein each DFT unit of the second transform stage comprises an estimator, said estimator being operable to estimate an estimation value as a centre of the data input into the respective estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise, the estimator being operable to generate the estimation value on the basis of the respective subset of intermediate data points, the DFT units each being operable to transform its respective subset of said intermediate data points into a respective output subset of data points in the second domain with respect to the estimation value generated by the estimator.
9. A signal processor operable to transform a first discrete signal comprising a plurality of data points in a first domain into a second discrete signal comprising a plurality of data points in a second domain, the signal processor comprising: a first transform stage comprising a plurality of discrete Fourier transform, DFT, units, wherein: the DFT units are each operable to receive a respective subset of data points of the first discrete signal, the subsets being mutually disjoint; each DFT unit comprises an estimator, said estimator being operable to estimate an estimation value as a centre of the data input into the respective estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise, the estimator being operable to generate the estimation value on the basis of the respective subset of data points; and the DFT units are each operable to transform their respective subset of first domain data points into a respective plurality of intermediate data points with respect to the estimation value generated by the estimator; an adjustment stage operable to apply a respective adjustment factor to each intermediate data point to form adjusted intermediate data points; and a second transform stage comprising a plurality of discrete Fourier transform, DFT, units, wherein: each of the DFT units is a signal processor in accordance with any one of claims 4 to 8; the DFT units of the second transform stage are each operable to transform a respective subset of said adjusted intermediate data points into a subset of data points in the second domain; each subset of adjusted intermediate data points comprises one adjusted intermediate data point corresponding to any particular one of the DFT units of the first transform stage, and each adjusted intermediate data point is received by one of the DFT units of the second transform stage; and each DFT unit of the second transform stage is operable to transform its respective subset of said adjusted intermediate data points into a respective output subset of data points in the second domain; the signal processor being operable to form a union of the output subsets thereby producing the second discrete signal.
10. A signal processor in accordance with any one of the preceding claims wherein the or each estimator is operable to determine the estimation value as a median value of the data points input to that estimator.
11. A signal processor in accordance with claim 10 wherein the processor is capable of processing complex value data points, the median value being a complex median of the respective complex values.
12. A signal processor in accordance with any one of claims 1 to 9 wherein the processor is capable of processing complex value data points, and wherein the or each estimator is operable to determine an estimation value from data points input to the estimator, a real part of the estimation value being a median of real components of data points input to the estimator, an imaginary part of the estimation value being a median of imaginary components of said data points input to the estimator.
13. A signal processor in accordance with any one of claims 1 to 9 wherein the or each estimator is operable to determine the estimation value from data points input to the estimator, by identifying, as the estimation value, one of said input data points as being that data point having the lowest sum of distances from the other input data points.
14. A signal processor in accordance with any one of claims 1 to 9 wherein the or each estimator is operable to determine an estimation value as a weighted mean of data points input to the estimator, where the weights are computed as a function of the data points input to the estimator.
15. A signal processor in accordance with claim 14 wherein the or each estimator is operable to employ weights in said weighted mean, the weights being determined on the basis of distance of the data point from an unweighted mean of the data points.
16. A signal processor in accordance with claim 15 wherein for each data point, the estimator is operable to determine a weight in inverse proportion to the distance of the data point from the unweighted mean.
17. A signal Processing method of transforming a first discrete signal comprising a plurality of data points in a first domain into a second discrete signal comprising a plurality of data points in a second domain, the method comprising a plurality of transform steps, each transform step comprising applying a fast Fourier-related transform on incoming data, at least one of said transform steps comprising determining an estimator, said estimator being operable to estimate an estimation value as a centre of the data input into the estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise.
18. A method in accordance with claim 17 where the or each transform step comprises applying a fast Fourier-related transform comprising one of a Fast Fourier transform, a Fast Hadamard transform, a Fast discrete cosine transform, a Fast discrete sine transform, a Fast wavelet transform or a Fast Johnson-Lindenstrauss transform.
19. A method in accordance with claim 17 wherein the or each fast Fourier-related transform is a Fast Fourier transform.
20. A method in accordance with claim 19 and comprising: a first transform step comprising a plurality of discrete Fourier transform, DFT, operations, wherein: the DFT operations each receive a respective subset of data points of the first discrete signal, the subsets being mutually disjoint; each DFT operation comprises forming an estimator said estimator being operable to estimate an estimation value as a centre of the data input into the estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise, the estimator generating the estimation value on the basis of the respective subset of data points; and each DFT operation transforms their respective subset of first domain data points into a respective plurality of intermediate data points with respect to the estimation value generated by the estimator; an adjustment step applying a respective adjustment factor to each intermediate data point to form adjusted intermediate data points; and a second transform step comprising a plurality of discrete Fourier transform, DFT, operations, wherein: the DFT operations of the second transform step comprises transforming a respective subset of said adjusted intermediate data points into a subset of data points in the second domain; each subset of adjusted intermediate data points comprises one adjusted intermediate data point corresponding to any particular one of the DFT operations of the first transform step, and each adjusted intermediate data point is operated on by one of the DFT operations of the second transform step; and each DFT operation of the second transform step comprises transforming its respective subset of said adjusted intermediate data points into a respective output subset of data points in the second domain; the method further comprising forming a union of the output subsets thereby producing the second discrete signal.
21. A method in accordance with claim 20 wherein each subset of adjusted intermediate data points comprises exactly one adjusted intermediate data point generated by any particular one of the DFT operations of the first transform step.
22. A method in accordance with claim 20 or claim 21, wherein each adjusted intermediate data point is received by exactly one of the DFT operations of the second transform step.
23. A method in accordance with any one of claims 20 to 22 wherein the DFT operations of the second transform step comprise fast Fourier transform, FFT, operations.
24. A method in accordance with any one of claims 20 to 23, wherein each DFT operation of the second transform step comprises forming an estimator said estimator being operable to estimate an estimation value as a centre of the data input into the estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise, the estimator generating the estimation value on the basis of the respective subset of intermediate data points, the DFT operations each transforming its respective subset of said intermediate data points into a respective output subset of data points in the second domain with respect to the estimation value generated by the estimator.
25. A method of transforming a first discrete signal comprising a plurality of data points in a first domain into a second discrete signal comprising a plurality of data points in a second domain, the method comprising: a first transform step comprising a plurality of discrete Fourier transform, DFT, operations, wherein: the DFT operations each receive a respective subset of data points of the first discrete signal, the subsets being mutually disjoint; each DFT operation comprises forming an estimator, said estimator being operable to estimate an estimation value as a centre of the data input into the estimator during application of the fast Fourier-related transform by said at least one transform stage, wherein the robustness of the estimator to outliers is greater than the robustness of an arithmetic mean to outliers, including outliers due to non-Gaussian noise, the estimator generating the estimation value on the basis of the respective subset of data points; and each DFT operation transforms their respective subset of first domain data points into a respective plurality of intermediate data points with respect to the estimation value generated by the estimator; an adjustment step applying a respective adjustment factor to each intermediate data point to form adjusted intermediate data points; and a second transform step comprising a plurality of discrete Fourier transform, DFT, operations, wherein: each of the DFT operations comprises a signal processing method in accordance with any one of claims 20 to 24; the DFT operations of the second transform step each comprise transforming a respective subset of said adjusted intermediate data points into a subset of data points in the second domain; each subset of adjusted intermediate data points comprises one adjusted intermediate data point corresponding to any particular one of the DFT operations of the first transform step, and each adjusted intermediate data point is received by one of the DFT operations of the second transform step; and each DFT operation of the second transform step comprises transforming its respective subset of said adjusted intermediate data points into a respective output subset of data points in the second domain; the method further comprising forming a union of the output subsets thereby producing the second discrete signal.
26. A method in accordance with any one of claims 17 to 25 wherein the or each estimator determines the estimation value as a median value of the data points input to that estimator.
27. A method in accordance with claim 26 applied to complex value data points, the median value being a complex median of the respective complex values.
28. A method in accordance with any one of claims 17 to 25 applied to complex value data points, and wherein the or each estimator determines an estimation value from data points input to the estimator, a real part of the estimation value being a median of real components of data points input to the estimator, an imaginary part of the estimation value being a median of imaginary components of said data points input to the estimator.
29. A method in accordance with any one of claims 17 to 25 wherein the or each estimator determines an estimation value from data points input to the estimator, by identifying, as the estimation value, one of said input data points as being that data point having the lowest sum of distances from the other input data points.
30. A method in accordance with any one of claims 17 to 25 wherein the or each estimator determines the estimation value as a weighted mean of data points input to the estimator, where the weights are computed as a function of the data points input to the estimator.
31. A method in accordance with claim 30 wherein the or each estimator employs weights in said weighted mean, the weights being determined on the basis of distance of the data point from an unweighted mean of the data points.
32. A method in accordance with claim 31 wherein for each data point, the estimator determines a weight in inverse proportion to the distance of the data point from the unweighted mean.
33. A Computer program product comprising Computer executable instructions which, when executed by a Computer, cause the Computer to perform a signal Processing method in accordance with any one of claims 17 to 32.
GB1502418.5A 2015-02-13 2015-02-13 Signal processing apparatus and method Active GB2535211B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1502418.5A GB2535211B (en) 2015-02-13 2015-02-13 Signal processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1502418.5A GB2535211B (en) 2015-02-13 2015-02-13 Signal processing apparatus and method

Publications (3)

Publication Number Publication Date
GB201502418D0 GB201502418D0 (en) 2015-04-01
GB2535211A GB2535211A (en) 2016-08-17
GB2535211B true GB2535211B (en) 2019-10-23

Family

ID=52781555

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1502418.5A Active GB2535211B (en) 2015-02-13 2015-02-13 Signal processing apparatus and method

Country Status (1)

Country Link
GB (1) GB2535211B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230375664A1 (en) * 2022-05-19 2023-11-23 Texas Instruments Incorporated Adaptive radar clutter removal

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090175535A1 (en) * 2008-01-09 2009-07-09 Lockheed Martin Corporation Improved processing of multi-color images for detection and classification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090175535A1 (en) * 2008-01-09 2009-07-09 Lockheed Martin Corporation Improved processing of multi-color images for detection and classification

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Bugra Akyildiz, 23 June 2014, Outlier Detection in Time Series Signals, [online], Available from: https://www.youtube.com/watch?v=t4zEeujVht8 [Accessed 30 July 2015] *
Bugra Akyildiz, 31 March 2014, Outlier Detection in Time-Series Signals using FFT and Median Filtering, [online] Available from: http://bugra.github.io/work/notes/2014-03-31/outlier-detection-in-time-series-signals-fft-median-filtering/ [Accessed 30 July 2015] *

Also Published As

Publication number Publication date
GB201502418D0 (en) 2015-04-01
GB2535211A (en) 2016-08-17

Similar Documents

Publication Publication Date Title
Sundararajan Discrete wavelet transform: a signal processing approach
Chang et al. On the fixed-point accuracy analysis of FFT algorithms
Garrido et al. Low-complexity multiplierless constant rotators based on combined coefficient selection and shift-and-add implementation (CCSSI)
Chen et al. An improved bidimensional empirical mode decomposition: A mean approach for fast decomposition
Potts et al. Efficient spectral estimation by MUSIC and ESPRIT with application to sparse FFT
Filip A robust and scalable implementation of the Parks-McClellan algorithm for designing FIR filters
Meng et al. Estimation of chirp signals with time-varying amplitudes
Sukhoy et al. Generalizing the inverse FFT off the unit circle
CN115994565A (en) Hardware implementation of discrete fourier-dependent transforms
Goodman Discrete Fourier and wavelet transforms: an introduction through linear algebra with applications to signal processing
Singh et al. Accuracy and numerical stability of high-order polar harmonic transforms
Poularikas Discrete random signal processing and filtering primer with MATLAB
GB2535211B (en) Signal processing apparatus and method
Martin Mathematica® 3.0 Standard Add-on Packages
US10002622B2 (en) Irregular pattern identification using landmark based convolution
Boubaker A generalized arfima model with smooth transition fractional integration parameter
Levie et al. Randomized signal processing with continuous frames
WO2013137759A1 (en) Method and apparatus for reduced memory footprint fast fourier transforms
Irfan et al. Sine-Cosine wavelets approach in numerical evaluation of Hankel transform for seismology
KR100633555B1 (en) Signal processing
Gaß et al. Parametric integration by magic point empirical interpolation
Grigoryan Resolution map in quantum computing: signal representation by periodic patterns
Pei et al. Integer 2-D discrete Fourier transform pairs and eigenvectors using Ramanujan’s sum
Grigoryan et al. Method of flow graph simplification for the 16-point discrete Fourier transform
Thyagarajan et al. Fast Fourier Transform