JP2018097598A - Digital signal processing device - Google Patents
Digital signal processing device Download PDFInfo
- Publication number
- JP2018097598A JP2018097598A JP2016241386A JP2016241386A JP2018097598A JP 2018097598 A JP2018097598 A JP 2018097598A JP 2016241386 A JP2016241386 A JP 2016241386A JP 2016241386 A JP2016241386 A JP 2016241386A JP 2018097598 A JP2018097598 A JP 2018097598A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- vector
- data storage
- storage area
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
本発明は、音声信号等、各種のディジタル信号についてフィルタ処理を行うディジタル信号処理装置に関する。 The present invention relates to a digital signal processing apparatus that performs filter processing on various digital signals such as audio signals.
従来、各種のディジタル信号をフィルタ処理する場合によく用いられるフィルタとして、IIR(Infinite Impulse Response)フィルタやFIR(Finite
Impulse Response)フィルタがある。これらのフィルタは各種のディジタル信号処理において用いられ、特にFIRフィルタは、ハードウェアで効率的に実現できることから、音声信号の処理等で用いられることが多い。
Conventionally, as a filter often used for filtering various digital signals, an IIR (Infinite Impulse Response) filter or FIR (Finite) filter is used.
Impulse Response) filter. These filters are used in various types of digital signal processing, and in particular, FIR filters are often used in audio signal processing and the like because they can be efficiently realized by hardware.
ディジタル信号、例えば、音声信号に対するFIRフィルタ処理では下記式(1)に示す処理が行われる。
・・・(1)
ただしx[n]:入力信号、y[n]:出力信号、h[i]:フィルタ係数、N:フィルタ次数
このFIRフィルタ処理をディジタル信号処理において用いる場合には、一般に、下記式(2)に示すような積和演算処理を行う。
・・・(2)
ただしx[n]:入力信号、y[n]:出力信号、h[i]:フィルタ係数、N:フィルタ次数
このような積和演算処理をDSP(Digital Signal Processor)を用いて実行する場合、最新の入力信号からN個分過去の入力信号までを保持しておく必要がある。そのため、FIRフィルタ処理を行う場合、過去の入力信号を記録しておくための、データの個数分のデータ格納領域が設けられたレジスタが用いられる。
In the FIR filter processing for a digital signal, for example, a voice signal, processing shown in the following formula (1) is performed.
... (1)
However, x [n]: input signal, y [n]: output signal, h [i]: filter coefficient, N: filter order When this FIR filter processing is used in digital signal processing, the following equation (2) is generally used. The product-sum calculation process as shown in FIG.
... (2)
However, x [n]: input signal, y [n]: output signal, h [i]: filter coefficient, N: filter order When such product-sum operation processing is executed using a DSP (Digital Signal Processor), It is necessary to hold from the latest input signal to N past input signals. Therefore, when performing FIR filter processing, a register provided with data storage areas for the number of data for recording past input signals is used.
ここで、フィルタ次数が大きいほどフィルタ特性は良好になるので、FIRフィルタを構成するDSPにおいてはフィルタ次数Nが512,1024,2048等高次のものになる場合が多い。そのため、DSPのフィルタ処理においては、フィルタ次数Nと同数のデータの読み出し、フィルタ次数Nと同数の乗算、及びN個の乗算結果の加算処理(即ち積和演算)を行うことになる。これにより、フィルタ処理のための演算処理が増大してしまい、DSPにおけるフィルタ処理の処理負荷が大きくなってしまう。そのため、DSPにおけるフィルタ処理の処理負荷をなるべく軽減させることのできる構成が望まれる。 Here, since the filter characteristic becomes better as the filter order is larger, in the DSP constituting the FIR filter, the filter order N is often higher order such as 512, 1024, and 2048. Therefore, in the DSP filter processing, the same number of data as the filter order N is read, the same number of multiplications as the filter order N, and the addition processing (that is, product-sum operation) of the N multiplication results. As a result, the calculation processing for the filter processing increases, and the processing load of the filter processing in the DSP increases. For this reason, a configuration that can reduce the processing load of the filter processing in the DSP as much as possible is desired.
一方、従来、ディジタル信号処理においては、ベクトル演算処理装置も多く用いられている。これは、複数のベクトルレジスタとベクトル演算器を用い、ベクトルレジスタに格納されたデータを順次読み出してベクトル演算するものである。これにより、単一の命令列を複数のデータ列に適用して並列に演算処理を行うことが可能になる。 On the other hand, conventionally, many vector arithmetic processing devices are used in digital signal processing. In this method, a plurality of vector registers and a vector calculator are used to sequentially read out data stored in the vector registers and perform a vector operation. Thereby, it becomes possible to apply a single instruction sequence to a plurality of data sequences and perform arithmetic processing in parallel.
このような、並列の演算処理を用いたFIRフィルタとしては、一部の乗加算処理を行う乗加算器MAC0と残りの乗加算処理を行う乗加算器MAC1を用いてディジタル信号処理を行う構成において、乗加算器MAC0と乗加算器MAC1で共通に用いるサンプル(データ)をデータメモリ(レジスタ)から読み出して、そのサンプルに対して乗加算器MAC0と乗加算器MAC1で処理を行わせる構成を備えることで、積和演算処理を並列実行する際に、メモリに記録されたデータの読み出し回数を減少させる構成が知られている(例えば、特許文献1参照)。 As such an FIR filter using parallel arithmetic processing, digital signal processing is performed using a multiplier / adder MAC0 that performs a part of multiplication / addition processing and a multiplier / adder MAC1 that performs the remaining multiplication / addition processing. A sample (data) that is commonly used by the multiplier / adder MAC0 and the multiplier / adder MAC1 is read from the data memory (register), and the sample is processed by the multiplier / adder MAC0 and the multiplier / adder MAC1. Thus, a configuration is known in which the number of times of reading of data recorded in a memory is reduced when performing product-sum operation processing in parallel (see, for example, Patent Document 1).
ここで、一般に、ディジタル信号に対してベクトル演算等の積和演算の並列処理を行うための通常の構成においては、データを格納したレジスタの個々のデータ格納領域の位置を管理する番号(レジスタの個々のデータ格納領域の番地情報や、個々の格納領域に付与されたインデックス情報など)の番号順(例えば番号の昇順や降順)にデータを読み出して処理を行う。そのため、1回の並列処理が完了すると、レジスタの個々のデータ格納領域に記録されたデータを書き換える処理(例えば、それぞれのデータ格納領域に格納されたデータを、一つ上の番号のデータ格納領域にそれぞれずらして再度格納すると共に、一番古い信号のデータを消去し、最新のデータを新たに格納する処理)を行う必要がある。上記特許文献1においてもこのような処理が行われたのちに、積和演算処理の並列実行が逐次行われることが前提となっている。そのため、上記特許文献1においては、レジスタ内のデータを書き替える処理が頻繁に発生し、そのための処理負荷と処理時間が大きくなるという問題がある。この問題は、フィルタ次数が大きくなった場合に特に顕著になる。
Here, in general, in a normal configuration for performing parallel processing of product-sum operations such as vector operations on a digital signal, a number for managing the position of each data storage area of the register storing the data (the register Data is read out and processed in the order of numbers (for example, ascending or descending order of numbers) of address information of individual data storage areas and index information assigned to individual storage areas. Therefore, when one parallel process is completed, a process of rewriting the data recorded in each data storage area of the register (for example, the data stored in each data storage area is changed to the data storage area with the number one higher. To store the data again, and delete the data of the oldest signal and newly store the latest data). Also in the said
一方、FIRフィルタ等、複数のフィルタ次数を有するディジタルフィルタで用いる入力信号を保持する際、レジスタを構成するデータ格納領域が環状に構成されるように管理するようにした、リングバッファが用いられることも多い。このリングバッファを用いれば、個々のデータ格納領域に格納されたデータを、積和演算処理が行われるたびに書き替えるような使用法を用いる必要がないので、データ格納領域の管理が容易になる。しかしそれゆえに、リングバッファにおいては、個々のデータの順序(例えば、最新の信号から過去の信号までの時系列順)とデータ格納領域を管理する番号の順序(昇順や降順)とが一致した状態にならない。そのため、特許文献1に記載の発明においては、レジスタにリングバッファを用いることで、フィルタ次数が大きくなった場合に特に過大になる、処理負荷や処理時間を軽減させることはできないという問題がある。
On the other hand, when an input signal used in a digital filter having a plurality of filter orders such as an FIR filter is held, a ring buffer is used so that the data storage area constituting the register is managed in a ring shape. There are also many. If this ring buffer is used, it is not necessary to use a method of rewriting data stored in each data storage area every time a product-sum operation process is performed, so that management of the data storage area becomes easy. . However, in the ring buffer, the order of individual data (for example, the time-series order from the latest signal to the past signal) and the order of numbers for managing the data storage area (ascending order or descending order) match. do not become. Therefore, in the invention described in
本発明はこのような問題に鑑みてなされたものであり、複数のフィルタ次数を有するディジタルフィルタを用いたディジタル信号処理において、フィルタ次数が大きくなった場合であっても、処理負荷や処理時間が過大になることを抑止することができるディジタル信号処理装置を提供することを課題としている。 The present invention has been made in view of such a problem. In digital signal processing using a digital filter having a plurality of filter orders, even if the filter order is large, the processing load and processing time are increased. It is an object of the present invention to provide a digital signal processing device that can suppress an excessive amount.
かかる課題を解決するために、請求項1に記載の発明は、ベクトル演算を用いて各種のディジタル信号のフィルタ処理を行うディジタル信号処理装置であって、入力データが格納される格納領域を複数備えた第一の格納手段と、前記入力データに対して演算処理される係数のデータが格納される格納領域を複数備えた第二の格納手段と、設定された前記第一の格納手段及び/又は前記第二の格納手段に対する前記データの書き込み及び読み出しの位置及び/又は順序に基づいて、前記第一の格納手段及び前記第二の格納手段に対する前記データの書き込み及び読み出しを行う入出力データ制御手段と、前記第一の格納手段から読み出された前記データと前記第二の格納手段から読み出された前記データとをベクトル演算にて演算処理を行う演算処理手段とを備え、前記入出力データ制御手段は、前記第一の格納手段及び/又は前記第二の格納手段について、複数の前記データ格納領域に対して順番に前記データの書き込み又は読み出しを行うように制御することでリングバッファとして構成し、前記リングバッファとして構成された前記第一の格納手段及び/又は前記リングバッファとして構成された前記第二の格納手段から、読み出しの先頭位置を順番に替えながら前記データ格納領域に対する前記データの書き込み及び前記データの読み出しを行い、前記演算処理手段は、前記第一の格納手段から読み出された前記データと前記第二の格納手段から読み出された前記データとをベクトル演算にて演算処理を行うことを特徴とする。
In order to solve this problem, the invention described in
請求項2に記載の発明は、請求項1に記載の構成に加え、前記リングバッファとして構成された前記第一の格納手段及び/又は前記リングバッファとして構成された前記第二の格納手段に対し、前記データの書き込み及び前記データの読み出しを行う際の基準位置としてのインデックス情報を設定するインデックス制御手段を備え、該インデックス制御手段は、前記リングバッファとして構成された前記第一の格納手段の前記データ格納領域及び/又は前記リングバッファとして構成された前記第二の格納手段の前記データ格納領域に対して前記インデックス情報を設定し、前記入出力データ制御手段は、前記データの書き込み及び前記データの読み出しの際、前記インデックス情報を基準に前記書き込み及び前記読み出しの先頭位置を決定して前記データの書き込み及び前記読み出しを行うことを特徴とする。
The invention according to
請求項3に記載の発明は、請求項1に記載の構成に加え、前記演算処理手段はFIRフィルタによるフィルタ処理の演算を行うことを特徴とする。 According to a third aspect of the present invention, in addition to the configuration according to the first aspect, the arithmetic processing means performs a filter processing operation using an FIR filter.
請求項4に記載の発明は、請求項1乃至3の何れか一つに記載の構成に加え、前記入力データは音声信号であることを特徴とする。 According to a fourth aspect of the present invention, in addition to the configuration according to any one of the first to third aspects, the input data is an audio signal.
請求項1に記載の発明によれば、リングバッファとして構成された第一の格納手段及び/又は第二の格納手段から、設定に基づいて、読み出しの先頭位置を順番に替えながらデータ格納領域に対するデータの書き込み及びデータの読み出しを行い
読み出されたデータをベクトル演算にて演算処理を行うことにより、リングバッファにおいて、個々のデータ格納領域に格納されたデータを、処理が行われるたびに他のデータ格納領域に書き替えてデータの並び順とデータ格納領域を管理する番号の順序を一致させなくても、データの並び順にデータを読み出してベクトル演算にて演算処理を行うことができる。これにより、複数のフィルタ次数を有するディジタルフィルタを用いたディジタル信号処理において、フィルタ次数が大きくなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。
According to the first aspect of the present invention, from the first storage means and / or the second storage means configured as a ring buffer, with respect to the data storage area, the reading start position is changed in order based on the setting. By writing data and reading data and performing arithmetic processing on the read data by vector operation, the data stored in the individual data storage areas in the ring buffer is changed each time processing is performed. Even if the data storage area is not rewritten and the data arrangement order does not coincide with the order of the numbers managing the data storage area, the data can be read out in the data arrangement order and the arithmetic processing can be performed by vector operation. Thereby, in the digital signal processing using the digital filter having a plurality of filter orders, it is possible to prevent the processing load and the processing time from becoming excessive even when the filter order becomes large.
請求項2に記載の発明によれば、リングバッファとして構成された第一の格納手段のデータ格納領域及び/又はリングバッファとして構成された第二の格納手段のデータ格納領域に設定されたインデックス情報に基づいて、データの書き込み及び読み出しの先頭位置の決定とデータの書き込み及び読み出しを行うこととを実現できるので、リングバッファにおいて、個々のデータ格納領域に格納されたデータを、処理が行われるたびに他のデータ格納領域に書き替えてデータの並び順とデータ格納領域を管理する番号の順序を一致させなくても、データの並び順にデータを読み出してベクトル演算にて演算処理を行うことを、簡易かつ確実に実現できる。
According to invention of
請求項3に記載の発明によれば、FIRフィルタを用いたフィルタ処理において、フィルタ次数が高くなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。
According to the invention described in
請求項4に記載の発明によれば、音声信号のフィルタ処理において、フィルタ次数が高くなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。 According to the fourth aspect of the present invention, it is possible to suppress excessive processing load and processing time even when the filter order is high in the filter processing of the audio signal.
図1乃至図13に、この発明の実施の形態を示す。 1 to 13 show an embodiment of the present invention.
[基本構成]
図1は、この実施の形態に係る「ディジタル信号処理装置」としてのベクトル演算処理装置の概略構成を示す機能ブロック図である。
[Basic configuration]
FIG. 1 is a functional block diagram showing a schematic configuration of a vector arithmetic processing apparatus as a “digital signal processing apparatus” according to this embodiment.
図1に示す「ディジタル信号処理装置」としてのベクトル演算処理装置1は、プログラムの実行によって機能を実現させるための構成(例えばCPU等)を備え、各種のディジタル信号に対するフィルタ処理を行う装置に用いられる。具体的には、例えば、図1に示すベクトル演算処理装置1は、パチンコ機、パチスロ等の遊技機(図示せず)に組み込まれ、遊技機(図示せず)に設けられたスピーカ14(図2参照)から出力される音声を形成するディジタル音声信号に対してFIRフィルタとして機能してフィルタ処理を行う。
A vector
図1に示す通り、このベクトル演算処理装置1はベクトルレジスタ2、「演算処理手段」としての演算器3を備えている。このベクトル演算処理装置1の備えるそれぞれの構成は、基本的にはハードウェアロジックによって構成されるが、これらの構成のうちの一部又は全部がプログラムの実行によって実現されるものであってもよい。
As shown in FIG. 1, the vector
ベクトルレジスタ2は、ベクトル演算処理装置1においてフィルタ処理の対象となる入力データ(音声信号)やフィルタ係数や演算器3における積和演算の結果としてのデータ(フィルタ処理された音声信号)が記録される記憶素子である。図1に示す通り、ベクトルレジスタ2には、データ保管領域としてのN個(ただしN>1)の「第一の格納手段」としての第0レジスタ201、「第二の格納手段」としての第1レジスタ202、・・・第Mレジスタ20M(ただしM=N−1)が設けられており、フィルタ処理が行われる前の音声信号、フィルタ処理に用いられる係数のデータ、フィルタ処理が行われた後の音声信号がそれぞれ記録される(詳しくは後述する)。
The
演算器3は、加算器や乗算器を備え、入力データ(音声信号)に対する積和演算を行うことでFIRフィルタにおけるフィルタ処理を行う。
The
図2は、この実施の形態に係るディジタル信号処理システムの概略構成を示す機能ブロック図である。同図に示すように、ディジタル信号処理システム10は、音声信号処理装置11、ROM12、アンプ13、スピーカ14を備えている。そして、音声信号処理装置11は、デコーダ15、ベクトル演算処理装置1、出力部16を備えている。
FIG. 2 is a functional block diagram showing a schematic configuration of the digital signal processing system according to this embodiment. As shown in the figure, the digital
音声信号処理装置11は、この実施の形態に係るベクトル演算処理装置1を備え、デコーディングによる音声信号の復元と音声信号のFIRフィルタによるフィルタ処理とを行って出力する。この音声信号処理装置11の備えるそれぞれの構成は、基本的にはハードウェアロジックによって構成されるが、これらの構成のうちの一部又は全部がプログラムの実行によって実現されるものであってもよい。
The audio
ROM12は、記録媒体であって圧縮符号化された音声信号等の各種データが記録される。アンプ13は音声信号処理装置11から出力された音声信号を増幅する。スピーカ14は音声信号を音声に変換して外部に出力する。
The
デコーダ15は、ROM12に記録された、符号化された音声信号をデコードして音声信号を復元する。デコードの結果得られた音声の振幅値をサンプリング周期毎にベクトル演算処理装置1に供給する。出力部16はアンプ13との通信インターフェース機能(例えばI2S/SPDIFなど)を備え、ベクトル演算処理装置1でフィルタ処理された音声信号をアンプ13に送信するために必要な処理を行う。
The
図3は、この実施の形態に係るベクトル演算処理装置1の構成の概略を模式的に示す機能ブロック図である。同図に示す通り、この実施の形態のベクトル演算処理装置1は、ベクトルレジスタ2及び演算器3に加え、リングバッファ制御部17を備えている。
FIG. 3 is a functional block diagram schematically showing an outline of the configuration of the vector
リングバッファ制御部17は、ベクトルレジスタ2に設けられた第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Nのうちの一部又は全部をリングバッファとして構成させるために必要な処理、即ち読み出しインデックスや書き込みインデックスの制御を行う(詳しくは後述する)。
The ring
図4は、この実施の形態に係るベクトル演算処理装置1の構成の詳細を模式的に示す機能ブロック図である。同図に示す通り、ベクトル演算処理装置1は、ベクトル命令発行部21、としてのベクトル命令制御部22、「入出力データ制御手段」としてのベクトルレジスタ読み出し部23、「入出力データ制御手段」としてのベクトルレジスタ書き込み部24を備えている。
FIG. 4 is a functional block diagram schematically showing details of the configuration of the vector
ベクトル命令発行部21は、入力データ制御部211、出力データ制御部212、「入出力データ制御手段」としてのリングバッファ制御部17を備えている(これらの構成の機能については後述する)。ベクトル命令発行部21は、リングバッファ制御部17の機能により、ベクトルレジスタ2のレジスタ例えば第0レジスタ201をリングバッファとして機能させて各レジスタ即ち第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Nに対するデータの読み出しインデックスや書き込みインデックスの制御を行う。具体的には、ベクトルレジスタ2に記録されたデータを用いてベクトル演算を実施するための命令を発行する。また、ベクトル命令発行部21は、リングバッファ制御部17の機能も含み、レジスタの読み出し、書き込みインデックスを制御する(詳しくは後述する。)。
The vector
ベクトル命令制御部22は、ベクトル命令発行部21から出力された命令に基づいてベクトルレジスタ読み出し部23及びベクトルレジスタ書き込み部24を制御することで、ベクトル演算によるデータの演算を制御するために必要な処理を行う(詳しくは後述する。)。
The vector
ベクトルレジスタ読み出し部23は、ベクトルレジスタ2の各レジスタ、例えば第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Nの指定されたインデックスに基づくデータ格納領域、例えば、第0レジスタ201の、第0インデックスが付与された第0データ格納領域2011、第1インデックスが付与された第1データ格納領域2012、第2インデックスが付与された第2データ格納領域2013、第3インデックスが付与された第3データ格納領域2014(図8〜図13参照)に記録されたデータをベクトル演算によって読み出して演算器3に送る。
Vector
ベクトルレジスタ書き込み部24は、演算器3において演算された結果をベクトル演算によってベクトルレジスタ2の各レジスタ第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Nの指定されたインデックスに基づく格納領域、例えば第Mレジスタ20Nの第0インデックスが付与された第0データ格納領域20N1に送る。
Vector
乗算器31は、ベクトルレジスタ読み出し部23から読み出された2つの値(具体的には、第0レジスタ201から読み出された音声信号と、第1レジスタ202から読み出されたフィルタ係数)を乗算する処理を行う。加算器32は、乗算器31における乗算の結果や、レジスタ33に一時的に記録された積和演算の結果を加算する処理を行う。レジスタ33は、加算器32により加算された結果のデータを一時的に記録する機能を有する。
The
図5は、この実施の形態に係るベクトルレジスタ2の各レジスタ第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Nの構成を模式的に示す機能ブロック図である。同図に示す通り、第0レジスタ201は、複数例えばN個(N>1)の第0データ格納領域2011、第1データ格納領域2012、・・・第Mデータ格納領域201M、第Nデータ格納領域201Nを備えている。また、同様に、第1レジスタ202も複数例えばN個(N>1)の第0データ格納領域2021、第1データ格納領域2022、・・・第Mデータ格納領域202M、第Nデータ格納領域202Nを備え、第Mレジスタ20Mも複数例えばN個(N>1)の第0データ格納領域20M1、第1データ格納領域20M2、・・・第Mデータ格納領域20MM、第Nデータ格納領域20MNを備えている。それぞれのデータ格納領域例えばデータ格納領域2011,2012,201M,201Nには、音声信号やフィルタ係数等のデータが格納される。
FIG. 5 is a functional block diagram schematically showing a configuration of each register 0th register 20 1 , first register 20 2 ,... Mth register 20 N of the
図6は、この実施の形態に係るベクトル命令発行部21の構成を模式的に示す機能ブロック図である。同図に示す通り、ベクトル命令発行部21は、図4にも示す入力データ制御部211、出力データ制御部212、「インデックス制御手段」としてのリングバッファ制御部17の他に、使用レジスタ設定部213、フィルタ次数設定部214、係数設定部215を備えている。また、リングバッファ制御部17は、「インデックス制御手段」としての読み出しインデックス制御部171、「インデックス制御手段」としての書き込みインデックス制御部172を備えている。
FIG. 6 is a functional block diagram schematically showing the configuration of the vector
入力データ制御部211は、各レジスタ例えば第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Nにデータ(音声信号やフィルタ係数の値や演算結果)を入力するための制御を行う。出力データ制御部212は、ベクトルレジスタ2の第Mレジスタ20Nから、信号値とフィルタ係数との積和演算の結果としてのデータを出力させるための制御を行う。
Input
リングバッファ制御部17は、各レジスタ例えば第0レジスタ201をリングバッファとして機能させるための制御を行う。具体的には、各レジスタの格納領域(例えば第0レジスタ201の第0データ格納領域2011に付与した第0インデックス、第1データ格納領域2012に付与した第1インデックス、第2データ格納領域2013に付与した第2インデックス、第3データ格納領域2014に付与した第3インデックス、等(図8〜図13参照))を基準位置ないし基準として、データの読み出しや書き込みを行うための制御を行う。読み出しインデックス制御部171は、リングバッファとして構成した各レジスタ例えば第0レジスタ201の第0データ格納領域2011、第1データ格納領域2012、・・・第Mデータ格納領域201Nからデータを読み出すために必要な制御を行う。書き込みインデックス制御部172は、リングバッファとして構成した各レジスタ例えば第0レジスタ201の第0データ格納領域2011、第1データ格納領域2012、・・・第Mデータ格納領域201Nにデータを書き込むために必要な制御を行う。
The
使用レジスタ設定部213は、初期設定時に、各レジスタ201,202,・・・20Nのうち、音声信号やフィルタ計数等を格納するものを設定する。フィルタ次数設定部214は、初期設定時に、演算器3におけるフィルタ処理の際のフィルタ次数Nを設定する。係数設定部215は、初期設定時にFIRフィルタ係数を求めるために利用する係数h[0]〜h[n−1]を設定する(図8〜図13参照)。
Using
[処理手順]
図7は、この実施の形態に係るベクトル演算処理装置1の処理手順を示すフローチャートであり、図8〜図13は、この実施の形態に係るベクトル演算処理装置1のベクトルレジスタ2におけるデータの格納状態を模式的に示す図である。
[Processing procedure]
FIG. 7 is a flowchart showing the processing procedure of the vector
以下、図7〜図14に基づいて、この実施の形態におけるベクトル演算処理装置1の処理手順を説明する。なお、同図では、ベクトルレジスタ2の第0レジスタ201に入力データ、第1レジスタ202に係数を格納し、レジスタMに積和演算結果を格納する事例に基づいて説明する。また、説明を簡単にするため、フィルタ次数Nを4とした場合に基づき説明する。
Hereinafter, based on FIG. 7 to FIG. 14, a processing procedure of the vector
(1)まず、初期設定として、ベクトル命令発行部21の使用レジスタ設定部213は、入力データを格納するレジスタとして第0レジスタ201を設定し、フィルタ係数を格納するレジスタとして第1レジスタ202を設定し、積和演算結果を格納するレジスタとして第Mレジスタ20Nを設定する(ステップS1)。ここで、使用レジスタ設定部213は、入力データを格納する第0レジスタ201をリングバッファとして設定する。なお、ここでは積和演算結果を格納するレジスタとしてベクトルレジスタ2の第Mレジスタ20Nを使用するが、積和演算結果は単一の出力であるため、ベクトルレジスタ2ではなくスカラレジスタ(図示せず)を用いてもよい。
(1) First, as an initial setting, using the
(2)また、初期設定として、ベクトル命令発行部21のフィルタ次数設定部214は、演算器3におけるフィルタ次数N(N=4)を設定する。なお、ベクトルレジスタ2の各レジスタ、例えば第0レジスタ201、第1レジスタ202、・・・第Mレジスタ20Mは、データを格納するデータ格納領域例えばデータ格納領域2011,2012,・・・201M,201Nが4つ以上ある場合は、そのうちの4つがデータの格納に用いるものとして設定される。なお、データ格納領域の数がフィルタ次数よりも少ないレジスタ例えば第Mレジスタ20Nがこの実施の形態に用いるものとして設定されている場合は、これを、データ格納領域の数がフィルタ次数(N=4)以上ある他のレジスタ例えば第M−1レジスタ(図示せず)に変更する処理を行うことが望ましい。
(2) As an initial setting, the filter
(3)また、初期設定として、ベクトル命令発行部21は、ベクトル命令制御部22に対し、上記(1)(2)でデータの格納に用いるレジスタとして設定された第0レジスタ201、第1レジスタ202、第Mレジスタ20Nの情報と、第0レジスタ201、第1レジスタ202、第Mレジスタ20Nの使用するデータ格納領域に付与するインデックスの情報を、ベクトル命令制御部22に対して発行する(ステップS1)。そして、ベクトル命令制御部22は、使用する第0レジスタ201、第1レジスタ202、第Mレジスタ20Nの使用するデータ格納領域にインデックスを付与する(ステップS1)。具体的には、例えば第0レジスタ201の第0データ格納領域2011には第0インデックスを、第1データ格納領域2012には第1インデックスを、第2データ格納領域2013には第2インデックスを、第3データ格納領域2014には第3インデックスをそれぞれ付与する。同様に、第1レジスタ202の第0データ格納領域2021には第0インデックスを、第1データ格納領域2022には第1インデックスを、第2データ格納領域2023には第2インデックスを、第3データ格納領域2024には第3インデックスをそれぞれ付与する。また、同様に、第Mレジスタ20Nの第0データ格納領域20N1には第0インデックスを、第1データ格納領域20N2には第1インデックスを、第2データ格納領域20N3には第2インデックスを、第3データ格納領域20N4には第3インデックスをそれぞれ付与する(図8〜図13参照)。
(3) As an initial setting, the vector
(4)また、初期設定として、係数設定部215は、演算器3におけるFIRフィルタの演算に用いる係数h[0]〜h[n−1]をベクトルレジスタ2の第1レジスタ202の各データ格納領域2021,2022・・・202M,202Nに格納する。この場合、係数設定部215は、係数h[0]〜h[n−1]を格納する第1レジスタ202のデータ格納領域2021,2022・・・202M,202Nに、第0インデックスから第N−1(ここではN=4)インデックスを設定する(ステップS1)。そして、このインデックスの数字0〜N−1までの順に、データ格納領域2021,2022・・・202M,202Nに係数h[0]〜h[n−1]を格納する。
(4) Further, as an initial setting, the
(5)図8に示すように、初期状態において、入力データを格納する前の第0レジスタ201のデータ格納領域2011,2012・・・201M,201Nには全て“0”が格納されている。また積和演算結果を格納する第Mレジスタ20Nのデータ格納領域20N1,20N2・・・20NM,20NNにも全て“0”が格納されている。
(5) As shown in FIG. 8, in the initial state, all the input 0th register 20 1 of the
(6)ここで、ベクトル命令制御部22は、リングバッファ制御部17の読み出しインデックス制御部171と書き込みインデックス制御部172とに対し、下記(イ)(ロ)の規則に基づいて、第0レジスタ201へのデータの格納やデータの取り出しを行わせるように設定する(ステップS2)。また、ベクトル命令制御部22は、ベクトルレジスタ読み出し部23やベクトルレジスタ書き込み部24に対し、下記(ハ)(ニ)に示す規則に基づいて、第1レジスタ202、第Mレジスタ20Nへのデータの格納やデータの取り出しの開始位置の設定や、格納順序、取り出し順序の設定を行う(ステップS2)。
(イ)書き込みインデックス制御部172は、リングバッファとして構成された第0レジスタ201のデータ格納領域2011,2012・・・201M,201Nに、付与されたインデックスの降順に(つまり、インデックスの数字N−1,N−2,・・・1,0の順に)新たなデータを格納する。
(ロ)読み出しインデックス制御部171は、新たにデータが格納されたデータ格納領域を読み出しの開始位置として設定し、この開始位置からインデックスを昇順に循環させる形で順次データを読み出す(ステップS2)。具体的には、例えば、第0レジスタ201の第2インデックスが付与された第2データ格納領域2013に新しい入力データX1が格納された場合(図10参照)、第2データ格納領域2012、第3インデックスが付与された第3データ格納領域2013、第0インデックスが付与された第0データ格納領域2011、第1インデックスが付与された第1データ格納領域2012、の順にデータを読み出す。
(ハ)なお、第1レジスタ202はリングバッファとして構成されていないので、上記(ロロ)に示す順序でのデータの読み出しは行われず、インデックスの昇順(つまり、第0インデックスが付与された第0データ格納領域2021、第1インデックスが付与された第1データ格納領域2022、第2インデックスが付与された第2データ格納領域2023、第3インデックスが付与された第3データ格納領域2023、の順)にデータを取り出して、演算器3において音声信号との乗算加算処理が行われる。
(ニ)全ての乗算処理と加算処理が行われた結果の値は、第Mレジスタ20Nの第0インデックスが付与された第0データ格納領域20N1に格納される。
(6) Here, the vector
(A) The write
(B) The read
(C) Since the first register 20 2 is not configured as a ring buffer, the reading of data in the order shown in (lolo) is not performed, ascending index (i.e., the 0th index is assigned 0 data storage area 20 21 , first data storage area 20 22 assigned with the first index, second data storage area 20 23 assigned with the second index, and third data storage area 20 assigned with the third index. 23 in the order of 23 ), and the
The value of the result (d) all of the multiplication processing and addition processing is performed is stored in the zeroth data storage area 20 N1 where the 0th index of the M register 20 N is applied.
(7)1番目の入力データX0がベクトルレジスタ書き込み部24に入力されると、ベクトル命令発行部21の入力データ制御部211は、第0レジスタ201のインデックス3が付与された第4データ格納領域2014に入力データを格納するように、ベクトル命令制御部22に命令を発行する(ステップS1)。
(7) If the first input data X0 is input to the vector
(8)ベクトル命令制御部22は、上記(1)にて入力データを格納するベクトルレジスタ2として設定された第0レジスタ201のデータ格納領域2011,2012・・・201M,201Nに、上記(5)の(イ)で設定された順序に基づき入力データを格納する。
(8) the vector
(9)ベクトル命令発行部21は下記(A)〜(E)の処理を行う命令をベクトル命令制御部22に出力する。そして、ベクトル命令制御部22はこの命令に基づいてベクトルレジスタ読み出し部23、ベクトルレジスタ書き込み部24及び演算器3を制御する。
(9) The vector
(A)第0レジスタ201の第3インデックスが付与された第3データ格納領域2014に格納された入力データX0と第1レジスタ202の第0インデックスが付与された第0データ格納領域2021に格納された係数h[0]とを読み出し、演算器3にて乗算させる(ステップS3、図9の(1))。その演算結果は演算器3のレジスタ33に格納される。
(A) a 0 data storage area 20 and the 0 register 20 1 of the third data storage area 20 14 input data X0 stored in the third index is assigned a 0 index of the first register 20 2 is assigned The coefficient h [0] stored in 21 is read out and multiplied by the arithmetic unit 3 (step S3, (1) in FIG. 9). The calculation result is stored in the register 33 of the
(B)この段階で、N個(4個)のデータ全ての演算が完了していないので(ステップS4の“No”)、第0レジスタ201の読み出し位置を一つずらす(ステップS5)。すると、読み出し位置がデータを格納できる領域(第3インデックスが付与された第3データ格納領域2023)を越えるので(ステップS6の“Yes”)、第0レジスタ201の読み出し位置を、第0インデックスが付与された第0データ格納領域2011に戻す(ステップS7)。そして、第0インデックスが付与された第0データ格納領域2011に格納されたデータ(0)と、第1レジスタ202の第1インデックスが付与された第1データ格納領域2022に格納された係数h[1]とを読み出し、演算器3にて乗算させる(図9の(2))。その演算結果と演算器3のレジスタ33に格納された演算結果とを加算し、その演算結果を再び演算器3のレジスタ33に格納する(ステップS3)。
(B) at this stage, since all of the operational data of N (four) is not completed ( "No" in step S4), and shifts one zeroth register 20 first read position (step S5). Then, since beyond the area in which the read position can store data (third data storage area 20 23 third index is assigned) ( "Yes" in step S6), and the 0th register 20 first read position, the 0 back to the 0th data storage region 20 11 the index is assigned (step S7). Then, the data 0th index is stored in the zeroth data storage region 20 11 granted (0), the first index of the first register 20 2 is stored in the first data storage area 20 22 granted The coefficient h [1] is read out and multiplied by the arithmetic unit 3 ((2) in FIG. 9). The calculation result and the calculation result stored in the register 33 of the
(C)この段階で、N個(4個)のデータ全ての演算が完了していないので(ステップS4の“No”)、第0レジスタ201の読み出し位置を一つずらす(ステップS5)。この場合は、読み出し位置がデータを格納できる領域(第3インデックスが付与された第3データ格納領域2023)を越えないので(ステップS6の“No”)、第0レジスタ201の第1インデックスが付与された第1データ格納領域2012に格納されたデータ(0)と、第1レジスタ202の第2インデックスが付与された第2データ格納領域2023に格納された係数h[2]とを読み出し、演算器3にて乗算させる(図9の(3))。その演算結果と演算器3のレジスタ33に格納されている演算結果との加算処理結果を再び演算器3のレジスタ33に格納する(ステップS3)。
(C) At this stage, since all of the operational data of N (four) is not completed (step S4 "No"), it shifted one zeroth register 20 first read position (step S5). In this case, since the read position does not exceed the area (the third data storage area 20 23 third index is assigned) that can store data ( "No" in step S6), and the first index of the zeroth register 20 1 There the data stored in the first data storage area 20 12 granted (0), the coefficient a second index of the first register 20 2 is stored in the second data storage area 20 23 granted h [2] Are multiplied by the arithmetic unit 3 ((3) in FIG. 9). The result of the addition process between the calculation result and the calculation result stored in the register 33 of the
(D)この段階で、N個(4個)のデータ全ての演算が完了していないので(ステップS4の“No”)、第0レジスタ201の読み出し位置を一つずらす(ステップS5)。この場合は、読み出し位置がデータを格納できる領域(第3インデックスが付与された第3データ格納領域2023)を越えないので(ステップS6の“No”)、第0レジスタ201の第2インデックスが付与された第2データ格納領域2013に格納されたデータと、第1レジスタ202の第3インデックスが付与された第3データ格納領域2024に格納された係数h[3]とを読み出し、演算器3にて乗算させる(図9の(4))。その演算結果と演算器3のレジスタ33に格納されている演算結果とを加算し、その演算結果を再び演算器3のレジスタ33に格納する(ステップS3)。
(D) at this stage, since all of the operational data of N (four) is not completed ( "No" in step S4), and shifts one zeroth register 20 first read position (step S5). In this case, since the read position does not exceed the area (the third data storage area 20 23 third index is assigned) that can store data ( "No" in step S6), and the second index of the zeroth register 20 1 read but a stored in the second data storage area 20 13 granted data, the third data storage area 20 coefficients h [3] which is stored in 24 and the third index of the first register 20 2 is assigned Multiply by the arithmetic unit 3 ((4) in FIG. 9). The calculation result and the calculation result stored in the register 33 of the
(E)N個(4個)のデータに関する積和演算を実行した後(ステップS4の“Yes”)、その積和演算結果である値R0を第Mレジスタ20Nの第0インデックスが付与された第0データ格納領域20N1に書き込む(ステップS8)。 (E) N pieces (4) after performing the product-sum operation on the data of the ( "Yes" in step S4), and the value R0 is the product sum operation result 0th index of the M register 20 N is applied The data is written in the 0th data storage area 20 N1 (step S8).
(10)ベクトル命令発行部21はベクトルレジスタ2の第Mレジスタ20Nの第0インデックスが付与された第0データ格納領域2011に格納された演算結果である値R0をFIRフィルタの出力結果として出力するよう、ベクトル命令制御部22に指示し、ベクトル命令制御部22は指示に従い、第Mレジスタ20Nの第0インデックスが付与された第0データ格納領域20N1に格納されたデータを出力する。
(10) the vector
(11)次に、2番目の入力データX1がベクトルレジスタ書き込み部24に入力されると、図10に示すように、第0レジスタ201の第2インデックスが付与された第2データ格納領域2013にデータが格納される。そして、図10に示すように、第0レジスタ201の各データ格納領域2011,2012,・・・201M(2013),201N(2014)に格納されたデータと、第1レジスタ202に格納された係数との積和演算が行われ、その演算結果である値R1が第Mレジスタ20Nの第0インデックスが付与された第0データ格納領域20N1に格納される。更に、ベクトル命令発行部21が演算結果である値R1を出力するよう命令を発行し、ベクトル命令制御部22は、発行された命令に基づいてベクトル読み出し部23、ベクトル書き込み部24及び演算器3を制御する。
(11) Next, the second input data X1 is input to the vector
(12)以下、同様に図11、図12に示すように、3番目の入力データX2、4番目の入力データX3が入力されると、上記と同様の第0レジスタ201へのデータの書き込みと演算を順次繰り返し、FIRフィルタの出力を求める。図12に示すように、第0レジスタ201の全てのデータ格納領域2011,2012,・・・201M,201Nに値が格納された後、5番目の入力データX4が入力されると、図13に示すように、最先にデータが格納されたデータ格納領域(この場合は第0レジスタ201の第3データ格納領域2014)のデータを最新のデータに置き換える。以後、同様の処理が繰り返される。
(12) Thereafter, in the same manner as shown in FIGS. 11 and 12, when the third input data X2,4 th input data X3 is inputted, the write data of the and the 0th register 20 1 in the same manner And the calculation are repeated sequentially to obtain the output of the FIR filter. As shown in FIG. 12, all of the
以上示した通り、この実施の形態のベクトル演算処理装置1においては、ベクトル演算機能とリングバッファ機能とを兼ね備えたベクトル演算処理装置1としたので、FIRフィルタの積和演算処理はベクトル演算処理装置1側で処理が行われることになる。従って、DSP(Digital Signal Processor)側の処理負荷を低減することができる。
As described above, in the vector
この実施の形態においては、リングバッファとして構成された第0レジスタ201から、設定に基づいて、読み出しの先頭位置を順番に替えながら第0データ格納領域2011〜第3データ格納領域2014に対するデータの書き込み及びデータの読み出しを行い
読み出されたデータを演算器3においてベクトル演算にて演算処理を行うことにより、リングバッファとして構成された第0レジスタ201において、個々のデータ格納領域即ち第0データ格納領域2011〜第3データ格納領域2014かのそれぞれに格納されたデータを、処理が行われるたびに他のデータ格納領域即ち第0データ格納領域2011〜第3データ格納領域2014に書き替えてデータの並び順とデータ格納領域即ち第0データ格納領域2011〜第3データ格納領域2014を管理する番号の順序を一致させること(例えば、データ格納領域2011,2012,2013,2014の昇順に入力データX0,X1,X2,X3,X4・・・を並べ直すこと)を行わなくても、データの並び順にデータを読み出してベクトル演算にて演算処理を行うことができる。これにより、複数のフィルタ次数を有するディジタルフィルタを用いたディジタル信号処理において、フィルタ次数が大きくなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。
In this embodiment, the 0th register 20 1 which is configured as a ring buffer, based on the setting, for the zeroth data storage region 20 11 to the third data storage area 20 14 while changing the head position of the read sequentially by performing arithmetic processing by the vector operation in the
この実施の形態においては、リングバッファとして構成された第0レジスタ201の第0データ格納領域2011〜第3データ格納領域2014に設定されたインデックス情報即ち第0インデックス〜第3インデックスに基づいて、データの書き込み及び読み出しの先頭位置の決定とデータの書き込み及び読み出しを行うこととを実現できるので、リングバッファとしての第0レジスタ201において、個々のデータ格納領域即ち第0データ格納領域2011〜第3データ格納領域2014に格納されたデータを、処理が行われるたびに他のデータ格納領域即ち第0データ格納領域2011〜第3データ格納領域2014に書き替えてデータの並び順とデータ格納領域即ち第0データ格納領域2011〜第3データ格納領域2014を管理する番号の順序を一致させること(例えば、データ格納領域2011,2012,2013,2014の昇順に入力データX0,X1,X2,X3,X4・・・を並べ直すこと)を行わなくても、データの並び順にデータを読み出してベクトル演算にて演算処理を行うことを、簡易かつ確実に実現できる。 In this embodiment, based on the 0th register 20 1 of the 0 data storage region 20 11 to the third data storage area 20 14 of the set index information i.e. the 0 index to third index that is configured as a ring buffer Te, since and performing writing and reading of determining the data at the top position of the data writing and reading can be realized, in the zeroth register 20 1 as a ring buffer, each data storage region or the 0th data storage area 20 11 to the third data stored in the data storage area 20 14, the arrangement of the process is rewritten to the other data storage areas i.e. the 0 data storage region 20 11 to the third data storage area 20 14 whenever carried out data forward a data storage area, that the zeroth data storage region 20 11 to the third data storage area 20 1 To match the order of managing numbers (for example, the data storage area 20 11, 20 12, 20 13, 20 input data X0 in ascending order of 14, X1, X2, X3, rearranges the X4 · · ·) Even if it does not perform, it can implement | achieve simply and reliably that data is read in the arrangement order of data, and an arithmetic process is performed by vector calculation.
この実施の形態においては、演算器3におけるFIRフィルタを用いたフィルタ処理において、フィルタ次数が高くなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。
In this embodiment, in the filter processing using the FIR filter in the
この実施の形態においては、音声信号のフィルタ処理において、フィルタ次数が高くなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。 In this embodiment, it is possible to prevent the processing load and the processing time from becoming excessive even when the filter order becomes high in the filter processing of the audio signal.
なお、上記実施の形態においては、音声信号を格納する第0レジスタ201をリングバッファとして構成したが、これに限定されず、フィルタ計数を格納する第1レジスタ202や、積和演算の結果を格納する第Mレジスタ20Nをリングバッファとして構成してもよい。また、第0レジスタ201、第1レジスタ202、第Mレジスタ20Nのうちの2つ乃至3つをリングバッファとして構成してもよい。
In the above embodiment, although the 0th register 20 1 for storing the audio signal is configured as a ring buffer, not limited thereto, and a
上記実施の形態においては、リングバッファとして構成した第0レジスタ201への書き込み位置や読み出し位置を、データ格納領域2011,2012,2013,2014に付与したインデックスを基準に任意に特定できる構成としたが、これに限定されず、データ格納領域2011,2012,2013,2014の読み出し位置や書き込み位置を任意に特定できる構成、例えばデータ格納領域2011,2012,2013,2014のアドレス情報によって任意に特定するような構成など、であれば、どのようなものであってもよい。
In the above-described embodiment, specifying a write position and read position on the 0th register 20 1 configured, optionally the data storage area 20 11, 20 12, 20 13, 20 14 an index assigned to the reference as a ring buffer configuration and the but capable, not limited thereto, the data storage area 20 11, 20 12, 20 13, 20 14 any identifiable configuration read position or write position, for example, the
上記実施の形態においては、ベクトル演算処理装置1は、音声信号を処理対象として扱うものとしたが、これに限定されず、音声信号以外のどのようなディジタル信号、例えば画像信号等を処理対象とするものであってもよい。
In the above embodiment, the vector
上記実施の形態においては、ベクトル演算処理装置1は、FIRフィルタとして機能するものとしたが、これに限定されず、FIRフィルタ以外のいかなるフィルタ、例えばIIRフィルタによってフィルタ処理を行うものであってもよい。
In the above embodiment, the vector
上記実施の形態においては、ベクトル演算処理装置1は、遊技機(図示ぜず)に用いられるものとしたが、遊技機以外のいかなる用途に用いられるものであってもよい。
In the above embodiment, the vector
上記実施の形態は本発明の例示であり、本発明が上記実施の形態のみに限定されることを意味するものではないことは、いうまでもない。 The above embodiment is an exemplification of the present invention, and it is needless to say that the present invention is not limited to the above embodiment.
1・・・ベクトル演算処理装置(ディジタル信号処理装置)
3・・・演算器(演算処理手段)
201・・・第0レジスタ(第一の格納手段)
202・・・第1レジスタ(第二の格納手段)
2011,2012,2013,2014,2021,2022,2023,2024,20N1,20N2,20N3,20N4,・・・データ格納領域
171・・・読み出しインデックス制御部(インデックス制御手段)
172・・・書き込みインデックス制御部(インデックス制御手段)
211・・・入力データ制御部(入出力データ制御手段)
212・・・出力データ制御部(入出力データ制御手段)
213・・・使用レジスタ設定部(入出力データ制御手段)
23・・・ベクトルレジスタ読み出し部(入出力データ制御手段)
24・・・ベクトルレジスタ書き込み部(入出力データ制御手段)
X0,X1,X2,X3,X4・・・入力データ
h[0]〜h[n−1]・・・係数
1 ... Vector arithmetic processing device (digital signal processing device)
3 ... Calculator (arithmetic processing means)
20 1 ... 0th register (first storage means)
20 2 ... First register (second storage means)
20 11 , 20 12 , 20 13 , 20 14 , 20 21 , 20 22 , 20 23 , 20 24 , 20 N 1 , 20 N 2 , 20 N 3 , 20 N 4 ,...
172 ... Write index control section (index control means)
211 ... Input data control unit (input / output data control means)
212 ... Output data control unit (input / output data control means)
213... Used register setting unit (input / output data control means)
23. Vector register reading section (input / output data control means)
24... Vector register writing unit (input / output data control means)
X0, X1, X2, X3, X4 ... Input data h [0] to h [n-1] ... Coefficient
Claims (4)
入力データが格納されるデータ格納領域を複数備えた第一の格納手段と、
前記入力データに対して演算処理される係数のデータが格納されるデータ格納領域を複数備えた第二の格納手段と、
設定された前記第一の格納手段及び/又は前記第二の格納手段に対する前記データの書き込み及び読み出しの位置及び/又は順序に基づいて、前記第一の格納手段及び前記第二の格納手段に対する前記データの書き込み及び読み出しを行う入出力データ制御手段と、
前記第一の格納手段から読み出された前記データと前記第二の格納手段から読み出された前記データとをベクトル演算にて演算処理を行う演算処理手段とを備え、
前記入出力データ制御手段は、前記第一の格納手段及び/又は前記第二の格納手段について、複数の前記データ格納領域に対して順番に前記データの書き込み又は読み出しを行うように制御することでリングバッファとして構成し、前記リングバッファとして構成された前記第一の格納手段及び/又は前記リングバッファとして構成された前記第二の格納手段から、読み出しの先頭位置を順番に替えながら前記データ格納領域に対する前記データの書き込み及び前記データの読み出しを行い、
前記演算処理手段は、前記第一の格納手段から読み出された前記データと前記第二の格納手段から読み出された前記データとをベクトル演算にて演算処理を行うことを特徴とするディジタル信号処理装置。 A digital signal processing apparatus that performs filtering of various digital signals using vector operations,
A first storage means comprising a plurality of data storage areas for storing input data;
Second storage means comprising a plurality of data storage areas for storing coefficient data to be processed with respect to the input data;
Based on the set position and / or order of the data writing and reading with respect to the first storage means and / or the second storage means, the first storage means and the second storage means Input / output data control means for writing and reading data;
Computation processing means for performing computation processing by vector computation on the data read from the first storage means and the data read from the second storage means,
The input / output data control unit controls the first storage unit and / or the second storage unit to sequentially write or read the data to or from the plurality of data storage areas. The data storage area is configured as a ring buffer and the first storage means configured as the ring buffer and / or the second storage means configured as the ring buffer is changed in order from the read start position. Writing the data to and reading the data from
The arithmetic processing means performs a digital operation on the data read from the first storage means and the data read from the second storage means by vector calculation. Processing equipment.
該インデックス制御手段は、前記リングバッファとして構成された前記第一の格納手段の前記データ格納領域及び/又は前記リングバッファとして構成された前記第二の格納手段の前記データ格納領域に対して前記インデックス情報を設定し、
前記入出力データ制御手段は、前記データの書き込み及び前記データの読み出しの際、前記インデックス情報を基準に前記書き込み及び前記読み出しの先頭位置を決定して前記データの書き込み及び前記読み出しを行うことを特徴とする請求項1に記載のディジタル信号処理装置。 An index as a reference position when writing the data and reading the data with respect to the first storage means configured as the ring buffer and / or the second storage means configured as the ring buffer Comprising index control means for setting information;
The index control means includes the index for the data storage area of the first storage means configured as the ring buffer and / or the data storage area of the second storage means configured as the ring buffer. Set the information,
The input / output data control means determines the start position of the writing and the reading based on the index information when writing the data and reading the data, and performs the writing and reading of the data. The digital signal processing apparatus according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016241386A JP6500266B2 (en) | 2016-12-13 | 2016-12-13 | Digital signal processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016241386A JP6500266B2 (en) | 2016-12-13 | 2016-12-13 | Digital signal processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018097598A true JP2018097598A (en) | 2018-06-21 |
JP6500266B2 JP6500266B2 (en) | 2019-04-17 |
Family
ID=62632305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016241386A Active JP6500266B2 (en) | 2016-12-13 | 2016-12-13 | Digital signal processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6500266B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11353305A (en) * | 1998-05-27 | 1999-12-24 | Arm Ltd | Address specification for vector register |
JP2001273277A (en) * | 2000-02-29 | 2001-10-05 | Internatl Business Mach Corp <Ibm> | System and method for arithmetic processing and program storage device therefor |
JP2007043731A (en) * | 2006-09-15 | 2007-02-15 | Nec Electronics Corp | Digital filter |
-
2016
- 2016-12-13 JP JP2016241386A patent/JP6500266B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11353305A (en) * | 1998-05-27 | 1999-12-24 | Arm Ltd | Address specification for vector register |
JP2001273277A (en) * | 2000-02-29 | 2001-10-05 | Internatl Business Mach Corp <Ibm> | System and method for arithmetic processing and program storage device therefor |
JP2007043731A (en) * | 2006-09-15 | 2007-02-15 | Nec Electronics Corp | Digital filter |
Also Published As
Publication number | Publication date |
---|---|
JP6500266B2 (en) | 2019-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6540725B2 (en) | Arithmetic processing device, method, and program | |
JP4892701B2 (en) | Method for processing input signal, configurable filter and computer program | |
JP3208990B2 (en) | Signal processing device | |
CN112528219A (en) | Memory device, operation method thereof and computing equipment | |
JP2960086B2 (en) | Pipelined processor for implementing least mean square algorithm | |
JP2008085923A (en) | Digital filter | |
CN107357745A (en) | Dma controller with arithmetical unit | |
JP2018097598A (en) | Digital signal processing device | |
JP2017084081A (en) | Magnetic object simulation device, micro magnetization calculation method and program | |
JPWO2008018197A1 (en) | Digital filter, synthesizing apparatus thereof, synthesizing program, and synthesizing program recording medium | |
WO2020158384A1 (en) | Computation processing device, computation processing method, and configuration program | |
JP4733552B2 (en) | PARCOR coefficient calculation device, PARCOR coefficient calculation method, program thereof, and recording medium thereof | |
JP4464380B2 (en) | Digital filter | |
US10853445B2 (en) | Digital filter device, digital filtering method, and program recording medium | |
JP5012165B2 (en) | Sound playback device | |
CN112995855B (en) | Filter step length coefficient determining method and device and noise reduction device | |
JP5428481B2 (en) | Band splitting filter and program | |
JP6589334B2 (en) | Data processing method, data processing apparatus, and data processing program | |
JP7141401B2 (en) | processor and information processing system | |
WO2015045310A1 (en) | Digital filter apparatus, digital filter processing method, and recording medium having program stored therein | |
JP2009010925A (en) | Signal processing | |
JP2011023927A (en) | Digital filter and program | |
JP2006270178A (en) | Fir digital filter | |
JP5252367B2 (en) | Signal processing device | |
WO2007088819A1 (en) | Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180925 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6500266 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |