WO2002071620A1 - Appareil et procede de generation de la fonction d'interpolation, convertisseur numerique-analogique, interpolateur de donnees, programme et support d'enregistrement - Google Patents

Appareil et procede de generation de la fonction d'interpolation, convertisseur numerique-analogique, interpolateur de donnees, programme et support d'enregistrement Download PDF

Info

Publication number
WO2002071620A1
WO2002071620A1 PCT/JP2002/001947 JP0201947W WO02071620A1 WO 2002071620 A1 WO2002071620 A1 WO 2002071620A1 JP 0201947 W JP0201947 W JP 0201947W WO 02071620 A1 WO02071620 A1 WO 02071620A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
digital
input
processed
interpolation
Prior art date
Application number
PCT/JP2002/001947
Other languages
English (en)
French (fr)
Inventor
Yukio Koyanagi
Original Assignee
Sakai, Yasue
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 Sakai, Yasue filed Critical Sakai, Yasue
Priority to EP02702727A priority Critical patent/EP1367721A4/en
Priority to US10/275,247 priority patent/US6700521B2/en
Publication of WO2002071620A1 publication Critical patent/WO2002071620A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • 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/065Non-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 integer
    • H03H17/0657Non-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 integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M3/00Conversion of analogue values to or from differential modulation
    • H03M3/30Delta-sigma modulation
    • H03M3/50Digital/analogue converters using delta-sigma modulation as an intermediate step
    • H03M3/508Details relating to the interpolation process

