JP2018097598A - Digital signal processing device - Google Patents

Digital signal processing device Download PDF

Info

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
Application number
JP2016241386A
Other languages
Japanese (ja)
Other versions
JP6500266B2 (en
Inventor
務 伊藤
Tsutomu Ito
務 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axell Corp
Original Assignee
Axell Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Axell Corp filed Critical Axell Corp
Priority to JP2016241386A priority Critical patent/JP6500266B2/en
Publication of JP2018097598A publication Critical patent/JP2018097598A/en
Application granted granted Critical
Publication of JP6500266B2 publication Critical patent/JP6500266B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a digital signal processing device capable of preventing the processing load or the processing time from becoming excessive even when the degree of filter became larger.SOLUTION: A vector computing processor 1 comprises: a zeroth register 20for storing input data; a first register 20for storing data of coefficients; a vector register reading part, a vector register writing part and a use register setting part for writing/reading of data to/from the zeroth and first registers; and a computing part 3 for performing computing processing using the vector operation of the data read out based on the setting. The use register setting part constitutes the zeroth and/or first registers as a ring buffer. The vector register reading part and the writing part write and read the data by sequentially switching the head position to read out from the zeroth and/or first registers constituted as the ring buffer. The computing part 3 performs the computing processing of the data.SELECTED DRAWING: Figure 1

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)に示す処理が行われる。

