GB2552295A - Signal processing - Google Patents

Signal processing Download PDF

Info

Publication number
GB2552295A
GB2552295A GB1609509.3A GB201609509A GB2552295A GB 2552295 A GB2552295 A GB 2552295A GB 201609509 A GB201609509 A GB 201609509A GB 2552295 A GB2552295 A GB 2552295A
Authority
GB
United Kingdom
Prior art keywords
factor
sampling rate
upsampling
value
filter coefficients
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.)
Withdrawn
Application number
GB1609509.3A
Other versions
GB201609509D0 (en
Inventor
Amendolagine Marco
Avantaggiati Vito
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.)
Octo Telematics SpA
Original Assignee
Octo Telematics SpA
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 Octo Telematics SpA filed Critical Octo Telematics SpA
Priority to GB1609509.3A priority Critical patent/GB2552295A/en
Publication of GB201609509D0 publication Critical patent/GB201609509D0/en
Priority to ES17727205T priority patent/ES2834301T3/en
Priority to US16/306,133 priority patent/US10805183B2/en
Priority to EP17727205.1A priority patent/EP3466004B1/en
Priority to CA3026161A priority patent/CA3026161A1/en
Priority to PCT/EP2017/063197 priority patent/WO2017207655A1/en
Priority to CN201780045556.4A priority patent/CN109997340B/en
Priority to JP2018563487A priority patent/JP2019522922A/en
Priority to RU2018145710A priority patent/RU2731251C2/en
Publication of GB2552295A publication Critical patent/GB2552295A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0628Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing the input and output signals being derived from two separate clocks, i.e. asynchronous sample rate conversion
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/0685Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being rational

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

Digital samples from a MEMS sensor 2 at a first sampling rate are converted to samples at a second sampling rate suitable for a data processor 3. The first sampling rate is subject to significant deviation from a nominal value. Appropriate upsampling and downsampling factors M,N are determined 5 based on the measured first sampling rate, the target value of the second sampling rate, and a relatively small allowable error between the actual and target values of the second sampling rate. The upsampling factor M is a power of a predetermined integer. A set of filter coefficients for use in the FIR interpolation filter (8, figure 2) may then be derived by simple interpolation or decimation (figures 3-5) from a reference set of filter coefficients, in dependence on the ratio of M to a reference upsampling factor, because the reference set of filter coefficients is for a reference upsampling factor that is also a power of the integer. The interpolation filter may be a polyphase filter (figure 7).

Description