Definitions

  • the present invention relates to an interpolation function generation device and method, a digital-to-analog conversion device, a data interpolation device, a program, and a recording medium. More specifically, the present invention relates to a technique for interpolating discrete digital data and converting it into a continuous analog signal.
  • D-to-A converter digital-to-analog converter
  • D / A converter data interpolation using a digital filter is generally performed in order to interpolate between digital data input discretely and increase the sampling frequency in a pseudo manner.
  • FIG. 1 is an explanatory diagram of the sinc function.
  • the sinc function appears when the Dirac delta function is inverse-Fourier-transformed, and is defined as sin ( ⁇ ft) / (tft), where f is the standardized frequency.
  • FIG. 2 is a diagram showing a relationship between discrete data and an interpolated value therebetween.
  • the discrete data values at each of the equally-spaced sampling points tl, t2, t3, and t4 are represented by Y (tl), Y (t2), Y (t3), and Y (t3). 4) .
  • Y (t3) Y (t3).
  • y corresponding to a predetermined position t0 (a distance a from t2) between sampling points t2 and t3 is determined.
  • the interpolated value y is calculated using a sampling function.
  • the value of the sampling function at the interpolation position t 0 is determined for each of the given pieces of scattered data, and the convolution operation may be performed using this. Specifically, the peak height at the center position of the sampling function is matched for each sampling point from tl to t4, and the value of the sampling function at each interpolation position t0 (X mark) ) And add them all.
  • interpolation position t0 moves with the lapse of time, but the level corresponding to each sample position also changes with the lapse of time, so that the interpolation value y (t0) also changes continuously, and And a continuous analog signal can be obtained.
  • the sinc function described above is a function that converges to 0 at ⁇ ⁇ . Therefore, in order to obtain an accurate interpolated value, it is necessary to obtain the value of the sinc function for all the discrete data and perform convolution addition.
  • the range of discrete data to be considered is limited due to processing capacity and circuit scale. Digital filter processing was being performed. For this reason, the obtained interpolated value includes a truncation error, and there is a problem that an accurate interpolated value cannot be obtained.
  • the present invention has been made in order to solve such a problem, and a smooth analog signal with less waveform distortion due to degradation of phase characteristics due to a one-pass filter and truncation error of interpolation using a sinc function.
  • the purpose is to be able to generate.
  • Another object of the present invention is to make it possible to obtain an interpolation function used to generate such a smooth analog signal by simpler logic or a simpler algorithm. Disclosure of the invention
  • An interpolation function generating apparatus includes: a data input unit that oversamples a single piece of digital data and obtains a part of the oversampled data as input data; And processing means for processing the input data using a digital basic waveform and performing a moving average calculation or a convolution calculation on the processed digital data to obtain an interpolation function.
  • the data input means obtains a first half or a second half of the oversampled data as the input data.
  • the arithmetic means in order to perform the moving average operation or the convolution operation, includes a digital data processed by the digital basic waveform and a number obtained by shifting the digital data by a phase of one over sample period.
  • First adding means for adding the digital data and the digital data processed by the above digital basic waveform by a phase of one over sample period.
  • a second adding means for adding the selected data to each other, and a third adding means for adding the outputs of the first and second adding means. .
  • the interpolation function generation method of the present invention includes a first step of oversampling single digital data and obtaining a part of the oversampled data as input data, and processing the input data with a digital basic waveform A second step of performing a moving average operation or a convolution operation on the digital data processed by the digital basic waveform to obtain an interpolation function.
  • a first half or a second half of the oversampled data is obtained as the input data.
  • the digital data processed in the second step and several data obtained by shifting the digital data by the phase of the oversampling period are added, It is characterized in that several pieces of data obtained by shifting the digital data processed by the above-described digital basic waveform by a phase of one over sample period are added together, and the addition results are added together.
  • the digital-to-analog conversion device of the present invention comprises: a data input means for oversampling a plurality of discrete data, and obtaining a part of the oversampled data as input data for each discrete data; Means for processing the input data obtained by the means with a digital basic waveform, and combining the processed digital data by a moving average calculation or a convolution calculation to obtain an interpolation value for the discrete data. It is characterized by the following.
  • the data input means includes a clock having a predetermined frequency.
  • the plurality of discrete data provided for each clock are oversampled, and a part of the oversampled data is obtained as the input data for each clock period divided by the clock of the predetermined frequency.
  • the data input means obtains a first half or a second half of the oversampled data as the input data for each clock period.
  • the calculation means in order to perform the moving average calculation or the convolution calculation, includes a digital data processed by the digital basic waveform and a number obtained by shifting the digital data by a phase of one oversample period.
  • First adding means for adding a plurality of pieces of data
  • second adding means for adding several pieces of data obtained by shifting the digital data processed by the digital basic waveform by a phase of one over sample period.
  • third adding means for adding outputs of the first adding means and the second adding means.
  • the data interpolation device of the present invention comprises: a data input means for oversampling a plurality of discrete data, and obtaining a part of the oversampled data as input data for each discrete data; Processing means for processing the obtained input data with a digital basic waveform, and combining the processed digital data by moving average calculation or convolution calculation to obtain an interpolation value for the discrete data. It is characterized by.
  • the data input unit samples each of the plurality of discrete data provided for each clock of a predetermined frequency, and samples each of the plurality of discrete data for each clock period divided by the clock of the predetermined frequency.
  • the data input means obtains a first half or a second half of the oversampled data as the input data for each clock period.
  • the calculation means in order to perform the moving average calculation or the convolution calculation, includes a digital data processed by the digital basic waveform and a number obtained by shifting the digital data by a phase of one oversample period.
  • third addition means for adding the outputs of the first addition means and the second addition means.
  • the interpolation function generation program comprises: data input means for oversampling single digital data and obtaining a part of the oversampled data as input data; and the input data obtained by the data input means. Is processed by a digital basic waveform, and a computer is operated as a calculation means for obtaining an interpolation function by performing a moving average calculation or a convolution calculation on the processed digital data.
  • the data interpolation program of the present invention comprises a data input means for oversampling a plurality of discrete data and obtaining a part of the oversampled data as input data for each discrete data;
  • the above-mentioned input data obtained by the input means is processed by a digital basic waveform, and the added digital data is synthesized by a moving average operation or a convolution operation, thereby obtaining an interpolation value for the discrete data. It is for making a computer function.
  • the computer-readable recording medium of the present invention is characterized in that: A program for causing a computer to function as each means described in Paragraph 15 or 16 is recorded.
  • the present invention obtains an interpolated value by oversampling input digital data and performing a moving average operation or a convolution operation while processing the oversampled data with a digital basic waveform. ing.
  • continuous interpolation values can be obtained only by performing the above digital processing, the result of DZA conversion of this is a smooth analog signal, and there is no need to provide a mouth-to-pass filter. Deterioration of the phase characteristic by the filter can be suppressed.
  • the function generated from the basic digital waveform in the present invention is a finite-order sampling function, the number of discrete data required to obtain one interpolated value can be reduced, and the processing target Even if the number of discrete data to be used is reduced, no truncation error occurs, so that distortion of the output waveform can be minimized. Therefore, the quality of the output analog audio signal can be remarkably improved.
  • a part of the oversampled data is obtained as input data, and the processing with the digital basic waveform and the moving average calculation or the convolution calculation are performed using the part of the oversampled data.
  • This makes it possible to perform processing using the digital basic waveform and moving average calculation or convolution calculation with extremely simple processing. Therefore, when the present invention is configured by hardware, this can be realized by simpler logic, and the circuit scale can be significantly reduced. Further, when the present invention is configured by software, this can be realized by an extremely simple algorithm, and the processing load can be reduced and the calculation can be performed at high speed.
  • FIG. 1 is an explanatory diagram of the sine function.
  • FIG. 2 is an explanatory diagram of the interpolation operation.
  • FIG. 3 is a diagram illustrating a configuration example of an interpolation function generation device, a D / A conversion device, or a data interpolation device according to the present embodiment.
  • FIG. 4 is a timing chart showing the operation of the data input unit according to the present embodiment.
  • FIG. 5 is a flowchart showing an operation when the present embodiment is realized by software, and a diagram showing a numerical sequence.
  • FIG. 6 is a diagram showing a digital basic waveform used in the present embodiment.
  • FIG. 7 is a diagram showing a waveform obtained by graphing the numerical sequence of FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • the input discrete digital data is processed with a digital basic waveform as shown in FIG. 6, and a predetermined moving average operation or convolution operation is performed on the processed digital data, as shown by a solid line C in FIG. This is to obtain an interpolation function.
  • the function indicated by the solid line C in FIG. 7 is a sampling function, which can be differentiated once in the entire area, and has a finite base that converges to 0 at a finite sample position (the value of the function is 0 in a local area). It has a finite value other than, and it is 0 in other areas). Therefore, instead of the conventional sinc function shown in Fig. 1, superposition based on each discrete data is performed by using the sampling function of Fig. 7, so that a function that can differentiate once between the discrete data is used. Can be interpolated.
  • FIG. 3 is a diagram showing a configuration example of the interpolation function generation device 100 according to the present embodiment.
  • a D-type flip-flop (hereinafter abbreviated as D ⁇ FF) 1 holds input digital data in accordance with a clock ck of a predetermined frequency (for example, 44.1 kHz).
  • the AND gate 2 takes the logical product of the digital data input from D'FF1 and the clock ck and outputs D'FF3-; i. D.FF 3-, holds the digital data output from the AND gate 2 according to, for example, an 8 ⁇ frequency clock 8 ck.
  • FIG. 4 is a timing chart showing the operation of the data input means.
  • the digital data shown in FIG. 4 (b) is held at D.FF1 in synchronization with the rise of the clock ck shown in FIG. 4 (a). Be held.
  • the AND gate 2 performs a logical AND operation of the digital data held in D. FF1 and the clock ck, and outputs digital data only during the section where the clock ck is "H".
  • D-FF3— holds the digital data output from the AND gate 2 in accordance with the 8 ⁇ frequency clock 8ck.
  • the data input means obtains the first half (4 clocks) of the eight-times oversampled data as input data.
  • the first half of the 8x oversampled data is obtained as input data by AND operation of the digital data and the clock ck, but the second half of the 8x oversampled data is obtained by NAND operation, for example. It may be obtained as input data.
  • Twenty- four D FFs 3 to 3 _ 24 cascaded after the AND gate 2 are used for over-sampled data output from AND gate 2 (the first half during one clock ck period). ) Are successively held while delaying one clock at a time according to an 8 ⁇ frequency clock 8 ck.
  • the data B 1 to B 24 sequentially delayed and output by the 24 DFFs 3 to 3 _ 24 are appropriately distributed and input to the first to third adders 4 to 6, respectively.
  • the first adder 4 is composed of four data B 1 to B 4 output from the four D FFs 3_, to 3_ 4 located at the most input side, and four data D 1 to B 4 output at the most output side.
  • D-F 3 _ 21 to 3 _ 24 Input the data 8 1 to B 2 4 output from the unit, add them and output.
  • the first adder 4 is equivalent to the one that produces "1-1, -1" portions on both sides of the digital basic waveform shown in FIG.
  • the second adder 5 inputs the data B 9 to B 16 output from the eight D ⁇ FFs 3 _ 9 to 3-16 located at the center, adds them, and outputs the result. You In other words, the second adder 5 is equivalent to the one that produces the portion "8, 8" which is the center of the digital basic waveform shown in FIG.
  • Third adder 6 input from 5 to 8 th side D ⁇ FF 3 - 5 to the data B 5 to B 8 to be output from 3- 8, D of 5 to 8 th from the output side ⁇ FF 3 - 17 ⁇ 3- 2 .
  • the data B 17 to B 20 output from, are added, and these are added and output.
  • the third adder 6 is equivalent to the one that creates the “1, 1” portion of the digital basic waveform shown in FIG.
  • the 1/3 doubling multiplier 7 multiplies the addition result output from the first adder 4 by 1 1 3 2.
  • the 14-time multiplier 8 multiplies the addition result output from the second adder 5 by 1 to 4 times.
  • the 1/3 doubler 9 multiplies the addition result output from the third adder 6 by 1/3 2.
  • the fourth adder 10 adds the multiplication results output from the multipliers 7 to 9.
  • each multiplier 7 to 9 as “1/3 2”, “1/4”, “1/3 2” is “ ⁇ 1” “8” “1” of the digital basic waveform shown in FIG. It corresponds to the ratio of Therefore, the digital data input by the data input means is processed by the digital basic waveform shown in FIG. 6 by adding the multiplication results of these multipliers 7 to 9 by the fourth adder 10. It will be. If a single digital data having an amplitude of “1” is input, the digital waveform obtained from the fourth adder 10 becomes the waveform itself in FIG.
  • Four delay circuits 11 1-, to 11-4 cascaded after the fourth adder 10 described above output the data output from the fourth adder 10 to a clock having an eight-fold frequency. Delay one clock at a time according to 8 ck. These de les I circuit 1 1 4, ⁇ Narogudi ray of the sample-and-hold, etc. If the analog processing, is constituted by D ⁇ FF when digital processing.
  • the data C 20 output from the fourth adder 10 and the data C 20 I Ray circuit 1 1 - ⁇ 1 data C 2 1 - C 2 4, which is being sequentially delayed output by 1 _ 4 are each properly distributed to the adder 1 2, 1 3 of the fifth and sixth Will be entered.
  • the adder 1 2 The fifth and (digital de Isseki processed by the digital basic waveform) fourth data C 2 0 which is output from the adder 1 0, the Delay circuit 1 1 1 - 3 The output data C 21 to C 23 (three digital data shifted by the phase of the oversample period) are added.
  • This fifth adder 12 corresponds to the first adding means of the present invention.
  • the sixth adder 13 corresponds to a second adding means of the present invention.
  • the seventh adder 14 adds the output results of the fifth and sixth adders 12 and 13 described above.
  • the seventh adder 14 corresponds to a third adding means of the present invention.
  • Each of these delay circuits 11 _, to 11 _ 4 and the fifth to seventh adders 12 to 14 executes a moving average operation or a convolution operation.
  • the 1Z 8-fold multiplier 15 multiplies the addition result output from the seventh adder 14 by 1/8. This is for adjusting the amplitude increased by the addition by the moving average operation or the convolution operation to the amplitude of the original digital input.
  • the 1/8 multiplier 15 outputs a smooth interpolation value close to analog generated from the original digital data.
  • FIG. 5 is a diagram showing an operation when processing is performed by software.
  • FIG. 5 (a) shows a flowchart thereof
  • FIG. 5 (b) shows a numerical sequence obtained in each operation step of the flowchart.
  • the numerical sequence shown in Fig. 5 (b) shows an example of the result of processing a single digital data with an amplitude of "1".
  • a graph of the numerical sequence shown in FIG. 5B is a waveform diagram shown in FIG.
  • step S1 the first half of the eight-times over one sample data included in one clock ck period is obtained as the input data.
  • the numerical sequence of this input data is shown in the second column from the left of Fig. 5 (b).
  • the “0” column of row numbers 1 to 24 is given assuming a delay corresponding to D ⁇ FF 3 —, to 3 _ 24 in FIG.
  • the waveform corresponding to this numerical sequence is shown by a solid line A in FIG.
  • step S2 -SUM (B1: B4) / 4-SUM (B21: B24) / 4 + SUM (B5: B8) / 4 + SUM (B17: B20) / 4 + SUM (B9: B16 ) * 2 is executed (B1 to B24 correspond to the data output from D. FFS -i S— in FIG. 3).
  • the numeric sequence of the intermediate value data obtained by this operation is shown in the third column of FIG. 5 (b).
  • the waveform corresponding to this sequence of numerical values is shown by the dashed line B in FIG.
  • the calculation is executed with the input data of row numbers 1 to 24 as B1 to B24.
  • step S3 the operation of (SUM (C20: C23) + SUM (C21: C24)) / 8 is executed (C20 to C24 are the fourth adder 10 and the delay circuit 1 in FIG. 3). 1 to 1 1—corresponds to the data output from 4 ).
  • the numerical sequence of output data obtained by this operation is shown in the fourth column of FIG. 5 (b).
  • the waveform corresponding to this numerical sequence is shown by the solid line C in FIG.
  • the abscissa indicates the clock of 8 times the frequency of 8 k
  • the ordinate indicates the amplitude of the data.
  • the input waveform A corresponds to the waveform of the first half of the 8-fold oversampled data during the one clock ck period held in D and FF3_, in FIG.
  • the waveform B of the intermediate value corresponds to the waveform (multiplied by 8) of the data output from the fourth adder 10 in FIG.
  • the output waveform C corresponds to the data waveform (multiplied by 8) output from the 1-to-8 multiplier 15 in FIG.
  • the device in FIG. 3 can be used as it is as a D / A converter or a data interpolator. That is, by using the function shown by the output data in FIG. 7 as an interpolation function and interpolating discrete digital data sequentially input every clock ck, the digital data is converted into a smooth analog signal. Becomes possible.
  • the discrete digital data is oversampled by a factor of 8 each and only the first half is used, so that 4 Blanks for clocks are formed and input in order. Then, each oversampled data is synthesized by a moving average operation or a convolution operation while being processed by the digital basic waveform.
  • a plurality of digital basic waveforms having amplitudes corresponding to the values of the input discrete data are synthesized by a moving average calculation or a convolution calculation while shifting by half (4 clocks) of the 8 ⁇ frequency clock 8 ck. I will go.
  • the discrete digital data is interpolated according to the interpolation function shown in FIG.
  • the interpolation function generated from the basic digital waveform is a sampling function of a finite scale, accurate interpolation can be performed only by using a finite number of discrete data. That is, an interpolated value can be obtained without causing a truncation error, and distortion of an output waveform can be minimized.
  • a compact disk CD
  • a sound that is very similar to an analog record can be obtained. be able to.
  • the input digital data is oversampled at the input stage of digital data, and a part of the oversampled data is obtained as input data.
  • the digital basic waveform used in the present embodiment is created by changing the data value to -1, 1, 8, 8, 8, 1, 11 It is.
  • the 8, 8 portion where the same numerical value is continuous in the middle is one clock ck period
  • the remaining -1, 1, 1, 1, 11 portion is a one-two clock period. Therefore, if only half of the oversampled data is input from the beginning in the input stage, the digital data can be obtained simply by simply adding the input data using the first to third adders 4 to 6. Can be added to the waveform. Further, the subsequent moving average calculation or convolution calculation can be performed only by delay and simple addition.
  • the interpolation function generation device the D / A conversion device, or the data interpolation device is configured by hardware as shown in FIG. 3, this can be realized by simpler logic. Therefore, the device can be configured with as few delay circuits and adder circuits as possible, and the circuit scale can be reduced.
  • an interpolation function generator, a DZA converter, or a data interpolator is configured by software, it can be realized with an extremely simple algorithm and an extremely small amount of processing as shown in FIG. As a result, the processing load can be reduced and the calculation can be performed at high speed.
  • the digital basic waveform is set to 1 1, 1, 8, 8, 1, 1, 1, and weighted according to this ( ⁇ 1/3 2, 1/4, 1/3 2).
  • the digital basic waveform (weighting value) is not limited to this example.
  • any weight can be applied as long as the obtained interpolation function can be subdivided once in the entire area and the function is a finite table that converges to 0 at a finite sample position.
  • the weights on both sides may be 1 Z32 or 0 instead of -1 Z32.
  • the weight in the center may be set to a value other than 1Z4. In any case, good curve interpolation can be realized.
  • composition operation shown in the above embodiment is merely an example.
  • the present invention is not limited to this.
  • the digital input is oversampled by 8 times, but is not limited to 8 times.
  • the magnification may be reduced to 2 times, 4 times, or the like, or may be increased to 16 times, 32 times,.
  • the magnification is reduced, the number of delay circuits can be reduced, the size of each adder can be reduced, and the apparatus can be downsized as a whole.
  • the magnification is increased, the accuracy of the interpolation can be improved, and the quality of the obtained analog signal can be improved.
  • the first half or the second half of the oversampled data is used. Is obtained as input data, but is not limited to this. In short, as long as half of the over-one sample data during one clock ck period can be obtained as input data, the data may be skipped one by one or randomly.
  • the interpolation method according to the present embodiment described above can be realized by any of a hardware configuration, a DSP, and software.
  • the interpolation function generation device, the D / A conversion device, or the data interpolation device according to the present embodiment is actually configured by a CPU or MPU, RAM, ROM, or the like of the computer, and RAM or ROM is used. Therefore, it can be realized by the operation of the program stored in the ROM. Therefore, a program that causes the computer to perform the functions of the present embodiment is recorded on a recording medium such as a CD-ROM and read by the computer. It can be realized by.
  • a recording medium for recording the above programs in addition to a CD-ROM, a floppy disk, a hard disk, a magnetic tape, an optical disk, a magneto-optical Disks, DVDs, nonvolatile memory cards, and the like can be used. It can also be realized by downloading the above program at a convenience store via a network such as the Internet.
  • the present invention is useful for generating a smooth analog signal with little waveform distortion due to a phase characteristic deterioration due to a low-pass filter and a truncation error of interpolation using a sine function.
  • the present invention is also useful for enabling an interpolation function used to generate a smooth analog signal to be obtained by simpler logic or a simpler algorithm.