Figure 2018097598
・・・(1)
ただしx[n]:入力信号、y[n]:出力信号、h[i]:フィルタ係数、N:フィルタ次数
このFIRフィルタ処理をディジタル信号処理において用いる場合には、一般に、下記式(2)に示すような積和演算処理を行う。
Figure 2018097598
・・・(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.
Figure 2018097598
... (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.
Figure 2018097598
... (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).

特開2012−205298号公報JP 2012-205298 A

ここで、一般に、ディジタル信号に対してベクトル演算等の積和演算の並列処理を行うための通常の構成においては、データを格納したレジスタの個々のデータ格納領域の位置を管理する番号(レジスタの個々のデータ格納領域の番地情報や、個々の格納領域に付与されたインデックス情報など)の番号順(例えば番号の昇順や降順)にデータを読み出して処理を行う。そのため、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 patent document 1, after such a process is performed, it is a premise that the parallel execution of the product-sum calculation process is performed sequentially. For this reason, in the above-mentioned Patent Document 1, there is a problem that processing for rewriting data in a register frequently occurs, and processing load and processing time for the processing are increased. This problem becomes particularly noticeable when the filter order is increased.

一方、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 Patent Document 1, there is a problem that the processing load and the processing time cannot be reduced by using a ring buffer for the register, which becomes particularly excessive when the filter order becomes large.

本発明はこのような問題に鑑みてなされたものであり、複数のフィルタ次数を有するディジタルフィルタを用いたディジタル信号処理において、フィルタ次数が大きくなった場合であっても、処理負荷や処理時間が過大になることを抑止することができるディジタル信号処理装置を提供することを課題としている。   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 claim 1 is a digital signal processing apparatus that performs filtering of various digital signals using vector operations, and includes a plurality of storage areas for storing input data. A first storage means, a second storage means provided with a plurality of storage areas for storing coefficient data to be processed with respect to the input data, and the set first storage means and / or Input / output data control means for writing and reading the data to and from the first storage means and the second storage means based on the position and / or order of writing and reading the data to and from the second storage means And the data read from the first storage means and the data read from the second storage means are subjected to arithmetic processing by vector calculation. Processing means, and the input / output data control means sequentially writes or reads the data with respect to the plurality of data storage areas with respect to the first storage means and / or the second storage means. In this way, the read buffer is configured in order from the first storage unit configured as the ring buffer and / or the second storage unit configured as the ring buffer. The data is written to the data storage area and the data is read from the data storage area, and the arithmetic processing means is read from the data read from the first storage means and the second storage means. An arithmetic process is performed on the data by a vector operation.

請求項2に記載の発明は、請求項1に記載の構成に加え、前記リングバッファとして構成された前記第一の格納手段及び/又は前記リングバッファとして構成された前記第二の格納手段に対し、前記データの書き込み及び前記データの読み出しを行う際の基準位置としてのインデックス情報を設定するインデックス制御手段を備え、該インデックス制御手段は、前記リングバッファとして構成された前記第一の格納手段の前記データ格納領域及び/又は前記リングバッファとして構成された前記第二の格納手段の前記データ格納領域に対して前記インデックス情報を設定し、前記入出力データ制御手段は、前記データの書き込み及び前記データの読み出しの際、前記インデックス情報を基準に前記書き込み及び前記読み出しの先頭位置を決定して前記データの書き込み及び前記読み出しを行うことを特徴とする。   The invention according to claim 2 provides the first storage means configured as the ring buffer and / or the second storage means configured as the ring buffer in addition to the configuration according to claim 1. , Index control means for setting index information as a reference position when writing the data and reading the data, the index control means is the first storage means configured as the ring buffer The index information is set for the data storage area and / or the data storage area of the second storage means configured as the ring buffer, and the input / output data control means is configured to write the data and store the data When reading, the start position of the writing and reading is determined based on the index information. And wherein the writing and the reading of the data Te.

請求項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 Claim 2, the index information set to the data storage area of the 1st storage means comprised as a ring buffer, and / or the data storage area of the 2nd storage means comprised as a ring buffer Therefore, it is possible to realize the determination of the start position of data writing and reading and the writing and reading of data, so that the data stored in the individual data storage areas in the ring buffer is processed each time processing is performed. Even if it is not rewritten to another data storage area and the order of the data and the order of the numbers managing the data storage area do not match, the data is read out in the order of the data and the arithmetic processing is performed by vector operation. It can be realized easily and reliably.

請求項3に記載の発明によれば、FIRフィルタを用いたフィルタ処理において、フィルタ次数が高くなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。   According to the invention described in claim 3, in the filter processing using the FIR filter, it is possible to prevent the processing load and the processing time from becoming excessive even when the filter order is high.

請求項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.

この実施の形態に係るベクトル演算処理装置の概略構成を示す機能ブロック図である。It is a functional block diagram which shows schematic structure of the vector arithmetic processing apparatus which concerns on this embodiment. この実施の形態に係るディジタル信号処理システムの概略構成を示す機能ブロック図である。It is a functional block diagram which shows schematic structure of the digital signal processing system which concerns on this embodiment. この実施の形態に係るベクトル演算処理装置の構成の概略を模式的に示す機能ブロック図である。It is a functional block diagram which shows typically the outline of the structure of the vector arithmetic processing apparatus which concerns on this embodiment. この実施の形態に係るベクトル演算処理装置の構成の詳細を模式的に示す機能ブロック図である。It is a functional block diagram which shows typically the detail of a structure of the vector arithmetic processing apparatus which concerns on this embodiment. この実施の形態に係るベクトルレジスタの各レジスタの構成を模式的に示す機能ブロック図である。It is a functional block diagram which shows typically the structure of each register | resistor of the vector register which concerns on this embodiment. この実施の形態に係るベクトル命令発行部の構成を模式的に示す機能ブロック図である。It is a functional block diagram which shows typically the structure of the vector command issuing part which concerns on this embodiment. この実施の形態に係るベクトル演算処理装置の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the vector arithmetic processing apparatus which concerns on this embodiment. この実施の形態に係るベクトル演算処理装置のベクトルレジスタにおけるデータの格納状態を模式的に示す図である。It is a figure which shows typically the storage state of the data in the vector register of the vector arithmetic processing unit concerning this embodiment. この実施の形態に係るベクトル演算処理装置のベクトルレジスタにおけるデータの格納状態を模式的に示す図である。It is a figure which shows typically the storage state of the data in the vector register of the vector arithmetic processing unit concerning this embodiment. この実施の形態に係るベクトル演算処理装置のベクトルレジスタにおけるデータの格納状態を模式的に示す図である。It is a figure which shows typically the storage state of the data in the vector register of the vector arithmetic processing unit concerning this embodiment. この実施の形態に係るベクトル演算処理装置のベクトルレジスタにおけるデータの格納状態を模式的に示す図である。It is a figure which shows typically the storage state of the data in the vector register of the vector arithmetic processing unit concerning this embodiment. この実施の形態に係るベクトル演算処理装置のベクトルレジスタにおけるデータの格納状態を模式的に示す図である。It is a figure which shows typically the storage state of the data in the vector register of the vector arithmetic processing unit concerning this embodiment. この実施の形態に係るベクトル演算処理装置のベクトルレジスタにおけるデータの格納状態を模式的に示す図である。It is a figure which shows typically the storage state of the data in the vector register of the vector arithmetic processing unit concerning this embodiment.

図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 arithmetic processing apparatus 1 as a “digital signal processing apparatus” shown in FIG. 1 has a configuration (for example, a CPU) for realizing a function by executing a program, and is used for an apparatus that performs filter processing on various digital signals. It is done. Specifically, for example, the vector arithmetic processing apparatus 1 shown in FIG. 1 is incorporated in a gaming machine (not shown) such as a pachinko machine or a pachislot machine, and a speaker 14 (see FIG. 1) provided in the gaming machine (not shown). 2), the digital audio signal forming the audio output from (2) functions as an FIR filter and performs filter processing.

図1に示す通り、このベクトル演算処理装置1はベクトルレジスタ2、「演算処理手段」としての演算器3を備えている。このベクトル演算処理装置1の備えるそれぞれの構成は、基本的にはハードウェアロジックによって構成されるが、これらの構成のうちの一部又は全部がプログラムの実行によって実現されるものであってもよい。   As shown in FIG. 1, the vector arithmetic processing device 1 includes a vector register 2 and an arithmetic unit 3 as “arithmetic processing means”. Each configuration provided in the vector arithmetic processing device 1 is basically configured by hardware logic, but part or all of these configurations may be realized by executing a program. .

ベクトルレジスタ2は、ベクトル演算処理装置1においてフィルタ処理の対象となる入力データ(音声信号)やフィルタ係数や演算器3における積和演算の結果としてのデータ(フィルタ処理された音声信号)が記録される記憶素子である。図1に示す通り、ベクトルレジスタ2には、データ保管領域としてのN個(ただしN>1)の「第一の格納手段」としての第0レジスタ20、「第二の格納手段」としての第1レジスタ20、・・・第Mレジスタ20(ただしM=N−1)が設けられており、フィルタ処理が行われる前の音声信号、フィルタ処理に用いられる係数のデータ、フィルタ処理が行われた後の音声信号がそれぞれ記録される(詳しくは後述する)。 The vector register 2 records input data (audio signal) to be filtered in the vector arithmetic processing device 1, filter coefficients, and data (filtered audio signal) as a result of product-sum operation in the arithmetic unit 3. Storage element. As shown in FIG. 1, the vector register 2 has N (where N> 1) “0” registers 20 1 as “first storage means” and “second storage means” as data storage areas. A first register 20 2 ,... M-th register 20 M (where M = N−1) is provided, and an audio signal before filter processing, coefficient data used for filter processing, and filter processing are performed. Each of the audio signals after the recording is recorded (details will be described later).

演算器3は、加算器や乗算器を備え、入力データ(音声信号)に対する積和演算を行うことでFIRフィルタにおけるフィルタ処理を行う。   The computing unit 3 includes an adder and a multiplier, and performs filter processing in the FIR filter by performing a product-sum operation on input data (audio signal).

図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 signal processing system 10 includes an audio signal processing device 11, a ROM 12, an amplifier 13, and a speaker 14. The audio signal processing device 11 includes a decoder 15, a vector arithmetic processing device 1, and an output unit 16.

音声信号処理装置11は、この実施の形態に係るベクトル演算処理装置1を備え、デコーディングによる音声信号の復元と音声信号のFIRフィルタによるフィルタ処理とを行って出力する。この音声信号処理装置11の備えるそれぞれの構成は、基本的にはハードウェアロジックによって構成されるが、これらの構成のうちの一部又は全部がプログラムの実行によって実現されるものであってもよい。   The audio signal processing apparatus 11 includes the vector arithmetic processing apparatus 1 according to this embodiment, and performs audio signal restoration by decoding and filter processing of the audio signal by an FIR filter and outputs the result. Each configuration provided in the audio signal processing device 11 is basically configured by hardware logic, but part or all of these configurations may be realized by executing a program. .

ROM12は、記録媒体であって圧縮符号化された音声信号等の各種データが記録される。アンプ13は音声信号処理装置11から出力された音声信号を増幅する。スピーカ14は音声信号を音声に変換して外部に出力する。   The ROM 12 is a recording medium on which various data such as compression-encoded audio signals are recorded. The amplifier 13 amplifies the audio signal output from the audio signal processing device 11. The speaker 14 converts the sound signal into sound and outputs it to the outside.

デコーダ15は、ROM12に記録された、符号化された音声信号をデコードして音声信号を復元する。デコードの結果得られた音声の振幅値をサンプリング周期毎にベクトル演算処理装置1に供給する。出力部16はアンプ13との通信インターフェース機能(例えばI2S/SPDIFなど)を備え、ベクトル演算処理装置1でフィルタ処理された音声信号をアンプ13に送信するために必要な処理を行う。   The decoder 15 restores the audio signal by decoding the encoded audio signal recorded in the ROM 12. The amplitude value of the audio obtained as a result of decoding is supplied to the vector arithmetic processing unit 1 for each sampling period. The output unit 16 has a communication interface function with the amplifier 13 (for example, I2S / SPDIF), and performs processing necessary for transmitting the audio signal filtered by the vector arithmetic processing device 1 to the amplifier 13.

図3は、この実施の形態に係るベクトル演算処理装置1の構成の概略を模式的に示す機能ブロック図である。同図に示す通り、この実施の形態のベクトル演算処理装置1は、ベクトルレジスタ2及び演算器3に加え、リングバッファ制御部17を備えている。   FIG. 3 is a functional block diagram schematically showing an outline of the configuration of the vector operation processing apparatus 1 according to this embodiment. As shown in the figure, the vector arithmetic processing apparatus 1 of this embodiment includes a ring buffer control unit 17 in addition to the vector register 2 and the arithmetic unit 3.

リングバッファ制御部17は、ベクトルレジスタ2に設けられた第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20のうちの一部又は全部をリングバッファとして構成させるために必要な処理、即ち読み出しインデックスや書き込みインデックスの制御を行う(詳しくは後述する)。 The ring buffer control unit 17 is necessary to configure part or all of the 0th register 20 1 , the first register 20 2 ,..., The Mth register 20 N provided in the vector register 2 as a ring buffer. In other words, a read index and a write index are controlled (details will be described later).

図4は、この実施の形態に係るベクトル演算処理装置1の構成の詳細を模式的に示す機能ブロック図である。同図に示す通り、ベクトル演算処理装置1は、ベクトル命令発行部21、としてのベクトル命令制御部22、「入出力データ制御手段」としてのベクトルレジスタ読み出し部23、「入出力データ制御手段」としてのベクトルレジスタ書き込み部24を備えている。   FIG. 4 is a functional block diagram schematically showing details of the configuration of the vector operation processing apparatus 1 according to this embodiment. As shown in the figure, the vector arithmetic processing unit 1 includes a vector instruction control unit 22 serving as a vector instruction issuing unit 21, a vector register reading unit 23 serving as an “input / output data control unit”, and an “input / output data control unit”. The vector register writing unit 24 is provided.

ベクトル命令発行部21は、入力データ制御部211、出力データ制御部212、「入出力データ制御手段」としてのリングバッファ制御部17を備えている(これらの構成の機能については後述する)。ベクトル命令発行部21は、リングバッファ制御部17の機能により、ベクトルレジスタ2のレジスタ例えば第0レジスタ20をリングバッファとして機能させて各レジスタ即ち第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20に対するデータの読み出しインデックスや書き込みインデックスの制御を行う。具体的には、ベクトルレジスタ2に記録されたデータを用いてベクトル演算を実施するための命令を発行する。また、ベクトル命令発行部21は、リングバッファ制御部17の機能も含み、レジスタの読み出し、書き込みインデックスを制御する(詳しくは後述する。)。 The vector instruction issuing unit 21 includes an input data control unit 211, an output data control unit 212, and a ring buffer control unit 17 as “input / output data control means” (the functions of these configurations will be described later). Vector instruction issue unit 21, by the function of the ring buffer controller 17, 1 vector register 2 registers example 0th register 20 1 is made to function as a ring buffer registers namely 0th register 20, a first register 20 2, · · controlling the read index and write index data for the M register 20 N. Specifically, an instruction for performing a vector operation using data recorded in the vector register 2 is issued. The vector instruction issuing unit 21 also includes the function of the ring buffer control unit 17 and controls register reading and writing indexes (details will be described later).

ベクトル命令制御部22は、ベクトル命令発行部21から出力された命令に基づいてベクトルレジスタ読み出し部23及びベクトルレジスタ書き込み部24を制御することで、ベクトル演算によるデータの演算を制御するために必要な処理を行う(詳しくは後述する。)。   The vector instruction control unit 22 controls the vector register reading unit 23 and the vector register writing unit 24 on the basis of the instruction output from the vector instruction issuing unit 21, and is necessary for controlling the calculation of data by vector calculation. Processing is performed (details will be described later).

ベクトルレジスタ読み出し部23は、ベクトルレジスタ2の各レジスタ、例えば第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20の指定されたインデックスに基づくデータ格納領域、例えば、第0レジスタ20の、第0インデックスが付与された第0データ格納領域2011、第1インデックスが付与された第1データ格納領域2012、第2インデックスが付与された第2データ格納領域2013、第3インデックスが付与された第3データ格納領域2014(図8〜図13参照)に記録されたデータをベクトル演算によって読み出して演算器3に送る。 Vector register reading unit 23, the registers in the vector register 2, for example, the 0th register 20 1, the first register 20 2,... The M register 20 N specified data storage area based on the index was in, for example, the 0 the register 20 1, the 0 data storage region 20 11 0th index is assigned, the first data storage area 20 12 first index is applied, the second data storage area 20 13 in which the second index is assigned, Data recorded in the third data storage area 20 14 (see FIGS. 8 to 13) to which the third index is assigned is read by vector calculation and sent to the calculator 3.

ベクトルレジスタ書き込み部24は、演算器3において演算された結果をベクトル演算によってベクトルレジスタ2の各レジスタ第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20の指定されたインデックスに基づく格納領域、例えば第Mレジスタ20の第0インデックスが付与された第0データ格納領域20N1に送る。 Vector register write unit 24, an index of the result calculated each register 0th register 20 1 vector registers 2 by vector operation, the first register 20 2, are specified.. The M register 20 N in adder 3 storage area based on, for example, sends to the 0th data storage area 20 N1 where the 0th index of the M register 20 N is applied.

乗算器31は、ベクトルレジスタ読み出し部23から読み出された2つの値(具体的には、第0レジスタ20から読み出された音声信号と、第1レジスタ20から読み出されたフィルタ係数)を乗算する処理を行う。加算器32は、乗算器31における乗算の結果や、レジスタ33に一時的に記録された積和演算の結果を加算する処理を行う。レジスタ33は、加算器32により加算された結果のデータを一時的に記録する機能を有する。 The multiplier 31, the two values (specifically read from the vector register reading unit 23, and the audio signal read out from the 0 register 20 1, the filter coefficient read out from the first register 20 2 ) Is multiplied. The adder 32 performs a process of adding the multiplication result in the multiplier 31 and the product-sum operation result temporarily recorded in the register 33. The register 33 has a function of temporarily recording data resulting from the addition by the adder 32.

図5は、この実施の形態に係るベクトルレジスタ2の各レジスタ第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20の構成を模式的に示す機能ブロック図である。同図に示す通り、第0レジスタ20は、複数例えばN個(N>1)の第0データ格納領域2011、第1データ格納領域2012、・・・第Mデータ格納領域201M、第Nデータ格納領域201Nを備えている。また、同様に、第1レジスタ20も複数例えばN個(N>1)の第0データ格納領域2021、第1データ格納領域2022、・・・第Mデータ格納領域202M、第Nデータ格納領域202Nを備え、第Mレジスタ20も複数例えば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 vector register 2 according to this embodiment. As shown in the figure, the 0 register 20 1, a plurality of, for example N (N> 1) of the 0 data storage area 20 11, the first data storage area 20 12,... The M data storage area 20 1M, An Nth data storage area 201N is provided. Similarly, the 0 data storage area 20 21 of the first register 20 2 is also more example of N (N> 1), the first data storage area 20 22, ... M-th data storage area 20 2M, the N a data storage area 20 2N, zeroth data storage area 20 M1 also the M register 20 M more example of N (N> 1), the first data storage area 20 M2, · · · the M data storage area 20 MM The Nth data storage area 20MN is provided. In each data storage area, for example, the data storage areas 20 11 , 20 12 , 20 1M , and 20 1N , data such as audio signals and filter coefficients are stored.

図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 instruction issuing unit 21 according to this embodiment. As shown in the figure, the vector instruction issuing unit 21 includes an input data control unit 211, an output data control unit 212, and a ring buffer control unit 17 as an “index control unit” shown in FIG. 213, a filter order setting unit 214, and a coefficient setting unit 215. The ring buffer control unit 17 includes a read index control unit 171 as an “index control unit” and a write index control unit 172 as an “index control unit”.

入力データ制御部211は、各レジスタ例えば第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20にデータ(音声信号やフィルタ係数の値や演算結果)を入力するための制御を行う。出力データ制御部212は、ベクトルレジスタ2の第Mレジスタ20から、信号値とフィルタ係数との積和演算の結果としてのデータを出力させるための制御を行う。 Input data control unit 211, the registers example 0th register 20 1, the first register 20 2, a control for inputting ... data in the M register 20 N (the value or the operation result of the speech signal and the filter coefficient) I do. Output data control section 212, from the M register 20 N vector registers 2, performs control for outputting the data as a result of product-sum operation of the signal value and the filter coefficients.

リングバッファ制御部17は、各レジスタ例えば第0レジスタ20をリングバッファとして機能させるための制御を行う。具体的には、各レジスタの格納領域(例えば第0レジスタ20の第0データ格納領域2011に付与した第0インデックス、第1データ格納領域2012に付与した第1インデックス、第2データ格納領域2013に付与した第2インデックス、第3データ格納領域2014に付与した第3インデックス、等(図8〜図13参照))を基準位置ないし基準として、データの読み出しや書き込みを行うための制御を行う。読み出しインデックス制御部171は、リングバッファとして構成した各レジスタ例えば第0レジスタ20の第0データ格納領域2011、第1データ格納領域2012、・・・第Mデータ格納領域201Nからデータを読み出すために必要な制御を行う。書き込みインデックス制御部172は、リングバッファとして構成した各レジスタ例えば第0レジスタ20の第0データ格納領域2011、第1データ格納領域2012、・・・第Mデータ格納領域201Nにデータを書き込むために必要な制御を行う。 The ring buffer controller 17 performs control for the functioning of the respective registers example 0th register 20 1 as a ring buffer. Specifically, the 0 index was applied to the 0th data storage area 20 11 of the storage area (e.g., the 0th register 20 1 of each register, the first index was applied to the first data storage area 20 12, storing the second data second index was applied to the area 20 13, third index was applied to the third data storage area 20 14, etc. as a reference position or reference (see FIGS. 8 to 13)), for reading and writing data Take control. Reading the index controller 171, a 0 data storage area 20 11 of each register eg 0th register 20 1 is configured as a ring buffer, the first data storage area 20 12, the data from the M data storage area 20 1N · · · Performs the control necessary for reading. Write index control unit 172, the zeroth data storage area 20 11 of each register eg 0th register 20 1 is configured as a ring buffer, the first data storage area 20 12, the data in the M data storage area 20 1N · · · Performs the control necessary for writing.

使用レジスタ設定部213は、初期設定時に、各レジスタ20,20,・・・20のうち、音声信号やフィルタ計数等を格納するものを設定する。フィルタ次数設定部214は、初期設定時に、演算器3におけるフィルタ処理の際のフィルタ次数Nを設定する。係数設定部215は、初期設定時にFIRフィルタ係数を求めるために利用する係数h[0]〜h[n−1]を設定する(図8〜図13参照)。 Using register setting unit 213, at initialization, each register 20 1, 20 2, of the · · · 20 N, setting the ones that store audio signals and filters counted like. The filter order setting unit 214 sets the filter order N for the filter processing in the computing unit 3 at the time of initial setting. The coefficient setting unit 215 sets coefficients h [0] to h [n−1] used for obtaining FIR filter coefficients at the time of initial setting (see FIGS. 8 to 13).

[処理手順]
図7は、この実施の形態に係るベクトル演算処理装置1の処理手順を示すフローチャートであり、図8〜図13は、この実施の形態に係るベクトル演算処理装置1のベクトルレジスタ2におけるデータの格納状態を模式的に示す図である。
[Processing procedure]
FIG. 7 is a flowchart showing the processing procedure of the vector arithmetic processing apparatus 1 according to this embodiment. FIGS. 8 to 13 show the storage of data in the vector register 2 of the vector arithmetic processing apparatus 1 according to this embodiment. It is a figure which shows a state typically.

以下、図7〜図14に基づいて、この実施の形態におけるベクトル演算処理装置1の処理手順を説明する。なお、同図では、ベクトルレジスタ2の第0レジスタ20に入力データ、第1レジスタ20に係数を格納し、レジスタMに積和演算結果を格納する事例に基づいて説明する。また、説明を簡単にするため、フィルタ次数Nを4とした場合に基づき説明する。 Hereinafter, based on FIG. 7 to FIG. 14, a processing procedure of the vector operation processing device 1 in this embodiment will be described. In the figure, it stores the 0th register 20 1 to input data, coefficients in the first register 20 and second vector register 2 will be described with reference to the case of storing the product-sum operation result in the register M. Further, for the sake of simplicity, the description will be made based on the case where the filter order N is 4.

(1)まず、初期設定として、ベクトル命令発行部21の使用レジスタ設定部213は、入力データを格納するレジスタとして第0レジスタ20を設定し、フィルタ係数を格納するレジスタとして第1レジスタ20を設定し、積和演算結果を格納するレジスタとして第Mレジスタ20を設定する(ステップS1)。ここで、使用レジスタ設定部213は、入力データを格納する第0レジスタ20をリングバッファとして設定する。なお、ここでは積和演算結果を格納するレジスタとしてベクトルレジスタ2の第Mレジスタ20を使用するが、積和演算結果は単一の出力であるため、ベクトルレジスタ2ではなくスカラレジスタ(図示せず)を用いてもよい。 (1) First, as an initial setting, using the register setting unit 213 of the vector instruction issue unit 21 sets the 0th register 20 1 as a register for storing the input data, the first register as a register for storing the filter coefficients 20 2 And the M-th register 20N is set as a register for storing the product-sum operation result (step S1). Here, using the register setting unit 213 sets the 0th register 20 1 stores the input data as a ring buffer. Here, using the first M register 20 N vector registers 2 as a register for storing the sum operation results, since results of multiply-and-accumulate operations is a single output, the vector register not 2 scalar register (shown May be used.

(2)また、初期設定として、ベクトル命令発行部21のフィルタ次数設定部214は、演算器3におけるフィルタ次数N(N=4)を設定する。なお、ベクトルレジスタ2の各レジスタ、例えば第0レジスタ20、第1レジスタ20、・・・第Mレジスタ20は、データを格納するデータ格納領域例えばデータ格納領域2011,2012,・・・201M,201Nが4つ以上ある場合は、そのうちの4つがデータの格納に用いるものとして設定される。なお、データ格納領域の数がフィルタ次数よりも少ないレジスタ例えば第Mレジスタ20がこの実施の形態に用いるものとして設定されている場合は、これを、データ格納領域の数がフィルタ次数(N=4)以上ある他のレジスタ例えば第M−1レジスタ(図示せず)に変更する処理を行うことが望ましい。 (2) As an initial setting, the filter order setting unit 214 of the vector instruction issuing unit 21 sets the filter order N (N = 4) in the computing unit 3. Each register of the vector register 2, such as the 0th register 20 1 , the first register 20 2 ,..., The Mth register 20 M, is a data storage area for storing data, such as a data storage area 20 11 , 20 12 ,. When there are four or more 20 1M and 20 1N , four of them are set to be used for data storage. When a register having a smaller number of data storage areas than the filter order, for example, the M-th register 20N is set to be used in this embodiment, the number of data storage areas is set to the filter order (N = 4) It is desirable to perform processing for changing to another register such as the M-1th register (not shown).

(3)また、初期設定として、ベクトル命令発行部21は、ベクトル命令制御部22に対し、上記(1)(2)でデータの格納に用いるレジスタとして設定された第0レジスタ20、第1レジスタ20、第Mレジスタ20の情報と、第0レジスタ20、第1レジスタ20、第Mレジスタ20の使用するデータ格納領域に付与するインデックスの情報を、ベクトル命令制御部22に対して発行する(ステップS1)。そして、ベクトル命令制御部22は、使用する第0レジスタ20、第1レジスタ20、第Mレジスタ20の使用するデータ格納領域にインデックスを付与する(ステップS1)。具体的には、例えば第0レジスタ20の第0データ格納領域2011には第0インデックスを、第1データ格納領域2012には第1インデックスを、第2データ格納領域2013には第2インデックスを、第3データ格納領域2014には第3インデックスをそれぞれ付与する。同様に、第1レジスタ20の第0データ格納領域2021には第0インデックスを、第1データ格納領域2022には第1インデックスを、第2データ格納領域2023には第2インデックスを、第3データ格納領域2024には第3インデックスをそれぞれ付与する。また、同様に、第Mレジスタ20の第0データ格納領域20N1には第0インデックスを、第1データ格納領域20N2には第1インデックスを、第2データ格納領域20N3には第2インデックスを、第3データ格納領域20N4には第3インデックスをそれぞれ付与する(図8〜図13参照)。 (3) As an initial setting, the vector instruction issuing unit 21 instructs the vector instruction control unit 22 to register the 0th register 20 1 , the first register set as registers used for storing data in (1) and (2) above. register 20 2, and the information of the M register 20 N, 0th register 20 1, the first register 20 2, the information of the index to be added to the data storage area used of the M register 20 N, the vector instruction control unit 22 It is issued to (Step S1). Then, the vector instruction control unit 22 gives an index to the data storage area used by the 0th register 20 1 , the first register 20 2 , and the Mth register 20 N to be used (step S1). Specifically, for example, the 0th 0th data storage area 20 11 of the register 20 1 0th index, the first data storage area 20 12 of the first index, the second data storage area 20 13 second the second index, the third data storage area 20 14 imparts third index, respectively. Similarly, the the first register 20 2 of the 0 data storage area 20 21 0th index, the first data storage area 20 22 of the first index, the second data storage area 20 23 of the second index , the third data storage area 20 24 imparts third index, respectively. Similarly, the zeroth data storage area 20 N1 of the M register 20 N is the 0th index, the first data storage area 20 N2 the first index, the second data storage area 20 N3 second An index is assigned to each of the third data storage areas 20N4 (see FIGS. 8 to 13).

(4)また、初期設定として、係数設定部215は、演算器3におけるFIRフィルタの演算に用いる係数h[0]〜h[n−1]をベクトルレジスタ2の第1レジスタ20の各データ格納領域2021,2022・・・202M,202Nに格納する。この場合、係数設定部215は、係数h[0]〜h[n−1]を格納する第1レジスタ20のデータ格納領域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 coefficient setting unit 215, arithmetic unit coefficients h [0] used for the operation of the FIR filter in 3 ~h [n-1] of the data of the first register 20 and second vector register 2 Store in storage areas 20 21 , 20 22 ... 20 2M , 20 2N . In this case, the coefficient setting unit 215, the coefficient h [0] to h first register 20 and second data storage area 20 21 for storing the [n-1], 20 22 ··· 20 2M, 20 2N, 0th An N-1th (N = 4 here) index is set from the index (step S1). The coefficients h [0] to h [n−1] are stored in the data storage areas 20 21 , 20 22 ... 20 2M , and 20 2N in the order of the numbers 0 to N−1.

(5)図8に示すように、初期状態において、入力データを格納する前の第0レジスタ20のデータ格納領域2011,2012・・・201M,201Nには全て“0”が格納されている。また積和演算結果を格納する第Mレジスタ20のデータ格納領域20N1,20N2・・・20NM,20NNにも全て“0”が格納されている。 (5) As shown in FIG. 8, in the initial state, all the input 0th register 20 1 of the data storage area 20 11 before the data storing, in 20 12 · · · 20 1M, 20 1N is "0" Stored. In addition, “0” is also stored in the data storage areas 20 N1 , 20 N2 ... 20 NM , 20 NN of the M-th register 20 N that stores the product-sum operation result.

(6)ここで、ベクトル命令制御部22は、リングバッファ制御部17の読み出しインデックス制御部171と書き込みインデックス制御部172とに対し、下記(イ)(ロ)の規則に基づいて、第0レジスタ20へのデータの格納やデータの取り出しを行わせるように設定する(ステップS2)。また、ベクトル命令制御部22は、ベクトルレジスタ読み出し部23やベクトルレジスタ書き込み部24に対し、下記(ハ)(ニ)に示す規則に基づいて、第1レジスタ20、第Mレジスタ20へのデータの格納やデータの取り出しの開始位置の設定や、格納順序、取り出し順序の設定を行う(ステップS2)。
(イ)書き込みインデックス制御部172は、リングバッファとして構成された第0レジスタ20のデータ格納領域2011,2012・・・201M,201Nに、付与されたインデックスの降順に(つまり、インデックスの数字N−1,N−2,・・・1,0の順に)新たなデータを格納する。
(ロ)読み出しインデックス制御部171は、新たにデータが格納されたデータ格納領域を読み出しの開始位置として設定し、この開始位置からインデックスを昇順に循環させる形で順次データを読み出す(ステップS2)。具体的には、例えば、第0レジスタ20の第2インデックスが付与された第2データ格納領域2013に新しい入力データX1が格納された場合(図10参照)、第2データ格納領域2012、第3インデックスが付与された第3データ格納領域2013、第0インデックスが付与された第0データ格納領域2011、第1インデックスが付与された第1データ格納領域2012、の順にデータを読み出す。
(ハ)なお、第1レジスタ20はリングバッファとして構成されていないので、上記(ロロ)に示す順序でのデータの読み出しは行われず、インデックスの昇順(つまり、第0インデックスが付与された第0データ格納領域2021、第1インデックスが付与された第1データ格納領域2022、第2インデックスが付与された第2データ格納領域2023、第3インデックスが付与された第3データ格納領域2023、の順)にデータを取り出して、演算器3において音声信号との乗算加算処理が行われる。
(ニ)全ての乗算処理と加算処理が行われた結果の値は、第Mレジスタ20の第0インデックスが付与された第0データ格納領域20N1に格納される。
(6) Here, the vector instruction control unit 22 applies the 0th register to the read index control unit 171 and the write index control unit 172 of the ring buffer control unit 17 based on the following rules (a) and (b). set to cause the retrieval of storage and data of data into 20 1 (step S2). Further, the vector instruction control unit 22 sends the first register 20 2 and the Mth register 20 N to the vector register reading unit 23 and the vector register writing unit 24 based on the following rules (c) and (d). The start position of data storage and data retrieval, the storage order, and the retrieval order are set (step S2).
(A) The write index control unit 172 sets the data storage areas 20 11 , 20 12 ... 20 1M , 20 1N of the 0th register 20 1 configured as a ring buffer in descending order of indexes assigned (that is, New data is stored (in the order of index numbers N-1, N-2,..., 1, 0).
(B) The read index control unit 171 sets a data storage area in which data is newly stored as a read start position, and sequentially reads data from the start position by circulating the index in ascending order (step S2). Specifically, for example, if the new input data X1 is stored in the second data storage area 20 13 in which the second index of the zeroth register 20 1 is attached (see FIG. 10), the second data storage area 20 12 , The third data storage area 20 13 to which the third index is assigned, the 0th data storage area 20 11 to which the 0th index is assigned, and the first data storage area 20 12 to which the first index is assigned. read out.
(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 arithmetic unit 3 performs multiplication and addition processing with the audio signal.
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レジスタ20のインデックス3が付与された第4データ格納領域2014に入力データを格納するように、ベクトル命令制御部22に命令を発行する(ステップS1)。 (7) If the first input data X0 is input to the vector register writing unit 24, an input data control section 211 of the vector instruction issue unit 21, a fourth data storage 0th register 20 1 of the index 3 is assigned to store the input data in the area 20 14, and issues an instruction to the vector instruction control unit 22 (step S1).

(8)ベクトル命令制御部22は、上記(1)にて入力データを格納するベクトルレジスタ2として設定された第0レジスタ20のデータ格納領域2011,2012・・・201M,201Nに、上記(5)の(イ)で設定された順序に基づき入力データを格納する。 (8) the vector instruction control unit 22, the 0th register 20 1 in the data storage region 20 11 is set as the vector register 2 for storing the input data in the above (1), 20 12 · · · 20 1M, 20 1N In addition, the input data is stored based on the order set in (a) of (5) above.

(9)ベクトル命令発行部21は下記(A)〜(E)の処理を行う命令をベクトル命令制御部22に出力する。そして、ベクトル命令制御部22はこの命令に基づいてベクトルレジスタ読み出し部23、ベクトルレジスタ書き込み部24及び演算器3を制御する。   (9) The vector instruction issuing unit 21 outputs an instruction for performing the following processes (A) to (E) to the vector instruction control unit 22. The vector instruction control unit 22 controls the vector register reading unit 23, the vector register writing unit 24, and the arithmetic unit 3 based on this instruction.

(A)第0レジスタ20の第3インデックスが付与された第3データ格納領域2014に格納された入力データX0と第1レジスタ20の第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 calculator 3.

(B)この段階で、N個(4個)のデータ全ての演算が完了していないので(ステップS4の“No”)、第0レジスタ20の読み出し位置を一つずらす(ステップS5)。すると、読み出し位置がデータを格納できる領域(第3インデックスが付与された第3データ格納領域2023)を越えるので(ステップS6の“Yes”)、第0レジスタ20の読み出し位置を、第0インデックスが付与された第0データ格納領域2011に戻す(ステップS7)。そして、第0インデックスが付与された第0データ格納領域2011に格納されたデータ(0)と、第1レジスタ20の第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 calculator 3 are added, and the calculation result is stored in the register 33 of the calculator 3 again (step S3).

(C)この段階で、N個(4個)のデータ全ての演算が完了していないので(ステップS4の“No”)、第0レジスタ20の読み出し位置を一つずらす(ステップS5)。この場合は、読み出し位置がデータを格納できる領域(第3インデックスが付与された第3データ格納領域2023)を越えないので(ステップS6の“No”)、第0レジスタ20の第1インデックスが付与された第1データ格納領域2012に格納されたデータ(0)と、第1レジスタ20の第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 calculator 3 is stored again in the register 33 of the calculator 3 (step S3).

(D)この段階で、N個(4個)のデータ全ての演算が完了していないので(ステップS4の“No”)、第0レジスタ20の読み出し位置を一つずらす(ステップS5)。この場合は、読み出し位置がデータを格納できる領域(第3インデックスが付与された第3データ格納領域2023)を越えないので(ステップS6の“No”)、第0レジスタ20の第2インデックスが付与された第2データ格納領域2013に格納されたデータと、第1レジスタ20の第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 calculator 3 are added, and the calculation result is stored in the register 33 of the calculator 3 again (step S3).

(E)N個(4個)のデータに関する積和演算を実行した後(ステップS4の“Yes”)、その積和演算結果である値R0を第Mレジスタ20の第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レジスタ20の第0インデックスが付与された第0データ格納領域2011に格納された演算結果である値R0をFIRフィルタの出力結果として出力するよう、ベクトル命令制御部22に指示し、ベクトル命令制御部22は指示に従い、第Mレジスタ20の第0インデックスが付与された第0データ格納領域20N1に格納されたデータを出力する。 (10) the vector instruction issue unit 21 as the output result of the FIR filter 0th value R0 is a data storage region 20 11 is operation result stored in the 0th index of the M register 20 N of the vector register 2 is assigned to output an instruction to the vector instruction control unit 22, the vector instruction control unit 22 instructs accordance outputs the data stored in the zeroth data storage area 20 N1 where the 0th index of the M register 20 N is applied .

(11)次に、2番目の入力データX1がベクトルレジスタ書き込み部24に入力されると、図10に示すように、第0レジスタ20の第2インデックスが付与された第2データ格納領域2013にデータが格納される。そして、図10に示すように、第0レジスタ20の各データ格納領域2011,2012,・・・201M(2013),201N(2014)に格納されたデータと、第1レジスタ20に格納された係数との積和演算が行われ、その演算結果である値R1が第Mレジスタ20の第0インデックスが付与された第0データ格納領域20N1に格納される。更に、ベクトル命令発行部21が演算結果である値R1を出力するよう命令を発行し、ベクトル命令制御部22は、発行された命令に基づいてベクトル読み出し部23、ベクトル書き込み部24及び演算器3を制御する。 (11) Next, the second input data X1 is input to the vector register write unit 24, as shown in FIG. 10, the second data storage area 20 in which the second index of the zeroth register 20 1 is applied 13 stores data. Then, as shown in FIG. 10, the 0th register 20 1 of each data storage area 20 11, 20 12, ··· 20 1M (20 13), the data stored in the 20 1N (20 14), first product-sum operation of the coefficient stored in the register 20 2 is performed, the value R1 is a result of the calculation is stored in the zeroth data storage area 20 N1 where the 0th index of the M register 20 N is applied. Further, the vector instruction issuing unit 21 issues an instruction so as to output the value R1 as the operation result, and the vector instruction control unit 22 performs the vector reading unit 23, the vector writing unit 24, and the arithmetic unit 3 based on the issued instruction. To control.

(12)以下、同様に図11、図12に示すように、3番目の入力データX2、4番目の入力データX3が入力されると、上記と同様の第0レジスタ20へのデータの書き込みと演算を順次繰り返し、FIRフィルタの出力を求める。図12に示すように、第0レジスタ20の全てのデータ格納領域2011,2012,・・・201M,201Nに値が格納された後、5番目の入力データX4が入力されると、図13に示すように、最先にデータが格納されたデータ格納領域(この場合は第0レジスタ20の第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 data storage area 20 11 of the zeroth register 20 1, 20 12, · · · 20 1M, 20 after the value in 1N is stored, the fifth input data X4 is input when, as shown in FIG. 13, it replaces the data of the data storage area where the data to the earliest is stored (the third data storage area 20 14 in this case is the 0th register 20 1) to the latest data. Thereafter, the same processing is repeated.

以上示した通り、この実施の形態のベクトル演算処理装置1においては、ベクトル演算機能とリングバッファ機能とを兼ね備えたベクトル演算処理装置1としたので、FIRフィルタの積和演算処理はベクトル演算処理装置1側で処理が行われることになる。従って、DSP(Digital Signal Processor)側の処理負荷を低減することができる。   As described above, in the vector arithmetic processing apparatus 1 of this embodiment, since the vector arithmetic processing apparatus 1 having both the vector arithmetic function and the ring buffer function is used, the product-sum arithmetic processing of the FIR filter is performed by the vector arithmetic processing apparatus. Processing is performed on one side. Therefore, the processing load on the DSP (Digital Signal Processor) side can be reduced.

この実施の形態においては、リングバッファとして構成された第0レジスタ20から、設定に基づいて、読み出しの先頭位置を順番に替えながら第0データ格納領域2011〜第3データ格納領域2014に対するデータの書き込み及びデータの読み出しを行い
読み出されたデータを演算器3においてベクトル演算にて演算処理を行うことにより、リングバッファとして構成された第0レジスタ20において、個々のデータ格納領域即ち第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 calculator 3 data read writes and data reads data in the zeroth register 20 1 which is configured as a ring buffer, stores individual data regions or the Each time the data stored in each of the 0 data storage area 20 11 to the third data storage area 20 14 is processed, another data storage area, that is, the 0th data storage area 20 11 to the third data storage area 20 is processed. 14 to the data arrangement order and the data storage area, that is, the 0th data storage area 20 11 to the third To match the sequence of numbers to manage data storage region 20 14 (e.g., the data storage area 20 11, 20 12, 20 13, 20 input data X0 in ascending order of 14, X1, X2, X3, X4 · · · Even if it is not rearranged), the data can be read out in the order of the data 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.

この実施の形態においては、リングバッファとして構成された第0レジスタ20の第0データ格納領域2011〜第3データ格納領域2014に設定されたインデックス情報即ち第0インデックス〜第3インデックスに基づいて、データの書き込み及び読み出しの先頭位置の決定とデータの書き込み及び読み出しを行うこととを実現できるので、リングバッファとしての第0レジスタ20において、個々のデータ格納領域即ち第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 arithmetic unit 3, it is possible to prevent the processing load and the processing time from becoming excessive even when the filter order is high.

この実施の形態においては、音声信号のフィルタ処理において、フィルタ次数が高くなった場合であっても、処理負荷や処理時間が過大になることを抑止することができる。   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レジスタ20をリングバッファとして構成したが、これに限定されず、フィルタ計数を格納する第1レジスタ202や、積和演算の結果を格納する第Mレジスタ20をリングバッファとして構成してもよい。また、第0レジスタ20、第1レジスタ20、第Mレジスタ20のうちの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 first register 202 for storing a filter attribute, the result of multiply-add operation the first M register 20 N for storing may be configured as a ring buffer. Two to three of the 0th register 20 1 , the first register 20 2 , and the Mth register 20 N may be configured as a ring buffer.

上記実施の形態においては、リングバッファとして構成した第0レジスタ20への書き込み位置や読み出し位置を、データ格納領域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 data storage area 20 11, 20 12, 20 13, the 20 14 address information such as the configuration to identify any, if, may be of any type.

上記実施の形態においては、ベクトル演算処理装置1は、音声信号を処理対象として扱うものとしたが、これに限定されず、音声信号以外のどのようなディジタル信号、例えば画像信号等を処理対象とするものであってもよい。   In the above embodiment, the vector arithmetic processing apparatus 1 handles an audio signal as a processing target. However, the present invention is not limited to this, and any digital signal other than the audio signal, for example, an image signal or the like is a processing target. You may do.

上記実施の形態においては、ベクトル演算処理装置1は、FIRフィルタとして機能するものとしたが、これに限定されず、FIRフィルタ以外のいかなるフィルタ、例えばIIRフィルタによってフィルタ処理を行うものであってもよい。   In the above embodiment, the vector arithmetic processing apparatus 1 functions as an FIR filter. However, the present invention is not limited to this, and any filter other than the FIR filter, for example, an IIR filter may perform the filter process. Good.

上記実施の形態においては、ベクトル演算処理装置1は、遊技機(図示ぜず)に用いられるものとしたが、遊技機以外のいかなる用途に用いられるものであってもよい。   In the above embodiment, the vector arithmetic processing apparatus 1 is used for a gaming machine (not shown), but may be used for any application other than a gaming machine.

上記実施の形態は本発明の例示であり、本発明が上記実施の形態のみに限定されることを意味するものではないことは、いうまでもない。   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・・・演算器(演算処理手段)
20・・・第0レジスタ(第一の格納手段)
20・・・第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 ,... Data storage area 171. (Index control means)
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.
前記演算処理手段はFIRフィルタによるフィルタ処理の演算を行うことを特徴とする請求項1に記載のディジタル信号処理装置。   The digital signal processing apparatus according to claim 1, wherein the arithmetic processing unit performs a filter processing operation using an FIR filter. 前記入力データは音声信号であることを特徴とする請求項1乃至3の何れか一つに記載のディジタル信号処理装置。   4. The digital signal processing apparatus according to claim 1, wherein the input data is an audio signal.
JP2016241386A 2016-12-13 2016-12-13 Digital signal processor Active JP6500266B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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