(54) Title of the Invention: Signal processing
Abstract Title: An adaptive fractional sample rate converter with reduced complexity and a smaller filter coefficient memory (57) Digital samples from a MEMS sensor 2 at a first sampling rate are converted to samples at a second sampling rate suitable for a data processor 3. The first sampling rate is subject to significant deviation from a nominal value. Appropriate upsampling and downsampling factors M,N are determined 5 based on the measured first sampling rate, the target value of the second sampling rate, and a relatively small allowable error between the actual and target values of the second sampling rate. The upsampling factor M is a power of a predetermined integer. A set of filter coefficients for use in the FIR interpolation filter (8, figure 2) may then be derived by simple interpolation or decimation (figures 3-5) from a reference set of filter coefficients, in dependence on the ratio of M to a reference upsampling factor, because the reference set of filter coefficients is for a reference upsampling factor that is also a power of the integer. The interpolation filter may be a polyphase filter (figure 7).
Real time processing
Figure GB2552295A_D0001
Figure 1
1/11
Real time processing
Figure GB2552295A_D0002
Figure 1
2/11
Input samples at first sampling rate
Adaptive Fractional Sampling Rate Converter
Output samples at second sampling rate
Figure GB2552295A_D0003
Figure 2
3/11
Deriving first polyphase filter coefficients by decimation for case where the first upsampling factor is less than the reference sampling factor.
Reference
Polyphase
Filter
Coefficients hi h7
First
Polyphase h1
Filter coefficients ▼
h3 h5 h7
Figure 3
4/11
Deriving first polyphase filter coefficients for case where the first upsampling factor is the same as the reference sampling factor.
Reference
Polyphase
Filter coefficients h1 h2 h3 h4 h5 h6 h7 h
Figure GB2552295A_D0004
First
Polyphase
Filter coefficients h1 h2 h3 h4 h5 h6 h7 h8
Figure 4
5/11
Deriving first polyphase filter coefficients by linear interpolation for case where the first upsampling factor is greater than the reference sampling factor.
Reference
Polyphase
Filter coefficients
First
Polyphase
Filter coefficients
Figure GB2552295A_D0005
Figure 5
6/11
Figure GB2552295A_D0006
Output samples
Figure 6
7/11
Upsampled sample stream
Figure GB2552295A_D0007
Output sample stream
Polyphase filter operation
Figure 7
8/11
Real time processing
Figure GB2552295A_D0008
Example of alternative implementation
Figure 8
9/11
Figure GB2552295A_D0009
Figure 9
10/11
Figure GB2552295A_D0010
Figure 10
11/11
S 11.1
S 11.2
S 11.3
S 11.4
S 11.4
S 11.5
Figure GB2552295A_D0011
Figure 11
Sampling Rate Conversion
Technical Field
The present invention relates generally to methods and apparatus for conversion of a stream of samples at a first sampling rate to a stream of samples at a second sampling rate, and, more specifically, but not exclusively, to adaptive conversion from a first sampling rate which is subject to deviation from a nominal value to a second sampling rate which is within a predetermined resynchronisation error factor from a target value.
Background
In digital systems involving processing of sampled data, it may be necessary to convert the sampled data from one sampling rate to another. For example, a sensor system, such as an accelerometer in a vehicle, may sample data at a first rate, and this may be connected to a digital processing system which processes data samples at a different rate. The clock signals for the sensor and the digital processor may be generated by different oscillators operating independently of each other, so that the precise relationship between the first and second rates is not known, and may be subject to variability, for example with temperature and variability between units. In particular, a sensor may have an internal oscillator having a low accuracy, which may be subject to deviation from a nominal value by +/-10% or more, for example due to the use of RC or LC oscillators, and a digital processing system may have a very accurate clock derived from a crystal oscillator. In order to process the sampled data effectively, it may be desired to produce resynchronised sampled data to within a predetermined resynchronisation error factor from a target value.
It is known to convert sampled data from a first sampling rate to a second sampling rate by upsampling to a higher sampling rate that is a multiple of both the first and second sampling rates, filtering the upsampled data using an interpolation filter, and then downsampling to the second sampling rate. However, in order to implement such a system when the ratio between the sampling rates is subject to variability over a wide range, a wide range of upsampling and downsampling factors may need to be accommodated, and this may lead to high system complexity. In particular, each combination of upsampling and downsampling factors may require different filter coefficients for the interpolation filter, and this may be demanding of memory resource in addition to adding to the complexity of the system.
Summary
In accordance with a first aspect of the present invention, there is provided a method of converting a stream of samples at a first sampling rate to a stream of samples at a second sampling rate, the first sampling rate being subject to deviation from a nominal value and the second sampling rate being within a predetermined resynchronisation error factor from a target value, the method comprising:
measuring the first sampling rate;
determining a first upsampling factor from a basis comprising: the measured first sampling rate, the target value of the second sampling rate, and a resynchronisation error factor, the first upsampling factor being constrained to be an integer power of a predetermined integer value; and deriving, from a reference set of filter coefficients and from a ratio of the first upsampling factor to a reference upsampling factor, a first set of filter coefficients for use in a first interpolation filter, the reference set of filter coefficients being for a reference upsampling factor that is an integer power of the predetermined integer value.
This allows an implementation having reduced complexity and having a reduced requirement for memory resource for storage of filter coefficients. In particular, constraining the first upsampling factor to be an integer power of a predetermined integer value, typically a power of 2, limits the range of possible upsampling factors, and may accordingly reduce system complexity, and deriving the filter coefficients for use in the first interpolation filter from a reference set of filter coefficients that are for a reference upsampling factor that is also an integer power of the predetermined integer value, may reduce the requirement for memory resource for storage of filter coefficients.
In an embodiment of the invention, deriving the first set of filter coefficients from the reference set of filter coefficients comprises:
in dependence on the first upsampling factor being greater than the reference upsampling factor, linear interpolation between the reference set of filter coefficients;
in dependence on the first upsampling factor being equal to the reference upsampling factor, setting them to be the same as the reference set of filter coefficients; and in dependence on the first upsampling factor being less than the reference upsampling factor, uniform decimation from the reference set of filter coefficients, a decimation factor of the uniform decimation being equal to the integer ratio of the reference upsampling factor to the first upsampling factor.
This provides a computationally efficient method of deriving a set of filter coefficients for an interpolator filter, due to the simplicity of the linear interpolation and the uniform downsampling, while reducing memory resource requirements, due to the fact that only a single set of coefficients, the set of reference filter coefficients, is stored in memory.
In an embodiment of the invention, the predefined integer value is 2.
This provides a very efficient implementation.
In an embodiment of the invention, the first interpolation filter and the reference interpolation filter are polyphase filters. The first interpolation filter has a number of phases equal to the first upsampling factor and the reference interpolation has a number of phases equal to the reference upsampling factor. This provides an efficient implementation.
In an embodiment of the invention, the method comprises: determining a first downsampling factor from a basis comprising: the measured first sampling rate, the target value of the second sampling rate, and the predetermined resynchronisation error factor, the first downsampling factor being an integer; and converting the stream of samples at the first sampling rate to the stream of samples at the second sampling rate by a processes comprising upsampling by the first upsampling factor, filtering using the first set of filter coefficients for the first interpolation filter and downsampling by the first downsampling factor.
Determining the first downsampling rate on a basis including the upsampling rate allows upsampling and downsampling rates to be selected that provide a sample rate conversion to within the predetermined resynchronisation error factor of the target value of the second sampling rate.
In an embodiment of the invention, determining the first upsampling 10 factor and the first downsampling factor comprises:
determining a ratio of the target value of the second sampling rate to the measured first sampling rate; and selecting the value of the first upsampling factor and the first downsampling factor such that the error factor between the ratio of the target value of the second sampling rate to the first sampling rate and the ratio of the first upsampling factor to the first downsampling factor is less than the predetermined resynchronisation error factor.
In an embodiment of the invention the method comprises: selecting a trial value of the first upsampling factor;
determining a trial value of the first downsampling factor on the basis of the determined ratio of the target value of the second sampling rate to the measured first sampling rate and on the selected trial value of the first upsampling factor;
calculating a resynchronisation error factor on the basis of the trial values of the first upsampling factor and the first downsampling factor;
in dependence on the resynchronisation error factor being greater than a threshold value, iteratively incrementing the trial value of the first upsampling factor and the trial value of the first downsampling factor and calculating a resynchronisation error factor; and selecting a respective value of the incremented first upsampling factor and the first downsampling factor which gives a resynchronisation error factor less than or equal to the threshold value.
This provides an efficient method of iteratively determining the upsampling and downsampling factors.
In an embodiment of the invention the deviation from the nominal value of the first sampling rate may be greater than +/- 1%, and may be greater than +/10%.
In accordance with a second aspect of the invention, there is provided apparatus for converting a stream of samples at a first sampling rate to a stream of samples at a second sampling rate, the first sampling rate being subject to deviation from a nominal value and the second sampling rate being within a predetermined re synchronisation error factor from a target value, the apparatus being configured to perform the claimed method.
In accordance with a third aspect of the invention, there is provided a sensing system for a vehicle, comprising:
a MEMS sensor configured to generate a stream of samples at a first sampling rate;
a data processing system configured to accept a stream of samples at a second sampling rate; and the claimed apparatus for converting a stream of samples at a first sampling rate to a stream of samples at a second sampling rate.
Further features and advantages of the invention will be apparent from the following description of exemplary embodiments of the invention, which are given by way of example only.
Brief Description of the Drawings
Figure 1 is a schematic diagram illustrating a sampling rate conversion system in an embodiment of the invention;
Figure 2 is a functional schematic diagram illustrating an adaptive fractional sampling rate converter in an embodiment of the invention;
Figure 3 is a schematic diagram illustrating derivation of polyphase filter coefficients by decimation for the case where the upsampling factor is less than the reference upsampling factor in an embodiment of the invention;
Figure 4 is a schematic diagram illustrating derivation of polyphaser filter coefficients for the case where the upsampling factor is the same as the reference upsampling factor in an embodiment of the invention (in this example: Mref/M=2);
Figure 5 is a schematic diagram illustrating derivation of polyphase filter coefficients by interpolation for the case where the upsampling factor is greater than the reference upsampling factor in an embodiment of the invention (in this example: M/Mref=2);
Figure 6 is a schematic diagram illustrating interpolation in an embodiment of the invention;
Figure 7 is a schematic diagram illustrating polyphaser filter operation in an embodiment of the invention;
Figure 8 is a schematic diagram illustrating a sampling rate conversion system in an alternative embodiment of the invention, which may provide a flexible output sampling rate which may be scaled by a configurable factor P;
Figure 9 is a flow diagram of a method according to an embodiment of the invention comprising determining an upsampling factor and selecting a set of filter coefficients; and
Figure 10 is a flow diagram of a method of sampling rate conversion in an embodiment of the invention; and
Figure 11 is a further flow diagram of a method of sampling rate conversion in an embodiment of the invention.
Detailed Description
By way of example, embodiments of the invention will now be described in the context of an acceleration sensing system for a vehicle, comprising a MEMS (micro-electromechanical system) configured to generate a stream of samples at a first sampling rate and a data processing system configured to accept a stream of samples at a second sampling rate. It will be understood that embodiments of the invention may relate to other applications, and that embodiments of the invention are not restricted to use in vehicles or MEMS sensing systems. Embodiments may relate to other data processing systems involving sampling rate conversion.
Figure 1 shows a sampling rate conversion system in an embodiment of the invention. A MEMS acceleration sensor 2 is connected through an adaptive fractional sampling rate converter function 1 to a system data processing function 3. The adaptive fractional sampling rate converter function 1 is shown in more detail in Figure 2. A stream of samples at a first sampling rate is upsampled 7 by an upsampling factor M, the upsampled stream of samples is passed through an interpolation filter 8, which may be a polyphaser filter, and downsampled 9 by a downsampling factor N to a second sampling rate. In this way, a stream of samples at a first sampling rate is converted to a stream of samples at a second sampling rate.
The first sampling rate is subject to deviation from a nominal value, which may be greater than +/-1%, and may be greater than +/-10% of the nominal value. The second sampling rate is arranged to be within a predetermined resynchronisation error factor from a target value.
As an example, the first sampling rate may be 1344 Hz +/- 10%, and the target nominal value of the second sampling rate may be 200 Hz. The predetermined resynchronisation error factor with respect to the nominal value may be, for example, a factor between 10 and 100 parts per million (PPM), that is to say 10'5 to 10'4. The error factor is not limited to these values, but it is normally specified to be lower than the frequency deviation from the first sampling rate.
As shown in Figure 1, the adaptive fractional sampling rate converter 1 and the system data processing 3 may operate with real time processing, that is to say the processing is performed on a the stream of data received from the MEMS at a sufficient rate that a continuous stream at the first data rate could be processed. As also shown in Figure 1, parameters for the control of the adaptive fractional sampling rate converter 1 may be calculated in off-line processing, that is to say non-real time, potentially involving processing at a slower rate than the real time processing. For example, the real time processing may be implemented in firmware, such as for example a programmable gate array, and the off-line processing may be implemented in software, for example software executed by a control processor, such as a microcontroller. A digital signal processing device may be programmed to perform the real time functions. The control processor and logic and/or digital signal processors may be integrated into an Application Specific Integrated Circuit (ASIC). Alternatively, embodiments of the invention may be implemented by a variety of other techniques, including software in the form of executable code stored in memory configured to cause one or more processors to perform the methods of embodiments of the invention.
As shown in Figure 1, parameters for the control of the adaptive fractional sampling rate converter include the upsampling factor M, the downsampling factor N, and filter coefficients for the interpolation filter hi - hn. As shown in Figure 1, the first sampling rate is measured 4. This may be performed, for example, by counting samples received from the MEMS sensor within a known time interval. The known time interval may be calculated on the basis of the clock of the data processing system, for example, which may have an accurate crystal controlled oscillator. An upsampling factor, M, is determined 5 from a basis comprising the measured first sampling rate, the target value of the second sampling rate, and a resynchronisation error factor.
In an embodiment of the invention, the upsampling factor is constrained to be an integer power of a predetermined integer value. In the example shown in Figure 1, the predetermined integer value is 2, so that the upsampling factor is constrained to be a power of 2. As will be explained, this greatly reduces the complexity of the implementation, by reducing the range of possible upsampling factors, and so reducing the range of variations of interpolation filter that would be required. The range of variations of filter coefficients that need to be held in memory is accordingly reduced, which reduces demand on system memory resource.
As also shown in Figure 1, a first set of filter coefficients hi - hn is derived for use in the interpolation filter from a reference set of filter coefficients. The reference set of filter coefficients is for a reference upsampling factor that is also an integer power of the predetermined integer value, in this example a power of
2. The method used for the derivation of the first set of filter coefficients from the reference set of filter coefficients depends on the ratio of the upsampling factor to the reference upsampling factor.
Figures 3, 4 and 5 illustrate the derivation of the first set of filter coefficients from the reference set of filter coefficients for various cases of the ratio of the upsampling factor to the reference upsampling factor, for the example of the case of the predetermined integer factor being 2. Figure 3 illustrates that, if the upsampling factor is greater than the reference upsampling factor, the first set of filter coefficients is determined by linear interpolation between the reference filter coefficients, that is to say the reference set of filter coefficients. Figure 4 illustrates that if the upsampling factor is equal to the reference upsampling factor, the first set of filter coefficients is determined to be the same as the reference filter coefficients. Figure 6 illustrates that if the upsampling factor is less than the reference upsampling factor, the first set of filter coefficients is determined by uniform decimation from the reference filter coefficients, the decimation factor being equal to the integer ratio of the reference upsampling factor to the upsampling factor. This provides a computationally efficient method of deriving a set of filter coefficients for an interpolator filter while reducing memory resource requirements for storing the filter coefficients.
Figure 6 illustrates the operation of the interpolation filter. It can be seen that, in this example, the input samples 10a to lOh are a first sampling rate that is slower that the sampling rate of the output samples 1 la to 1 If. It can be seem that the input sampling rate is upsampled to a higher intermediate rate by the addition of zero-valued samples between the input samples. The effect of the interpolation filter is to fill in smoothly varying values between the input samples as shown. The output samples 1 la to Ilf can then be selected, to include interpolated values as appropriate, at the second sampling rate. The interpolation filter is typically a finite impulse response (FIR) filter and may be a polyphase filter.
Figure 7 illustrates the operation of a polyphase filter. An upsampled data stream 12 is shown that comprises input samples Si - S4, between which zerovalued samples have been added. Each sample from the upsampled data stream is multiplied 13 by a respective filter coefficient 14 hi - hi4. The results of each multiplication are accumulated 15 and form the output sample stream. The output sample stream may then be downsampled to form a stream at the second sample rate. Figure 7 shows a snapshot in time. On the next clock cycle at the upsampled sample rate, the input sample stream will move one place to the right. At any one time, not all multipliers are active, since many of the multipliers have a zero input. This is equivalent to keeping only the non-zero samples, i.e: reducing the required samples register by a factor M, and changing the coefficients h accordingly to the sample to output. Furthermore, the calculation of output samples only needs to be performed for the subset of samples that will be selected when downsampled. The polyphase filter thus provides an efficient implementation in terms of use of signal processing resource.
In an embodiment of the invention, the first interpolation filter and the reference interpolation filter are polyphase filters. The first interpolation filter typically has a number of phases equal to the upsampling factor and the reference interpolation typically has a number of phases equal to the reference upsampling factor. The number of phases is one greater than the number of zeros added for each input sample. In the example of Figure 7, the polyphase filter has 4 phases.
In an embodiment of the invention, the downsampling factor may be determined from the measured first sampling rate, the target value of the second sampling rate, and the predetermined resynchronisation error factor. The downsampling factor has an integer value. The stream of samples at the first sampling rate may be converted to the stream of samples at the second sampling rate by a processes comprising upsampling by the upsampling factor, filtering using the first set of filter coefficients for the first interpolation filter and downsampling by the downsampling factor.
The upsampling factor and the downsampling factor may be determined by determining the ratio of the target value of the second sampling rate to the measured first sampling rate, and selecting the value of the upsampling factor and the downsampling factor such that the error factor between the ratio of the target value of the second sampling rate to the first sampling rate and the ratio of the upsampling factor to the downsampling factor is less than the predetermined resynchronisation error factor. This may be implemented, for example, by an interative process as follows. A trial value of the upsampling factor may be selected, and a corresponding trial value of the downsampling factor may be determined from the ratio of the target value of the second sampling rate to the measured first sampling rate and the selected trial value of the upsampling factor. A resynchronisation error factor may be calculated on the basis of the trial values of the upsampling factor and the downsampling factor, and if the resynchronisation error factor is greater than a threshold value, the trial value of the upsampling factor may be incremented, and the trial value of the downsampling factor recalculated accordingly, and the resynchronisation error factor may then be recalculated. This incrementing of the upsampling factor may be repeated iteratively until values of the incremented upsampling factor and the downsampling factor are selected which give a resynchronisation error factor less than or equal to the threshold value. Since the upsampling factors are typically expressed in the form 2Q, the incrementing is typically done by incrementing only Q, because calculating 2Q is a very simple hardware or software operation. This provides an efficient method of iteratively determining the upsampling and downsampling factors.
The reference upsampling factor may be determined, typically at the design stage, taking into account the expected range of values of the first sampling rate and the desired resynchronisation error factor with respect to the second sampling rate, given that the reference upsampling factor is constrained to be an integer power of the predefined integer, which is typically 2. A specific set of reference filter coefficients for operation for the reference upsampling factor may then be designed, and imported to the sampling rate converter system for storage in memory.
Figure 8 shows an alternative implementation, in which the adaptive fractional sampling rate converter is preceded by an FIR filter and decimation, in this case decimation by a configurable factor P, which may be for example 4:1 decimation, and followed by a further FIR filter and decimation, in this case decimation which may be by a further configurable factor, in this example 2:1 decimation. This may reduce the processing resource requirement in the adaptive fractional sampling rate converter.
Figure 9 is a flow diagram showing a method according to an embodiment of the invention comprising determining an upsampling factor and selecting a set of filter coefficients by steps S9.1 to S9.3.
Figure 10 is a flow diagram showing a method of sampling rate conversion in an embodiment of the invention by steps S10.1 to S10.4.
Figure 11 is a further flow diagram of a method of sampling rate conversion in an embodiment of the invention by steps Sll.ltoS11.5.
Embodiments of the invention may provide synchronization performance matching a defined target precision, even when the input signals are characterized by a high spread of the sampling rate frequency, of the order of ±10% or more. Embodiments of the invention may be beneficial in the acquisition systems characterized by high spread of the source's nominal sampling frequencies, in particular MEMS sensors, which are typically affected by high sampling rate variability, in the order of ±10%. Such high variability is related to the type of oscillators used by MEMS sensors integrated in silicon, typically a LC or RC type. These types of oscillator are typically characterized by low accuracy in comparison with the accuracy of a quartz oscillator accuracy and by a spread of the generated frequency that typically depends on the spread of the silicon process. Furthermore, the sampling frequency variation may be influenced by the operating conditions such as temperature, and also by aging and other factors. Such factors may not be easily predictable.
In an embodiment of the invention a resynchronized output signal may be provided at a certain frequency fo, matching a desired resynchronization precision, and starting from an input signal sampled at a sampling rate fi that may be affected by an high deviation with respect to the nominal value. This may be implemented by a low complexity algorithm, using limited hardware and/or software resources. The algorithm may be scalable to the available architecture and to the potential hardware and/or software resource of a target architecture, such as available memory and computing resource. The technique may also be easily implemented by firmware and/or software for real time processing, or it may be executed in post processing.
In embodiments of the invention, a polyphase filter is used to implement an FIR filter for interpolation. The polyphase filtering technique may operate as follows. From an input frequency fi and output frequency fo, two coprime integer numbers [Μ, N] are identified such that fi/fo=N/M, the polyphase filter comprises a bank of M filter phases. Each bank is applied at a time instant m, through a cyclic algorithm, so that the applicable bank to the m-th output time instant is a function of m, N and M. The filter's bandwidth is l/max(M,N) (at the M-times over sampled rate).
In a general case, if fi is affected by high variability, fo being fixed, and representing the desired output frequency, the fi/fo ratio may not be a single value but a set of values belonging to a certain interval. As a consequence, it may be that the pair [M,N] is not uniquely defined, so that there may not a single filter and a single banks selection's logic defined. A set of filters may be needed, one for each [M,N] pair, each one having its his own bandwidth, and each one managed by dedicated logic. Accordingly, potentially the complexity of an adaptive polyphase filter can grow for high variability of fi. As the range of fi values increases, and the range of the necessary [M,N] set of values increases, and the required memory may also increase because of a need to store many polyphase filters, one for each [M,N] pair.
In embodiments of the invention, even if fi/fo is highly variable, a single reference polyphase filter may be stored, corresponding to Mref, and only a reduced set of [M,N] may be considered, related to the fi variation in the input range, such that is it possible to maintain the algorithm complexity under control and within boundary conditions and still compliant with the required resynchronization accuracy.
Embodiments of the invention may use a reduced set of value M, where M=2n, and n = [1,2,...nmax], where 2nmmax is compliant with the best desired resynchronization accuracy.
Embodiments of the invention may configure the polyphase filter corresponding to a certain [M,N] pair starting from the reference polyphase filter, and rebuild samples with real time data processing obtained by linear interpolation or by integer decimation of the reference filter coefficients, which may typically involve very simple processing.
The rate conversion process may require computation of the parameters [Μ, N], the upsampling and the downsampling factors. M and N are integer coprime numbers such that, ideally, N/M = fi/fo. In a real system those two frequencies are unlikely to be in a rational ratio, so M and N may be defined as follow. M and N are two integer coprime numbers, such as N/M ratio expresses fi frequencies and fo frequencies ratio with the desired approximation
In this way the resynchronization error related to a defined choice of M and N becomes an important performance parameter to consider during the device design phase. The resynchronization error es may be given as follows.
es = | (fo - (M/N)fi) / fo |
In case of MEMS sensors characterized by a high variability of sampling frequency rate (e.g.: ±10%), [M,N] will be variable, depending on the type of resource used and environmental condition such as working temperature and aging.
Embodiments of the invention may comprise a source frequency estimation module and a related [Μ, N] calculation module, a sample rate converter coefficient calculation module, and a sample rate converter core module. The source frequency estimation module and the related [Μ, N] calculation module may compute M in the form M=2n, being M<Mmax, where
Mmax is chosen in such a way that, by varying [M,N], the resynchronization is achieved with an error es lower than a fixed limit. The sample rate converter coefficient calculation module, may calculate coefficients once [Μ, N] have been computed. This calculation may be based on the prototype filter, that is to say reference filter, stored in memory. It may provide current coefficients simply by linear interpolation or integer decimation of the polyphase filter coefficients. The Sample Rate Converter core module may be programmed using the coefficients and parameters calculated in an adaptive way, to execute the filtering.
The above embodiments are to be understood as illustrative examples of the invention. It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.

Claims (11)

Claims:
1. A method of converting a stream of samples at a first sampling rate to a stream of samples at a second sampling rate, the first sampling rate being subject to deviation from a nominal value and the second sampling rate being within a predetermined resynchronisation error factor from a target value, the method comprising:
measuring the first sampling rate;
determining a first upsampling factor from a basis comprising: the measured first sampling rate, the target value of the second sampling rate, and a resynchronisation error factor, the first upsampling factor being constrained to be an integer power of a predetermined integer value; and deriving, from a reference set of filter coefficients and from a ratio of the first upsampling factor to a reference upsampling factor, a first set of filter coefficients for use in a first interpolation filter, the reference set of filter coefficients being for a reference upsampling factor that is an integer power of the predetermined integer value.
2. A method according to claim 1, wherein deriving the first set of filter coefficients from the reference set of filter coefficients comprises:
in dependence on the first upsampling factor being greater than the reference upsampling factor, linear interpolation between the reference set of filter coefficients;
in dependence on the first upsampling factor being equal to the reference upsampling factor, setting them to be the same as the reference set of filter coefficients; and in dependence on the first upsampling factor being less than the reference upsampling factor, uniform decimation from the reference set of filter coefficients, a decimation factor of the uniform decimation being equal to the integer ratio of the reference upsampling factor to the first upsampling factor.
3. A method according to claim 1 or claim 2, wherein the predefined integer value is 2.
4. A method according to any preceding claim, wherein the first interpolation filter and the reference interpolation filter are polyphase filters.
5. A method according to any preceding claim, comprising: determining a first downsampling factor from a basis comprising: the measured first sampling rate, the target value of the second sampling rate, and the predetermined resynchronisation error factor, the first downsampling factor being an integer; and converting the stream of samples at the first sampling rate to the stream of samples at the second sampling rate by a processes comprising upsampling by the first upsampling factor, filtering using the first set of filter coefficients for the first interpolation filter and downsampling by the first downsampling factor.
6. A method according to claim 5, wherein determining the first upsampling factor and the first downsampling factor comprises:
determining a ratio of the target value of the second sampling rate to the measured first sampling rate; and selecting the value of the first upsampling factor and the first downsampling factor such that the error factor between the ratio of the target value of the second sampling rate to the first sampling rate and the ratio of the first upsampling factor to the first downsampling factor is less than the predetermined resynchronisation error factor.
7. A method according to claim 6, comprising: selecting a trial value of the first upsampling factor;
determining a trial value of the first downsampling factor on the basis of the determined ratio of the target value of the second sampling rate to the measured first sampling rate and on the selected trial value of the first upsampling factor;
calculating a resynchronisation error factor on the basis of the trial values of the first upsampling factor and the first downsampling factor;
in dependence on the resynchronisation error factor being greater than a threshold value, iteratively incrementing the trial value of the first upsampling factor and the trial value of the first downsampling factor and calculating a resynchronisation error factor; and selecting a respective value of the incremented first upsampling factor and the first downsampling factor which gives a resynchronisation error factor less than or equal to the threshold value.
8. A method according to any preceding claim, wherein the deviation from the nominal value of the first sampling rate is greater than +/- 1%.
9. A method according to claim 8, wherein the deviation from the nominal value of the first sampling rate is greater than +/- 10%.
10. Apparatus for converting a stream of samples at a first sampling rate to a stream of samples at a second sampling rate, the first sampling rate being subject to deviation from a nominal value and the second sampling rate being within a predetermined resynchronisation error factor from a target value, the apparatus being configured to perform the method of any one of claim 1 to claim 9.
11. A sensing system for a vehicle, comprising: a MEMS sensor configured to generate a stream of samples at a first sampling rate;
a data processing system configured to accept a stream of samples at a second sampling rate; and apparatus according to claim 10.
Intellectual
Property
Office
GB1609509.3
1-11
GB1609509.3A 2016-05-31 2016-05-31 Signal processing Withdrawn GB2552295A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
GB1609509.3A GB2552295A (en) 2016-05-31 2016-05-31 Signal processing
RU2018145710A RU2731251C2 (en) 2016-05-31 2017-05-31 Method and device for sample rate conversion of fetch stream
CA3026161A CA3026161A1 (en) 2016-05-31 2017-05-31 Method and apparatus for sampling rate conversion of a stream of samples
US16/306,133 US10805183B2 (en) 2016-05-31 2017-05-31 Method and apparatus for sampling rate conversion of a stream of samples
EP17727205.1A EP3466004B1 (en) 2016-05-31 2017-05-31 Method and apparatus for sampling rate conversion of a stream of samples
ES17727205T ES2834301T3 (en) 2016-05-31 2017-05-31 Method and apparatus for sample rate conversion of a sample stream
PCT/EP2017/063197 WO2017207655A1 (en) 2016-05-31 2017-05-31 Method and apparatus for sampling rate conversion of a stream of samples
CN201780045556.4A CN109997340B (en) 2016-05-31 2017-05-31 Method and apparatus for sample rate conversion of a sample stream
JP2018563487A JP2019522922A (en) 2016-05-31 2017-05-31 Method and apparatus for converting the sampling rate of a stream of samples

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1609509.3A GB2552295A (en) 2016-05-31 2016-05-31 Signal processing