Description

明 細 書 補間関数生成装置および方法、 デジタル一アナログ変換装置、 デ一夕補 間装置、 プログラム並びに記録媒体 技術分野
本発明は補間関数生成装置および方法、 デジタル一アナログ変換装置 、 デ一夕補間装置、 プログラム並びに記録媒体に関するものである。 具 体的には、 離散的なデジタルデータを補間して連続的なアナログ信号に 変換するための手法に関するものである。 背景技術
C D (コンパク トディスク) プレーヤや D V D (デジタルビデオディ スク) プレーヤ等のデジタルオーディオ装置においては、 離散的なデジ タルの音声データから連続的なアナログの音声信号を得るために、 ォ一 バ一サンプリ ング技術を適用したデジタル一アナログ変換器 ( Dノ A変 換器) が用いられている。 この種の D / A変換器では、 離散的に入力さ れるデジタルデータの間を補間して擬似的にサンプリ ング周波数を上げ るために、 一般にはデジタルフィルタを用いたデータ補間が行われてい る。
通常、 A変換器に含まれるデジタルフィル夕によるデータ補間は 、 s i n c関数と称される標本化関数を用いた畳み込み演算によって行 われる。 図 1 は、 s i n c関数の説明図である。 s i n c関数は、 ディ ラックのデルタ関数を逆フーリエ変換したときに現れるものであり、 標 本化周波数を f としたときに s i n ( π f t ) / ( t f t ) で定義され る。 この s i n c関数は、 t = 0の標本点のみで値が 1 になり、 他の全 ての標本点では値が 0 となる。
図 2は、 離散データとその間の補間値との関係を示す図である。 図 2 において、 等間隔のサンプリングポイント t l , t 2 , t 3 , t 4のそ れぞれにおける離散データの値を Y ( t l ) , Y ( t 2 ) , Y ( t 3 ) , Y ( t 4 ) とし、 例えばサンプリ ングポイント t 2 と t 3の間の所定 位置 t 0 ( t 2から距離 a ) に対応した補間値 yを求める場合を考える 一般に、 補間値 yを標本化関数を用いて求めるには、 与えられた各離 散データのそれぞれについて補間位置 t 0における標本化関数の値を求 め、 これを用いて畳み込み演算を行えばよい。 具体的には、 t l〜 t 4 の各サンプリ ングポイント毎に、 標本化関数の中心位置におけるピーク 高さを一致させ、 このときのそれぞれの補間位置 t 0における標本化関 数の値 (X印で示す) を求めて、 それらを全て加算する。
なお、 時間経過とともに補間位置 t 0が移動するが、 各標本位置に対 応するそれぞれのレベルも経過時間と共に変化するため、 補間値 y ( t 0 ) も連続的に変化し、 各離散データ間を滑らかにつなぐ連続したアナ ログの信号を得ることができる。
しかしながら、 上述のようなォ一バーサンプリ ング技術を用いた従来 の D / A変換器では、 補間により階段状の信号波形を得て、 それを口一 パスフィル夕に通すことによって滑らかなアナログ信号を生成している 。 そのため、 出力されるアナログ信号にローパスフィルタによる位相特 性の劣化が重畳してしまうという問題があった。
また、 上述の s i n c関数は、 ±∞で 0に収束する関数であるため、 正確な補間値を求めようとすると、 全ての離散データについて s i n c 関数の値を求めて畳み込み加算する必要がある。 ところが実際には、 処 理能力や回路規模等の都合から、 考慮する離散データの範囲を限定して デジタルフィルタの処理が行われていた。 そのため、 得られる補間値に は打ち切り誤差が含まれ、 正確な補間値を得ることができないという問 題もあった。
本発明は、 このような問題を解決するために成されたものであり、 口 一パスフィルタによる位相特性の劣化や、 s i n c関数を用いた補間の 打ち切り誤差による波形の歪みが少ない滑らかなアナログ信号を生成で きるようにすることを目的とする。
また、 本発明は、 このような滑らかなアナログ信号を生成するために 使用する補間関数を、 より簡単なロジックもしくはより簡単なアルゴリ ズムにより得ることができるようにすることをも目的としている。 発明の開示
本発明の補間関数生成装置は、 単一のデジタルデータをオーバーサン プルし、 そのオーバ一サンプルデ一夕の一部を入力データとして得るデ 一夕入力手段と、 上記デ一夕入力手段により得た上記入力データをデジ タル基本波形により加工し、 加工されたデジタルデータに対して移動平 均演算または畳み込み演算を行うことにより補間関数を求める演算手段 とを備えたことを特徴とする。
本発明の他の態様では、 上記データ入力手段は、 上記オーバーサンプ ルデータの前半半分あるいは後半半分を上記入力デ一夕として得ること を特徴とする。
本発明のその他の態様では、 上記演算手段は、 上記移動平均演算また は畳み込み演算を行うために、 上記デジタル基本波形により加工された デジタルデータとそれをオーバ一サンプル周期の位相分ずつずらした数 個のデータとを加算する第 1 の加算手段と、 上記デジタル基本波形によ り加工されたデジタルデータをオーバ一サンプル周期の位相分ずつずら した数個のデータどう しを加算する第 2の加算手段と、 上記第 1 の加算 手段および上記第 2の加算手段の出力どうしを加算する第 3の加算手段 とを備えたことを特徴とする。
また、 本発明の補間関数生成方法は、 単一のデジタルデータをオーバ 一サンプルし、 そのオーバ一サンプルデータの一部を入力データとして 得る第 1のステップと、 上記入力データをデジタル基本波形により加工 する第 2のステップと、 上記デジタル基本波形により加工されたデジタ ルデータに対して移動平均演算または畳み込み演算を行う ことにより補 間関数を求める第 3のステップとを有することを特徴とする。
本発明の他の態様では、 上記第 1 のステップでは、 上記オーバ一サン プルデータの前半半分あるいは後半半分を上記入力データとして得るこ とを特徴とする。
本発明のその他の態様では、 上記第 3のステップでは、 上記第 2のス テツプで加工されたデジタルデータとそれをオーバーサンプル周期の位 相分ずつずらした数個のデータとを加算するとともに、 上記デジタル基 本波形により加工されたデジタルデータをオーバ一サンプル周期の位相 分ずつずらした数個のデータどうしを加算し、 更にこれらの加算結果ど うしを加算することを特徴とする。
また、 本発明のデジタル一アナログ変換装置は、 複数の離散データを それぞれオーバーサンプルし、 各離散データごとにそのォ一パーサンプ ルデータの一部を入力データとして得るデータ入力手段と、 上記デ一夕 入力手段により得た上記入力データをデジタル基本波形により加工し、 加工されたデジタルデータどうしを移動平均演算または畳み込み演算に より合成することによって、 上記離散データに対する補間値を求める演 算手段とを備えたことを特徴とする。
本発明の他の態様では、 上記データ入力手段は、 所定周波数のクロッ クごとに与えられる上記複数の離散データをそれぞれオーバーサンプル し、 上記所定周波数のクロックで区切られる各クロック期間ごとに上記 オーバーサンプルデータの一部を上記入力データとして得ることを特徴 とする。
本発明のその他の態様では、 上記デ一夕入力手段は、 上記各クロック 期間ごとに上記オーバーサンプルデータの前半半分あるいは後半半分を 上記入力データとして得ることを特徴とする。
本発明のその他の態様では、 上記演算手段は、 上記移動平均演算また は畳み込み演算を行うために、 上記デジタル基本波形により加工された デジタルデータとそれをオーバ一サンプル周期の位相分ずつずらした数 個のデータとを加算する第 1 の加算手段と、 上記デジタル基本波形によ り加工されたデジタルデータをオーバ一サンプル周期の位相分ずつずら した数個のデータどうしを加算する第 2の加算手段と、 上記第 1 の加算 手段および上記第 2の加算手段の出力どうしを加算する第 3の加算手段 とを備えたことを特徴とする。
また、 本発明のデータ補間装置は、 複数の離散データをそれぞれォー バーサンプルし、 各離散データごとにそのオーバーサンプルデータの一 部を入力データとして得るデータ入力手段と、 上記データ入力手段によ り得た上記入力データをデジタル基本波形により加工し、 加工されたデ ジタルデ一タどうしを移動平均演算または畳み込み演算により合成する ことによって、 上記離散データに対する補間値を求める演算手段とを備 えたことを特徴とする。
本発明の他の態様では、 上記データ入力手段は、 所定周波数のクロッ ク ごとに与えられる上記複数の離散データをそれぞれオーバ一サンプル し、 上記所定周波数のクロックで区切られる各クロック期間ごとに上記 オーバーサンプルデータの一部を上記入力データとして得ることを特徴 とする。
本発明のその他の態様では、 上記データ入力手段は、 上記各クロック 期間ごとに上記オーバーサンプルデータの前半半分あるいは後半半分を 上記入力データとして得ることを特徴とする。
本発明のその他の態様では、 上記演算手段は、 上記移動平均演算また は畳み込み演算を行うために、 上記デジタル基本波形により加工された デジタルデータとそれをオーバ一サンプル周期の位相分ずつずらした数 個のデータとを加算する第 1 の加算手段と、 上記デジタル基本波形によ り加工されたデジタルデ一夕をオーバ一サンプル周期の位相分ずつずら した数個のデータどう しを加算する第 2の加算手段と、 上記第 1 の加算 手段おょぴ上記第 2の加算手段の出力どうしを加算する第 3の加算手段 とを備えたことを特徴とする。
また、 本発明の補間関数生成プログラムは、 単一のデジタルデータを オーバーサンプルし、 そのォ一バーサンプルデータの一部を入力データ として得るデータ入力手段、 および上記データ入力手段により得た上記 入力データをデジタル基本波形により加工し、 加工されたデジタルデ一 夕に対して移動平均演算または畳み込み演算を行う ことにより補間関数 を求める演算手段としてコンピュータを機能させるためのものである。 また、 本発明のデータ補間プログラムは、 複数の離散デ一夕をそれぞ れオーバーサンプルし、 各離散データごとにそのオーバ一サンプルデー 夕の一部を入力データとして得るデータ入力手段、 および上記データ入 力手段により得た上記入力データをデジタル基本波形により加工し、 加 ェされたデジタルデータどうしを移動平均演算または畳み込み演算によ り合成することによって、 上記離散データに対する補間値を求める演算 手段としてコンピュータを機能させるためのものである。
また、 本発明のコンピュータ読み取り可能な記録媒体は、 請求の範囲 第 1 5項または第 1 6項に記載の各手段としてコンピュータを機能させ るためのプログラムを記録したことを特徴とする。
本発明は上述したように、 入力されるデジタルデータをオーバ一サン プルし、 そのオーバ一サンプルデータをデジタル基本波形により加工し ながら移動平均演算または畳み込み演算を行う ことによって補間値を得 るようにしている。 本発明では、 以上のようなデジタル処理を行うだけ で連続的な補間値を得ることができるため、 これを D Z A変換した結果 は滑らかなアナログ信号となり、 口一パスフィル夕を設けなくても済み 、 フィルタによる位相特性の劣化を抑制することができる。 さらに、 本 発明において基本デジタル波形から生成される関数は有限台の標本化関 数であるため、 1つの補間値を得るために必要な離散データの数を減ら すことができ、 しかも処理の対象とすべき離散データの数を減らした場 合であっても打ち切り誤差が生じないため、 出力波形の歪みを最小限に 抑えることができる。 したがって、 出力されるアナログ音声信号の品質 を格段に向上させることができる。
しかも、 本発明によれば、 オーバーサンプルデータの一部を入力デ一 夕として得るようにし、 その一部のオーバーサンプルデータを用いてデ ジタル基本波形による加工および移動平均演算または畳み込み演算を行 うようにしている。 これにより、 当該デジタル基本波形による加工およ び移動平均演算または畳み込み演算を極めて簡単な処理で行う ことがで きる。 よって、 本発明をハードウェアにより構成する場合には、 より簡 単なロジックにより これを実現することができ、 回路規模を格段に小さ くすることができる。 また、 本発明をソフ トウェアにより構成する場合 は、 極めて簡単なアルゴリズムでこれを実現することができ、 処理の負 荷を軽く して演算を高速に行う ことができる。 図面の簡単な説明
図 1 は、 s i n e関数の説明図である。
図 2は、 補間動作の説明図である。
図 3は、 本実施形態による補間関数生成装置、 D / A変換装置あるい はデータ補間装置の構成例を示す図である。
図 4は、 本実施形態によるデータ入力部の動作を示すタイミングチヤ ートである。
図 5は、 本実施形態をソフ トウエアにより実現する場合の動作を示す フローチヤ一トおよび数値列を示す図である。
図 6 は、 本実施形態で用いるデジタル基本波形を示す図である。 図 7は、 図 5の数値列をグラフ化した波形を示す図である。 発明を実施するための最良の形態
以下、 本発明の一実施形態を図面に基づいて説明する。
本実施形態では、 入力される離散的なデジタルデータを図 6 に示すよ うなデジタル基本波形により加工し、 それに所定の移動平均演算または 畳み込み演算を施すことによって、 図 7の実線 Cに示すような補間関数 を得るようにしたものである。
この図 7の実線 Cに示す関数は、 標本化関数であって、 全域において 1回微分可能であり、 しかも有限の標本位置において 0 に収束する有限 台 (関数の値が局所的な領域で 0以外の有限の値を有し、 それ以外の領 域で 0 となる場合を言う) の関数である。 したがって、 図 1 に示した従 来の s i n c関数の代わりに、 図 7の標本化関数を用いて各離散データ に基づく重ね合わせを行う ことにより、 離散データの間を 1回微分可能 な関数を用いて補間することが可能である。
この技術を用いれば、 所定のデジタル処理を行うだけで連続的な補間 値を得ることができるため、 これを DZ A変換した結果は滑らかなアナ ログ信号となり、 ローパスフィルタを設けなくても済む。 また、 基本デ ジタル波形から生成される補間関数は有限台の標本化関数であるため、 有限個の離散データを用いるだけで、 打ち切り誤差を生じることもなく 正確な補間値を得ることができ、 出力波形の歪みを最小限に抑えること ができる。
本出願人は、 このような技術に関して、 既に特許出願をしている (例 えば、 特願平 1 1 一 1 7 3 2 4 5号) 。 しかしながら、 この特許出願に 開示した技術で図 7のような補間関数を得るためには、 比較的複雑なコ ンポリューショ ン演算を行う必要がある。 そのため、 これをハー ドゥエ ァとして実現するためには、 多くのディ レイ回路や加算回路などが必要 となり、 回路規模が大きくなつてしまう。 また、 ソフ トウェアとして実 現する場合には、 処理の負荷が重くなり、 演算速度が遅くなつてしまう 。 以下に述べる本実施形態は、 この点を改良したものである。
図 3は、 本実施形態による補間関数生成装置 1 0 0の構成例を示す図 である。 図 3において、 D型フリ ップフロップ (以下、 D · F Fと略記 する) 1 は、 入力されたデジタルデータを所定周波数 (例えば 4 4. 1 KH z ) のクロック c kに従って保持する。 ANDゲート 2は、 D ' F F 1 より入力されたデジタルデータとクロック c kとの論理積をとつて D ' F F 3 - ;i出力する。 D . F F 3 -,は、 ANDゲート 2より出力され たデジタルデータを、 例えば 8倍周波数のクロック 8 c kに従って保持 する。
この D · F F 1、 ANDゲート 2および D · F F 3— ,によって本発明 のデータ入力手段が構成される。 図 4は、 当該データ入力手段の動作を 示すタイミングチャートである。 図 4 ( b ) に示すデジタルデータは、 図 4 ( a ) に示すクロック c kの立ち上がりに同期して D . F F 1 に保 持される。 ANDゲート 2 は、 D . F F 1 に保持されたデジタルデータ とクロック c kとの論理積をとることにより、 クロック c kが " H" の 区間だけデジタルデータを出力する。
このとき D - F F 3— ,は、 図 4 ( c ) に示すように、 ANDゲート 2 より出力されたデジタルデータを 8倍周波数のクロック 8 c kに従って 保持する。 これにより、 データ入力手段は、 8倍オーバーサンプルデー 夕の前半半分 ( 4クロック分) を入力データとして得ることになる。 なお、 ここではデジタルデ一夕とクロック c kとの AND演算によつ て 8倍オーバーサンプルデータの前半半分を入力データとして得ている が、 例えば N A N D演算によって 8倍オーバーサンプルデータの後半半 分を入力データとして得るようにしても良い。
上記 ANDゲート 2の後段に縦続接続された 2 4個の D · F F 3 〜 3 _24は、 ANDゲ一ト 2 より出力されたオーバ一サンプルデ一タ ( 1 ク ロック c k期間中の前半半分のデータ) を、 8倍周波数のクロック 8 c kに従って 1クロックずつ遅延しながら順次保持する。 これら 2 4個の D · F F 3 〜 3 _24により順次遅延されて出力されるデータ B 1〜 B 2 4は、 それぞれ第 1〜第 3 の加算器 4〜 6 に適当に分配して入力される 第 1の加算器 4は、 最も入力側に位置する 4個の D · F F 3 _,〜 3 _4か ら出力されるデータ B 1〜 B 4と、 最も出力側に位置する 4個の D - F 3 _21〜 3 _24から出カされるデ一夕 8 2 1〜 B 2 4とを入力し、 これら を加算して出力する。 すなわち、 この第 1の加算器 4は、 図 6 に示すデ ジタル基本波形の両脇に当たる "一 1 , — 1 " の部分を作り出すものに 相当する。
第 2の加算器 5は、 真中に位置する 8個の D · F F 3 _9~ 3— 16から出 力されるデータ B 9〜B 1 6 を入力し、 これらを加算して出力する。 す なわち、 この第 2の加算器 5は、 図 6 に示すデジタル基本波形の真中に 当たる " 8, 8 " の部分を作り出すものに相当する。
第 3 の加算器 6は、 入力側から 5〜 8個目の D · F F 3 -5〜 3— 8から出 力されるデータ B 5 ~ B 8 と、 出力側から 5〜 8個目の D · F F 3 - 17〜 3— 2。から出力されるデータ B 1 7 ~ B 2 0 とを入力し、 これらを加算し て出力する。 すなわち、 この第 3の加算器 6は、 図 6に示すデジタル基 本波形の " 1 , 1 " の部分を作り出すものに相当する。
- 1 / 3 2倍乗算器 7は、 第 1 の加算器 4から出力された加算結果を 一 1 3 2倍する。 1 4倍乗算器 8は、 第 2の加算器 5から出力され た加算結果を 1ノ 4倍する。 1 / 3 2倍乗算器 9は、 第 3の加算器 6か ら出力された加算結果を 1 / 3 2倍する。 第 4の加算器 1 0は、 各乗算 器 7〜 9から出力される乗算結果を加算する。
各乗算器 7〜 9 における "一 1 / 3 2 " " 1 / 4 " " 1 / 3 2 " とレ う乗算比率は、 図 6に示すデジタル基本波形の "— 1 " " 8 " " 1 " の 比率に相当する。 したがって、 これらの各乗算器 7〜 9における乗算結 果を第 4の加算器 1 0で加算することにより、 データ入力手段により入 力されたデジタルデータは、 図 6 に示すデジタル基本波形により加工さ れたことになる。 振幅が " 1 " の単一のデジタルデータを入力すれば、 第 4の加算器 1 0より得られるデジタル波形は、 図 6の波形そのものと なる。
上記第 4の加算器 1 0の後段に縦続接続された 4個のディ レイ回路 1 1 -,〜 1 1 -4は、 第 4の加算器 1 0より出力されたデータを 8倍周波数の クロック 8 c kに従って 1 クロックずつ順次遅延する。 これらのディ レ ィ回路 1 1—4は、 アナログ処理のときはサンプルホールド等のァ ナログディ レイ、 デジタル処理のときは D · F Fにより構成される。 上記第 4の加算器 1 0から出力されるデータ C 2 0およびこれが各デ ィ レイ回路 1 1 -,〜 1 1 _4により順次遅延されて出力されるデータ C 2 1 〜 C 2 4は、 それぞれ第 5および第 6の加算器 1 2, 1 3 に適当に分配 して入力される。
第 5の加算器 1 2 は、 第 4の加算器 1 0から出力されるデータ C 2 0 (デジタル基本波形により加工されたデジタルデ一夕) と、 各ディ レイ 回路 1 1— 1 -3から出力されるデータ C 2 1 ~ C 2 3 (オーバ一サン プル周期の位相分ずつずらした 3個のデジタルデータ) とを加算する。 この第 5の加算器 1 2は、 本発明の第 1 の加算手段に相当する。
第 6の加算器 1 3 は、 各ディ レイ回路 1 1 _,〜 1 1 -4から出力されるデ —夕 C 2 1〜 C 2 4 (デジタル基本波形により加工されたデジタルデー タをオーバ一サンプル周期の位相分ずつずらした 4個のデジタルデータ ) を加算する。 この第 6の加算器 1 3は、 本発明の第 2の加算手段に相 当する。
第 7の加算器 1 4は、 上記第 5および第 6の加算器 1 2, 1 3の出力 結果を加算する。 この第 7の加算器 1 4は、 本発明の第 3の加算手段に 相当する。 これらの各ディ レイ回路 1 1 _,〜 1 1 _4および第 5〜第 7の加 算器 1 2〜 1 4によって、 移動平均演算または畳み込み演算が実行され る。
1 Z 8倍乗算器 1 5は、 第 7の加算器 1 4から出力された加算結果を 1 / 8倍する。 これは、 移動平均演算または畳み込み演算による加算に よって増大した振幅を元のデジタル入力の振幅に合わせるためのもので ある。 以上の処理によって 1 / 8倍乗算器 1 5からは、 元のデジタルデ 一夕から生成されたアナログに近い滑らかな補間値が出力される。
なお、 上記 D · F F 3 以降の構成は、 オーバーサンプルデータをデ ジタル基本波形により加工して移動平均演算または畳み込み演算を行う 本発明の演算手段に相当する。 以上では、 図 7の実線 Cに示すような補間関数をハードウェア構成に より得る場合について説明したが、 ソフ トウエア的な処理によって得る ことも可能である。 図 5は、 ソフ トウェアによって処理する場合の動作 を示す図であり、 図 5 ( a ) はそのフローチャート、 図 5 ( b ) は当該 フローチャートの各動作ステップで得られる数値列を示す。 なお、 図 5 ( b ) に示す数値列は、 振幅が " 1 " の単一のデジタルデ —夕を処理した結果の例を示すものである。 また、 この図 5 ( b ) に示 す数値列をグラフ化したものが、 図 7 に示す波形図である。
図 5 ( a ) において、 まずステップ S 1で、 1 クロック c k期間中に 含まれる 8倍オーバ一サンプルデ一夕のうち前半半分のデータを入力デ 一夕として得る。 この入力データの数値列は、 図 5 ( b ) の左から第 2 列目に示されている。 なお、 行番号 1 〜 2 4の " 0 " 列は、 図 3の D · F F 3— ,〜 3 _24に相当する遅延分を想定して与えたものである。 また、 この数値列に対応する波形は、 図 7の実線 Aに示されている。
次に、 ステップ S 2で、 -SUM(B1 :B4)/4- SUM(B21 :B24)/4 + SUM(B5 :B8)/4 + SUM(B17:B20)/4 + SUM(B9:B16) *2なる演算を実行する (B1〜B24は図 3の D . F F S -i S— より出力されるデータに相当する) 。 この演算によ つて得られる中間値データの数値列は、 図 5 ( b ) の第 3列目に示され ている。 また、 この数値列に対応する波形は、 図 7の一点鎖線 Bに示さ れている。 ここで、 最初の中間値 (行番号 2 5の中間値) を求める際に は、 行番号 1 〜 2 4の入力データを B1〜B24として演算を実行する。 ま た、 例えば行番号 2 8の中間値 ( = -0.25) を求める際には、 行番号 4〜 2 7の入力データを B1〜B24 として演算を実行する。
なお、 ここでは乗算比率を一 1 / 4、 2 、 1 Z 4としており、 図 3の 場合に比べて 8倍になつているが、 これは単に図 7のグラフを見やすく するために便宜上倍率を大きく設定したに過ぎないものである。 次に、 ステップ S 3で、 (SUM(C20:C23)+SUM(C21 :C24))/8の演算を実行 する (C20〜C24は図 3の第 4の加算器 1 0およびディ レイ回路 1 1 〜 1 1—4より出力されるデータに相当する) 。 この演算によって得られる 出力データの数値列は、 図 5 ( b ) の第 4列目に示されている。 また、 この数値列に対応する波形は、 図 7の実線 Cに示されている。 ここで、 最初の出力データ (行番号 2 5の出力データ) を求める際には、 行番号 2 0 ~ 2 4の中間値デ一タを じ20~じ24 として演算を実行する。 また、 例 えば行番号 2 9の出力データ ( = -0.03125) を求める際には、 行番号 2 4〜 2 8 の中間値データを C20〜C24 として演算を実行する。
図 7 において、 横軸は 8倍周波数のクロック 8 ς kを示し、 縦軸はデ 一夕の振幅を示している。 この場合の入力波形 Aは、 図 3の D , F F 3 _, に保持される 1 クロック c k期間中における前半半分の 8倍ォ一バーサ ンプルデ一夕の波形に相当する。 また、 中間値の波形 Bは、 図 3の第 4 の加算器 1 0より出力されたデータの波形 ( 8倍されたもの) に相当す る。 さらに、 出力波形 Cは、 図 3の 1ノ 8乗算器 1 5より出力されたデ 一夕の波形 ( 8倍されたもの) に相当する。
以上の説明では、 デジタルデータとして振幅が " 1 " の単一データを 入力し、 これをもとに図 7のような補間関数を求めたが、 振幅が変化す る離散的なデジタルデータを順次入力することにより、 図 3の装置をそ のまま D/A変換装置あるいはデ一夕補間装置としても用いることがで きる。 すなわち、 図 7の出力データで示される関数を補間関数として用 い、 1 クロック c kごとに順次入力される離散的なデジタルデータを補 間することにより、 デジタルデータを滑らかなアナログ信号に変換する ことが可能となる。
この場合、 離散的なデジタルデータは、 それぞれ 8倍にオーバ一サン プルされてその前半部分のみが採用されることにより、 隣接入力間に 4 クロック分のブランクが形成されて順に入力される。 そして、 それぞれ のオーバーサンプルデータがデジタル基本波形により加工されながら、 移動平均演算または畳み込み演算により合成されていく。
言い換えると、 入力される離散データの値に応じた振幅を有する複数 のデジタル基本波形が、 8倍周波数のクロック 8 c kの半分 ( 4クロッ ク) ずつずれながら、 移動平均演算または畳み込み演算によって合成さ れていく。 これにより、 離散的なデジタルデータが図 7のような補間関 数に従って補間されることになる。
本実施形態では、 上述のようなデジタル処理を行うだけで連続的な補 間値を得ることができるため、 これを用いて D / A変換した結果は滑ら かなアナログ信号となり、 ローパスフィルタを設けなくても済む。 よつ て、 ローパスフィルタによる位相特性の劣化を防止できる。 また、 基本 デジタル波形から生成される補間関数は有限台の標本化関数であるため 、 有限個の離散データを用いるだけで正確な補間ができる。 すなわち、 打ち切り誤差を生じることもなく補間値を得ることができ、 出力波形の 歪みを最小限に抑えることができる。 これにより、 例えばコンパク トデ イスク (C D ) のデジタル音声を入力してアナログ変換した場合、 全体 的に丸やかで、 高音がよく伸びていて低音も重厚な、 極めてアナログレ コードに近い音声を得ることができる。
また、 本実施形態では、 デジタルデータの入力段において、 入力され るデジタルデータをオーバ一サンプルし、 そのオーバーサンプルデータ の一部を入力データとして得るようにしている。 これにより、 その後段 におけるデジタル基本波形による加工および移動平均演算または畳み込 み演算を、 以下の理由から極めて簡単な処理で行うことができる。
すなわち、 図 6 に示すように、 本実施形態で用いるデジタル基本波形 は、 データ値を _ 1, 1, 8 , 8 , 1, 一 1 と変化させて作成したもの である。 ここで、 真中の同じ数値が連続した 8 , 8の部分を 1クロック c k期間とすると、 残りのー 1, 1 , 1, 一 1の部分は 1ノ 2クロック 期間になる。 したがって、 入力段において最初からオーバ一サンプルデ —夕の半分だけを入力するようにすれば、 入力されたデータを第 1〜第 3の加算器 4〜 6等により単純に加算するだけでデジタル基本波形に加 ェすることができる。 また、 その後の移動平均演算または畳み込み演算 も、 ディ レイと単純な加算だけで行うことができる。
これにより、 補間関数生成装置、 D/A変換装置あるいはデータ補間 装置を図 3のようにハ一 ドウエアにより構成する場合、 より簡単なロジ ックにより これを実現することができる。 よって、 できるだけ少ないデ ィ レイ回路や加算回路などで装置を構成することができ、 回路規模を小 さくすることができる。
また、 補間関数生成装置、 DZ A変換装置あるいはデータ補間装置を ソフ トウェアにより構成する場合も、 図 5のように極めて簡単なァルゴ リズムで、 極めて少ない処理量で実現することができる。 これにより、 処理の負荷を軽く して演算を高速に行うことができる。
なお、 上記実施形態では、 デジタル基本波形を一 1 , 1 , 8 , 8 , 1 , 一 1 とし、 これに応じた重み付け (— 1 / 3 2、 1 /4、 1 / 3 2 ) を施しているが、 デジタル基本波形 (重み付けの値) はこの例に限定さ れるものではない。 すなわち、 得られる補間関数が全域において 1回微 分可能であり、 しかも有限の標本位置において 0に収束する有限台の関 数となれば、 どのようなウェイ トをかけても良い。 例えば、 両脇に当た る部分のウェイ トをー 1 Z 3 2ではなく 1 Z 3 2あるいは 0としても良 い。 また、 真中に当たる部分のウェイ トを 1 Z 4以外の値にしても良い 。 何れにしても、 良好な曲線補間を実現することが可能である。
また、 上記実施形態で示したコンポリューシヨ ン演算も単なる例であ つて、 本発明はこれに限定されるものではない。
また、 上記実施形態ではデジタル入力を 8倍にオーバ一サンプルして いるが、 8倍に限定されるものではない。 例えば、 2倍、 4倍などと倍 率を低く しても良いし、 1 6倍、 3 2倍、 …などと倍率を高く しても良 い。 倍率を低く した場合は、 ディ レイ回路の個数を削減できるとともに 、 個々の加算器の規模を小さくすることができ、 全体として装置を小型 化することができる。 一方、 倍率を大きく した場合は、 補間の精度を上 げることができ、 得られるアナログ信号の質を向上させることができる また、 上記実施形態では、 オーバーサンプルデータの前半半分あるい は後半半分を入力データとして得るようにしているが、 これに限定され ない。 要は、 1 クロック c k期間中におけるオーバ一サンプルデータの 半分を入力データとして得るものであれば、 1個飛びあるいはランダム に半分のデ一夕を採用するようにしても良い。
また、 以上に説明した本実施形態による補間の手法は、 ハードウェア 構成、 D S P、 ソフ トウェアの何れによっても実現することが可能であ る。 例えばソフ トウェアによって実現する場合、 本実施形態の補間関数 生成装置、 D / A変換装置あるいはデータ補間装置は、 実際にはコンビ ュ一夕の C P Uあるいは M P U、 R A M , R O Mなどで構成され、 R A Mや R O Mに記憶されたプログラムが動作することによって実現できる したがって、 コンピュータが上記本実施形態の機能を果たすように動 作させるプログラムを例えば C D— R O Mのような記録媒体に記録し、 コンピュータに読み込ませることによって実現できるものである。 上記 プログラムを記録する記録媒体としては、 C D— R O M以外に、 フロッ ピーディスク、 ハードディスク、 磁気テープ、 光ディスク、 光磁気ディ スク、 D V D、 不揮発性メモリカード等を用いることができる。 また、 上記プログラムをインターネッ ト等のネッ トワークを介してコンビユー 夕にダウンロードすることによつても実現できる。
また、 コンピュータが供給されたプログラムを実行することにより上 述の実施形態の機能が実現されるだけでなく、 そのプログラムがコンピ ユー夕において稼働している O S (ォペレ一ティ ングシステム) あるい は他のアプリケーショ ンソフ ト等と共同して上述の実施形態の機能が実 現される場合や、 供給されたプログラムの処理の全てあるいは一部がコ ンピュー夕の機能拡張ボードや機能拡張ユニッ トにより行われて上述の 実施形態の機能が実現される場合も、 かかるプログラムは本発明の実施 形態に含まれる。
その他、 上記実施形態は、 何れも本発明を実施するにあたっての具体 化の一例を示したものに過ぎず、 これによつて本発明の技術的範囲が限 定的に解釈されてはならないものである。 すなわち、 本発明はその精神 、 またはその主要な特徴から逸脱することなく、 様々な形で実施するこ とができる。 産業上の利用可能性
本発明は、 ローパスフィルタによる位相特性の劣化や、 s i n e関数 を用いた補間の打ち切り誤差による波形の歪みが少ない滑らかなアナ口 グ信号を生成できるようにするのに有用である。
また、 本発明は、 滑らかなアナログ信号を生成するために使用する補 間関数を、 より簡単なロジックもしくはより簡単なアルゴリズムにより 得ることができるようにするのにも有用である。

