US5432511A - Sampling frequency conversion using interrupt control - Google Patents

Sampling frequency conversion using interrupt control Download PDF

Info

Publication number
US5432511A
US5432511A US08/059,371 US5937193A US5432511A US 5432511 A US5432511 A US 5432511A US 5937193 A US5937193 A US 5937193A US 5432511 A US5432511 A US 5432511A
Authority
US
United States
Prior art keywords
oversampled
sampling frequency
output
data
control signal
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.)
Expired - Lifetime
Application number
US08/059,371
Inventor
Ahmed Sadjadian
Terence R. Hurley
Simon M. Manze
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.)
Sony Europe Ltd
Original Assignee
Sony United Kingdom Ltd
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 Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Assigned to SONY UNITED KINGDOM LIMITED reassignment SONY UNITED KINGDOM LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HURLEY, TERENCE RALPH, MANZE, SIMON MATTHEW, SADJADIAN, AHMED
Application granted granted Critical
Publication of US5432511A publication Critical patent/US5432511A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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

Definitions

  • This invention relates to sampling frequency conversion.
  • sampling frequency converters in applications such as conversion between sampling frequencies associated with different pulse code modulation (PCM) audio signal transmission systems.
  • PCM pulse code modulation
  • Sampling frequency conversion is particularly useful in a digital audio recording or editing studio in order to provide an interface between items of digital audio equipment operating at different sampling frequencies, without having to convert to and from an intermediate analogue signal.
  • items of equipment operating at the same nominal sampling frequency can generally be synchronised with a ⁇ master ⁇ clocking signal distributed from a single source to those items, there still remains a need for sampling frequency conversion in that several different sampling frequency standards are used in current digital audio equipment (e.g. 32 kHz, 44.056 kHz, 44.1 kHz, 48 kHz).
  • a sampling frequency converter disclosed in EP-A-0 323 200 employs a stage of oversampling the input data samples by an integral oversampling factor before sampling frequency conversion, and a stage of downsampling by an integral downsampling factor after sampling frequency conversion.
  • This invention provides a sampling frequency converter for converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said converter comprising:
  • a signal processor for controlling operation of said sampling frequency converter and for generating oversampled output data from said oversampled input data, said oversampled output data having a sampling frequency greater than said output sampling frequency;
  • (v) means for downsampling said oversampled output data to generate output data at said output sampling frequency.
  • a sampling frequency converter In a sampling frequency converter according to the invention the major signal processing functions, along with the control of the sampling frequency converter, are performed by a single signal processor.
  • the signal processor comprises: an oversampler for operating on the oversampled input data to generate intermediate oversampled data; and means for subsampling the intermediate oversampled data to generate the oversampled output data.
  • sampling frequency of the oversampled output data could be greater than the sampling frequency of the oversampled input data, a reduction in alias distortion is obtained if the sampling frequency of the oversampled output data is lower than the sampling frequency of the oversampled input data.
  • this invention provides a method of converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said method comprising the steps of:
  • FIG. 2 illustrates a sampled analogue signal in the time domain
  • FIG. 3 is a schematic diagram showing the operation of an oversampling filter
  • FIG. 4 illustrates an oversampled version of the sampled analogue signal of FIG. 12
  • FIG. 5 is a schematic illustration showing the oversampling process in the frequency domain
  • FIG. 6 illustrates the operation of a delay adjuster filter
  • FIG. 7 illustrates the selection of filter coefficients in the delay adjuster filter of FIG. 6
  • FIG. 8 is a schematic block diagram of the delay adjuster filter of FIG. 6;
  • FIG. 9 illustrates the derivation of filter coefficients for an oversampling filter
  • FIG. 10 illustrates the timing signals used in a clock processor
  • FIG. 11 is a schematic block diagram of a clock processor
  • FIG. 1 a schematic block diagram is shown which illustrates the function of a digital audio sampling rate converter (DASRC).
  • DASRC digital audio sampling rate converter
  • An input audio signal, sampled at a sampling rate of fs in is passed first to an eight-times oversampler 10 which converts the input signal sampled at fs in into an oversampled input signal having a sampling frequency of 8fs in .
  • the oversampled input signal is passed to a delay adjuster filter 20 which, under the control of a clock processor 30, converts the oversampled input data to oversampled output data at a sampling rate of 2fs out (twice the desired output sampling rate).
  • the oversampled output signal is then passed to a two-times downsampler 40 which generates an output signal sampled at an output sampling rate of fs out .
  • FIG. 2 is an illustration in the time domain of a sampling process applied to an analogue signal.
  • FIG. 2 is a graph showing the amplitude of the analogue signal on a vertical axis, against time on a horizontal axis.
  • the analogue signal is sampled at a number of temporally spaced instants t 1 , t 2 , t 3 . . . to yield corresponding sample values x 1 , x 2 , x 3 . . . .
  • the sampling frequency is the reciprocal of the time period between successive sampling instants.
  • FIG. 3 is a schematic diagram showing the operation of an oversampling filter on the sampled analogue signal of FIG. 2.
  • a two-times oversampling filter 100 is shown, which operates on successive input samples x n to generate successive output signals y n at twice the sampling frequency of the input samples.
  • the input samples x n are interspersed with zero-valued samples in order that the number of input samples applied to the oversampling filter 100 is the same as the number of required output samples.
  • I oversampling factor
  • I zero-valued samples must be placed between adjacent samples of the input signal.
  • the output samples y n represent the amplitude of the analogue signal at successive instants t 1 ', t 2 ', t 3 ' . . . and are shown graphically in FIG. 4 in relation to the original analogue signal.
  • FIGS. 5(a) to 5(d) are schematic illustrations, in the frequency domain, of the oversampling process performed by the oversampling filter 100 of FIG. 3.
  • the signal amplitude is represented on a vertical axis, against signal frequency on a horizontal axis.
  • FIG. 5(a) illustrates the frequency spectrum of an example analogue signal before sampling is performed. Before any sampling takes place, the analogue signal occupies a frequency range from 0 to fmax.
  • FIG. 5(b) illustrates the spectrum of a signal after a sampling process at a sampling frequency of fs has been performed.
  • sideband signals have been generated by the sampling process which are centred around harmonics of the sampling frequency fs.
  • a first sideband extends between the frequencies of (fs-fmax) and (fs+fmax). Similar sidebands are centred around 2fs, 3fs and so on.
  • FIG. 5(c) illustrates the required spectrum of the signal of FIG. 5(b) after that signal has been subjected to a two-times oversampling process.
  • the effect of the oversampling process is to generate output samples (y n in FIG. 3) at a sampling frequency which is a multiple of the original sampling frequency of the signal.
  • a visual comparison of FIGS. 5(b) and 5(c) demonstrates that the two-times oversampling filter 100 is required to remove the sidebands centred around odd multiples of the frequency fs.
  • the actual frequency response of the two-times oversampling filter is illustrated in FIG. 5(d).
  • an oversampling filter having an oversampling factor of I requires a pass band ranging from 0 to at least fmax, (I-1) stop bands having a width of at least 2fmax centred around multiples of fs from 1fs to (I-1)fs, and a further pass band having a width of at least 2fmax centred around the frequency Ifs.
  • the delay adjuster filter 20 operates basically to oversample the input samples supplied to it by a very large oversampling factor, to generate intermediate samples 130 having a very small temporal separation. For each of the output samples 120, that one of the intermediate samples 130 having a temporal position closest to that of the output sample 120 is used as that output sample 120.
  • the oversampling factor used in the delay adjuster filter 20 is 65536, although (for clarity of the diagram) such a large oversampling factor has not been shown in FIG. 6.
  • 65535 zero-valued samples must be inserted between each of the input samples supplied to the delay adjuster filter 20. In practice, this requirement is avoided, but for the purposes of explaining FIG. 6 it will be assumed initially that zero-insertion has been performed.
  • the zero-valued samples are shown schematically in FIG. 6 as points (e.g. the point 115) between adjacent input samples 110.
  • the delay adjuster filter 20 can calculate all 65536 intermediate samples 130 for each input sample 110, to use selected ones of the intermediate samples 130 as two-times oversampled output samples 120 and to discard the remaining vast majority of the intermediate samples 130.
  • the delay adjuster filter 20 operates in conjunction with the clock processor 30 to select, for each output sample at the sampling frequency of 2fs out , that one 140 of the 65536-times oversampled samples which is nearest to the temporal position of the required output sample. This selected oversampled sample 140 is then calculated and output as an output sample. The intervening oversampled samples 150 are not calculated.
  • the nearest oversampled sample 140 is selected and used as that output sample 120.
  • the temporal position of the selected oversampled sample 140 may not coincide exactly with the temporal position of the required output sample. This will generally be the case when the output sampling frequency fs out is not related by a simple ratio to the input frequency fs in .
  • the maximum error in temporal position which can occur is one half of the temporal separation of the 65536-times oversampled samples 130.
  • the 65536-times oversampling filter used in the delay adjuster filter 20 has a very large number (323307) of coefficients, the derivation of which will be described below with reference to FIG. 9.
  • each of these coefficients is multiplied by the value of a corresponding zero-inserted input sample 110 (assuming that zero-insertion had taken place).
  • the vast majority (65535 in every 65536) of the zero-inserted input samples 110 are zero-valued samples, so although these zero-valued samples could be multiplied by corresponding coefficients, the result of the multiplication would automatically be zero. In practice therefore neither zero insertion nor the step of multiplying coefficients by zero is actually performed.
  • the 65536-times oversampling filter used in the delay adjuster filter 20 in this embodiment has 323307 coefficients, each of which is (in theory) multiplied by a corresponding one of the zero-inserted input samples 110.
  • 323307 coefficients each of which is (in theory) multiplied by a corresponding one of the zero-inserted input samples 110.
  • the number of actual multiplications which needs to be performed to generate one output sample 140 is equal to: ##EQU1##
  • the way in which five coefficients are selected from the 323307 possible coefficients for use in generation of each output sample will be described below with reference to FIG. 7.
  • FIG. 7 is a schematic illustration showing the selection of the five filter coefficients used in the derivation of each output sample.
  • the coefficient for use in the generation of an output sample y m 160 will be shown.
  • the 323307 individual coefficients in the 65536-times oversampling filter used in the delay adjuster filter 20 are not shown individually, for reasons of clarity of the diagram, but instead their envelope is shown by a curve 170.
  • the centre coefficient 180 of the set of 323307 coefficients is aligned with the temporal position of the output sample 160 and the coefficients nearest to the temporal positions of the 5 input samples 110 surrounding that output sample 160 are selected for multiplication by the corresponding input sample.
  • an input sample x 1 is multiplied by a filter coefficient c 1 ;
  • an input sample x 2 is multiplied by a filter coefficient c 2 ; and so on up to an input sample x 5 which is multiplied by a filter coefficient c 5 .
  • the output sample is then generated from the sum of the products of the above multiplications so that: ##EQU2##
  • FIG. 8 is a schematic block diagram showing the delay adjuster filter 20 and its relationship to the clock processor 30.
  • the clock processor 30 is responsive to the temporal positions of the input samples (supplied to the delay adjuster filter 20) and of the output samples (to be generated by the delay adjuster filter 20) in order to generate coefficient addresses for accessing the appropriate coefficients in a coefficient store 200 in the manner described above with reference to FIG. 7.
  • the coefficient store 200 may be implemented as a programmable read only memory to store numerical representations of the coefficients. (Because the filter coefficients in the 65536-times oversampling filter are symmetrical about the central coefficient 180, only one half of the coefficients needs to be stored in the coefficient store 200. Also, rounding the coefficients to 24-bit precision for storage means that only 322345 out of the 323307 coefficients are non-zero).
  • an optimum multi-band digital filter interpolator capable of oversampling by an oversampling factor of I 1 is designed using (for example) the Remez Exchange algorithm.
  • This filter is called the "base filter” and denoted hereinafter by F 1 .
  • the base filter has two passbands (at zero frequency and at I 1 x the input sampling frequency) and (I 1 -1) stopbands centred around harmonics of the input sampling frequency.
  • the base filter has a relatively short length T 1 (in many cases less than 100 coefficients), so that the process of generating the coefficients of the base filter does not take a prohibitively long computation time, and that the final number of coefficients is kept low.
  • the coefficients of the base filter F 1 are then convolved with the coefficients of the second filter F 2 .
  • the length of the filter developed after convolution of the zero inserted filter with the second filter F 2 of length T 2 will be T 1 .I 2 +T 2 -I 2 .
  • the resulting filter will have an oversampling factor of I 1 .I 2 . This filter is then further developed.
  • step (c) The filter produced by combining the coefficients of F 1 and F 2 in step (b) is then zero inserted and convolved with a third oversampling filter F 3 which has T 3 taps and an oversampling factor of I 3 .
  • the zero insertion involves insertion of I 3 -1 zero valued coefficients in between each pair of adjacent coefficients of the filter resulting from step (b).
  • the filter produced by the convolution with F 3 has an oversampling factor of I l .I 2 .I 3 and has:
  • Step (c) is in effect a repetition of step (b) using F 3 instead of F 2 , although the possibility of re-using one of the filters F 1 or F 2 is not excluded.
  • Step (c) can be repeated as required using further filters F 4 , F 5 . . . having T 4 , T 5 . . . coefficients and oversampling factors of I 4 , I 5 . . . respectively.
  • the process described above can be generalised so that a filter having an oversampling factor of I x can be zero inserted and convolved with another filter having an oversampling factor of I y to generate the coefficients for a filter having an oversampling factor of I x .I y .
  • filters having large oversampling factors can be constructed in stages, thus saving at least some of the computation time normally required to generate their coefficients.
  • FIG. 9 is a schematic illustration of the above process in which a four-times oversampling filter (shown in FIG. 9(c)) is generated by convolving the coefficients of a two-times oversampling filter shown in FIG. 9(a) with the coefficients of a two-times oversampling filter with a zero inserted between each coefficient (shown in FIG. 9(b)).
  • the filter shown in FIG. 9(a), and that shown in FIG. 9(b) before zero insertion, have seven coefficients, namely;
  • FIG. 9 served to illustrate the filter coefficient derivation process described above.
  • the process is particularly useful when filters with a large number of coefficients and/or a high oversampling factor are being generated.
  • the following filters F 1 to F 4 are combined:
  • the accuracy of generation of each output sample by the delay adjuster filter 20 depends on the accurate determination of the temporal position of that output sample with respect to the input samples, so that the appropriate coefficients in the 65536-times oversampling filter in the delay adjuster filter 20 can be selected. This determination of the temporal position is performed by the clock processor 30.
  • the values of Ts out (meas) obtained in this way are smoothed by the filter circuit 310 and are then passed to the averager 325.
  • the averager 325 serves to calculate a rolling average of the Ts out (meas) values, thereby generating a value of Ts out (est) which is supplied as the output 370.
  • Ts out (est) generated by the averager 325 is also passed to the second averager 335, in which it is used to update the current value of dt(est):
  • the estimated value dt, dt(est) is used to determine the position of the centre coefficient 180 in the delay adjuster filter 20 with respect to the input samples.
  • the positions of the remaining coefficients with respect to the centre coefficient 180 are found by simply adding multiples of 65536 to the memory address of the centre coefficient in the coefficient store 200, taking account of the fact that the filter is symmetrical and that only one half of the coefficients are stored.
  • successive input samples are supplied in encoded form to an Audio Engineering Society/European Broadcasting Union Standard (AES/EBU) decoder 15, which supplies decoded input samples at a sampling frequency of fs in to the eight-times oversampler 10 and also supplies an input interrupt signal 25 to the DSP 50.
  • the input interrupt signal 25 has a frequency of 8fs in and is generated as part of the operation of the AES/EBU decoder 15.
  • a clocking signal at fs out is received by the apparatus so that the sampling frequency of the output samples can be synchronised with that used in other apparatus.
  • the clocking signal is passed to a multiplier 45 (which may be embodied as a second AES/EBU decoder) which generates an output interrupt signal 55 having a frequency of 2fs out from the clocking signal.
  • the output interrupt signal 55 is passed to the DSP 50.