Publications (2)

Publication Number Publication Date
GB201609509D0 GB201609509D0 (en) 2016-07-13
GB2552295A true GB2552295A (en) 2018-01-24

Family

ID=56410770

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1609509.3A Withdrawn GB2552295A (en) 2016-05-31 2016-05-31 Signal processing

Country Status (1)

Country Link
GB (1) GB2552295A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294311B (en) * 2023-11-24 2024-02-02 湖南大学 Interpolation filter bank synchronous sampling method and system based on Dipsilon map approximation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070046507A1 (en) * 2005-08-30 2007-03-01 Oki Electric Industry Co., Ltd. Sampling rate converting method and circuit
US20090319065A1 (en) * 2008-06-19 2009-12-24 Texas Instruments Incorporated Efficient Asynchronous Sample Rate Conversion
US20100321216A1 (en) * 2009-06-19 2010-12-23 Conexant Systems, Inc. Systems and Methods for Variable Rate Conversion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070046507A1 (en) * 2005-08-30 2007-03-01 Oki Electric Industry Co., Ltd. Sampling rate converting method and circuit
US20090319065A1 (en) * 2008-06-19 2009-12-24 Texas Instruments Incorporated Efficient Asynchronous Sample Rate Conversion
US20100321216A1 (en) * 2009-06-19 2010-12-23 Conexant Systems, Inc. Systems and Methods for Variable Rate Conversion