Claims

請 求 の 範 囲
1 . 単一のデジタルデ一夕をオーバ一サンプルし、 そのオーバ一サンプ ルデータの一部を入力データとして得るデータ入力手段と、
上記データ入力手段により得た上記入力データをデジタル基本波形に より加工し、 加工されたデジタルデータに対して移動平均演算または畳 み込み演算を行う ことにより補間関数を求める演算手段とを備えたこと を特徴とする補間関数生成装置。
2 . 上記データ入力手段は、 上記オーバーサンプルデータの前半半分あ るいは後半半分を上記入力デ一夕として得ることを特徴とする請求の範 囲第 1項記載の補間関数生成装置。
3 . 上記演算手段は、 上記移動平均演算または畳み込み演算を行うため に、 上記デジタル基本波形により加工されたデジタルデータとそれをォ —バーサンプル周期の位相分ずつずらした数個のデータとを加算する第 1 の加算手段と、
上記デジタル基本波形により加工されたデジタルデ一夕をォ一バーサ ンプル周期の位相分ずつずらした数個のデータどうしを加算する第 2の 加算手段と、
上記第 1 の加算手段および上記第 2の加算手段の出力どうしを加算す る第 3の加算手段とを備えたことを特徴とする請求の範囲第 1項記載の 補間関数生成装置。
4 . 単一のデジタルデ一夕をオーバ一サンプルし、 そのオーバ一サンプ ルデータの一部を入力データとして得る第 1 のステップと、
上記入力データをデジタル基本波形により加工する第 2 のステップと 上記デジタル基本波形により加工されたデジタルデータに対して移動 平均演算または畳み込み演算を行う ことにより補間関数を求める第 3の ステップとを有することを特徴とする補間関数生成方法。
5 . 上記第 1 のステップでは、 上記オーバーサンプルデータの前半半分 あるいは後半半分を上記入力データとして得ることを特徴とする請求の 範囲第 4項記載の補間関数生成方法。
6 . 上記第 3のステップでは、 上記第 2のステップで加工されたデジ夕 ルデ—夕とそれをオーバ—サンプル周期の位相分ずつずらした数個のデ
—夕とを加算するとともに、 上記デジタル基本波形により加工されたデ ジタルデータをオーバーサンプル周期の位相分ずつずらした数個のデー 夕どう しを加算し、 更にこれらの加算結果どう しを加算することを特徴 とする請求の範囲第 4項記載の補間関数生成方法。
7 . 複数の離散データをそれぞれオーバ一サンプルし、 各離散データご とにそのオーバーサンプルデータの一部を入力デ一夕として得るデータ 入力手段と、
上記データ入力手段により得た上記入力データをデジタル基本波形に より加工し、 加工されたデジタルデータどう しを移動平均演算または畳 み込み演算により合成することによって、 上記離散データに対する補間 値を求める演算手段とを備えたことを特徴とするデジタル一アナログ変
8 . 上記データ入力手段は、 所定周波数のクロックごとに与えられる上 記複数の離散データをそれぞれオーバーサンプルし、 上記所定周波数の クロックで区切られる各クロック期間ごとに上記オーバーサンプルデー 夕の一部を上記入力データとして得ることを特徴とする請求の範囲第 7 項記載のデジタル一アナログ変換装置。
9 . 上記データ入力手段は、 上記各クロック期間ごとに上記ォ一バーサ ンプルデータの前半半分あるいは後半半分を上記入力デ一夕として得る ことを特徴とする請求の範囲第 8項記載のデジタル一アナログ変換装置
1 0 . 上記演算手段は、 上記移動平均演算または畳み込み演算を行うた めに、 上記デジタル基本波形により加工されたデジタルデ一夕とそれを オーバ一サンプル周期の位相分ずつずらした数個のデータとを加算する 第 1 の加算手段と、
上記デジタル基本波形により加工されたデジタルデータをォ一バーサ ンプル周期の位相分ずつずらした数個のデータどう しを加算する第 2の 加算手段と、
上記第 1 の加算手段および上記第 2の加算手段の出力どうしを加算す る第 3の加算手段とを備えたことを特徴とする請求の範囲第 7項記載の デジタル一アナログ変換装置。
1 1 . 複数の離散データをそれぞれオーバーサンプルし、 各離散データ ごとにそのオーバ一サンプルデータの一部を入力データとして得るデ一 夕入力手段と、
上記データ入力手段により得た上記入力データをデジタル基本波形に より加工し、 加工されたデジタルデータどう しを移動平均演算または畳 み込み演算により合成することによって、 上記離散データに対する補間 値を求める演算手段とを備えたことを特徴とするデータ補間装置。
1 2 . 上記データ入力手段は、 所定周波数のクロックごとに与えられる 上記複数の離散データをそれぞれオーバーサンプルし、 上記所定周波数 のクロックで区切られる各クロック期間ごとに上記オーバ一サンプルデ 一夕の一部を上記入力データとして得ることを特徴とする請求の範囲第 1 1項記載のデータ補間装置。
1 3 . 上記データ入力手段は、 上記各クロック期間ごとに上記オーバ一 サンプルデータの前半半分あるいは後半半分を上記入力データとして得 ることを特徴とする請求の範囲第 1 2項記載のデータ補間装置。
1 4 . 上記演算手段は、 上記移動平均演算または畳み込み演算を行うた めに、 上記デジタル基本波形により加工されたデジタルデータとそれを オーバ一サンプル周期の位相分ずつずらした数個のデータとを加算する 第 1 の加算手段と、
上記デジタル基本波形により加工されたデジタルデータをオーバ一サ ンプル周期の位相分ずつずらした数個のデータどう しを加算する第 2の 加算手段と、
上記第 1の加算手段および上記第 2の加算手段の出力どうしを加算す る第 3の加算手段とを備えたことを特徴とする請求の範囲第 1 1項記載 のデータ補間装置。'
1 5 . 単一のデジタルデータをオーバ一サンプルし、 そのオーバーサン プルデータの一部を入力デ一夕として得るデータ入力手段、 および 上記データ入力手段により得た上記入力データをデジタル基本波形に より加工し、 加工されたデジタルデータに対して移動平均演算または畳 み込み演算を行う ことにより補間関数を求める演算手段としてコンビュ 一夕を機能させるための補間関数生成プログラム。
1 6 . 複数の離散デ一夕をそれぞれオーバーサンプルし、 各離散データ ごとにそのオーバ一サンプルデ一夕の一部を入力データとして得るデー 夕入力手段、 および
上記データ入力手段により得た上記入力デ一タをデジタル基本波形に より加工し、 加工されたデジタルデータどうしを移動平均演算または畳 み込み演算により合成することによって、 上記離散データに対する補間 値を求める演算手段としてコンピュータを機能させるためのデータ補間 プログラム。
1 7 . 請求の範囲第 1 5項記載の各手段としてコンピュータを機能させ るためのプログラムを記録したことを特徴とするコンピュータ読み取り 可能な記録媒体。
1 8 . 請求の範囲第 1 6項記載の各手段としてゴンピュー夕を機能させ るためのプログラムを記録したことを特徴とするコンピュータ読み取り 可能な記録媒体。
PCT/JP2002/001947 2001-03-07 2002-03-04 Appareil et procede de generation de la fonction d'interpolation, convertisseur numerique-analogique, interpolateur de donnees, programme et support d'enregistrement WO2002071620A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP02702727A EP1367721A4 (en) 2001-03-07 2002-03-04 APPARATUS AND METHOD FOR GENERATING THE INTERPOLATION FUNCTION, DIGITAL-TO-ANALOG CONVERTER, DATA INTERPOLATOR, PROGRAM, AND RECORDING MEDIUM
US10/275,247 US6700521B2 (en) 2001-03-07 2002-03-04 Interpolating function generating apparatus and method, digital-analog converter, data interpolator, program, and record medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001063132A JP2002271204A (ja) 2001-03-07 2001-03-07 補間関数生成装置および方法、デジタル−アナログ変換装置、データ補間装置、プログラム並びに記録媒体
JP2001-63132 2001-03-07