Abstract

A sampling frequency converter having an oversampler for operating on input data supplied to the converter, a signal processor for controlling operation of the sampling frequency converter and for generating oversampled output data from the oversampled input data, and a downsampler for generating output data at the output sampling frequency from the oversampled output data. The input and output of data by the signal processor are controlled by respective input and output interrupt signals, the output interrupt signal having a lower interrupt priority than the input interrupt signal.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to sampling frequency conversion.
2. Description of the Prior Art
It is known to use sampling frequency converters in applications such as conversion between sampling frequencies associated with different pulse code modulation (PCM) audio signal transmission systems. Sampling frequency conversion is particularly useful in a digital audio recording or editing studio in order to provide an interface between items of digital audio equipment operating at different sampling frequencies, without having to convert to and from an intermediate analogue signal. Although items of equipment operating at the same nominal sampling frequency can generally be synchronised with a `master` clocking signal distributed from a single source to those items, there still remains a need for sampling frequency conversion in that several different sampling frequency standards are used in current digital audio equipment (e.g. 32 kHz, 44.056 kHz, 44.1 kHz, 48 kHz).
A sampling frequency converter disclosed in EP-A-0 323 200 employs a stage of oversampling the input data samples by an integral oversampling factor before sampling frequency conversion, and a stage of downsampling by an integral downsampling factor after sampling frequency conversion.
SUMMARY OF THE INVENTION
It is an object of the invention to provide an improved sampling frequency conversion method and apparatus.
This invention provides a sampling frequency converter for converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said converter comprising:
(i) means for oversampling said input data to generate oversampled input data having a sampling frequency greater than said input sampling frequency;
(ii) a signal processor for controlling operation of said sampling frequency converter and for generating oversampled output data from said oversampled input data, said oversampled output data having a sampling frequency greater than said output sampling frequency;
(iii) means for generating a first interrupt signal, at said sampling frequency of said oversampled input data, to control reading of said oversampled input data by said signal processor;
(iv) means for generating a second interrupt signal, at said sampling frequency of said oversampled output data, to control output of said oversampled output data by said signal processor, wherein said second interrupt signal has a lower interrupt priority than said first interrupt signal so that said first interrupt signal is processed by said signal processor in preference to said second interrupt signal; and
(v) means for downsampling said oversampled output data to generate output data at said output sampling frequency.
In a sampling frequency converter according to the invention the major signal processing functions, along with the control of the sampling frequency converter, are performed by a single signal processor.
It is preferred that the signal processor comprises: an oversampler for operating on the oversampled input data to generate intermediate oversampled data; and means for subsampling the intermediate oversampled data to generate the oversampled output data.
In a preferred embodiment the sampling frequency converter comprises means for generating each sample in the oversampled output data from a sample in the intermediate oversampled data which is temporally closest to that sample in the oversampled output data. In particular, it is preferred that each sample in the oversampled output data is equal to the sample in the intermediate oversampled data which is temporally closest to that sample in the oversampled output data.
Although the sampling frequency of the oversampled output data could be greater than the sampling frequency of the oversampled input data, a reduction in alias distortion is obtained if the sampling frequency of the oversampled output data is lower than the sampling frequency of the oversampled input data.
Viewed from a second aspect this invention provides a method of converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said method comprising the steps of:
(i) oversampling said input data to generate oversampled input data having a sampling frequency greater than said input sampling frequency;
(ii) generating a first interrupt signal, at said sampling frequency of said oversampled input data, to control reading of said oversampled input data by a signal processor operable to generate oversampled output data from said oversampled input data, said oversampled output data having a sampling frequency greater than said output sampling frequency;
(iii) generating a second interrupt signal, at said sampling frequency of said oversampled output data, to control output of said oversampled output data by said signal processor, wherein said second interrupt signal has a lower interrupt priority than said first interrupt signal so that said first interrupt signal is processed by said signal processor in preference to said second interrupt signal; and
(iv) downsampling said oversampled output data to generate output data at said output sampling frequency.
The above, and other objects, features and advantages of this invention will be apparent from the following detailed description of illustrative embodiments which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram showing the function of a digital audio sample rate converter;
FIG. 2 illustrates a sampled analogue signal in the time domain;
FIG. 3 is a schematic diagram showing the operation of an oversampling filter;
FIG. 4 illustrates an oversampled version of the sampled analogue signal of FIG. 12;
FIG. 5 is a schematic illustration showing the oversampling process in the frequency domain;
FIG. 6 illustrates the operation of a delay adjuster filter;
FIG. 7 illustrates the selection of filter coefficients in the delay adjuster filter of FIG. 6;
FIG. 8 is a schematic block diagram of the delay adjuster filter of FIG. 6;
FIG. 9 illustrates the derivation of filter coefficients for an oversampling filter;
FIG. 10 illustrates the timing signals used in a clock processor;
FIG. 11 is a schematic block diagram of a clock processor; and
FIG. 12 is a schematic diagram showing an implementation of the digital audio sampling rate converter of FIG. 1.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to FIG. 1, a schematic block diagram is shown which illustrates the function of a digital audio sampling rate converter (DASRC). An input audio signal, sampled at a sampling rate of fsin, is passed first to an eight-times oversampler 10 which converts the input signal sampled at fsin into an oversampled input signal having a sampling frequency of 8fsin. The oversampled input signal is passed to a delay adjuster filter 20 which, under the control of a clock processor 30, converts the oversampled input data to oversampled output data at a sampling rate of 2fsout (twice the desired output sampling rate). The oversampled output signal is then passed to a two-times downsampler 40 which generates an output signal sampled at an output sampling rate of fsout.
FIG. 2 is an illustration in the time domain of a sampling process applied to an analogue signal. FIG. 2 is a graph showing the amplitude of the analogue signal on a vertical axis, against time on a horizontal axis. The analogue signal is sampled at a number of temporally spaced instants t1, t2, t3 . . . to yield corresponding sample values x1, x2, x3 . . . . The sampling frequency is the reciprocal of the time period between successive sampling instants.
FIG. 3 is a schematic diagram showing the operation of an oversampling filter on the sampled analogue signal of FIG. 2. A two-times oversampling filter 100 is shown, which operates on successive input samples xn to generate successive output signals yn at twice the sampling frequency of the input samples. Before being processed by the oversampling filter 100 the input samples xn are interspersed with zero-valued samples in order that the number of input samples applied to the oversampling filter 100 is the same as the number of required output samples. In general, for a oversampling factor of I, (I-1) zero-valued samples must be placed between adjacent samples of the input signal. The output samples yn represent the amplitude of the analogue signal at successive instants t1 ', t2 ', t3 ' . . . and are shown graphically in FIG. 4 in relation to the original analogue signal.
FIGS. 5(a) to 5(d) are schematic illustrations, in the frequency domain, of the oversampling process performed by the oversampling filter 100 of FIG. 3. In these illustrations, the signal amplitude is represented on a vertical axis, against signal frequency on a horizontal axis. FIG. 5(a) illustrates the frequency spectrum of an example analogue signal before sampling is performed. Before any sampling takes place, the analogue signal occupies a frequency range from 0 to fmax.
FIG. 5(b) illustrates the spectrum of a signal after a sampling process at a sampling frequency of fs has been performed. In addition to the original baseband signal (from 0 to fmax), sideband signals have been generated by the sampling process which are centred around harmonics of the sampling frequency fs. For example, a first sideband extends between the frequencies of (fs-fmax) and (fs+fmax). Similar sidebands are centred around 2fs, 3fs and so on.
FIG. 5(c) illustrates the required spectrum of the signal of FIG. 5(b) after that signal has been subjected to a two-times oversampling process. The effect of the oversampling process is to generate output samples (yn in FIG. 3) at a sampling frequency which is a multiple of the original sampling frequency of the signal. In the case of a two-times oversampling process, the sampling frequency (fs') of the output samples yn will be twice that of the original sampled signal xn. (That is to say, fs'=2fs). This means that the two-times oversampled signal should have sidebands centred around fs'(=2fs), 2fs'(=4fs) and so on. A visual comparison of FIGS. 5(b) and 5(c) demonstrates that the two-times oversampling filter 100 is required to remove the sidebands centred around odd multiples of the frequency fs.
The actual frequency response of the two-times oversampling filter is illustrated in FIG. 5(d). As shown in FIG. 5(d), the two-times oversampling filter 100 requires a passband ranging from 0 to fmax, a stopband of width 2fmax centred around the frequency fs, and a further pass band of width 2fmax centred around the frequency fs' (where fs'=2fs). In general, an oversampling filter having an oversampling factor of I requires a pass band ranging from 0 to at least fmax, (I-1) stop bands having a width of at least 2fmax centred around multiples of fs from 1fs to (I-1)fs, and a further pass band having a width of at least 2fmax centred around the frequency Ifs.
FIG. 6 illustrates the operation of the delay adjuster filter 20 of FIG. 1. It will be recalled that the samples supplied as an input to the delay adjuster filter 20 have a sampling frequency of 8fsin, since they have already undergone an eight-times oversampling process by the eight-times oversampler 10. Also, it will be recalled that the output samples generated by the delay adjuster filter 20 are at twice the required output sampling frequency (that is, 2fsout). In FIG. 6, the input samples at the sampling frequency 8fsin supplied to the delay adjuster filter 20 are shown schematically at respective positions 110 along a horizontal time axis, and the output samples at the sampling frequency of 2fsout are similarly shown at respective positions 120 along the horizontal time axis.
The delay adjuster filter 20 operates basically to oversample the input samples supplied to it by a very large oversampling factor, to generate intermediate samples 130 having a very small temporal separation. For each of the output samples 120, that one of the intermediate samples 130 having a temporal position closest to that of the output sample 120 is used as that output sample 120.
In this embodiment, the oversampling factor used in the delay adjuster filter 20 is 65536, although (for clarity of the diagram) such a large oversampling factor has not been shown in FIG. 6. In theory, in order to perform a process of 65536-times oversampling, 65535 zero-valued samples must be inserted between each of the input samples supplied to the delay adjuster filter 20. In practice, this requirement is avoided, but for the purposes of explaining FIG. 6 it will be assumed initially that zero-insertion has been performed. The zero-valued samples are shown schematically in FIG. 6 as points (e.g. the point 115) between adjacent input samples 110.
It would be possible for the delay adjuster filter 20 to calculate all 65536 intermediate samples 130 for each input sample 110, to use selected ones of the intermediate samples 130 as two-times oversampled output samples 120 and to discard the remaining vast majority of the intermediate samples 130. However, since 65535 out of every 65536 intermediate samples are discarded, a considerable saving in computation time can be achieved by calculating only the relevant one out of every 65536 intermediate samples. In practice therefore, the delay adjuster filter 20 operates in conjunction with the clock processor 30 to select, for each output sample at the sampling frequency of 2fsout, that one 140 of the 65536-times oversampled samples which is nearest to the temporal position of the required output sample. This selected oversampled sample 140 is then calculated and output as an output sample. The intervening oversampled samples 150 are not calculated.
As mentioned above, for each output sample at 2fsout, the nearest oversampled sample 140 is selected and used as that output sample 120. For some of the output samples 120, the temporal position of the selected oversampled sample 140 may not coincide exactly with the temporal position of the required output sample. This will generally be the case when the output sampling frequency fsout is not related by a simple ratio to the input frequency fsin. However, neglecting any errors in the calculation of the temporal position of the output samples, the maximum error in temporal position which can occur is one half of the temporal separation of the 65536-times oversampled samples 130. In the present embodiment, for an input sampling frequency fsin of 48 kHz, the temporal separation of successive 65536-times oversampled samples 130 is approximately 40 picoseconds (pS) so the maximum temporal error in an output sample is approximately 20 pS.
The 65536-times oversampling filter used in the delay adjuster filter 20 has a very large number (323307) of coefficients, the derivation of which will be described below with reference to FIG. 9. In principle, when one of the samples 140 is calculated, each of these coefficients is multiplied by the value of a corresponding zero-inserted input sample 110 (assuming that zero-insertion had taken place). However, the vast majority (65535 in every 65536) of the zero-inserted input samples 110 are zero-valued samples, so although these zero-valued samples could be multiplied by corresponding coefficients, the result of the multiplication would automatically be zero. In practice therefore neither zero insertion nor the step of multiplying coefficients by zero is actually performed.
As mentioned above, the 65536-times oversampling filter used in the delay adjuster filter 20 in this embodiment has 323307 coefficients, each of which is (in theory) multiplied by a corresponding one of the zero-inserted input samples 110. However, since zero-insertion is not performed, only one in 65536 of the input samples 110 to be multiplied by corresponding coefficients will be present. This means that the number of actual multiplications which needs to be performed to generate one output sample 140 is equal to: ##EQU1## The way in which five coefficients are selected from the 323307 possible coefficients for use in generation of each output sample will be described below with reference to FIG. 7.
FIG. 7 is a schematic illustration showing the selection of the five filter coefficients used in the derivation of each output sample. In particular, the coefficient for use in the generation of an output sample y m 160 will be shown. In FIG. 7 the 323307 individual coefficients in the 65536-times oversampling filter used in the delay adjuster filter 20 are not shown individually, for reasons of clarity of the diagram, but instead their envelope is shown by a curve 170.
In order to derive the output sample 160, the centre coefficient 180 of the set of 323307 coefficients is aligned with the temporal position of the output sample 160 and the coefficients nearest to the temporal positions of the 5 input samples 110 surrounding that output sample 160 are selected for multiplication by the corresponding input sample. In the example shown in FIG. 7, an input sample x1 is multiplied by a filter coefficient c1 ; an input sample x2 is multiplied by a filter coefficient c2 ; and so on up to an input sample x5 which is multiplied by a filter coefficient c5. The output sample is then generated from the sum of the products of the above multiplications so that: ##EQU2##
FIG. 8 is a schematic block diagram showing the delay adjuster filter 20 and its relationship to the clock processor 30.
The clock processor 30 is responsive to the temporal positions of the input samples (supplied to the delay adjuster filter 20) and of the output samples (to be generated by the delay adjuster filter 20) in order to generate coefficient addresses for accessing the appropriate coefficients in a coefficient store 200 in the manner described above with reference to FIG. 7. The coefficient store 200 may be implemented as a programmable read only memory to store numerical representations of the coefficients. (Because the filter coefficients in the 65536-times oversampling filter are symmetrical about the central coefficient 180, only one half of the coefficients needs to be stored in the coefficient store 200. Also, rounding the coefficients to 24-bit precision for storage means that only 322345 out of the 323307 coefficients are non-zero).
In response to each of the five coefficient addresses supplied by the clock processor 30, the coefficient store 200 supplies a corresponding filter coefficient to a multiplier 210. At the same time, a sample buffer 220 storing the eight-times oversampled input samples 110 supplies an appropriate sample to the multiplier 210 to be multiplied by that filter coefficient. The products of the multiplications performed by the multiplier 210 are supplied to a summation unit 230 which adds the five products to generate an output sample. This five-stage process is repeated for each output sample to be generated by the delay adjuster filter 20.
It is not possible to use a known filter coefficient derivation algorithm such as the Remez Exchange algorithm (described in the book `Theory and Practice of Digital Signal Processing`, Rabiner and Gold, Prentice Hall, 1975) to generate the coefficients in the 65536-times oversampling filter used in the delay adjuster filter 20. This is because the computation time required to generate the coefficients would be prohibitive for such a large oversampling factor. Instead, the filter coefficients are generated as follows:
(a) First an optimum multi-band digital filter interpolator capable of oversampling by an oversampling factor of I1 is designed using (for example) the Remez Exchange algorithm. This filter is called the "base filter" and denoted hereinafter by F1. The base filter has two passbands (at zero frequency and at I1 x the input sampling frequency) and (I1 -1) stopbands centred around harmonics of the input sampling frequency. The base filter has a relatively short length T1 (in many cases less than 100 coefficients), so that the process of generating the coefficients of the base filter does not take a prohibitively long computation time, and that the final number of coefficients is kept low.
(b) The coefficients of the base filter F1 are then combined with those of a second filter F2, the second filter F2 having T2 coefficients and providing an oversampling factor of I2. However, before this combination takes place the coefficients of the base filter are first zero inserted, which involves the insertion of (I2 -1) zero valued coefficients between each pair of adjacent coefficients of the base filter. (In fact any fixed value could be inserted in this way, but the use of zero simplifies the calculations involved in combining F1 and F2). If the base filter is originally of T1 coefficients then after zero insertion the base filter will become a filter having ((T1 -1). I2 +1) coefficients.
After zero-insertion the coefficients of the base filter F1 are then convolved with the coefficients of the second filter F2. The length of the filter developed after convolution of the zero inserted filter with the second filter F2 of length T2 will be T1.I2 +T2 -I2. The resulting filter will have an oversampling factor of I1.I2. This filter is then further developed.
(c) The filter produced by combining the coefficients of F1 and F2 in step (b) is then zero inserted and convolved with a third oversampling filter F3 which has T3 taps and an oversampling factor of I3. Here the zero insertion involves insertion of I3 -1 zero valued coefficients in between each pair of adjacent coefficients of the filter resulting from step (b). The filter produced by the convolution with F3 has an oversampling factor of Il.I2.I3 and has:
T1.I2.I3 +T2. I3.-I2.I3 -I3 +T3 coefficients.
Step (c) is in effect a repetition of step (b) using F3 instead of F2, although the possibility of re-using one of the filters F1 or F2 is not excluded. Step (c) can be repeated as required using further filters F4, F5 . . . having T4, T5 . . . coefficients and oversampling factors of I4, I5. . . respectively.
Assuming that the total interpolation factor required is realised using say, 3 stages of zero insertion followed by convolution (in other words, Ioverall =I1.I2,I3,I4), the length of the resulting filter is equal to:
Toverall =T1.I2, I3,I4 +I3.I4.T2 +T3.I4 +T4 -(I2.I3.I4 +I3.I4 +I4)
The process described above can be generalised so that a filter having an oversampling factor of Ix can be zero inserted and convolved with another filter having an oversampling factor of Iy to generate the coefficients for a filter having an oversampling factor of Ix.Iy. In this way, filters having large oversampling factors can be constructed in stages, thus saving at least some of the computation time normally required to generate their coefficients.
FIG. 9 is a schematic illustration of the above process in which a four-times oversampling filter (shown in FIG. 9(c)) is generated by convolving the coefficients of a two-times oversampling filter shown in FIG. 9(a) with the coefficients of a two-times oversampling filter with a zero inserted between each coefficient (shown in FIG. 9(b)). The filter shown in FIG. 9(a), and that shown in FIG. 9(b) before zero insertion, have seven coefficients, namely;
0.038; 0.157; 0.314; 0.391; 0.314; 0.157; 0.038
These coefficients are listed beneath the horizontal axis in FIGS. 9(a) and 9(b). If the coefficients in the filter in FIG. 9(a) are denoted by g-3 to g3, and those in FIG. 9(b) (i.e. after zero insertion) are denoted by h-6 to h6, the convolution process generates each coefficient fm of the output (i.e. four-times oversampling) filter shown in FIG. 9(c) as follows: ##EQU3##
The four-times oversampling filter in FIG. 9(c) is generated from a filter F1 having seven coefficients and a filter F2, also having seven coefficients. From step (b) above, the length of the resulting filter is T1.I2.T2 +T2 -I2 =(7×2)+(7-2)=19. The resulting filter therefore has 19 coefficients, as shown in FIG. 9(c).
The simple example shown in FIG. 9 served to illustrate the filter coefficient derivation process described above. However, the process is particularly useful when filters with a large number of coefficients and/or a high oversampling factor are being generated. For example, in order to generate the coefficients of the 65536-times oversampling filter for use in the delay adjuster filter 20 of the present embodiment the following filters F1 to F4 are combined:
______________________________________                                    
Filter  No. of Coefficients                                               
                       Oversampling Factor                                
______________________________________                                    
F.sub.1 T.sub.1 = 75   I.sub.1 = 16                                       
F.sub.2 T.sub.2 = 75   I.sub.2 = 16                                       
F.sub.3 T.sub.3 = 75   I.sub.3 = 16                                       
F.sub.4 T.sub.4 = 75   I.sub.4 = 16                                       
F.sub.overall                                                             
        T.sub.overall = 323307                                            
                       I.sub.overall = 65536                              
______________________________________                                    
The accuracy of generation of each output sample by the delay adjuster filter 20 depends on the accurate determination of the temporal position of that output sample with respect to the input samples, so that the appropriate coefficients in the 65536-times oversampling filter in the delay adjuster filter 20 can be selected. This determination of the temporal position is performed by the clock processor 30.
For an input sampling frequency (fsin) of 48 Khz, the temporal resolution of the delay adjuster filter (that is, the temporal separation of adjacent intermediate samples 130) is about 40 ps. It is difficult to measure the temporal position of each output sample to this accuracy, because of jitter in the input and output clock frequencies and because such measurement would require an extremely fast timing circuit. However, satisfactory results can be obtained by measuring the position of each output sample to a certain accuracy (say, to the nearest 256 intermediate samples 130) and then performing a `rolling average` of these measured values in order to generate a temporal position accurate to one intermediate sample.
FIG. 10 is a schematic illustration showing some of the timing signals used by and generated by the clock processor 30, and FIG. 11 is a schematic block diagram of the clock processor 30.
In FIG. 10, the temporal separation of two successive eight-times oversampled output samples is referred to as Tsout. This value is initially measured for a particular pair of eight-times oversampled input samples, (referred to as Tsout (meas)) and then estimated (Tsout (est)) by the clock processor to a higher precision than that of the measured value. The temporal separation of two successive eight-times oversampled input samples is referred to as Tsin. Similarly dt is the time difference between the temporal position of each output sample and that of the immediately preceding eight-times oversampled input sample. Again, the value of dt is initially measured (dt(meas)) and then estimated (dt(est)) by the clock processor 30.
The clock processor 30 shown in FIG. 11 comprises a combiner 300, a filter circuit 310, an adder 320 and a register 330 arranged as an averager 325, and a second adder 340 and a second register 350 arranged as a second averager 335. The clock processor supplies two outputs, namely a dt(est) output 360 and a Tsout (est) output 370.
The combiner receives values of Tsin and the present and previous values of dt(meas), which are measured from the input and output clocking signals respectively. The combiner combines these values to generate values of Tsout (meas):
Ts.sub.out (meas)=Ts.sub.in -dt(meas).sub.previous +dt(meas).sub.present
The values of Tsout (meas) obtained in this way are smoothed by the filter circuit 310 and are then passed to the averager 325. The averager 325 serves to calculate a rolling average of the Tsout (meas) values, thereby generating a value of Tsout (est) which is supplied as the output 370.
The value of Tsout (est) generated by the averager 325 is also passed to the second averager 335, in which it is used to update the current value of dt(est):
dt(est).sub.updated =[dt(est).sub.updated +Ts.sub.out (est)]modulo Ts.sub.in
The updated value of dt(est) is supplied as the output 360.
The estimated value dt, dt(est), is used to determine the position of the centre coefficient 180 in the delay adjuster filter 20 with respect to the input samples. The positions of the remaining coefficients with respect to the centre coefficient 180 are found by simply adding multiples of 65536 to the memory address of the centre coefficient in the coefficient store 200, taking account of the fact that the filter is symmetrical and that only one half of the coefficients are stored.
The value of dt(est) computed by the clock processor is also used in the sample buffer 220 to select the appropriate 8-times oversampled input data to enter the multiplier 210.
FIG. 12 is a schematic diagram showing an implementation of the DASRC shown in FIG. 1, in which the functions of the delay adjuster filter 20 and the clock processor 30 are performed by a single digital signal processor (DSP) 50 such as a Motorola DSP56000 integrated circuit. The DSP 50 is linked to the eight-times oversampler 10 and the two-times downsampler 40 by an application specific integrated circuit (ASIC) or logic cell array (LCA) 60.
In the DASRC shown in FIG. 12, successive input samples are supplied in encoded form to an Audio Engineering Society/European Broadcasting Union Standard (AES/EBU) decoder 15, which supplies decoded input samples at a sampling frequency of fsin to the eight-times oversampler 10 and also supplies an input interrupt signal 25 to the DSP 50. The input interrupt signal 25 has a frequency of 8fsin and is generated as part of the operation of the AES/EBU decoder 15.
After the input samples have been oversampled by the eight-times oversampler 10 they are passed to the ASIC/LCA 60 which acts as an interface for the passing of samples to and from the DSP 50. The oversampled output samples (at a sampling frequency of 2fsout) generated by the DSP 50 are passed, via the ASIC/LCA 60, to the two-times downsampler 40 in which they are converted (e.g. by filtering accompanied by the discarding of alternate samples) to output samples at a sampling frequency of fsout. The output samples are passed to an AES/EBU encoder 35 for encoding for transmission to other apparatus (not shown).
A clocking signal at fsout is received by the apparatus so that the sampling frequency of the output samples can be synchronised with that used in other apparatus. The clocking signal is passed to a multiplier 45 (which may be embodied as a second AES/EBU decoder) which generates an output interrupt signal 55 having a frequency of 2fsout from the clocking signal. The output interrupt signal 55 is passed to the DSP 50.
The input interrupt signal 25 and the output interrupt signal 55 are used to control the input of samples to the DSP 50 and the output of samples from the DSP 50 respectively. The input interrupt signal 25 is processed by the DSP 50 relatively quickly and with a higher interrupt priority than (i.e. in preference to) the output interrupt signal 55. This is achieved in the present embodiment by arranging for the input interrupt signal to use the `short interrupt` mechanism of the Motorola DSP56000 integrated circuit referred to above. Interrupt signals processed by this mechanism are executed quickly and with high priority.
The main calculations carried out by the DSP 50 (that of the clock processor 30 and the delay adjuster filter 20) are performed using programmable on-chip registers of the Motorola DSP56000 integrated circuit. The operation of the DSP 50 is controlled by a number of programmed computation routines stored in the DSP, with each of the computation routines corresponding to one of the main functions of the DASRC such as calculation of the values Tsout (est) and dt(est) or the generation of coefficient addresses to be supplied to the coefficient store 200. The computation routines are initiated by the DSP 50 in response to the interrupt signals 25 and 55. In this way, the single DSP 50 controls the overall operation of the DASRC.
Although illustrative embodiments of the invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various changes and modifications can be effected therein by one skilled in the art without departing from the scope and spirit of the invention as defined by the appended claims.

Claims (8)

We claim:
1. An apparatus for converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said apparatus comprising:
(i) means for oversampling said input data to generate oversampled input data having a sampling frequency greater than said input sampling frequency;
(ii) a signal processor for controlling operation of said apparatus and for generating oversampled output data from said oversampled input data, said oversampled output data having a sampling frequency greater than said output sampling frequency;
(iii) means for generating a first control signal, at said sampling frequency of said oversampled input data, to control reading of said oversampled input data by said signal processor;
(iv) means for generating a second control signal, at said sampling frequency of said oversampled output data, to control output of said oversampled output data by said signal processor, wherein said second control signal has a lower priority than said first control signal so that said first control signal is processed by said signal processor in preference to said second control signal; and
(v) means for downsampling said oversampled output data to generate said output data at said output sampling frequency.
2. An apparatus according to claim 1, in which said signal processor comprises:
an oversampler for operating on said oversampled input data to generate intermediate oversampled data; and
means for subsampling said intermediate oversampled data to generate said oversampled output data.
3. An apparatus according to claim 2, comprising means for generating each sample in said oversampled output data from a sample in said intermediate oversampled data which is temporally closest to said each sample in said oversampled output data.
4. An apparatus according to claim 2, in which each sample in said oversampled output data is obtained by selecting said sample in said intermediate oversampled data which is temporally closest to said each sample in said oversampled output data.
5. An apparatus according to claim 1, in which said sampling frequency of said oversampled output data is lower than said sampling frequency of said oversampled input data.
6. A method of converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said method comprising the steps of:
(i) oversampling said input data to generate oversampled input data having a sampling frequency greater than said input sampling frequency;
(ii) generating a first control signal, at said sampling frequency of said oversampled input data, to control reading of said oversampled input data by a signal processor operable to generate oversampled output data from said oversampled input data, said oversampled output data having a sampling frequency greater than said output sampling frequency;
(iii) generating a second control signal, at said sampling frequency of said oversampled output data, to control output of said oversampled output data by said signal processor, wherein said second control signal has a lower priority than said first control signal so that said first control signal is processed by said signal processor in preference to said second control signal; and
(iv) downsampling said oversampled output data to generate said output data at said output sampling frequency.
7. An apparatus for converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said apparatus comprising:
means for oversampling said input data so as to generate oversampled input data having a sampling frequency greater than said input sampling frequency;
means for generating a first control signal having a frequency substantially equivalent to said sampling frequency of said oversampled input data;
means for generating a second control signal having a frequency which is different from said frequency of said first control signal and which is substantially equivalent to a sampling frequency of oversampled output data;
signal processor means for receiving said oversampled input data and for generating therefrom said oversampled output data in which said frequency of said oversampled output data is greater than said output sampling frequency and less than said sampling frequency of said oversampled input data, in which said signal processor means reads said oversampled input data from said means for oversampling in accordance with said first control signal and outputs said oversampled output data in accordance with said second control signal, said first control signal having a higher priority than said second control signal whereupon said signal processor means performs processing in accordance with said first control signal in preference to that in accordance with said second control signal; and
means for downsampling said oversampled output data so as to generate said output data at said output sampling frequency.
8. A method of converting sampled input data having an input sampling frequency into sampled output data having a selected output sampling frequency, said method comprising the steps of:
oversampling said input data so as to generate oversampled input data having a sampling frequency greater than said input sampling frequency;
generating a first control signal having a frequency substantially equivalent to said sampling frequency of said oversampled input data;
generating a second control signal having a frequency which is different from said frequency of said first control signal and which is substantially equivalent to a sampling frequency of oversampled output data;
generating said oversampled output data from said oversampled input data by utilizing a signal processor in which said sampling frequency of said oversampled output data is greater than said output sampling frequency and less than said sampling frequency of said oversampled input data, in which said signal processor reads said oversampled input data in accordance with said first control signal and outputs said oversampled output data in accordance with said second control signal, said first control signal having a higher priority than said second control signal whereupon said signal processor performs processing in accordance with said first control signal in preference to that in accordance with said second control signal; and
downsampling said oversampled output data so as to generate said output data at said output sampling frequency.
US08/059,371 1992-05-21 1993-05-12 Sampling frequency conversion using interrupt control Expired - Lifetime US5432511A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9210860 1992-05-21
GB9210860A GB2267192B (en) 1992-05-21 1992-05-21 Sampling frequency conversion

Publications (1)

Publication Number Publication Date
US5432511A true US5432511A (en) 1995-07-11

Family

ID=10715851

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/059,371 Expired - Lifetime US5432511A (en) 1992-05-21 1993-05-12 Sampling frequency conversion using interrupt control

Country Status (3)

Country Link
US (1) US5432511A (en)
JP (1) JP3310050B2 (en)
GB (1) GB2267192B (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570308A (en) * 1993-12-20 1996-10-29 Ricoh Company, Ltd. Method of processing digital audio signals of different sampling rates
US5633472A (en) * 1994-06-21 1997-05-27 Microsoft Corporation Method and system using pathnames to specify and access audio data at fidelity levels other than the level at which the data is stored
WO1997042742A2 (en) * 1996-05-08 1997-11-13 Philips Electronics N.V. Transmission of a digital information signal having a specific first sampling frequency
US5710729A (en) * 1994-06-30 1998-01-20 Sgs-Thomson Microelectronics, S.R.L. Filtering method and digital over sampler filter with a finite impulse response having a simplified control unit
WO1998038766A1 (en) * 1997-02-26 1998-09-03 Ericsson, Inc. Sample rate converter
US5818870A (en) * 1990-08-28 1998-10-06 Canon Kabushiki Kaisha Digital communication device
US5884040A (en) * 1995-01-11 1999-03-16 Sony Corporation Per-packet jamming in a multi-port bridge for a local area network
US5940597A (en) * 1995-01-11 1999-08-17 Sony Corporation Method and apparatus for periodically updating entries in a content addressable memory
US6012099A (en) * 1995-01-11 2000-01-04 Sony Corporation Method and integrated circuit for high-bandwidth network server interfacing to a local area network
US6157951A (en) * 1997-09-17 2000-12-05 Sony Corporation Dual priority chains for data-communication ports in a multi-port bridge for a local area network
US6208276B1 (en) * 1998-12-30 2001-03-27 At&T Corporation Method and apparatus for sample rate pre- and post-processing to achieve maximal coding gain for transform-based audio encoding and decoding
US6256313B1 (en) 1995-01-11 2001-07-03 Sony Corporation Triplet architecture in a multi-port bridge for a local area network
US6301256B1 (en) 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US6308218B1 (en) 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6332151B1 (en) * 1998-01-26 2001-12-18 U.S. Philips Corporation Time discrete filter
US6363067B1 (en) 1997-09-17 2002-03-26 Sony Corporation Staged partitioned communication bus for a multi-port bridge for a local area network
US6446173B1 (en) 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
US6617879B1 (en) 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
WO2003088535A2 (en) * 2002-04-05 2003-10-23 Harris Corporation Audio signal rate adaptation method and system
US6738384B1 (en) 1997-09-17 2004-05-18 Sony Corporation Technique for optimizing cut-through for broadcast and multi-cast packets in a multi-port bridge for a local area network
US20040151267A1 (en) * 2003-01-30 2004-08-05 Lsi Logic Corporation Apparatus and/or method for variable data rate conversion
CN102510286A (en) * 2011-10-29 2012-06-20 中北大学 Frequency conversion sampling method
US20130194007A1 (en) * 2012-01-30 2013-08-01 JVC Kenwood Corporation Asynchronous sampling frequency conversion device, method, and computer program product
US9923653B2 (en) 2016-03-09 2018-03-20 Alpine Electronics, Inc. Audio system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581288B2 (en) 2000-05-09 2010-11-17 パナソニック株式会社 Demodulator
US7116730B2 (en) 2000-05-09 2006-10-03 Matsushita Electric Industrial Co., Ltd. Demodulation apparatus
JP2004214827A (en) * 2002-12-27 2004-07-29 Sony Corp Sampling rate conversion apparatus and method thereof, and audio apparatus
JP4667791B2 (en) * 2004-03-19 2011-04-13 株式会社神戸製鋼所 Digital equalizer device, digital equalizer program
JP2007158378A (en) * 2005-11-14 2007-06-21 Sony Corp Signal switching apparatus and control method thereof
US8879407B2 (en) 2010-05-26 2014-11-04 Qualcomm Incorporated Two-way ranging messaging scheme
US8837307B2 (en) 2010-05-26 2014-09-16 Qualcomm Incorporated Two-way ranging messaging scheme
US8886148B2 (en) 2010-05-26 2014-11-11 Qualcomm Incorporated Signal based gain control
US8812063B2 (en) 2010-05-26 2014-08-19 Qualcomm Incorporated Signal characteristic-based leading edge detection
US8831141B2 (en) 2010-06-25 2014-09-09 Qualcomm Incorporated Leading edge detection

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4460890A (en) * 1982-01-21 1984-07-17 Sony Corporation Direct digital to digital sampling rate conversion, method and apparatus
US4639920A (en) * 1983-02-25 1987-01-27 Nec Corporation Data interpolating circuit using a two data word memory
EP0227172A1 (en) * 1985-12-18 1987-07-01 Koninklijke Philips Electronics N.V. Phase-locked loop coefficient generator for a filter arrangement having a non-rational ratio between input and output sampling frequencies
EP0262647A2 (en) * 1986-09-30 1988-04-06 Kabushiki Kaisha Toshiba Sample rate conversion system having interpolation function
US4748578A (en) * 1980-11-26 1988-05-31 Willi Studer Process and apparatus for translating the sampling rate of a sampling sequence
US5038365A (en) * 1989-01-10 1991-08-06 International Business Machines Corporation Modem having a software-adapted modulation rate
US5126737A (en) * 1990-04-16 1992-06-30 Yamaha Corporation Method for converting a digital signal into another digital signal having a different sampling frequency
US5285401A (en) * 1990-02-07 1994-02-08 Studer Revox Ag Method and apparatus for converting scanning values of an input scanning sequence

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748578A (en) * 1980-11-26 1988-05-31 Willi Studer Process and apparatus for translating the sampling rate of a sampling sequence
US4460890A (en) * 1982-01-21 1984-07-17 Sony Corporation Direct digital to digital sampling rate conversion, method and apparatus
US4639920A (en) * 1983-02-25 1987-01-27 Nec Corporation Data interpolating circuit using a two data word memory
EP0227172A1 (en) * 1985-12-18 1987-07-01 Koninklijke Philips Electronics N.V. Phase-locked loop coefficient generator for a filter arrangement having a non-rational ratio between input and output sampling frequencies
EP0262647A2 (en) * 1986-09-30 1988-04-06 Kabushiki Kaisha Toshiba Sample rate conversion system having interpolation function
US5038365A (en) * 1989-01-10 1991-08-06 International Business Machines Corporation Modem having a software-adapted modulation rate
US5285401A (en) * 1990-02-07 1994-02-08 Studer Revox Ag Method and apparatus for converting scanning values of an input scanning sequence
US5126737A (en) * 1990-04-16 1992-06-30 Yamaha Corporation Method for converting a digital signal into another digital signal having a different sampling frequency

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818870A (en) * 1990-08-28 1998-10-06 Canon Kabushiki Kaisha Digital communication device
US5570308A (en) * 1993-12-20 1996-10-29 Ricoh Company, Ltd. Method of processing digital audio signals of different sampling rates
US5633472A (en) * 1994-06-21 1997-05-27 Microsoft Corporation Method and system using pathnames to specify and access audio data at fidelity levels other than the level at which the data is stored
US5710729A (en) * 1994-06-30 1998-01-20 Sgs-Thomson Microelectronics, S.R.L. Filtering method and digital over sampler filter with a finite impulse response having a simplified control unit
US6256313B1 (en) 1995-01-11 2001-07-03 Sony Corporation Triplet architecture in a multi-port bridge for a local area network
US5884040A (en) * 1995-01-11 1999-03-16 Sony Corporation Per-packet jamming in a multi-port bridge for a local area network
US5940597A (en) * 1995-01-11 1999-08-17 Sony Corporation Method and apparatus for periodically updating entries in a content addressable memory
US6012099A (en) * 1995-01-11 2000-01-04 Sony Corporation Method and integrated circuit for high-bandwidth network server interfacing to a local area network
WO1997042742A2 (en) * 1996-05-08 1997-11-13 Philips Electronics N.V. Transmission of a digital information signal having a specific first sampling frequency
WO1997042742A3 (en) * 1996-05-08 2000-07-27 Philips Electronics Nv Transmission of a digital information signal having a specific first sampling frequency
WO1998038766A1 (en) * 1997-02-26 1998-09-03 Ericsson, Inc. Sample rate converter
US5818888A (en) * 1997-02-26 1998-10-06 Ericsson, Inc. Sample rate converter
US6744728B1 (en) 1997-09-17 2004-06-01 Sony Corporation & Sony Electronics, Inc. Data pipeline timing optimization technique in a multi-port bridge for a local area network
US6738384B1 (en) 1997-09-17 2004-05-18 Sony Corporation Technique for optimizing cut-through for broadcast and multi-cast packets in a multi-port bridge for a local area network
US6301256B1 (en) 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US6308218B1 (en) 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6816490B1 (en) 1997-09-17 2004-11-09 Sony Corporation Statistical learning technique in a multi-port bridge for a local area network
US6363067B1 (en) 1997-09-17 2002-03-26 Sony Corporation Staged partitioned communication bus for a multi-port bridge for a local area network
US6446173B1 (en) 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
US6617879B1 (en) 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
US6751225B1 (en) 1997-09-17 2004-06-15 Sony Corporation Port within a multi-port bridge including a buffer for storing routing information for data packets received in the port
US6157951A (en) * 1997-09-17 2000-12-05 Sony Corporation Dual priority chains for data-communication ports in a multi-port bridge for a local area network
US6332151B1 (en) * 1998-01-26 2001-12-18 U.S. Philips Corporation Time discrete filter
US6208276B1 (en) * 1998-12-30 2001-03-27 At&T Corporation Method and apparatus for sample rate pre- and post-processing to achieve maximal coding gain for transform-based audio encoding and decoding
US7295567B2 (en) 2002-04-05 2007-11-13 Harris Corporation Audio signal rate adaptation method and system
WO2003088535A2 (en) * 2002-04-05 2003-10-23 Harris Corporation Audio signal rate adaptation method and system
US20030219032A1 (en) * 2002-04-05 2003-11-27 Tweed David B. Audio signal rate adaptation method and system
WO2003088535A3 (en) * 2002-04-05 2004-01-22 Harris Corp Audio signal rate adaptation method and system
US20040151267A1 (en) * 2003-01-30 2004-08-05 Lsi Logic Corporation Apparatus and/or method for variable data rate conversion
US7764758B2 (en) * 2003-01-30 2010-07-27 Lsi Corporation Apparatus and/or method for variable data rate conversion
CN102510286A (en) * 2011-10-29 2012-06-20 中北大学 Frequency conversion sampling method
CN102510286B (en) * 2011-10-29 2014-11-12 中北大学 Frequency conversion sampling method
US20130194007A1 (en) * 2012-01-30 2013-08-01 JVC Kenwood Corporation Asynchronous sampling frequency conversion device, method, and computer program product
US8854238B2 (en) * 2012-01-30 2014-10-07 JVC Kenwood Corporation Asynchronous sampling frequency conversion device, method, and computer program product
US9923653B2 (en) 2016-03-09 2018-03-20 Alpine Electronics, Inc. Audio system

Also Published As

Publication number Publication date
JP3310050B2 (en) 2002-07-29
GB9210860D0 (en) 1992-07-08
GB2267192A (en) 1993-11-24
JPH06260887A (en) 1994-09-16
GB2267192B (en) 1995-09-27

Similar Documents

Publication Publication Date Title
US5432511A (en) Sampling frequency conversion using interrupt control
US4506228A (en) Digital FM detector
EP0599817B1 (en) Sampling frequency conversion method and apparatus
US7262716B2 (en) Asynchronous sample rate converter and method
US6650258B1 (en) Sample rate converter with rational numerator or denominator
US5392044A (en) Method and apparatus for digitizing a wide frequency bandwidth signal
US4825398A (en) Method and apparatus for converting an input scanning sequence into an output scanning sequence
EP0837561B1 (en) Sampling frequency converting apparatus
US6055284A (en) Symbol timing recovery circuit in digital demodulator
EP1639703B1 (en) Rational sample rate conversion
US5227787A (en) Digital data converting system
JP2003069388A (en) Digital filter
US5717618A (en) Method for digital interpolation
EP1974494B1 (en) Nicam audio signal resampler
US7259700B2 (en) Method and device for converting the sampling frequency of a digital signal
US7072429B1 (en) Filter coefficient setting technique for variable filtering process and variable sampling frequency conversion
US6000834A (en) Audio sampling rate conversion filter
JP2004521568A (en) Fractional decimation filter using oversampled data
US5657261A (en) Interpolation of digital signals using signal sample replication
US7327288B2 (en) Variable interpolator for non-uniformly sampled signals and method
GB2267193A (en) Multi-tap oversampling filter
AU5190198A (en) Decimation method and decimation filter
JP3221034B2 (en) Sampling frequency converter
US6778600B1 (en) Method of filtering and apparatus therefore
JPH0590897A (en) Oversampling filter circuit

Legal Events

Date Code Title Description
AS Assignment

Owner name: SONY UNITED KINGDOM LIMITED

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SADJADIAN, AHMED;HURLEY, TERENCE RALPH;MANZE, SIMON MATTHEW;REEL/FRAME:006555/0449;SIGNING DATES FROM 19930413 TO 19930419

STPP Information on status: patent application and granting procedure in general

Free format text: APPLICATION UNDERGOING PREEXAM PROCESSING

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12