JPH0736666A - Digital signal processor - Google Patents
Digital signal processorInfo
- Publication number
- JPH0736666A JPH0736666A JP5181359A JP18135993A JPH0736666A JP H0736666 A JPH0736666 A JP H0736666A JP 5181359 A JP5181359 A JP 5181359A JP 18135993 A JP18135993 A JP 18135993A JP H0736666 A JPH0736666 A JP H0736666A
- Authority
- JP
- Japan
- Prior art keywords
- data
- digital data
- imdct
- maximum
- scaling
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ミニディスク等のデジ
タルオーディオ機器に内蔵されて、デジタルデータを演
算して統合する演算器に用いられ、データ長が固定長の
DSP(Digital Signal Processer)を用いたデジタル
信号処理装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DSP (Digital Signal Processor) having a fixed data length, which is used in an arithmetic unit incorporated in a digital audio device such as a mini disk to calculate and integrate digital data. The present invention relates to a digital signal processing device used.
【0002】[0002]
【従来の技術】従来より、オーディオ信号を光磁気方式
にて記録再生するミニディスクでは、オーディオ信号を
デジタル化したPCM(Pulse Code Modulation )信号
であるデジタルデータを、2つの帯域分割フィルター
(Quadrature Mirror Filter:以下、QMFと称する)
を用いて3つの帯域のオーディオ信号を示すデジタルデ
ータにそれぞれ分割し、これらデジタルデータをデータ
圧縮して記録している。2. Description of the Related Art Conventionally, in a mini disk for recording and reproducing an audio signal by a magneto-optical method, digital data which is a PCM (Pulse Code Modulation) signal obtained by digitizing an audio signal is converted into two band division filters (Quadrature Mirror). Filter: Hereinafter referred to as QMF)
Is used to divide into digital data representing audio signals in three bands, and these digital data are data-compressed and recorded.
【0003】その後、ミニディスクでは、上記の3つの
帯域のオーディオ信号を示す各デジタルデータを、時間
軸から周波数軸にMDCT(Modified Discrete Cosine
Transformer)変換等を用いてスペクトル信号にそれぞ
れ変換しデータ圧縮して光磁気ディスクに記録してい
る。After that, in the mini disc, each digital data representing the audio signals in the above three bands is converted from a time axis to a frequency axis by MDCT (Modified Discrete Cosine).
Data is recorded on a magneto-optical disk by converting it into a spectrum signal by using a transformer or the like and compressing the data.
【0004】このようなミニディスクの再生では、記録
された各帯域のスペクトル信号は、ミニディスクからそ
れぞれ読み出されて逆変換、即ちIMDCT(Imversed
Modified Discrete Cosine Transformer )変換等さ
れ、3つの帯域のオーディオ信号を示す各デジタルデー
タが得られた後、各デジタルデータが帯域統合されてオ
ーディオ信号を示すPCM信号となった後、そのPCM
信号がオーディオ信号に変換され音として再生される。In reproducing such a mini disc, the recorded spectrum signal of each band is read out from the mini disc and subjected to inverse conversion, that is, IMDCT (Imversed).
Modified Discrete Cosine Transformer) After conversion, etc., respective digital data representing audio signals in three bands are obtained, and then the respective digital data are band-integrated into PCM signals representing audio signals.
The signal is converted into an audio signal and reproduced as sound.
【0005】上記のIMDCT変換においては、データ
長が固定された例えば24ビットの固定長のDSPを用い
て演算することにより、統合されたデジタルデータを得
ており、次式(1)に示す演算が行われる。In the above IMDCT conversion, integrated digital data is obtained by operating using a DSP having a fixed data length of, for example, 24 bits, and the operation shown in the following equation (1) is obtained. Is done.
【0006】[0006]
【数1】 [Equation 1]
【0007】但し、X(k) は入力スペクトラム信号を示
し、MはIMDCT変換を行うブロック単位のデータ数
を示し、y(n) はIMDCT変換されたデジタルデータ
を示す。また、0≦n<2Mである。However, X (k) represents an input spectrum signal, M represents the number of data in block units for IMDCT conversion, and y (n) represents IMDCT converted digital data. Also, 0 ≦ n <2M.
【0008】上記の式(1)を演算する場合には、式
(1)を以下に示す〔ア〕〜〔エ〕の4つの処理段階に
分けて順に計算することができる。即ち、 〔ア〕u(k) definition : u(k) を次のように定義
する 0≦k<M/2 のとき u(k) =X(2k) ……(2-1) M/2 ≦k<Mのとき u(k) =−X(2M-1-2k) ……(2-2) また、Z(L) を次のように定義する Z(L) ={u(2L)+iu(2L+1)}W M L ……(3) 但し、0≦L<M/2 W M L =exp(-i・2πL/M) 上記のW M L は回転演算子を表し、ベクトルで表される
入力複素数を複素平面上において2πL/M だけ右回りに
回転させる演算子である。また、iは虚数単位である。When the above formula (1) is calculated, the formula (1) can be calculated in order by dividing it into the following four processing steps [a] to [d]. That is, [a] u (k) definition: u (k) is defined as follows: When 0 ≦ k <M / 2 u (k) = X (2k) ...... (2 -1 ) M / 2 When ≦ k <M u (k) = -X (2M-1-2k) (2 -2 ) Further, Z (L) is defined as follows Z (L) = {u (2L) + Iu (2L + 1)} W M L (3) where 0 ≦ L <M / 2 W M L = exp (-i · 2πL / M) The above W M L represents a rotation operator and is a vector Is an operator that rotates the input complex number represented by by 2πL / M clockwise on the complex plane. Further, i is an imaginary unit.
【0009】〔イ〕FFT(Fast Fourier Transform)
: Z(L) の高速フーリエ変換を行う[B] FFT (Fast Fourier Transform)
: Perform fast Fourier transform of Z (L)
【0010】[0010]
【数2】 [Equation 2]
【0011】但し、0≦n<M/2 〔ウ〕u(n) definition : u(n) を次のように定義
する u(n) =a0*Real(Z(n))+a1*Real(Z(M/2-1-n)) +a2*Img(Z(n)) +a3*Img(Z(M/2-1-n)) ……(5-1) u(M-1-n) =a2*Real(Z(n))−a3*Real(Z(M/2-1-n)) −a0*Img(Z(n)) +a1*Img(Z(M/2-1-n)) ……(5-2) 但し、0≦n<M/2 a0 = (C8M 2k+1−S8M 5(2k+1) )/2 a1 = (C8M 2k+1+S8M 5(2k+1) )/2 a2 = (S8M 2k+1+C8M 5(2k+1) )/2 a3 = (−S8M 2k+1+C8M 5(2k+1) )/2 C q p = cos(2πp/q) S q p = sin(2πp/q) 〔エ〕post processing : y(n) を次のように算出
する 0≦n<M/2 のとき y(n) =u(n+M/2) ……(6-1) M/2 ≦n<3M/2のとき y(n) =−u(3M/2-1-n) ……(6-2) 3M/2≦n<2Mのとき y(n) =−u(n-3M/2) ……(6-3) 式(1)を上記の〔ア〕〜〔エ〕の4つの処理段階に分
けて順に計算することにより、DSPを用いてIMDC
T変換が演算される。However, 0 ≦ n <M / 2 [U] u (n) definition: u (n) is defined as follows: u (n) = a 0 * Real (Z (n)) + a 1 * Real (Z (M / 2-1-n)) + a 2 * Img (Z (n)) + a 3 * Img (Z (M / 2-1-n)) …… (5 -1 ) u (M- 1-n) = a 2 * Real (Z (n))-a 3 * Real (Z (M / 2-1-n))-a 0 * Img (Z (n)) + a 1 * Img (Z ( M / 2-1-n)) ...... (5 -2) where, 0 ≦ n <M / 2 a 0 = (C 8M 2k + 1 -S 8M 5 (2k + 1)) / 2 a 1 = ( C 8M 2k + 1 + S 8M 5 (2k + 1) ) / 2 a 2 = (S 8M 2k + 1 + C 8M 5 (2k + 1) ) / 2 a 3 = (-S 8M 2k + 1 + C 8M 5 ( 2k + 1) ) / 2 C q p = cos (2π p / q) S q p = sin (2π p / q) [D] post processing: Calculate y (n) as follows: 0 ≦ n <M / When 2 y (n) = u (n + M / 2) ...... (6 -1 ) M / 2 ≤ n <3 M / 2 y (n) = -u (3M / 2-1-n) ...... (6 -2 ) When 3M / 2 ≤ n <2M y (n) = -u (n-3M / 2) ...... (6 -3 ) Use the formula (1) above [a] to [d]. ], And calculate in order , IMDC using a DSP
The T transform is calculated.
【0012】[0012]
【発明が解決しようとする課題】ところが、上記従来の
構成では、固定長のDSPを用いてデジタルデータの演
算を行うとき、下記のような演算誤差が発生するという
問題点を生じている。However, the above-mentioned conventional structure has a problem that the following calculation error occurs when the digital data is calculated using the fixed length DSP.
【0013】即ち、上記のようなミニディスクでは、演
算するデジタルデータのデータ値は、-1から1の間に分
布するように標準化されており、かつ、量子化するデー
タ長は24ビット或いは16ビットが採用されている。但
し、本明細書では説明の表記を簡略化するために8ビッ
トのデータ長にて説明する。一般的に、16進表示(以
下、hex と表す)では、先頭ビットは符号ビットとして
用いられ、0は正数、1は負数を表していて、デジタル
データd(0≦d<1)を7ビットで表示し、その最大
値は16進表示での7Fと表示される。ここで、演算誤差が
発生する理由を説明するために、次式(7)・(8)を
用いた計算例について述べる。That is, in the above mini disc, the data values of the digital data to be operated are standardized so as to be distributed between -1 and 1, and the data length to be quantized is 24 bits or 16 bits. A bit has been adopted. However, in this specification, in order to simplify the notation of the description, description will be given with a data length of 8 bits. Generally, in hexadecimal notation (hereinafter referred to as hex), the first bit is used as a sign bit, 0 represents a positive number, 1 represents a negative number, and digital data d (0 ≦ d <1) is represented by 7 It is displayed in bits, and its maximum value is displayed as 7F in hexadecimal. Here, in order to explain the reason why the calculation error occurs, a calculation example using the following equations (7) and (8) will be described.
【0014】 72(hex) +2(hex)=74(hex) ……(7) 72(hex) +11(hex) =83(hex) ……(8) 式(7)の場合には、演算後のデジタルデータ74(hex)
が7ビットで表示可能であるので問題を生じないが、式
(8)の場合には、演算後のデジタルデータ83(hex) が
7F(hex) よりも大きくなるので、7ビットで表示不可能
である。即ち、7ビットのデータ長ではオーバーフロー
を起こし、符号ビットである先頭ビットが1となるた
め、正数同士を加算しているにも関わらず、演算後のデ
ジタルデータが2の補数表示では負数となり、演算結果
が不正確となってしまう。72 (hex) +2 (hex) = 74 (hex) ... (7) 72 (hex) +11 (hex) = 83 (hex) ........ (8) In the case of the formula (7), after calculation Digital data of 74 (hex)
Since it can be displayed with 7 bits, there is no problem, but in the case of formula (8), the digital data 83 (hex) after calculation is
Since it is larger than 7F (hex), it cannot be displayed with 7 bits. That is, when the data length is 7 bits, overflow occurs and the first bit that is the sign bit becomes 1. Therefore, although the positive numbers are added together, the digital data after calculation becomes a negative number in the 2's complement display. , The calculation result will be inaccurate.
【0015】そこで、演算後のデジタルデータがオーバ
ーフローを起こす可能性を有している場合には、予め、
演算前のデジタルデータ(以下、被演算データと称す
る)をそれぞれLSB(Least Significant Bit )側
(以下、右側と称する)にビットシフトし、その後、演
算を行うことによりオーバーフローを回避する。即ち、
いわゆる右側へのスケーリング操作(以下、スケーリン
グと称する)と称される操作を行う。Therefore, when there is a possibility that the digital data after calculation may overflow,
The digital data before calculation (hereinafter, referred to as data to be calculated) is bit-shifted to the LSB (Least Significant Bit) side (hereinafter, referred to as right side) respectively, and then the calculation is performed to avoid overflow. That is,
A so-called rightward scaling operation (hereinafter referred to as scaling) is performed.
【0016】例えば、上記の式(8)のように、加算を
1回行う場合には、演算後のデジタルデータのビット数
が1つ増す可能性を有しているので、被演算データであ
る72(hex) と11(hex) を予め1ビットだけスケーリング
すれば、オーバーフローを回避することができる。For example, when the addition is performed once as in the above equation (8), the number of bits of the digital data after the calculation may increase by one, so that it is the data to be calculated. Overflow can be avoided by prescaling 72 (hex) and 11 (hex) by 1 bit.
【0017】しかしながら、このようにスケーリングし
て余裕ビットを1ビット設けると、被演算データを6ビ
ットで表示することになるため、必然的に演算の精度が
低下し、演算誤差が増大する。従って、演算誤差を最小
にするには、オーバーフローを回避するための余裕ビッ
トの数を最小とする必要がある。However, if the margin bit is provided by 1 bit by scaling in this way, the operated data is displayed in 6 bits, so that the accuracy of the operation is inevitably lowered and the operation error increases. Therefore, in order to minimize the calculation error, it is necessary to minimize the number of margin bits for avoiding overflow.
【0018】ここで、IMDCT変換を行う際、オーバ
ーフローを回避するために、上述した〔ア〕〜〔エ〕の
4つの処理段階において、それぞれ余裕ビットが何ビッ
トだけ必要であるのか求めることとする。但し、余裕ビ
ットのビット数を求めるためには、被演算データに対し
て演算後のデジタルデータが何倍になるのか倍率を求め
る必要がある。Here, in performing the IMDCT conversion, in order to avoid an overflow, in the above-mentioned four processing steps [A] to [E], it is determined how many extra bits are needed. . However, in order to obtain the number of bits of the margin bits, it is necessary to obtain a multiplication factor for the digital data after the operation with respect to the operated data.
【0019】先ず、上記の〔ア〕の処理段階について被
演算データに対する演算後のデジタルデータの倍率(以
下、単に倍率と称する)を求める。上記の式(2-1)・
(2-2)は、被演算データを単に並び替えるだけである
ので、スケーリングは不要である。一方、式(3)の左
辺、即ちZ(L) は、右辺のu(2L)およびu(2L+1)が最大
で、かつ、回転演算子W M L によりu(2L)+iu(2L+1)
が複素平面上の実軸或いは虚軸に重なるときに最大とな
り、そのときの倍率は√2倍である。First, in the processing step [A] described above, the magnification of digital data after calculation with respect to the data to be calculated (hereinafter simply referred to as magnification) is obtained. Formula (2 -1 ) above
Since (2 -2 ) simply rearranges the data to be calculated, no scaling is necessary. On the other hand, the left-hand side of equation (3), i.e., Z (L) is a right-hand side of u (2L) and u (2L + 1) is maximum, and by rotating the operator W M L u (2L) + iu (2L + 1)
Is the maximum when overlaps the real axis or the imaginary axis on the complex plane, and the magnification at that time is √2.
【0020】次に、上記の〔イ〕の処理段階について倍
率を求める。即ち、上記の式(4)に高速アルゴリズム
を適用し、log2(M/2) 段のバタフライ演算を行う。例え
ば、式(4)中のデータ数Mを32個とすると、log2(32/
2)=4であるので、バタフライ演算におけるFFTの段
数は4段となる。尚、上記のバタフライ演算とは、入力
複素数A,Bに対して2項間の襷掛け演算を行うことに
より出力複素数D,Eを得る演算であり、次式(9-1)
・(9-2)で表される。Next, the magnification is calculated for the processing step [a] above. That is, the fast algorithm is applied to the above equation (4) to perform the log 2 (M / 2) stage butterfly operation. For example, if the number of data M in equation (4) is 32, log 2 (32 /
Since 2) = 4, the number of FFT stages in the butterfly operation is four. The above butterfly operation is an operation to obtain output complex numbers D and E by multiplying the input complex numbers A and B by a multiplication operation between two terms, and the following equation (9 -1 )
-Represented by (9 -2 ).
【0021】 D=A+B*Wb ……(9-1) E=A−B*Wb ……(9-2) 但し、上記の回転演算子Wb は式(4)中のデータ数M
に依存し、ベクトルで表される入力複素数を複素平面上
において2πb/M だけ右回りに回転させる演算子であ
る。D = A + B * W b ...... (9 −1 ) E = A−B * W b …… (9 −2 ) However, the above rotation operator W b is the number of data M in the formula (4).
, Which is an operator that rotates an input complex number represented by a vector clockwise by 2πb / M on the complex plane.
【0022】ここで、上記のバタフライ演算において、
FFTの第1段はb=0、第2段はb=0,4、第3段
以降はb=2となることがわかっている。従って、FF
Tの第1段では、入力複素数Bを複素平面上において0
だけ右回りに回転させる(即ち、回転させない)。ま
た、FFTの第2段では、b=4のときは入力複素数B
を複素平面上においてπ/2だけ右回りに回転させる一
方、b=0のときは入力複素数Bを回転させない。さら
に、FFTの第3段以降では、入力複素数Bを複素平面
上においてπ/4だけ右回りに回転させる。Here, in the above butterfly operation,
It is known that b = 0 in the first stage of the FFT, b = 0, 4 in the second stage, and b = 2 in the third and subsequent stages. Therefore, FF
In the first stage of T, the input complex number B is set to 0 on the complex plane.
Only rotate clockwise (that is, do not rotate). In the second stage of FFT, when b = 4, the input complex number B
Is rotated clockwise by π / 2 on the complex plane, while the input complex number B is not rotated when b = 0. Further, in the third and subsequent stages of the FFT, the input complex number B is rotated clockwise by π / 4 on the complex plane.
【0023】上記のFFTの第1段,第2段,第3段以
降における入力複素数A,Bと出力複素数D,Eとの関
係から明らかなように、FFTの第1段,第2段,第3
段以降における倍率は、この順に2倍,2倍,1+√2倍
である。As is clear from the relationship between the input complex numbers A and B and the output complex numbers D and E in the first, second, and third stages of the FFT, the first, second, and Third
The magnifications after the steps are 2 times, 2 times, and 1 + √2 times in this order.
【0024】続いて、上記の〔ウ〕の処理段階について
倍率を求める。上記の式(5-1)・(5-2)において、
|a0 |+|a1 |+|a2 |+|a3 |の最大値は2
であるので、Z(x) に対するu(x) の倍率は最大で2倍
である。Then, the magnification is calculated for the processing step [c] above. In the above formulas ( 5-1 ) and ( 5-2 ),
The maximum value of | a 0 | + | a 1 | + | a 2 | + | a 3 | is 2
Therefore, the magnification of u (x) with respect to Z (x) is 2 times at maximum.
【0025】次いで、上記の〔エ〕の処理段階について
倍率を求める。上記の式(6-1)・(6-2)・(6-3)
は、被演算データを単に並び替えるだけであるので、ス
ケーリングは不要であり、倍率は1倍である。Next, the magnification is calculated for the processing step [d] above. The above formula ( 6-1 ) ・ ( 6-2 ) ・ ( 6-3 )
Does not require scaling, because the data to be calculated is simply rearranged, and the scaling factor is 1.
【0026】次に、上記の〔ア〕〜〔エ〕の処理段階に
ついてそれぞれ求めた倍率から、被演算データの大きさ
に対するIMDCT変換後のデジタルデータの大きさを
求める。例えば、式(4)中のデータ数Mを32個とし、
上記の各倍率を全て積算すると、 √2*2*2*(1+√2)2*2*1≒65.94 となり、IMDCT変換後のデジタルデータの大きさ
は、被演算データの大きさに対して最大で約66倍とな
る。そして、26 <65.94 <27 であるので、オーバー
フローを回避するための余裕ビットの数は、最大で7ビ
ット必要となる。Next, the size of the digital data after IMDCT conversion with respect to the size of the data to be calculated is calculated from the magnifications obtained in the respective processing steps [A] to [D]. For example, if the number of data M in equation (4) is 32,
When all of the above magnifications are integrated, √2 * 2 * 2 * (1 + √2) 2 * 2 * 1 ≈ 65.94, and the size of the digital data after IMDCT conversion is the size of the calculated data. The maximum is about 66 times. Since 2 6 <65.94 <2 7 , the maximum number of spare bits for avoiding overflow is 7 bits.
【0027】しかしながら、このように余裕ビットを7
ビット設けると、例えばデータ長に16ビットが採用され
ている場合では、先頭ビットが符号ビットとして用いら
れているので、16-7-1=8となり、デジタルデータd(0
≦d<1)を8ビットで表示しなければならない。However, the margin bit is set to 7 in this way.
If bits are provided, for example, when 16 bits are used for the data length, the first bit is used as a sign bit, so 16-7-1 = 8, and the digital data d (0
≤d <1) must be represented by 8 bits.
【0028】従って、固定長のDSPを用いて演算した
場合には、被演算データの大きさに対するIMDCT変
換後のデジタルデータの大きさだけで余裕ビットの数を
決定すると、デジタルデータdのビット数が少なくなる
ので演算誤差が大きくなってしまうという問題点を生じ
る。Therefore, when a fixed-length DSP is used for calculation, if the number of margin bits is determined only by the size of the digital data after IMDCT conversion with respect to the size of the data to be calculated, the number of bits of the digital data d is determined. Therefore, there is a problem in that the calculation error becomes large because of the small number.
【0029】尚、上記のような演算誤差を小さくするた
めに、データ長が可変長のDSPを用いることが考えら
れるが、可変長のDSPは固定長のDSPと比べて高価
である。このため、デジタル信号処理装置のコストアッ
プを招来するという別の問題点を生じる。Although it is conceivable to use a DSP having a variable data length in order to reduce the above-mentioned calculation error, a variable length DSP is more expensive than a fixed length DSP. This causes another problem that the cost of the digital signal processing device is increased.
【0030】本発明は、上記の問題点に鑑みなされたも
のであり、その目的は、コストを低減できる固定長のD
SPを用いて、演算誤差を軽減できるデジタル信号処理
装置を提供することにある。The present invention has been made in view of the above problems, and an object thereof is a fixed-length D which can reduce the cost.
An object of the present invention is to provide a digital signal processing device capable of reducing calculation error by using SP.
【0031】[0031]
【課題を解決するための手段】請求項1記載の発明のデ
ジタル信号処理装置は、上記の課題を解決するために、
デジタル化され、標準化された第1および第2デジタル
データが入力されて、データ長を固定長にて演算するこ
とにより上記第1および第2デジタルデータを演算し、
統合して第3デジタルデータを出力する演算器が設けら
れているデジタル信号処理装置において、上記第1およ
び第2デジタルデータを、そのデジタルデータの最大値
と演算の内容とに対応する所定のスケール量だけスケー
リングして上記演算器に入力するスケーリング手段が設
けられていることを特徴としている。In order to solve the above-mentioned problems, a digital signal processing device according to the invention of claim 1
Digitized and standardized first and second digital data are input, and the first and second digital data are calculated by calculating the data length with a fixed length,
In a digital signal processing device provided with an arithmetic unit that integrates and outputs third digital data, the first and second digital data are scaled by a predetermined scale corresponding to the maximum value of the digital data and the content of the calculation. It is characterized in that a scaling means is provided for scaling by an amount and inputting to the arithmetic unit.
【0032】請求項2記載の発明のデジタル信号処理装
置は、上記の課題を解決するために、請求項1記載のデ
ジタル信号処理装置において、上記スケール量を予め格
納している記憶手段を備えていることを特徴としてい
る。In order to solve the above-mentioned problems, a digital signal processing apparatus according to a second aspect of the present invention is the digital signal processing apparatus according to the first aspect, further comprising storage means for storing the scale amount in advance. It is characterized by being.
【0033】請求項3記載の発明のデジタル信号処理装
置は、上記の課題を解決するために、請求項2記載のデ
ジタル信号処理装置において、上記記憶手段に格納され
ているスケール量が、第1および第2デジタルデータの
最大値、並びに第3デジタルデータの最大値に基づいて
設定されていることを特徴としている。According to a third aspect of the present invention, there is provided a digital signal processing apparatus according to the second aspect, wherein the scale amount stored in the storage means is the first scale. And the maximum value of the second digital data, and the maximum value of the third digital data.
【0034】[0034]
【作用】請求項1記載の構成によれば、第1および第2
デジタルデータは、スケーリング手段により、そのデジ
タルデータの最大値と演算の内容とに対応する所定のス
ケール量だけスケーリングされた後、演算器に入力され
る。According to the structure of claim 1, the first and second
The digital data is scaled by the scaling means by a predetermined scale amount corresponding to the maximum value of the digital data and the content of the computation, and then input to the computing unit.
【0035】それゆえ、演算器にて第1および第2デジ
タルデータを演算し、統合して得られる第3デジタルデ
ータに生じるオーバーフローを回避することができる。
また、第1および第2デジタルデータを所定のスケール
量だけスケーリングさせるので、デジタルデータのビッ
ト数の減少を抑えることができる。Therefore, it is possible to avoid the overflow that occurs in the third digital data obtained by calculating and integrating the first and second digital data with the arithmetic unit.
Moreover, since the first and second digital data are scaled by a predetermined scale amount, it is possible to suppress a decrease in the number of bits of the digital data.
【0036】これにより、上記構成は、オーバーフロー
に由来する演算誤差を回避することができると共に、デ
ジタルデータのビット数の減少に由来する演算誤差を軽
減させることができるので、得られる演算結果の誤差を
低減することができる。従って、データ長が固定長の演
算器を用いて従来より一層、真の値に近づいた演算結果
を得ることが可能となる。また、データ長が固定長の演
算器を用いて演算結果の誤差を低減することができるの
で、演算誤差を軽減するために可変長の演算器を用いる
必要がなく、可変長の演算器を用いることによるコスト
アップを回避することが可能となる。As a result, the above-mentioned configuration can avoid the calculation error resulting from the overflow and reduce the calculation error resulting from the decrease in the number of bits of the digital data. Can be reduced. Therefore, it is possible to obtain an operation result that is closer to the true value than before by using an arithmetic unit having a fixed data length. Further, since the error of the calculation result can be reduced by using the arithmetic unit having the fixed data length, it is not necessary to use the variable length arithmetic unit to reduce the arithmetic error, and the variable length arithmetic unit is used. It is possible to avoid the cost increase.
【0037】請求項2記載の構成によれば、第1および
第2デジタルデータをスケーリングさせるスケール量
は、記憶手段に予め格納されている。According to the second aspect of the present invention, the scale amount for scaling the first and second digital data is stored in the storage means in advance.
【0038】それゆえ、スケーリング手段にて第1およ
び第2デジタルデータをスケーリングする際に、そのス
ケール量を求めるための演算を行う必要がない。これに
より、演算結果を得るための演算回数を減少させること
ができるので、演算時間を短縮することができると共
に、コストアップを回避することが可能となる。Therefore, when scaling the first and second digital data by the scaling means, it is not necessary to perform an operation for obtaining the scale amount. As a result, the number of calculations for obtaining the calculation result can be reduced, so that the calculation time can be shortened and the cost increase can be avoided.
【0039】請求項3記載の構成によれば、記憶手段に
格納されているスケール量は、第1および第2デジタル
データの最大値、並びに第3デジタルデータの最大値に
基づいて設定されている。According to the third aspect of the present invention, the scale amount stored in the storage means is set based on the maximum values of the first and second digital data and the maximum value of the third digital data. .
【0040】これにより、第1および第2デジタルデー
タに対応する最適のスケール量を記憶手段に格納するこ
とができるので、得られる演算結果の誤差を一層低減す
ることができる。As a result, since the optimum scale amount corresponding to the first and second digital data can be stored in the storage means, the error of the obtained calculation result can be further reduced.
【0041】[0041]
【実施例】本発明の一実施例について図1ないし図19
に基づいて説明すれば、以下の通りである。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention is shown in FIGS.
The explanation is based on the following.
【0042】本発明にかかるデジタル信号処理装置は、
例えばオーディオ信号を光磁気方式にて記録再生するミ
ニディスクのように、複数の帯域データに分割され、そ
れら各帯域データがMDCT(Modified Discrete Cosi
ne Transformer)変換によりデータ圧縮されて記録され
たデジタルデータを、IMDCT(Imversed Modified
Discrete Cosine Transformer )変換する場合に用いら
れる。The digital signal processing device according to the present invention is
For example, like a mini disk that records and reproduces an audio signal by a magneto-optical method, it is divided into a plurality of band data, and each band data is MDCT (Modified Discrete Cosi).
IMDCT (Imversed Modified)
Discrete Cosine Transformer) Used when converting.
【0043】図1に示すように、デジタル信号処理装置
は、バスライン1・2、スケーリング部3・3、スケー
ル量決定部4、記憶部5、IMDCT変換器6・6、帯
域統合フィルターであるQMF(Quadrature Mirror Fi
lter)7、バスライン8で構成されている。各バスライ
ン1・2には、それぞれ異なる帯域のオーディオ信号を
示すデジタルデータ(第1および第2デジタルデータ)
が入力される。As shown in FIG. 1, the digital signal processing device is a bus line 1.2, a scaling unit 3.3, a scale amount determination unit 4, a storage unit 5, an IMDCT converter 6.6, and a band integrated filter. QMF (Quadrature Mirror Fi
lter) 7 and bus line 8. Digital data (first and second digital data) indicating audio signals of different bands are respectively provided on the bus lines 1 and 2.
Is entered.
【0044】上記の各バスライン1・2に入力されるデ
ジタルデータの各データ値xは、ミニディスクの規格に
より規定されていて、2-5<x<216の範囲に設定され
ており、各データ値xは、例えば24ビット或いは16ビッ
トで表示される。また、先頭ビットは符号ビットとして
用いられる。尚、負数の表示としては、1の補数表示や
2の補数表示も用いることができる。Each data value x of the digital data input to each of the above bus lines 1 and 2 is defined by the mini disk standard, and is set in the range of 2 -5 <x <2 16 Each data value x is represented by, for example, 24 bits or 16 bits. The leading bit is used as a sign bit. Incidentally, as the display of the negative number, one's complement display or two's complement display can also be used.
【0045】上記のスケーリング部(スケーリング手
段)3・3には、IMDCT変換器6・6を介して各バ
スライン1・2のデジタルデータが入力される。これら
スケーリング部3・3は、記憶部5に記憶されているス
ケール量に基づき、いわゆるスケーリング操作(以下、
スケーリングと称する)と称される操作を行う。即ち、
スケーリング部3は、IMDCT変換器6でIMDCT
変換されたデジタルデータがオーバーフローを起こす可
能性を有している場合に、このオーバーフローを回避す
るため、予め、演算前のデジタルデータ(以下、被演算
データと称する)をLSB(Least Significant Bit )
側(以下、右側と称する)にビットシフトするスケーリ
ングを行うようになっている。また、スケーリング部3
にてスケーリングされた被演算データは、IMDCT変
換器6に入力される。Digital data of each bus line 1 and 2 is input to the above-mentioned scaling unit (scaling means) 3 3 via the IMDCT converter 6 6. These scaling units 3 and 3 are based on the scale amount stored in the storage unit 5, so-called scaling operation (hereinafter,
An operation called "scaling" is performed. That is,
The scaling unit 3 uses the IMDCT converter 6 for IMDCT
When the converted digital data has a possibility of causing an overflow, in order to avoid the overflow, the digital data before the operation (hereinafter referred to as the operated data) is LSB (Least Significant Bit) in advance.
Scaling for bit shifting to the side (hereinafter, referred to as the right side) is performed. Also, the scaling unit 3
The processed data scaled in is input to the IMDCT converter 6.
【0046】各IMDCT変換器6・6には、各バスラ
イン1・2のデジタルデータが入力される。これらIM
DCT変換器6・6は、上記の各デジタルデータをIM
DCT変換してQMF7に出力する。Digital data of the bus lines 1 and 2 is input to the IMDCT converters 6 and 6, respectively. These IM
The DCT converters 6 and 6 IM the above digital data
DCT transform and output to QMF7.
【0047】QMF7には、各IMDCT変換器6・6
からIMDCT変換されたデジタルデータが入力され
る。QMF7は、各デジタルデータを演算して帯域統合
し、全帯域のオーディオ信号を示すデジタルデータをバ
スライン8に出力する。バスライン8に出力されるデジ
タルデータ(第3デジタルデータ)はPCM(Pulse Co
de Modulation )信号であり、ミニディスクの規格によ
り16ビットのデジタルデータとされる。そして、上記の
IMDCT変換器6・6およびQMF7にて演算器が構
成されている。Each of the IMDCT converters 6 and 6 is provided in the QMF 7.
Is input with the IMDCT-converted digital data. The QMF 7 calculates each digital data and band-integrates it, and outputs the digital data showing the audio signal of the entire band to the bus line 8. The digital data (third digital data) output to the bus line 8 is PCM (Pulse Co
de Modulation) signal, which is made into 16-bit digital data according to the standard of the mini disk. The IMDCT converters 6 and 6 and the QMF 7 constitute a computing unit.
【0048】記憶部(記憶手段)5は、ROM(Read O
nly Memory)やRAM(Random Access Memory)からな
っており、スケール量決定部4に接続されている。上記
の記憶部5は、予め後述の各処理段階毎に求められたス
ケール量を記憶している。The storage unit (storage means) 5 is a ROM (Read O
nly Memory) and RAM (Random Access Memory), and is connected to the scale amount determination unit 4. The storage unit 5 stores a scale amount obtained in advance for each processing stage described below.
【0049】スケール量決定部4は、スケーリング部3
・3に接続されている。上記のスケール量決定部4は、
スケーリング部3・3にてスケーリングを行う際に、被
演算データの大きさおよび各処理段階に対応する最適な
スケール量を記憶部5から読み出し、被演算データを何
ビットだけスケーリングさせれば良いかを決定する。The scale amount determining unit 4 is a scaling unit 3.
・ Connected to 3. The scale amount determination unit 4 is
When performing scaling in the scaling units 3 and 3, how many bits should be read out from the storage unit 5 for the size of the data to be operated and the optimum scale amount corresponding to each processing stage. To decide.
【0050】上記構成において、IMDCT変換器6で
は、データ長が例えば24ビットの固定長に設定されたD
SP(Digital Signal Processer)にて次式(1)に示
す演算が行われる。In the above structure, the IMDCT converter 6 has a data length D set to a fixed length of, for example, 24 bits.
In SP (Digital Signal Processor), the calculation shown in the following equation (1) is performed.
【0051】[0051]
【数3】 [Equation 3]
【0052】但し、X(k) は入力スペクトラム信号を示
し、MはIMDCT変換を行うブロック単位のデータ数
を示し、y(n) はIMDCT変換されたデジタルデータ
を示す。また、0≦n<2Mである。Here, X (k) represents an input spectrum signal, M represents the number of data in block units for IMDCT conversion, and y (n) represents IMDCT-converted digital data. Also, 0 ≦ n <2M.
【0053】上記の式(1)を演算する場合には、図2
に示すように、式(1)を〔ア〕〜〔エ〕の4つの処理
段階に分けて順に計算することができる。即ち、 〔ア〕u(k) definition : u(k) を次のように定義
する 0≦k<M/2 のとき u(k) =X(2k) ……(2-1) M/2 ≦k<Mのとき u(k) =−X(2M-1-2k) ……(2-2) また、Z(L) を次のように定義する Z(L) ={u(2L)+iu(2L+1)}W M L ……(3) 但し、0≦L<M/2 W M L =exp(-i・2πL/M) 上記のW M L は回転演算子を表し、ベクトルで表される
入力複素数を複素平面上において2πL/M だけ右回りに
回転させる演算子である。また、iは虚数単位である。When calculating the above equation (1), the calculation shown in FIG.
As shown in, the equation (1) can be calculated in order by dividing it into four processing steps [A] to [E]. That is, [a] u (k) definition: u (k) is defined as follows: When 0 ≦ k <M / 2 u (k) = X (2k) ...... (2 -1 ) M / 2 When ≦ k <M u (k) = -X (2M-1-2k) (2 -2 ) Further, Z (L) is defined as follows Z (L) = {u (2L) + Iu (2L + 1)} W M L (3) where 0 ≦ L <M / 2 W M L = exp (-i · 2πL / M) The above W M L represents a rotation operator and is a vector Is an operator that rotates the input complex number represented by by 2πL / M clockwise on the complex plane. Further, i is an imaginary unit.
【0054】〔イ〕FFT(Fast Fourier Transform)
: Z(L) の高速フーリエ変換を行う[B] FFT (Fast Fourier Transform)
: Perform fast Fourier transform of Z (L)
【0055】[0055]
【数4】 [Equation 4]
【0056】但し、0≦n<M/2 〔ウ〕u(n) definition : u(n) を次のように定義
する u(n) =a0*Real(Z(n))+a1*Real(Z(M/2-1-n)) +a2*Img(Z(n)) +a3*Img(Z(M/2-1-n)) ……(5-1) u(M-1-n) =a2*Real(Z(n))−a3*Real(Z(M/2-1-n)) −a0*Img(Z(n)) +a1*Img(Z(M/2-1-n)) ……(5-2) 但し、0≦n<M/2 a0 = (C8M 2k+1−S8M 5(2k+1) )/2 a1 = (C8M 2k+1+S8M 5(2k+1) )/2 a2 = (S8M 2k+1+C8M 5(2k+1) )/2 a3 = (−S8M 2k+1+C8M 5(2k+1) )/2 C q p = cos(2πp/q) S q p = sin(2πp/q) 〔エ〕post processing : y(n) を次のように算出
する 0≦n<M/2 のとき y(n) =u(n+M/2) ……(6-1) M/2 ≦n<3M/2のとき y(n) =−u(3M/2-1-n) ……(6-2) 3M/2≦n<2Mのとき y(n) =−u(n-3M/2) ……(6-3) 式(1)を上記の〔ア〕〜〔エ〕の4つの処理段階に分
けて順に計算することにより、DSPを用いてIMDC
T変換が演算される。However, 0 ≦ n <M / 2 [C] u (n) definition: u (n) is defined as follows: u (n) = a 0 * Real (Z (n)) + a 1 * Real (Z (M / 2-1-n)) + a 2 * Img (Z (n)) + a 3 * Img (Z (M / 2-1-n)) …… (5 -1 ) u (M- 1-n) = a 2 * Real (Z (n))-a 3 * Real (Z (M / 2-1-n))-a 0 * Img (Z (n)) + a 1 * Img (Z ( M / 2-1-n)) ...... (5 -2) where, 0 ≦ n <M / 2 a 0 = (C 8M 2k + 1 -S 8M 5 (2k + 1)) / 2 a 1 = ( C 8M 2k + 1 + S 8M 5 (2k + 1) ) / 2 a 2 = (S 8M 2k + 1 + C 8M 5 (2k + 1) ) / 2 a 3 = (-S 8M 2k + 1 + C 8M 5 ( 2k + 1)) / 2 C q p = cos (2πp / q) S q p = sin (2πp / q) [d] post Processing: y (n) is calculated as follows: 0 ≦ n <M / When 2 y (n) = u (n + M / 2) ...... (6 -1 ) M / 2 ≤ n <3 M / 2 y (n) = -u (3M / 2-1-n) ...... (6 -2 ) When 3M / 2 ≤ n <2M y (n) = -u (n-3M / 2) ...... (6 -3 ) Use the formula (1) above [a] to [d]. ] In order to calculate in order by dividing into four processing steps Ri, IMDC using a DSP
The T transform is calculated.
【0057】次に、記憶部5に予め記憶すべきスケール
量の求め方について説明すると、以下の通りである。先
ず、被演算データに対して演算後のデジタルデータが何
倍になるのか倍率を求める必要がある。Next, how to obtain the scale amount to be stored in the storage unit 5 in advance will be described as follows. First, it is necessary to find a multiplication factor for the digital data after calculation with respect to the data to be calculated.
【0058】先ず、上記の〔ア〕の処理段階について被
演算データに対する演算後のデジタルデータの倍率(以
下、単に倍率と称する)を求める。上記の式(2-1)・
(2-2)は、被演算データを単に並び替えるだけである
ので、スケーリングは不要である。一方、図3に示す複
素平面から明らかなように、式(3)の左辺、即ちZ
(L) は、右辺のu(2L)およびu(2L+1)が最大で、かつ、
回転演算子W M L によりu(2L)+iu(2L+1)が複素平面
上の実軸或いは虚軸に重なるときに最大となり、そのと
きの倍率は√2倍である。First, in the above processing step [A], the scaling factor of digital data after computation with respect to the data to be computed (hereinafter referred to simply as scaling factor) is determined. Formula (2 -1 ) above
Since (2 -2 ) simply rearranges the data to be calculated, no scaling is necessary. On the other hand, as is clear from the complex plane shown in FIG. 3, the left side of equation (3), that is, Z
(L) has the maximum u (2L) and u (2L + 1) on the right side, and
The rotation operator W M L maximizes u (2L) + iu (2L + 1) when it overlaps the real axis or the imaginary axis on the complex plane, and the magnification at that time is √2.
【0059】次に、上記の〔イ〕の処理段階について倍
率を求める。即ち、上記の式(4)に高速アルゴリズム
を適用し、log2(M/2) 段のバタフライ演算を行う。例え
ば、式(4)中のデータ数Mを32個とすると、log2(32/
2)=4であるので、バタフライ演算におけるFFTの段
数は4段となる。尚、上記のバタフライ演算とは、図4
に示すように、入力複素数A,Bに対して2項間の襷掛
け演算を行うことにより出力複素数D,Eを得る演算で
あり、そのシグナルフローは、次式(9-1)・(9-2)
で表される。Next, the magnification is obtained for the processing step [a] above. That is, the fast algorithm is applied to the above equation (4) to perform the log 2 (M / 2) stage butterfly operation. For example, if the number of data M in equation (4) is 32, log 2 (32 /
Since 2) = 4, the number of FFT stages in the butterfly operation is four. Note that the above butterfly operation is as shown in FIG.
As shown in (4), the output complex numbers D and E are obtained by multiplying the input complex numbers A and B between the two terms, and the signal flow is expressed by the following equations (9 −1 ) · (9 -2 )
It is represented by.
【0060】 D=A+B*Wb ……(9-1) E=A−B*Wb ……(9-2) 但し、上記の回転演算子Wb は式(4)中のデータ数M
に依存し、ベクトルで表される入力複素数を複素平面上
において2πb/M だけ右回りに回転させる演算子であ
る。D = A + B * W b ...... (9 -1 ) E = A-B * W b ...... (9 -2 ) However, the above rotation operator W b is the number of data M in the formula (4).
, Which is an operator that rotates an input complex number represented by a vector clockwise by 2πb / M on the complex plane.
【0061】ここで、上記のバタフライ演算において、
FFTの第1段はb=0、第2段はb=0,4、第3段
以降はb=2となることがわかっている。従って、FF
Tの第1段では、入力複素数Bを複素平面上において0
だけ右回りに回転させる(即ち、回転させない)。ま
た、FFTの第2段では、b=4のときは入力複素数B
を複素平面上においてπ/2だけ右回りに回転させる一
方、b=0のときは入力複素数Bを回転させない。さら
に、FFTの第3段以降では、入力複素数Bを複素平面
上においてπ/4だけ右回りに回転させる。Here, in the above butterfly operation,
It is known that b = 0 in the first stage of the FFT, b = 0, 4 in the second stage, and b = 2 in the third and subsequent stages. Therefore, FF
In the first stage of T, the input complex number B is set to 0 on the complex plane.
Only rotate clockwise (that is, do not rotate). In the second stage of FFT, when b = 4, the input complex number B
Is rotated clockwise by π / 2 on the complex plane, while the input complex number B is not rotated when b = 0. Further, in the third and subsequent stages of the FFT, the input complex number B is rotated clockwise by π / 4 on the complex plane.
【0062】上記のFFTの第1段,第2段,第3段以
降における入力複素数A,Bと出力複素数D,Eとの関
係を、この順に図5,図6,図7に示す。これら図5な
いし図7に示す複素平面から明らかなように、FFTの
第1段,第2段,第3段以降における倍率は、この順に
2倍,2倍,1+√2倍である。The relationships between the input complex numbers A and B and the output complex numbers D and E in the first, second and third stages of the above FFT are shown in this order in FIGS. 5, 6 and 7. As is apparent from the complex planes shown in FIGS. 5 to 7, the magnifications in the first, second, and third stages of the FFT are 2 times, 2 times, and 1 + √2 times in this order.
【0063】続いて、上記の〔ウ〕の処理段階について
倍率を求める。上記の式(5-1)・(5-2)において、
|a0 |+|a1 |+|a2 |+|a3 |の最大値は2
であるので、Z(x) に対するu(x) の倍率は最大で2倍
である。Subsequently, the magnification is calculated for the processing step [c] above. In the above formulas ( 5-1 ) and ( 5-2 ),
The maximum value of | a 0 | + | a 1 | + | a 2 | + | a 3 | is 2
Therefore, the magnification of u (x) with respect to Z (x) is 2 times at maximum.
【0064】次いで、上記の〔エ〕の処理段階について
倍率を求める。上記の式(6-1)・(6-2)・(6-3)
は、被演算データを単に並び替えるだけであるので、ス
ケーリングは不要であり、倍率は1倍である。Then, the magnification is calculated for the processing step [d] above. The above formula ( 6-1 ) ・ ( 6-2 ) ・ ( 6-3 )
Does not require scaling, because the data to be calculated is simply rearranged, and the scaling factor is 1.
【0065】次に、上記の〔ア〕〜〔エ〕の処理段階に
ついてそれぞれ求めた倍率から、被演算データの大きさ
に対するIMDCT変換後のデジタルデータの大きさを
求める。例えば、式(4)中のデータ数Mを32個とし、
上記の各倍率を全て積算すると、 √2*2*2*(1+√2)2*2*1≒65.94 となり、IMDCT変換後のデジタルデータの大きさ
は、被演算データの大きさに対して最大で約66倍とな
る。尚、上記の〔ア〕〜〔エ〕の処理段階についてそれ
ぞれ求めた倍率を、表1にまとめて示す。Next, the size of the digital data after IMDCT conversion with respect to the size of the data to be calculated is calculated from the magnifications obtained in the respective processing steps [A] to [D]. For example, if the number of data M in equation (4) is 32,
When all of the above magnifications are integrated, √2 * 2 * 2 * (1 + √2) 2 * 2 * 1 ≈ 65.94, and the size of the digital data after IMDCT conversion is the size of the calculated data. The maximum is about 66 times. Table 1 shows the magnifications obtained for each of the processing steps [a] to [d] above.
【0066】[0066]
【表1】 [Table 1]
【0067】次に、演算後のデジタルデータに対する被
演算データの比率を求める。但し、上記の〔ア〕の処理
段階については、後述する理由により上記の比率を求め
る必要がない。Next, the ratio of the operated data to the digital data after the operation is obtained. However, it is not necessary to obtain the above ratio in the above processing step [A] for the reason described later.
【0068】上記の〔イ〕の処理段階について演算後の
デジタルデータに対する被演算データの比率(以下、単
に比率と称する)を求める。上記の式(9-1)・
(9-2)より、 A=(D+E)/2 ……(10-1) B=(D−E)*W-b/2 ……(10-2) が得られる。従って、図8に示す複素平面から明らかな
ように、FFTの第1段および第2段では、b=0,D
=−Eのとき、出力複素数D,Eに対する入力複素数B
の比率が最大となり、その値は1である。また、そのと
きの入力複素数Aの比率は0である。また、図9に示す
複素平面から明らかなように、FFTの第3段以降で
は、b=2,D=−Eのとき、出力複素数D,Eに対す
る入力複素数Bの比率が最大となり、その値は√2であ
る。また、そのときの入力複素数Aの比率は0である。The ratio of the data to be processed with respect to the digital data after the calculation (hereinafter, simply referred to as the ratio) in the processing step [a] is calculated. The above formula (9 -1 )
From ( 9-2 ), A = (D + E) / 2 ... ( 10-1 ) B = (D-E) * W- b / 2 ... ( 10-2 ) is obtained. Therefore, as is apparent from the complex plane shown in FIG. 8, in the first and second stages of the FFT, b = 0, D
= -E, input complex number B for output complex number D, E
Is the maximum, and its value is 1. The ratio of the input complex number A at that time is zero. Further, as is clear from the complex plane shown in FIG. 9, in the third and subsequent stages of the FFT, when b = 2 and D = −E, the ratio of the input complex number B to the output complex numbers D and E becomes maximum, and its value Is √2. The ratio of the input complex number A at that time is zero.
【0069】続いて、上記の〔ウ〕の処理段階について
比率を求める。上記の式(5-1)・(5-2)において、
n=M/2-1-n とすると、次式(11-1)・(11-2)が
得られる。Next, the ratio is calculated for the processing step [c] above. In the above formulas ( 5-1 ) and ( 5-2 ),
When n = M / 2-1-n, the following equations (11 -1 ) · (11 -2 ) are obtained.
【0070】 u(M/2-1-n) =a1*Real(Z(n))+a0*Real(Z(M/2-1-n)) +a3*Img(Z(n)) +a2*Img(Z(M/2-1-n)) ……(11-1) u(M/2+n) =−a3*Real(Z(n))+a2*Real(Z(M/2-1-n)) +a1*Img(Z(n)) −a0*Img(Z(M/2-1-n)) ……(11-2) 但し、0≦n<M/2 上記4つの式(5-1)・(5-2)・(11-1)・(11
-2)から、次式(12)が得られる。U (M / 2-1-n) = a 1 * Real (Z (n)) + a 0 * Real (Z (M / 2-1-n)) + a 3 * Img (Z (n)) + A 2 * Img (Z (M / 2-1-n)) ...... (11 -1 ) u (M / 2 + n) = -a 3 * Real (Z (n)) + a 2 * Real (Z ( M / 2-1-n)) + a 1 * Img (Z (n))-a 0 * Img (Z (M / 2-1-n)) (11 -2 ) where 0≤n <M / 2 The above four expressions (5 -1 ) ・ (5 -2 ) ・ (11 -1 ) ・ (11
-2 ) gives the following equation (12).
【0071】[0071]
【数5】 [Equation 5]
【0072】この式(12)を変形すると、次式(1
3)が得られる。When this equation (12) is transformed, the following equation (1)
3) is obtained.
【0073】[0073]
【数6】 [Equation 6]
【0074】但し、K=a0 2+a1 2+a2 2+a3 2=1 また、|a0 |+|a1 |+|a2 |+|a3 |の最大
値は2であるので、u(x) に対するZ(x) の比率は最大
で2である。However, K = a 0 2 + a 1 2 + a 2 2 + a 3 2 = 1 and the maximum value of | a 0 | + | a 1 | + | a 2 | + | a 3 | , U (x) to Z (x) has a maximum ratio of 2.
【0075】次いで、上記の〔エ〕の処理段階について
比率を求める。上記の式(6-1)・(6-2)・(6-3)
は、被演算データを単に並び替えるだけであるので、比
率は1である。尚、上記の〔ア〕〜〔エ〕の処理段階に
ついてそれぞれ求めた比率を、表2にまとめて示す。Next, the ratio is calculated for the processing step [d] above. The above formula ( 6-1 ) ・ ( 6-2 ) ・ ( 6-3 )
Since the operand data is simply rearranged, the ratio is 1. Table 2 shows the ratios obtained for each of the above processing steps [A] to [D].
【0076】[0076]
【表2】 [Table 2]
【0077】次に、以上のようにして求めた〔ア〕〜
〔エ〕の4つの処理段階における各倍率および各比率
と、以下に示す3つの条件により、被演算データの大き
さおよび各処理段階に対応する最適なスケール量を決定
する。上記の条件とは、 条件: バスライン1・2に入力されるデジタルデー
タの各データ値xは、ミニディスクの規格により規定さ
れており、2-5<x<216の範囲に設定されている。従
って、バスライン1・2に入力されるデジタルデータの
データ値xは最大で216である。Next, [a]-
The size of the data to be operated and the optimum scale amount corresponding to each processing step are determined based on each magnification and each ratio in the four processing steps [D] and the following three conditions. The above conditions are as follows: Each data value x of the digital data input to the bus lines 1 and 2 is defined by the standard of the mini disk, and is set in the range of 2 -5 <x <2 16 There is. Therefore, the data value x of the digital data input to the bus lines 1 and 2 is 2 16 at maximum.
【0078】条件: IMDCT変換器6から出力さ
れるデジタルデータの各データ値は、ミニディスクの規
格により規定されており、最大で215である。Condition: Each data value of the digital data output from the IMDCT converter 6 is specified by the mini disk standard, and is a maximum of 2 15 .
【0079】条件: 上記の条件および条件、並
びに、上記の各倍率および各比率から、IMDCT変換
における各処理段階において、デジタルデータのデータ
値に最大値が存在する。Conditions: From the above conditions and conditions, and the above magnifications and ratios, there is a maximum value in the data value of digital data at each processing stage in IMDCT conversion.
【0080】上記3つの条件と、上記の各倍率および各
比率とから、IMDCT変換器6に入力されるデジタル
データのデータ値が216であるときの各処理段階での最
大値を表す包絡線を求める。次に、最大値を表す包絡線
の求め方を図10および図11のグラフを参照しながら
以下に説明する。From the above-mentioned three conditions and the respective magnifications and the respective ratios, the envelope curve representing the maximum value at each processing stage when the data value of the digital data input to the IMDCT converter 6 is 2 16. Ask for. Next, how to obtain the envelope curve representing the maximum value will be described below with reference to the graphs of FIGS. 10 and 11.
【0081】尚、これら図10および図11のグラフに
おいて、各処理段階名を囲む上の線上の点がその処理段
階に入力される最大値を示し、各処理段階名を囲む下の
線上の点がその処理段階から出力される最大値を示す。In the graphs of FIGS. 10 and 11, the points on the upper line surrounding each processing stage name indicate the maximum value input to that processing stage, and the points on the lower line surrounding each processing stage name. Indicates the maximum value output from the processing stage.
【0082】先ず、上記の各倍率および各比率に基づい
て、IMDCT変換器6に入力されるデジタルデータの
データ値の最大値(以下、データ最大値と称する)がど
のように変化するかについて説明する。First, it will be described how the maximum value (hereinafter referred to as the maximum data value) of the data value of the digital data input to the IMDCT converter 6 changes based on each of the above magnifications and each ratio. To do.
【0083】図10において、折線gは、IMDCT変
換器6の入力側から見たデータ最大値の変化を表す折線
である。例えば、〔ア〕の処理段階に入力されるデータ
最大値は216であり、〔ア〕の処理段階での倍率は√2
倍であるので、〔ア〕の処理段階から出力されるデータ
最大値は216*√2=216.5となる。In FIG. 10, a polygonal line g is a polygonal line representing a change in the maximum data value as seen from the input side of the IMDCT converter 6. For example, the maximum data value input in the processing stage [A] is 2 16 , and the magnification in the processing stage [A] is √2.
Since it is doubled, the maximum value of the data output from the processing stage [A] is 2 16 * √2 = 2 16.5 .
【0084】一方、折線hは、IMDCT変換器6の出
力側から見たデータ最大値の変化を表す折線であり、I
MDCT変換後のデータ最大値を215としている。但
し、上記の各比率は、演算後のデジタルデータに対する
被演算データの大きさを求めた値であるので、グラフ上
では、比率の逆数(例えば√2の逆数は1/√2)を用い
て表される。On the other hand, the polygonal line h is a polygonal line representing the change in the maximum data value seen from the output side of the IMDCT converter 6, and I
The maximum data value after MDCT conversion is set to 2 15 . However, since each of the above-mentioned ratios is a value obtained by calculating the size of the data to be calculated with respect to the digital data after the calculation, the reciprocal of the ratio (for example, the reciprocal of √2 is 1 / √2) is used on the graph. expressed.
【0085】ここで、IMDCT変換器6の入力側から
見たデータ最大値と、同出力側から見たデータ最大値は
一致していなければならないので、上記の〔イ〕の処理
段階の第1段において、折線gと折線hは交錯する。そ
して、上記の折線gおよび折線hの包絡を求めることに
より、図11に示すように、IMDCT変換器6に入力
されるデータ最大値の包絡線が得られる。尚、上述した
ように、折線gと折線hは、上記の〔イ〕の処理段階の
第1段において交錯するので、前記した〔ア〕の処理段
階については、比率を求める必要がないこととなる。Since the data maximum value viewed from the input side of the IMDCT converter 6 and the data maximum value viewed from the output side of the IMDCT converter 6 must match with each other, the first step in the processing step [a] above is performed. In the step, the polygonal line g and the polygonal line h intersect. Then, by obtaining the envelopes of the polygonal line g and the polygonal line h, the envelope of the maximum data value input to the IMDCT converter 6 is obtained as shown in FIG. As described above, since the polygonal line g and the polygonal line h intersect at the first stage of the above-mentioned processing step (a), it is not necessary to obtain the ratio for the above-mentioned processing step (a). Become.
【0086】続いて、このようにして得られたデータ最
大値の包絡線から、IMDCT変換器6に入力されるデ
ータ最大値が216であるときの最適なスケール量を決定
することができる。Then, from the envelope of the data maximum value thus obtained, the optimum scale amount when the data maximum value input to the IMDCT converter 6 is 2 16 can be determined.
【0087】次に、データ最大値の包絡線からスケール
量を決定する決定方法について図19を参照しながら以
下に説明する。尚、以下の説明においては、同図に示す
ように、被演算データはデータ長が24ビットに設定され
ており、小数点位置がLSB(Least Significant Bit
)から数えて6ビット目であるとする。Next, a method of determining the scale amount from the envelope of the maximum data value will be described below with reference to FIG. In the following description, the data length of the operand data is set to 24 bits and the decimal point position is LSB (Least Significant Bit), as shown in FIG.
), It is the 6th bit.
【0088】先ず、初期シフトとして、符号ビットの隣
のビット(LSBから数えて22ビット目)に最上位の1
が来るように、被演算データを左側にスケーリングす
る。例えば、データ最大値が214であるときは、被演算
データを左側に2ビットだけスケーリングする。この、
いわゆる左スケーリングにより、データビットを有効に
活用することができ、演算精度を向上させることが可能
となっている。尚、データ最大値が216であるときは、
符号ビットの隣のビットに既に1が立っているのでスケ
ーリングの必要はない。First, as an initial shift, the most significant 1 is placed in the bit next to the sign bit (the 22nd bit from the LSB).
, The operand data is scaled to the left. For example, when the maximum data value is 2 14 , the operand data is scaled to the left by 2 bits. this,
By so-called left scaling, the data bits can be effectively used and the calculation accuracy can be improved. If the maximum data value is 2 16 ,
There is no need for scaling because a bit next to the sign bit is already set to 1.
【0089】次に、上記の〔ア〕の処理段階では、図1
1のグラフから明らかなように、処理後のデータ最大値
は処理前のデータ最大値に対して最大で√2倍となる。
このことから、IMDCT変換器6におけるデジタルデ
ータのオーバーフローを回避するためには、被演算デー
タを1ビットだけ右側にスケーリングすれば良いことに
なる。即ち、〔ア〕の処理段階前のスケール量は1と決
定される。Next, in the processing stage [A] described above, FIG.
As is clear from the graph of No. 1, the maximum value of the data after processing is √2 times the maximum value of the data before processing.
From this, in order to avoid the overflow of digital data in the IMDCT converter 6, it is only necessary to scale the operand data by 1 bit to the right. That is, the scale amount before the processing step [A] is determined to be 1.
【0090】続いて、上記の〔イ〕の処理段階の第1段
では、処理後のデータ最大値は処理前のデータ最大値に
対して最大で√2倍となる。しかしながら、同図のグラ
フから明らかなように、上記の第1段処理後のデータ最
大値は、〔ア〕の処理段階前のデータ最大値に対して最
大で√2*√2=2倍であり、かつ、〔ア〕の処理段階
前に被演算データを1ビットだけ既に右側にスケーリン
グしているので、ここではスケーリングする必要がな
い。即ち、〔イ〕の処理段階の第1段前のスケール量は
0と決定される。Subsequently, in the first stage of the processing step [a], the maximum data value after processing is √2 times the maximum data value before processing. However, as is clear from the graph in the figure, the maximum data value after the above first-stage processing is √2 * √2 = 2 times the maximum data value before the processing step [A]. And, since the operand data has already been scaled to the right by one bit before the processing step [A], it is not necessary to scale it here. That is, the scale amount before the first stage of the processing stage [a] is determined to be 0.
【0091】また、〔イ〕の処理段階の第2段では、処
理後のデータ最大値は処理前のデータ最大値に対して最
大で1倍となる。従って、〔イ〕の処理段階の第2段前
のスケール量は0と決定される。Further, in the second stage of the processing stage [A], the maximum data value after the processing is at most one time the maximum data value before the processing. Therefore, the scale amount before the second stage of the processing stage [a] is determined to be 0.
【0092】同様に、図11のグラフから明らかなよう
に、〔イ〕の処理段階の第4段後のデータ最大値は、同
第3段前のデータ最大値(即ち、同第2段後のデータ最
大値)に対して最大で (1/√2) * (1/√2) =1/2 倍
となる。このことから、データビットを有効に活用する
ためには、第4段後のデジタルデータ、即ち、〔ウ〕の
処理段階前のデジタルデータを1ビットだけ左側にスケ
ーリングすれば良いことになる。即ち、〔イ〕の処理段
階の第3段前および第4段前のスケール量は0、〔ウ〕
の処理段階前のスケール量は-1と決定される。Similarly, as is apparent from the graph of FIG. 11, the data maximum value after the fourth step of the processing stage [a] is the data maximum value before the third step (that is, after the second step). The maximum value is (1 / √2) * (1 / √2) = 1/2. Therefore, in order to effectively utilize the data bits, it is sufficient to scale the digital data after the fourth stage, that is, the digital data before the processing step [C], by one bit to the left. That is, the scale amount before the third step and the fourth step before the processing step [a] is 0, [c]
The scale amount before the processing step of is determined to be -1.
【0093】また、〔ウ〕の処理段階では、処理後のデ
ータ最大値は処理前のデータ最大値に対して最大で1/2
倍となる。さらに、〔エ〕の処理段階では、処理後のデ
ータ最大値は処理前のデータ最大値に対して最大で1倍
となる。従って、〔エ〕の処理段階前のスケール量は-1
と決定される。In the processing stage [C], the maximum value of the data after the processing is 1/2 the maximum value of the data before the processing.
Doubled. Further, in the processing stage [D], the maximum value of data after processing is at most 1 time the maximum value of data before processing. Therefore, the scale amount before the processing step [d] is -1.
Is decided.
【0094】上記のようにして、データ最大値の包絡線
から、IMDCT変換における、〔ア〕〜〔エ〕の各処
理段階での最適なスケール量を決定することができる。As described above, it is possible to determine the optimum scale amount in each processing step [a] to [d] in the IMDCT conversion from the envelope of the maximum data value.
【0095】上記と同様にして得た、IMDCT変換器
6に入力されるデータ最大値が215であるときのデータ
最大値の包絡線を図12に、データ最大値が214である
ときの包絡線を図13に、データ最大値が213であると
きの包絡線を図14に、データ最大値が212であるとき
の包絡線を図15に、データ最大値が211であるときの
包絡線を図16に、データ最大値が210であるときの包
絡線を図17に、データ最大値が29 であるときの包絡
線を図18にそれぞれ示す。尚、前記の条件で述べた
ように、IMDCT変換器6に入力されるデータ最大値
は、最小で2-5である。しかしながら、データ最大値が
28 以下の場合には、その包絡線はデータ最大値が29
であるときの包絡線と同一形状となる。従って、データ
最大値が28 〜2-5であるときの包絡線の図示は省略す
る。The envelope of the data maximum value when the data maximum value input to the IMDCT converter 6 is 2 15 obtained in the same manner as above is shown in FIG. 12 and when the data maximum value is 2 14 . FIG. 13 shows an envelope curve, FIG. 14 shows an envelope curve when the maximum data value is 2 13 , FIG. 15 shows an envelope curve when the maximum data value is 2 12 and when the maximum data value is 2 11. FIG. 16 shows the envelope curve of FIG. 16, the envelope curve when the maximum data value is 2 10 is shown in FIG. 17, and the envelope curve when the maximum data value is 2 9 is shown in FIG. Incidentally, as mentioned in the above conditions, the maximum data value input to the IMDCT converter 6 is 2 -5 a minimum. However, if the data maximum is 2 8 or less, the envelope has a data maximum of 2 9
It has the same shape as the envelope curve. Therefore, the illustration of the envelope when the maximum data value is 2 8 to 2 −5 is omitted.
【0096】また、上記と同様にして決定した、データ
最大値が216〜2-5であるときの〔ア〕〜〔エ〕の各処
理段階での最適なスケール量を、表3にまとめて示す。Table 3 summarizes the optimum scale amounts determined in the same manner as above in each of the processing steps [a] to [d] when the maximum data value is 2 16 to 2 -5. Indicate.
【0097】[0097]
【表3】 [Table 3]
【0098】図1に示すように、上記の各スケール量は
記憶部5に予め格納されており、スケール量決定部4
は、スケーリング部3・3に入力される被演算データの
データ最大値と、〔ア〕〜〔エ〕の各処理段階とに対応
する最適なスケール量を記憶部5から読み出す。そし
て、スケーリング部3・3は、記憶部5に格納されてい
る上記のスケール量に基づき、スケーリングを行う。As shown in FIG. 1, each of the above scale amounts is stored in advance in the storage unit 5, and the scale amount determination unit 4
Reads out from the storage unit 5 an optimum scale amount corresponding to the maximum data value of the data to be input to the scaling unit 3.3 and each processing step [A] to [D]. Then, the scaling units 3 and 3 perform scaling based on the scale amount stored in the storage unit 5.
【0099】このように、上記構成のデジタル信号処理
装置は、スケーリング部3・3により、被演算データ
を、この被演算データのデータ最大値と、IMDCT変
換における各処理段階の演算の内容とに対応する所定の
スケール量だけスケーリングした後、IMDCT変換器
6・6に入力する。As described above, in the digital signal processing device having the above-described configuration, the scaling unit 3.3 sets the data to be processed into the data maximum value of this data to be processed and the contents of the calculation at each processing stage in the IMDCT conversion. After scaling by a corresponding predetermined scale amount, it is input to the IMDCT converter 6.
【0100】それゆえ、IMDCT変換器6・6にて被
演算データを演算し、統合して得られる処理後の演算デ
ータに生じるオーバーフローを回避することができる。
また、被演算データを所定のスケール量だけスケーリン
グさせるので、デジタルデータのビット数の減少を抑え
ることができる。これにより、上記構成は、オーバーフ
ローに由来する演算誤差を回避することができると共
に、デジタルデータのビット数の減少に由来する演算誤
差を軽減させることができるので、得られる演算結果の
誤差を低減することができる。従って、データ長が固定
長のDSPを用いて従来より一層、真の値に近づいた演
算結果を得ることが可能となる。また、データ長が固定
長のDSPを用いて演算結果の誤差を低減することがで
きるので、演算誤差を軽減するために可変長のDSPを
用いる必要がなく、可変長のDSPを用いることによる
コストアップを回避することが可能となる。Therefore, it is possible to avoid the overflow that occurs in the processed data obtained by calculating and integrating the data to be calculated by the IMDCT converters 6 and 6.
Moreover, since the data to be calculated is scaled by a predetermined scale amount, it is possible to suppress a decrease in the number of bits of the digital data. As a result, the above-mentioned configuration can avoid the calculation error resulting from the overflow and reduce the calculation error resulting from the decrease in the number of bits of the digital data, thus reducing the error in the obtained calculation result. be able to. Therefore, it is possible to obtain a calculation result that is closer to the true value than before by using a DSP having a fixed data length. Further, since the error of the calculation result can be reduced by using the DSP having the fixed data length, it is not necessary to use the variable length DSP to reduce the calculation error, and the cost of using the variable length DSP is reduced. It is possible to avoid up.
【0101】また、上記構成のデジタル信号処理装置
は、記憶部5に、被演算データをスケーリングさせるス
ケール量が予め格納している。Further, in the digital signal processing device having the above configuration, the storage unit 5 stores in advance a scale amount for scaling the data to be operated.
【0102】それゆえ、スケーリング部3・3にて被演
算データをスケーリングする際に、そのスケール量を求
めるための演算を行う必要がない。これにより、演算結
果を得るための演算回数を減少させることができるの
で、演算時間を短縮することができると共に、コストア
ップを回避することが可能となる。Therefore, when scaling the data to be calculated in the scaling unit 3.3, it is not necessary to perform the calculation for obtaining the scale amount. As a result, the number of calculations for obtaining the calculation result can be reduced, so that the calculation time can be shortened and the cost increase can be avoided.
【0103】さらに、上記構成のデジタル信号処理装置
は、記憶部5に格納されているスケール量が、被演算デ
ータのデータ最大値、並びに処理後の演算データのデー
タ最大値に基づいて設定されている。Further, in the digital signal processing device having the above-mentioned configuration, the scale amount stored in the storage unit 5 is set based on the maximum data value of the processed data and the maximum data value of the processed data. There is.
【0104】これにより、被演算データに対応する最適
のスケール量を記憶部5に格納することができるので、
得られる演算結果の誤差を一層低減することができる。As a result, the optimum scale amount corresponding to the data to be calculated can be stored in the storage unit 5,
The error of the obtained calculation result can be further reduced.
【0105】[0105]
【発明の効果】本発明の請求項1記載のデジタル信号処
理装置は、以上のように、第1および第2デジタルデー
タを、そのデジタルデータの最大値と演算の内容とに対
応する所定のスケール量だけスケーリングして演算器に
入力するスケーリング手段が設けられている構成であ
る。As described above, the digital signal processing device according to the first aspect of the present invention sets the first and second digital data to a predetermined scale corresponding to the maximum value of the digital data and the content of the calculation. This is a configuration in which there is provided scaling means for scaling only the amount and inputting it to the arithmetic unit.
【0106】このため、演算器にて第1および第2デジ
タルデータを演算し、統合して得られる第3デジタルデ
ータに生じるオーバーフローを回避することができる。
また、第1および第2デジタルデータを所定のスケール
量だけスケーリングさせるので、デジタルデータのビッ
ト数の減少を抑えることができる。これにより、上記構
成は、オーバーフローに由来する演算誤差を回避するこ
とができると共に、デジタルデータのビット数の減少に
由来する演算誤差を軽減させることができるので、得ら
れる演算結果の誤差を低減することができる。従って、
データ長が固定長の演算器を用いて従来より一層、真の
値に近づいた演算結果を得ることが可能となるという効
果を奏する。また、データ長が固定長の演算器を用いて
演算結果の誤差を低減することができるので、演算誤差
を軽減するために可変長の演算器を用いる必要がなく、
可変長の演算器を用いることによるコストアップを回避
することが可能となるという効果も併せて奏する。Therefore, it is possible to avoid the overflow that occurs in the third digital data obtained by calculating and integrating the first and second digital data with the arithmetic unit.
Moreover, since the first and second digital data are scaled by a predetermined scale amount, it is possible to suppress a decrease in the number of bits of the digital data. As a result, the above-mentioned configuration can avoid the calculation error resulting from the overflow and reduce the calculation error resulting from the decrease in the number of bits of the digital data, thus reducing the error in the obtained calculation result. be able to. Therefore,
It is possible to obtain an operation result that is closer to a true value than ever with an arithmetic unit having a fixed data length. Further, since the error of the calculation result can be reduced by using the arithmetic unit having the fixed data length, it is not necessary to use the variable length arithmetic unit to reduce the arithmetic error,
There is also an effect that it is possible to avoid an increase in cost due to using a variable-length arithmetic unit.
【0107】本発明の請求項2記載のデジタル信号処理
装置は、以上のように、スケール量を予め格納している
記憶手段を備えている構成である。As described above, the digital signal processing apparatus according to the second aspect of the present invention is configured to include the storage means for storing the scale amount in advance.
【0108】このため、スケーリング手段にて第1およ
び第2デジタルデータをスケーリングする際に、そのス
ケール量を求めるための演算を行う必要がない。これに
より、演算結果を得るための演算回数を減少させること
ができるので、演算時間を短縮することができると共
に、コストアップを回避することが可能となるという効
果を奏する。Therefore, when scaling the first and second digital data by the scaling means, it is not necessary to perform an operation for obtaining the scale amount. As a result, the number of calculations for obtaining the calculation result can be reduced, so that the calculation time can be shortened and the cost increase can be avoided.
【0109】本発明の請求項3記載のデジタル信号処理
装置は、以上のように、記憶手段に格納されているスケ
ール量が、第1および第2デジタルデータの最大値、並
びに第3デジタルデータの最大値に基づいて設定されて
いる構成である。In the digital signal processing device according to the third aspect of the present invention, as described above, the scale amount stored in the storage means is the maximum value of the first and second digital data and the third digital data. The configuration is set based on the maximum value.
【0110】これにより、第1および第2デジタルデー
タに対応する最適のスケール量を記憶手段に格納するこ
とができるので、得られる演算結果の誤差を一層低減す
ることができるという効果を奏する。As a result, the optimum scale amount corresponding to the first and second digital data can be stored in the storage means, so that the error of the obtained calculation result can be further reduced.
【図1】本発明の一実施例におけるデジタル信号処理装
置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a digital signal processing device according to an embodiment of the present invention.
【図2】上記デジタル信号処理装置のIMDCT変換器
で実行されるIMDCT変換の各処理段階を説明する説
明図である。FIG. 2 is an explanatory diagram illustrating each processing step of IMDCT conversion executed by an IMDCT converter of the digital signal processing device.
【図3】回転演算子の演算内容を説明する複素平面を示
すグラフである。FIG. 3 is a graph showing a complex plane for explaining the operation contents of a rotation operator.
【図4】バタフライ演算の演算内容を説明する説明図で
ある。FIG. 4 is an explanatory diagram illustrating the operation contents of a butterfly operation.
【図5】バタフライ演算の演算内容を説明する複素平面
を示すグラフである。FIG. 5 is a graph showing a complex plane for explaining operation contents of butterfly operation.
【図6】バタフライ演算の演算内容を説明する複素平面
を示すグラフである。FIG. 6 is a graph showing a complex plane for explaining operation contents of butterfly operation.
【図7】バタフライ演算の演算内容を説明する複素平面
を示すグラフである。FIG. 7 is a graph showing a complex plane for explaining operation contents of butterfly operation.
【図8】バタフライ演算の演算内容を説明する複素平面
を示すグラフである。FIG. 8 is a graph showing a complex plane for explaining the calculation contents of a butterfly calculation.
【図9】バタフライ演算の演算内容を説明する複素平面
を示すグラフである。FIG. 9 is a graph showing a complex plane for explaining the calculation contents of butterfly calculation.
【図10】IMDCT変換の各処理段階でのデータ最大
値の変化を示すグラフである。FIG. 10 is a graph showing changes in the maximum data value at each processing stage of IMDCT conversion.
【図11】被演算データのデータ最大値が216であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 11 is a graph showing an envelope of the maximum data value at each processing stage of the IMDCT conversion when the maximum data value of the data to be calculated is 2 16 .
【図12】被演算データのデータ最大値が215であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 12 is a graph showing the envelope of the data maximum value at each processing stage of the IMDCT conversion when the data maximum value of the data to be calculated is 2 15 .
【図13】被演算データのデータ最大値が214であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 13 is a graph showing the envelope of the data maximum value at each processing stage of the IMDCT conversion when the data maximum value of the data to be calculated is 2 14 .
【図14】被演算データのデータ最大値が213であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 14 is a graph showing an envelope of the maximum data value at each processing stage of the IMDCT conversion when the maximum data value of the data to be calculated is 2 13 .
【図15】被演算データのデータ最大値が212であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 15 is a graph showing an envelope of the maximum data value at each processing stage of the IMDCT conversion when the maximum data value of the data to be calculated is 2 12 .
【図16】被演算データのデータ最大値が211であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 16 is a graph showing an envelope of the maximum data value at each processing stage of IMDCT conversion when the maximum data value of the data to be calculated is 2 11 .
【図17】被演算データのデータ最大値が210であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 17 is a graph showing an envelope of the maximum data value at each processing stage of the IMDCT conversion when the maximum data value of the data to be calculated is 2 10 .
【図18】被演算データのデータ最大値が29 であると
きのIMDCT変換の各処理段階でのデータ最大値の包
絡線を示すグラフである。FIG. 18 is a graph showing the envelope of the data maximum value at each processing stage of the IMDCT conversion when the data maximum value of the data to be calculated is 2 9 .
【図19】被演算データのスケーリングを説明する説明
図である。FIG. 19 is an explanatory diagram illustrating scaling of data to be calculated.
1 バスライン 2 バスライン 3 スケーリング部(スケーリング手段) 4 スケール量決定部 5 記憶部(記憶手段) 6 IMDCT変換器(演算器) 7 QMF(演算器) 1 Bus Line 2 Bus Line 3 Scaling Unit (Scaling Means) 4 Scale Amount Determining Unit 5 Storage Unit (Storage Means) 6 IMDCT Converter (Calculator) 7 QMF (Calculator)
Claims (3)
第2デジタルデータが入力されて、データ長を固定長に
て演算することにより上記第1および第2デジタルデー
タを演算し、統合して第3デジタルデータを出力する演
算器が設けられているデジタル信号処理装置において、 上記第1および第2デジタルデータを、そのデジタルデ
ータの最大値と演算の内容とに対応する所定のスケール
量だけスケーリングして上記演算器に入力するスケーリ
ング手段が設けられていることを特徴とするデジタル信
号処理装置。1. Digitized and standardized first and second digital data are input, and the first and second digital data are calculated and integrated by calculating a data length with a fixed length. In a digital signal processing device provided with an arithmetic unit that outputs third digital data, the first and second digital data are scaled by a predetermined scale amount corresponding to the maximum value of the digital data and the content of the arithmetic operation. A digital signal processing device, characterized in that scaling means is provided for inputting to the arithmetic unit.
段を備えていることを特徴とする請求項1記載のデジタ
ル信号処理装置。2. The digital signal processing apparatus according to claim 1, further comprising a storage unit that stores the scale amount in advance.
が、第1および第2デジタルデータの最大値、並びに第
3デジタルデータの最大値に基づいて設定されているこ
とを特徴とする請求項2記載のデジタル信号処理装置。3. The scale amount stored in the storage means is set based on the maximum values of the first and second digital data and the maximum value of the third digital data. 2. The digital signal processing device according to 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5181359A JPH0736666A (en) | 1993-07-22 | 1993-07-22 | Digital signal processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5181359A JPH0736666A (en) | 1993-07-22 | 1993-07-22 | Digital signal processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0736666A true JPH0736666A (en) | 1995-02-07 |
Family
ID=16099347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5181359A Pending JPH0736666A (en) | 1993-07-22 | 1993-07-22 | Digital signal processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0736666A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008122108A (en) * | 2006-11-08 | 2008-05-29 | Anritsu Corp | Optical pulse tester |
US11604852B2 (en) | 2017-12-27 | 2023-03-14 | Nec Corporation | Signal processing apparatus, method, program, and recording medium |
-
1993
- 1993-07-22 JP JP5181359A patent/JPH0736666A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008122108A (en) * | 2006-11-08 | 2008-05-29 | Anritsu Corp | Optical pulse tester |
US11604852B2 (en) | 2017-12-27 | 2023-03-14 | Nec Corporation | Signal processing apparatus, method, program, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06334459A (en) | Digital signal processor | |
US5933360A (en) | Method and apparatus for signal compression and processing using logarithmic differential compression | |
US5502277A (en) | Filter device and electronic musical instrument using the filter device | |
US6748409B1 (en) | Data interpolating system | |
Rothweiler | On polynomial reduction in the computation of LSP frequencies | |
JPH0736666A (en) | Digital signal processor | |
US5890126A (en) | Audio data decompression and interpolation apparatus and method | |
US5581480A (en) | Method and apparatus for mixing multiple channels of sampled digital audio using a non-linear clipping function | |
US6292817B1 (en) | Discrete cosine transformation circuit | |
JPH074658Y2 (en) | Logarithmic conversion circuit | |
US6460062B1 (en) | Discrete cosine transformation circuit | |
JP2006162774A (en) | Signal processor | |
JPH0314128A (en) | Arithmetic unit utilizing logarithmic expression numerical value | |
JPH06202752A (en) | Interpolating device for exponential function data | |
JP2553745B2 (en) | Speech analysis method and speech analysis device | |
JP2001216289A (en) | Sample data converter and program recording medium | |
JP2699658B2 (en) | Square root arithmetic unit | |
JPH0836562A (en) | Digital fourier transformation device | |
JPS5981762A (en) | High-speed fourier conversion processor | |
JPS63125013A (en) | Digital filter device | |
JPH08130478A (en) | Sub-band dividing arithmetic circuit | |
JP2000081968A (en) | Arithmetic unit for reciprocal | |
JPH0669741A (en) | D/a conversion processing method | |
JPH0782047B2 (en) | Method and circuit for determining phase angle of complex electric signal | |
JP2605350B2 (en) | Pattern matching processing circuit |