Publications (1)

Publication Number Publication Date
WO2002071620A1 true WO2002071620A1 (fr) 2002-09-12

Family

ID=18922171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/001947 WO2002071620A1 (fr) 2001-03-07 2002-03-04 Appareil et procede de generation de la fonction d'interpolation, convertisseur numerique-analogique, interpolateur de donnees, programme et support d'enregistrement

Country Status (7)

Country Link
US (1) US6700521B2 (ja)
EP (2) EP1701445A1 (ja)
JP (1) JP2002271204A (ja)
KR (1) KR20030005307A (ja)
CN (1) CN1270443C (ja)
TW (1) TWI232027B (ja)
WO (1) WO2002071620A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366539A (ja) * 2001-06-08 2002-12-20 Sakai Yasue データ補間装置および方法、標本化関数生成装置、データ補間プログラム、記録媒体
JP5470942B2 (ja) 2009-03-18 2014-04-16 富士通株式会社 位相同期装置およびデジタルコヒーレント光受信器
PL2551531T3 (pl) 2011-07-25 2017-09-29 Faurecia Intérieur Industrie Urządzenie mocujące do mocowania do płyty z otworem i zestaw zawierający urządzenie mocujące
JP5825158B2 (ja) * 2012-03-13 2015-12-02 富士通株式会社 補間回路および受信回路
CN108270416B (zh) * 2016-12-30 2021-09-03 中电长城圣非凡信息系统有限公司 一种高阶插值滤波器及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244679A (ja) * 1993-02-15 1994-09-02 Nec Corp ディジタルフィルタ回路
JPH1155076A (ja) * 1997-07-30 1999-02-26 Yamaha Corp サンプリング周波数変換装置
JP2001069010A (ja) * 1999-08-27 2001-03-16 Sakai Yasue 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3831167A (en) * 1972-11-08 1974-08-20 Bell Telephone Labor Inc Digital-to-analog conversion using multiple decoders
JPS5753144A (en) * 1980-09-16 1982-03-30 Nippon Telegr & Teleph Corp <Ntt> Digital-analogue converter
JP2600236B2 (ja) * 1987-12-29 1997-04-16 ソニー株式会社 サンプリング周波数変換回路
JP4261053B2 (ja) * 1998-02-26 2009-04-30 Nsc株式会社 標本化関数発生装置
JP3992849B2 (ja) * 1998-07-16 2007-10-17 新潟精密株式会社 デジタル−アナログ変換器
WO2000079686A1 (fr) * 1999-06-18 2000-12-28 Sakai, Yasue Convertisseur numerique-analogique et son procede d'utilisation, et dispositif et procede d'interpolation de donnees

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244679A (ja) * 1993-02-15 1994-09-02 Nec Corp ディジタルフィルタ回路
JPH1155076A (ja) * 1997-07-30 1999-02-26 Yamaha Corp サンプリング周波数変換装置
JP2001069010A (ja) * 1999-08-27 2001-03-16 Sakai Yasue 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1367721A4 *