Also Published As

Publication number Publication date
GB201609509D0 (en) 2016-07-13

Similar Documents

Publication Publication Date Title
US10805183B2 (en) Method and apparatus for sampling rate conversion of a stream of samples
US7920078B2 (en) Systems and methods for variable rate conversion
CN102694528B (en) Method and apparatus for adaptive control of the decimation ratio in asynchronous sample rate converters
EP2771973B1 (en) Asynchronous sample rate converter
CN108763720B (en) DDC implementation method with sampling rate capable of being adjusted down at will
KR20060082803A (en) Sample rate converter
WO2010124523A1 (en) Methods or structures for reconstruction of substantially uniform samples from substantially nonuniform samples
WO2011090110A1 (en) Sampling rate conversion device, and sampling rate conversion method
WO2017189271A1 (en) Designing fir filters with globally minimax-optimal magnitude response
US8542786B2 (en) Multi-channel sample rate converter
US7768355B2 (en) Polyphase numerically controlled oscillator
GB2552295A (en) Signal processing
JP4449007B2 (en) Sampling frequency converter
CN106972840B (en) Sampling rate conversion method and device
KR20140127119A (en) digital resampling apparatus using fractional delay generator
IT201600071534A1 (en) Process and device for converting the sampling rate of a sample stream.
EP2884660B1 (en) Signal generating device
Singh et al. Joint optimization of interpolated FIR filter
Yeshwantrao Design and Implementation of Some Digital Signal Processing Blocks
Konopacki et al. Estimation of filter order for prescribed, reduced group delay FIR filter design
CN114928361A (en) System and method for realizing synchronous data acquisition across devices
CN117294311A (en) Interpolation filter bank synchronous sampling method and system based on Dipsilon map approximation
EP2528231B1 (en) Signal generation device and signal generation method
JP2014511064A (en) Cascade digital filter with reduced latency
Osborn Gyroscope angular rate processing across asynchronous clock domains

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)