Also Published As

Publication number Publication date
EP1701445A1 (en) 2006-09-13
TWI232027B (en) 2005-05-01
CN1457550A (zh) 2003-11-19
CN1270443C (zh) 2006-08-16
US20030107508A1 (en) 2003-06-12
EP1367721A4 (en) 2005-11-02
JP2002271204A (ja) 2002-09-20
US6700521B2 (en) 2004-03-02
KR20030005307A (ko) 2003-01-17
EP1367721A1 (en) 2003-12-03

Similar Documents

Publication Publication Date Title
JPH0562495A (ja) サンプリング周波数変換器
JP2004527005A (ja) 波形テーブル型シンセサイザにおいてエリアシングを除去するための方法
JP4416244B2 (ja) 音程変換装置
JPH1050001A (ja) 再生装置および方法
WO2002071620A1 (fr) Appareil et procede de generation de la fonction d&#39;interpolation, convertisseur numerique-analogique, interpolateur de donnees, programme et support d&#39;enregistrement
WO2000079686A1 (fr) Convertisseur numerique-analogique et son procede d&#39;utilisation, et dispositif et procede d&#39;interpolation de donnees
JP2000036748A (ja) デジタル−アナログ変換器
US6973468B2 (en) Data interpolating device and method, sampling function generating device, data interpolating program, and recorded medium
JP2001136073A (ja) 圧縮方法及び装置、圧縮伸長システム、記録媒体
US20060190520A1 (en) Analog filter
JPH08330957A (ja) D/a変換装置
US7085799B2 (en) Analog filter suitable for smoothing a ΔΣ-modulated signal
JP4397492B2 (ja) デジタル−アナログ変換器
JP2002300007A (ja) サンプリング周波数変換装置
JP2001069010A (ja) 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体
US6489910B1 (en) Oversampling circuit and digital/analog converter
WO2002071619A1 (fr) Convertisseur numerique-analogique et procede de conversion; interpolateur de donnees
US6483451B1 (en) Sampling function waveform data generating device
JP2001177414A (ja) オーバーサンプリング処理回路およびデジタル−アナログ変換器
JPH0560118B2 (ja)
JP5014312B2 (ja) 離散信号の実時間補間装置および方法
JPH05122069A (ja) デジタル・アナログ変換器
JPH06236185A (ja) 楽音発生装置
JPH0573065A (ja) 楽音信号発生装置
JPH05122071A (ja) デジタル・アナログ変換器

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: 1020027014503

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2002702727

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 10275247

Country of ref document: US

Ref document number: 028005503

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020027014503

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2002702727

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2002702727

Country of ref document: EP