JP2005235045A - Fft operation method and fft arithmetic unit - Google Patents

Fft operation method and fft arithmetic unit Download PDF

Info

Publication number
JP2005235045A
JP2005235045A JP2004045870A JP2004045870A JP2005235045A JP 2005235045 A JP2005235045 A JP 2005235045A JP 2004045870 A JP2004045870 A JP 2004045870A JP 2004045870 A JP2004045870 A JP 2004045870A JP 2005235045 A JP2005235045 A JP 2005235045A
Authority
JP
Japan
Prior art keywords
unit
data
fft
ring buffer
task
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.)
Withdrawn
Application number
JP2004045870A
Other languages
Japanese (ja)
Inventor
Toru Marumoto
徹 丸本
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.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2004045870A priority Critical patent/JP2005235045A/en
Publication of JP2005235045A publication Critical patent/JP2005235045A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an FFT operation method and an FFT arithmetic unit capable of reducing the processing quantity of the real time processing of an FFT operation. <P>SOLUTION: This FFT arithmetic unit executes writing of data with n-points of data as one unit to a ring buffer, rearrangement of N-units of data written in the ring buffer to a series according to the time order, and FFT operation to the rearranged data in a predetermined period. In this device, the FFT arithmetic processing is divided to a plurality of tasks, and each task is classified to a task with high priority and a task with low priority to shorten the processing time occupied by the task with high priority. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明はFFT演算方法及びFFT演算装置に係わり、特にn点のデータを1単位とするデータのリングバッファへの書込み、該リングバッファに書込まれたN単位のデータの時間順に従った系列への並び替え、並び替えたデータに対するFFT演算を定期的に実行するFFT演算方法及びFFT演算装置に関する。   The present invention relates to an FFT operation method and an FFT operation device, and more particularly, to write data in a ring buffer with n points of data as one unit, to a sequence according to the time order of N units of data written in the ring buffer. The present invention relates to an FFT calculation method and an FFT calculation apparatus that periodically execute FFT calculation on the sorted data and the sorted data.

近年のDSP(Digital Signal Processor)は、割り込みに優先度を設けたリアルタイムOSや、複数の乗算器、ALU(算術、論理演算ユニット)の導入より、あたかもRISCチップのように複数のタスクを混在、制御することが可能になった。これにより、例えば、音声明瞭度改善システムにスペアナ機能やオーディオリッピング(オーディオ高速記録)機能といった別機能のモジュールを同一DSPに搭載することが容易となってきている。音声明瞭度改善システムとは、ラウドネス技術を用いて、マイクに入力する騒音レベルに応じて、音声のボリュームを調整して音声明瞭度を改善するシステム(特許文献1参照)であり、該文献には詳細な制御技術が開示されている。   In recent years, DSP (Digital Signal Processor) has mixed tasks like a RISC chip, with the introduction of a real-time OS that gives priority to interrupts, multiple multipliers, and ALU (arithmetic and logical operation units). It became possible to control. As a result, for example, it has become easy to mount modules having different functions such as a spectrum analyzer function and an audio ripping (audio high-speed recording) function in the same DSP in the speech intelligibility improvement system. The speech intelligibility improvement system is a system (see Patent Document 1) that improves the speech intelligibility by adjusting the volume of speech according to the noise level input to the microphone using loudness technology. A detailed control technique is disclosed.

複数のタスクを混在、制御するDSPにおいて、各モジュール(機能)の実時間処理に携わる処理量を少しでも減少できれば、他モジュールの占有待ちを低減させるばかりでなく、性能向上、例えばリッピングの速度等の向上にもつながる。音声明瞭度改善システムや音声認識システム(高速LMSアルゴリズム採用)などに使用されるDSPはFFT処理を定期的に一定間隔で実行する。このためFFT処理における実時間処理に携わる処理量を減少できれば好都合である。   In a DSP that mixes and controls multiple tasks, if the amount of processing involved in real-time processing of each module (function) can be reduced as much as possible, it not only reduces the waiting time for other modules, but also improves performance, such as ripping speed. It leads to improvement. DSPs used in speech intelligibility improvement systems and speech recognition systems (using high-speed LMS algorithms) perform FFT processing at regular intervals. For this reason, it would be advantageous if the amount of processing involved in real-time processing in the FFT processing could be reduced.

従来のFFT演算は、図5に示すように、n点(例えば128点)のデータを1単位として新規データを保存するバッファ1、最新のN(例えば8)単位のデータが書込まれるリングバッファ部2、リングバッファ部2の記憶データを時間系列順に並び替えて保存するFFT演算対象データ保存部3、リングバッファ部への新規データの書込み、前記時間系列順の並び替え及びFFT演算などの処理を実行する演算処理部4の連携により行われている。リングバッファ2には1→2→…→8→1→2→…の順に1単位の新規データが順番に上書きされ、常に最新のN組のデータが保存されている。   As shown in FIG. 5, the conventional FFT operation includes a buffer 1 for storing new data with n points (for example, 128 points) of data as one unit, and a ring buffer for writing the latest N (for example, 8) units of data. Processing unit 2, FFT calculation target data storage unit 3 that rearranges and stores the data stored in the ring buffer unit 2 in time series order, writing new data to the ring buffer unit, rearrangement in the time series order, and FFT processing, etc. This is performed in cooperation with the arithmetic processing unit 4 that executes. In the ring buffer 2, new data of one unit is overwritten in order of 1 → 2 →... → 8 → 1 → 2 →... And the latest N sets of data are always stored.

図6に示すタイムチャートに従って説明すれば、所定周期毎に、
(A) 1単位128点の新規データ(斜線部)を8単位(=128×8=1024点)のリングバッファ2に格納し、
(B) FFT演算対象データ保存部3に1024点データを時間系列順に並び替えてコピーし、すなわち、新しいものほど下に、古いデータほど上方に順番に配列されるように並び替え、
(C) 最後に、FFT処理を行なってFFT結果を演算対象データ保存部3に上書きする、
というシーケンシャルな流れでFFT演算を行なって演算結果を出力する。
If it demonstrates according to the time chart shown in FIG. 6, every predetermined period,
(A) One unit of 128 points of new data (shaded area) is stored in the ring buffer 2 of 8 units (= 128 × 8 = 1024 points),
(B) The 1024-point data is rearranged in order of time series and copied to the FFT calculation target data storage unit 3, that is, rearranged so that the newer data is arranged in the lower order and the older data is arranged in the upper order.
(C) Finally, the FFT processing is performed and the FFT result is overwritten in the calculation target data storage unit 3.
Perform the FFT operation in the sequential flow, and output the operation result.

前述のように、FFT処理における実時間処理に携わる処理量を減少できれば好都合であるが現状のFFT実時間処理に携わる処理量は大きい。すなわち、FFTの実時間処理に携わる処理量は、図5におけるA,B,Cの各処理を合計した量となり、FFT演算処理時間Tは図6に示すA,B,Cの各処理を連続的に行なうに要する時間となる。このため、FFT演算を高優先度のタスクに設定すると、DSPは時間Tという比較的長い時間がFFT演算に占有されてしまう問題がある。
なお、DSPに高速フーリエ変換FFTを適用して音声認識する技術はあるが(たとえば特許文献2参照)、FFTの実時間処理に携わる処理量を減少させる従来方法は見当たらない。
特開平11-166835号公報 特開平4-264598号公報
As described above, it would be advantageous if the amount of processing involved in real-time processing in FFT processing could be reduced, but the amount of processing involved in current FFT real-time processing is large. That is, the amount of processing involved in the real-time processing of the FFT is the total amount of each processing of A, B, and C in FIG. 5, and the FFT calculation processing time T is the continuous processing of A, B, and C shown in FIG. Time required for the operation. For this reason, when the FFT operation is set as a high priority task, the DSP has a problem that the FFT operation occupies a relatively long time of time T.
Although there is a technique for speech recognition by applying a fast Fourier transform FFT to a DSP (see, for example, Patent Document 2), there is no conventional method for reducing the amount of processing involved in real-time processing of the FFT.
Japanese Patent Laid-Open No. 11-166835 JP-A-4-264598

以上より、割り込みに優先度を設けたリアルタイムOS を備えたDSP、あるいは、かかるDSPと同等機能を備えたデバイスなどでは、FFT演算の実時間処理の処理量を減少することが要望されているが、有効な方法が提案されていなかった。
従って、本発明の目的は、FFT演算の実時間処理の処理量を減少することである。
From the above, DSPs with a real-time OS that gives priority to interrupts, or devices with the same functions as those DSPs, are required to reduce the amount of FFT processing in real time. No effective method has been proposed.
Accordingly, an object of the present invention is to reduce the processing amount of real-time processing of FFT operation.

上記目的は本発明によれば、n点のデータを1単位とするデータのリングバッファへの書込み、該リングバッファに書込まれたN単位のデータの時間順に従った系列への並び替え、並び替えたデータに対するFFT演算を所定周期で実行するFFT演算方法及びFFT演算装置により達成される。
本発明のFFT演算方法では、(1) 最新のN単位のデータが書込まれるリングバッファ部、リングバッファ部の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存部、前記リングバッファ部への新規データの書込み、並び替え、FFT演算などの処理を実行する演算処理部、全体の処理順序を管理する管理部を設け、(2) 前サイクルにおいて前記リングバッファ部に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて第1FFT演算対象データ保存部に保存し、(3) 現サイクルにおいて発生した1単位の新規データを時間的に第1番目のデータとして前記第1FFT演算対象データ保存部の対応する位置に書込み、(4) ついで、該第1FFT演算対象データ保存部に保存されているN単位のデータにFFT処理を施し、(5) しかる後、現サイクルにおいて発生した前記1単位の新規データを前記リングバッファに書込み、(6) 該リングバッファに保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて前記第2のFFT演算対象データ保存部に保存し、(7) 以後、上記処理をサイクル毎にFFT演算対象データ保存部を切り替えながら実行する。
According to the present invention, according to the present invention, the writing of data with n points of data as one unit to the ring buffer, the rearrangement of the N units of data written in the ring buffer into a series according to the time order, This is achieved by an FFT operation method and an FFT operation device that execute an FFT operation on the replaced data at a predetermined cycle.
In the FFT calculation method of the present invention, (1) the first and second FFT calculation target data in which the latest N units of data are written and the stored data in the ring buffer are rearranged in order of time series. A storage unit, an arithmetic processing unit that performs processing such as writing, rearranging, and FFT operation of new data to the ring buffer unit, and a management unit that manages the entire processing order, and (2) the ring buffer in the previous cycle The latest (N−1) unit data stored in the section is rearranged as the 2nd to Nth data in time and stored in the first FFT operation target data storage section. (3) 1 generated in the current cycle New unit data is written in time as the first data in the corresponding position of the first FFT calculation target data storage unit, and (4) N units stored in the first FFT calculation target data storage unit are then written. FFT processing on data (5) After that, the new data of one unit generated in the current cycle is written to the ring buffer, and (6) the latest (N−1) unit of data stored in the ring buffer is temporally stored. The second FFT calculation target data storage unit is rearranged as the second to Nth, and the above processing is executed while switching the FFT calculation target data storage unit for each cycle.

本発明のFFT演算装置は、最新のN単位のデータが書込まれるリングバッファ領域、リングバッファ領域の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存領域を備えた記憶部、前記リングバッファ領域への新規データの書込み、並び替え、FFT演算などの処理を実行する演算処理部、優先順にタスクが実行されるように処理順序を管理する管理部を備え、FFT演算処理を複数のタスクに分割し、各タスクを優先度の高いタスクと低いタスクに分け、優先度の高いタスクが占有する時間を短縮する。
この場合、FFT演算処理を、(1) 1単位の新規データを前記リングバッファ領域に書込む第1タスク、(2) 該リングバッファ領域に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて前記FFT演算対象データ保存領域に保存する第2タスク、(3) 発生した1単位の新規データを時間的に第1番目のデータとして前記FFT演算対象データ保存部の対応する位置に書込む第3タスク、(4) 該FFT演算対象データ保存部に保存されているN単位のデータにFFT処理を施す第4タスクに分割し、前記第1、第2タスクの優先度を低くし、前記第3、第4タスクの優先度を高くする。
The FFT arithmetic unit of the present invention includes a ring buffer area into which the latest N units of data are written, and first and second FFT arithmetic target data storage areas for rearranging and storing the data stored in the ring buffer area in time series order. A storage unit equipped with, an arithmetic processing unit that performs processing such as writing new data to the ring buffer area, rearrangement, FFT operation, etc., a management unit that manages the processing order so that tasks are executed in priority order, The FFT calculation process is divided into a plurality of tasks, and each task is divided into a task with a high priority and a task with a low priority, and the time occupied by the task with a high priority is shortened.
In this case, the FFT operation processing is performed by (1) a first task for writing 1 unit of new data to the ring buffer area, and (2) the latest (N−1) units of data stored in the ring buffer area. A second task that rearranges them as the second to Nth in terms of time and saves them in the FFT calculation target data storage area, (3) the FFT as one unit of new data generated as the first data in time A third task for writing to a corresponding position in the computation target data storage unit, (4) divided into a fourth task for performing FFT processing on N units of data stored in the FFT computation target data storage unit, , Lower the priority of the second task and increase the priority of the third and fourth tasks.

本発明のFFT演算装置において、演算処理部は、(1)前サイクルの低優先度タスクの実行時、第1タスクにより前サイクルにおいて発生した1単位の新規データを前記リングバッファ領域に書込み、ついで、(2)第2タスクにより前記リングバッファ領域に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて第1FFT演算対象データ保存領域に保存する。また、演算処理部は、現サイクルの高優先度タスクの実行時、(1)第3タスクにより、現サイクルにおいて発生した1単位の新規データを時間的に第1番目のデータとして前記第1FFT演算対象データ保存領域の対応する位置に書込み、第4タスクにより、該第1FFT演算対象データ保存領域に保存されているN単位のデータにFFT処理を施し、 (2)しかる後、現サイクルにおいて発生した前記1単位の新規データを前記リングバッファ領域に書込み、該リングバッファ領域に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて前記第2のFFT演算対象データ保存領域に保存し、以後、上記処理をサイクル毎にFFT演算対象データ保存領域を切り替えながら実行する。   In the FFT arithmetic unit of the present invention, the arithmetic processing unit writes (1) one unit of new data generated in the previous cycle by the first task to the ring buffer area when the low priority task of the previous cycle is executed. (2) The latest (N−1) units of data stored in the ring buffer area by the second task are rearranged as the second to Nth data in time and stored in the first FFT operation target data storage area. To do. In addition, when the high-priority task in the current cycle is executed, the arithmetic processing unit (1) performs the first FFT operation as a first data in terms of one unit of new data generated in the current cycle by the third task. Write to the corresponding position in the target data storage area, and perform FFT processing on the N units of data stored in the first FFT calculation target data storage area by the fourth task. (2) After that, it occurred in the current cycle The one unit of new data is written into the ring buffer area, and the latest (N−1) units of data stored in the ring buffer area are rearranged as the second to Nth data in time and the second Are stored in the FFT calculation target data storage area, and thereafter, the above processing is executed while switching the FFT calculation target data storage area for each cycle.

本発明によれば、FFT演算処理を複数のタスクに分割し、各タスクを優先度の高いタスクと低いタスクに分けたから、優先度の高いタスクが占有する時間を短縮することができる。   According to the present invention, the FFT calculation process is divided into a plurality of tasks, and each task is divided into a task with a high priority and a task with a low priority. Therefore, the time occupied by a task with a high priority can be reduced.

従来技術(図5)におけるFFT演算処理を考察すると、リングバッファ2に書込まれている8単位(=1024点)のデータを時間的に整列させてFFT演算対象データ保存部3にコピーする処理Bは優先度の高い実時間上の処理とする必要はない。このような処理は低優先タスクとして分離して後回しにして実行するようにすれば、実時間処理量が減少する。
本発明は、割り込み優先度を用いた複数タスク制御が可能なDSP等において、高優先度が与えられるFFT演算の実時間処理の処理量を減少することを目的とするもので、FFT演算において実時間処理上、後には回せない優先度の高い処理のみを先に処理し、その他の処理を優先度の低い割り込み処理として後回しにする。また、複数メモリ構成にしてデータ改変を防ぐようにしている。
図1の概略構成において、FFT演算装置は、最新のN単位(図では8単位=1024点)のデータが書込まれるリングバッファ領域11、リングバッファ領域の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存領域12,13、リングバッファ領域11への新規データの書込み、前記並び替え、FFT演算などの処理を実行する演算処理部14、優先順にタスクが実行されるように処理順序を管理する管理部15を備えている。FFT演算処理に際して、FFT演算処理を複数のタスクに分割し、各タスクを優先度の高いタスクと低いタスクに分け、優先度の高いタスクが占有する時間を短縮する。
Considering the FFT calculation processing in the prior art (FIG. 5), the processing of copying the data of 8 units (= 1024 points) written in the ring buffer 2 to the FFT calculation target data storage unit 3 in time alignment B need not be a high-priority real-time process. If such processing is separated as a low-priority task and executed later, the real-time processing amount is reduced.
An object of the present invention is to reduce the amount of real-time processing of an FFT operation to which a high priority is given in a DSP or the like capable of controlling multiple tasks using interrupt priorities. In terms of time processing, only high priority processing that cannot be rotated later is processed first, and other processing is postponed as low priority interrupt processing. In addition, a plurality of memory configurations are used to prevent data alteration.
In the schematic configuration of FIG. 1, the FFT arithmetic unit stores the ring buffer area 11 in which the latest N units (8 units = 1024 points in the figure) data is written, and the storage data in the ring buffer area is rearranged in order of time series. The first and second FFT calculation target data storage areas 12, 13 and the calculation processing unit 14 for executing processing such as writing of new data to the ring buffer area 11, the rearrangement, and the FFT calculation, the tasks are executed in priority order. As shown, a management unit 15 that manages the processing order is provided. In FFT calculation processing, the FFT calculation processing is divided into a plurality of tasks, and each task is divided into a high priority task and a low priority task, and the time occupied by the high priority task is shortened.

図1、図2は本発明のFFT演算装置の動作説明図であり、n点(=128点)のデータを1単位として最新のN(=8)単位のデータが書込まれるリングバッファ部11、リングバッファ部11の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存部12,13、リングバッファ部11への新規データの書込み/前記時間系列順の並び替え/FFT演算などの処理を実行する演算処理部14、タスクの優先度を管理すると共に優先順にタスクが実行されるように処理順序を管理する管理部15を備えている。リングバッファ11には1単位(=128点)の新規データが順番に上から1→2→…→8→1→2→…の順に上書きされ、常に最新のN(=8)組のデータが保存されるようになっている。   FIG. 1 and FIG. 2 are diagrams for explaining the operation of the FFT arithmetic unit of the present invention. The ring buffer unit 11 into which the latest N (= 8) units of data are written with n points (= 128 points) of data as one unit. The first and second FFT operation target data storage units 12 and 13 that store the stored data in the ring buffer unit 11 in the order of time series, and the writing of new data to the ring buffer unit 11 / the order of the time series order An arithmetic processing unit 14 that executes processing such as replacement / FFT arithmetic, and a management unit 15 that manages the priority of tasks and manages the processing order so that tasks are executed in order of priority are provided. One unit (= 128 points) of new data is overwritten in the order of 1 → 2 →… → 8 → 1 → 2 →… from the top in the ring buffer 11, and the latest N (= 8) sets of data are always stored. It is supposed to be saved.

また、本発明では、FFT演算処理を以下のA〜Dの4タスクに分割している。すなわち、
・1単位の新規データをリングバッファ部11に書込む第1タスクA、
・該リングバッファ部11に保存されている最新の(N−1)(=7) 単位のデータを時間的に第2〜第8番目として並び替えてFFT演算対象データ保存領域12,13の一方に保存する第2タスクB、
・発生した1単位の新規データを時間的に第1番目のデータとしてFFT演算対象データ保存領域12,13に書込む第3タスクC、
・該FFT演算対象データ保存部12,13の一方に保存されているN(=8)単位のデータにFFT処理を施し、処理結果を該演算対象データ保存部に上書きする第4タスクD、
に分割し、前記第1、第2タスクA,Bの優先度を低くし、前記第3、第4タスクC,Dの優先度を高くする。
In the present invention, the FFT calculation processing is divided into the following four tasks A to D. That is,
First task A that writes 1 unit of new data to the ring buffer unit 11,
One of the FFT calculation target data storage areas 12 and 13 by rearranging the latest (N−1) (= 7) unit data stored in the ring buffer unit 11 as the second to eighth data in terms of time. Second task B to be saved in
A third task C for writing the generated new data of one unit to the FFT calculation target data storage areas 12 and 13 as the first data in time,
A fourth task D that performs FFT processing on N (= 8) units of data stored in one of the FFT calculation target data storage units 12 and 13 and overwrites the processing result in the calculation target data storage unit,
The priority of the first and second tasks A and B is lowered, and the priority of the third and fourth tasks C and D is raised.

演算処理部14は管理部15のタスク管理に基づいて各サイクルにおいて高優先順位のタスクから処理を実行する(図3のタイムチャート参照)。
すなわち、演算処理部14は、前サイクルの低優先度タスクの実行時、第1タスクAにより前サイクルにおいて発生した1単位の新規データ100(第1図参照)をリングバッファ部11に書込み、ついで、第2タスクBによりリングバッファ部11に保存されている最新の(N−1)(=7)単位のデータを時間的に第2〜第8番目として並び替えて第1FFT演算対象データ保存部12にコピーする。すなわち、演算処理部14は、第2タスクBにおいて、最新の7単位のデータを時間的に第2〜第8番目として順番に並び替え、第1FFT演算対象データ保存部12の記憶領域2〜8にコピーする。第1FFT演算対象データ保存部12の下の方ほど新しいデータがコピーされる。
The arithmetic processing unit 14 executes processing from a task with a high priority in each cycle based on the task management of the management unit 15 (see the time chart in FIG. 3).
That is, when the low-priority task in the previous cycle is executed, the arithmetic processing unit 14 writes one unit of new data 100 (see FIG. 1) generated in the previous cycle by the first task A to the ring buffer unit 11. The first FFT operation target data storage unit by rearranging the latest (N−1) (= 7) unit data stored in the ring buffer unit 11 by the second task B as the second to eighth data in time. 12 is copied. That is, in the second task B, the arithmetic processing unit 14 rearranges the latest seven units of data in order as the second to eighth data in time, and stores the storage areas 2 to 8 in the first FFT calculation target data storage unit 12. Copy to. Newer data is copied in the lower part of the first FFT calculation target data storage unit 12.

そして、現サイクルになって次の1単位の新規データ101が入力する。これにより、演算処理部14は、現サイクルの高優先度タスクの実行時、第3タスクCにより該新規データ101を時間的に第1番目のデータとして前記第1FFT演算対象データ保存部12の対応する位置(記憶領域1)に書込み、第4タスクにDより、該第1FFT演算対象データ保存部12に保存されているN単位のデータにFFT処理を施し、処理結果を該第1FFT演算対象データ保存部12に上書きする。
しかる後、演算処理部14は、現サイクルの低優先度タスクの実行時、第1タスクAにより現サイクルにおいて発生した1単位の新規データ101をリングバッファ部11に書込み(図2参照)、ついで、第2タスクBによりリングバッファ部11に保存されている最新の(N−1)(=7)単位のデータを時間的に第2〜第8番目として並び替えて第2FFT演算対象データ保存部13にコピーする。すなわち、演算処理部14は、第2タスクBにおいて、最新の7単位のデータを時間的に第2〜第8番目として順番に並び替え、第2FFT演算対象データ保存部13の記憶領域2〜8にコピーする。
Then, the next unit of new data 101 is input in the current cycle. As a result, when the high-priority task of the current cycle is executed, the arithmetic processing unit 14 sets the new data 101 as the first data in time by the third task C, so that the first FFT calculation target data storage unit 12 can To the location (storage area 1), the fourth task performs FFT processing on the N units of data stored in the first FFT calculation target data storage unit 12 from D, and the processing result is the first FFT calculation target data. The storage unit 12 is overwritten.
Thereafter, when the low-priority task in the current cycle is executed, the arithmetic processing unit 14 writes one unit of new data 101 generated in the current cycle by the first task A into the ring buffer unit 11 (see FIG. 2), The second FFT operation target data storage unit by rearranging the latest (N−1) (= 7) unit data stored in the ring buffer unit 11 by the second task B as the second to eighth data in time. Copy to 13. That is, in the second task B, the arithmetic processing unit 14 rearranges the latest seven units of data in order as the second to eighth data in time, and stores the storage areas 2 to 8 of the second FFT calculation target data storage unit 13. Copy to.

そして、次回のサイクルになって次の1単位の新規データ102が入力する。これにより、演算処理部14は、次回サイクルの高優先度タスクの実行時、第3タスクCにより該新規データ102を時間的に第1番目のデータとして前記第2FFT演算対象データ保存部13の対応する位置(記憶領域1)に書込み、第4タスクにDより、該第2FFT演算対象データ保存部13に保存されているN単位のデータにFFT処理を施し、処理結果を該第2FFT演算対象データ保存部13に上書きする。
以後、FFT演算対象データ保存部12,13を交互に使用しながら上記FFT演算を所定周期毎に繰返し実行する。
以上のように、FFT演算処理を複数のタスクに分割し、各タスクを優先度の高いタスクと低いタスクに分けたから、優先度の高いタスクが占有する時間を短縮することができる。
Then, in the next cycle, the next unit of new data 102 is input. As a result, when the high-priority task is executed in the next cycle, the arithmetic processing unit 14 sets the new data 102 as the first data in time by the third task C, and the second FFT calculation target data storage unit 13 responds. To the position (storage area 1), the fourth task performs FFT processing on the N units of data stored in the second FFT calculation target data storage unit 13 from D in the fourth task, and the processing result is the second FFT calculation target data. The storage unit 13 is overwritten.
Thereafter, the FFT calculation is repeatedly executed at predetermined intervals while alternately using the FFT calculation target data storage units 12 and 13.
As described above, the FFT calculation process is divided into a plurality of tasks, and each task is divided into a high priority task and a low priority task, so that the time occupied by the high priority task can be shortened.

図4は本発明のFFT演算装置の構成図であり、図1、図2と同一部分には同一符号を付している。入力バッファ10はn点(128点)で1単位の新規入力データを保存する。演算処理部14は内部メモリ14aにタスク名に対応させてプログラムを保持しており、管理部15から指示されたタスク名に応じたプログラムを用いてタスク処理を実行するようになっている。管理部(OS部)15は、優先度とタスク名との対応を示す優先度・タスクテーブル15aを保持しており、優先度の最も高いタスクから順番にタスク処理が行なわれるように演算処理部14を制御する。記憶部21には、最新のN単位(8単位)のデータが書込まれるリングバッファ領域11、リングバッファ領域の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存領域12,13が用意されている。各部の動作は図1〜図3で説明した通りである
本発明によれば、FFT演算における実時間処理を短縮でき、処理精度向上のためデータ長(現状N=1024)を長くとるほど威力を発揮する。
FIG. 4 is a block diagram of the FFT arithmetic unit of the present invention, and the same parts as those in FIGS. 1 and 2 are denoted by the same reference numerals. The input buffer 10 stores 1 unit of new input data at n points (128 points). The arithmetic processing unit 14 holds a program corresponding to the task name in the internal memory 14a, and executes the task processing using the program corresponding to the task name instructed from the management unit 15. The management unit (OS unit) 15 holds a priority / task table 15a indicating the correspondence between the priority and the task name, so that the task processing is performed in order from the task with the highest priority. 14 is controlled. The storage unit 21 stores the ring buffer area 11 into which the latest N units (eight units) of data is written, and the first and second FFT calculation target data that are stored in the time-series sorted and stored. Storage areas 12 and 13 are prepared. The operation of each part is as described in FIGS. 1 to 3. According to the present invention, the real-time processing in the FFT operation can be shortened, and the power is increased as the data length (current N = 1024) is increased to improve the processing accuracy. Demonstrate.

本発明のFFT演算装置の第1動作説明図である。It is 1st operation | movement explanatory drawing of the FFT arithmetic unit of this invention. 本発明のFFT演算装置の第2動作説明図である。It is 2nd operation | movement explanatory drawing of the FFT arithmetic unit of this invention. 本発明のタイムチャートである。It is a time chart of the present invention. 本発明のFFT演算装置の構成図である。It is a block diagram of the FFT arithmetic unit of this invention. 従来のFFT演算説明図である。It is conventional FFT calculation explanatory drawing. 従来のタイムチャートである。It is a conventional time chart.

符号の説明Explanation of symbols

11 リングバッファ部
12,13 第1、第2のFFT演算対象データ保存部
14 演算処理部
15 管理部
A〜D:第1〜第4タスク
11 Ring buffer units 12, 13 First and second FFT operation target data storage unit 14 Operation processing unit 15 Management units A to D: First to fourth tasks

Claims (4)

n点のデータを1単位とするデータのリングバッファへの書込み、該リングバッファに書込まれたN単位のデータの時間順に従った系列への並び替え、並び替えたデータに対するFFT演算を所定周期で実行するFFT演算方法において、
最新のN単位のデータが書込まれるリングバッファ部、リングバッファ部の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存部、前記リングバッファ部への新規データの書込み、並び替え、FFT演算などの処理を実行する演算処理部、全体の処理順序を管理する管理部を設け、
前サイクルにおいて前記リングバッファ部に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて第1FFT演算対象データ保存部に保存し、
現サイクルにおいて発生した1単位の新規データを時間的に第1番目のデータとして前記第1FFT演算対象データ保存部の対応する位置に書込み、
ついで、該第1FFT演算対象データ保存部に保存されているN単位のデータにFFT処理を施し、
しかる後、現サイクルにおいて発生した前記1単位の新規データを前記リングバッファ部に書込み、
該リングバッファ部に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて前記第2のFFT演算対象データ保存部に保存し、
以後、上記処理をサイクル毎にFFT演算対象データ保存部を切り替えながら実行する、
ことを特徴とするFFT演算方法。
Write data to the ring buffer with n points of data as one unit, rearrange the N units of data written in the ring buffer into a series according to the time order, and perform FFT operation on the rearranged data in a predetermined cycle In the FFT calculation method executed in
A ring buffer unit in which the latest N units of data are written, first and second FFT computation target data storage units that rearrange and store data stored in the ring buffer unit in time series order, and new data to the ring buffer unit An operation processing unit that executes processing such as writing, rearrangement, and FFT operation, and a management unit that manages the entire processing order are provided.
In the previous cycle, the latest (N−1) unit data stored in the ring buffer unit is rearranged as the second to Nth data in time and stored in the first FFT operation target data storage unit,
Write one unit of new data generated in the current cycle as the first data in time to the corresponding position in the first FFT operation target data storage unit,
Next, FFT processing is performed on the N units of data stored in the first FFT calculation target data storage unit,
Thereafter, the 1 unit of new data generated in the current cycle is written to the ring buffer unit,
The latest (N−1) units of data stored in the ring buffer unit are rearranged as the second to Nth data in time and stored in the second FFT operation target data storage unit,
Thereafter, the above processing is executed while switching the FFT calculation target data storage unit for each cycle.
FFT calculation method characterized by this.
n点のデータを1単位とするデータのリングバッファへの書込み、該リングバッファに書込まれたN単位のデータの時間順に従った系列への並び替え、並び替えたデータに対するFFT演算を所定周期で実行するFFT演算装置において、
最新のN単位のデータが書込まれるリングバッファ領域、リングバッファ領域の記憶データを時間系列順に並び替えて保存する第1、第2のFFT演算対象データ保存領域を備えた記憶部、
前記リングバッファ領域への新規データの書込み、並び替え、FFT演算などの処理を実行する演算処理部、
優先順にタスクが実行されるように処理順序を管理する管理部を備え、
FFT演算処理を複数のタスクに分割し、各タスクを優先度の高いタスクと低いタスクに分け、優先度の高いタスクが演算処理部を占有する時間を短縮する、
ことを特徴とするFFT演算装置。
Write data to the ring buffer with n points of data as one unit, rearrange the N units of data written in the ring buffer into a series according to the time order, and perform FFT operation on the rearranged data in a predetermined cycle In the FFT arithmetic unit executed in
A ring buffer area in which the latest N units of data are written, a storage unit having first and second FFT operation target data storage areas for rearranging and storing the storage data in the ring buffer area in time series;
An arithmetic processing unit for executing processing such as writing, rearrangement, and FFT operation of new data in the ring buffer area,
A management unit that manages the processing order so that tasks are executed in priority order,
Divide FFT processing into multiple tasks and divide each task into high priority tasks and low priority tasks to reduce the time that high priority tasks occupy the arithmetic processing unit.
An FFT arithmetic unit characterized by that.
FFT演算処理を、(1) 1単位の新規データを前記リングバッファ領域に書込む第1タスク、(2) 該リングバッファ領域に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて前記FFT演算対象データ保存領域に保存する第2タスク、(3) 発生した1単位の新規データを時間的に第1番目のデータとして前記FFT演算対象データ保存部の対応する位置に書込む第3タスク、(4) 該FFT演算対象データ保存部に保存されているN単位のデータにFFT処理を施す第4タスクに分割し、
前記第1、第2タスクの優先度を低くし、前記第3、第4タスクの優先度を高くする、
ことを特徴とする請求項2記載のFFT演算装置。
(1) The first task to write 1 unit of new data to the ring buffer area, (2) The latest (N−1) units of data stored in the ring buffer area A second task that rearranges the data as the second to Nth data and stores them in the FFT calculation target data storage area, and (3) the FFT calculation target data with the generated new data of one unit as the first data in time The third task to be written in the corresponding position of the storage unit is divided into (4) the fourth task for performing FFT processing on N units of data stored in the FFT calculation target data storage unit,
Lowering the priority of the first and second tasks and increasing the priority of the third and fourth tasks;
The FFT arithmetic unit according to claim 2, wherein:
前記演算処理部は、前サイクルの低優先度タスクの実行時、第1タスクにより前サイクルにおいて発生した1単位の新規データを前記リングバッファ領域に書込み、ついで、第2タスクにより前記リングバッファ領域に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて第1FFT演算対象データ保存領域に保存し、
また、前記演算処理部は、現サイクルの高優先度タスクの実行時、第3タスクにより、現サイクルにおいて発生した1単位の新規データを時間的に第1番目のデータとして前記第1FFT演算対象データ保存領域の対応する位置に書込み、第4タスクにより、該第1FFT演算対象データ保存領域に保存されているN単位のデータにFFT処理を施し、
しかる後、現サイクルにおいて発生した前記1単位の新規データを前記リングバッファ領域に書込み、該リングバッファ領域に保存されている最新の(N−1) 単位のデータを時間的に第2〜第N番目として並び替えて前記第2のFFT演算対象データ保存領域に保存し、以後、上記処理をサイクル毎にFFT演算対象データ保存領域を切り替えながら実行する、
ことを特徴とする請求項3記載のFFT演算装置。
When the low-priority task in the previous cycle is executed, the arithmetic processing unit writes one unit of new data generated in the previous cycle by the first task to the ring buffer area, and then in the ring buffer area by the second task. The latest (N−1) unit data stored is rearranged as the 2nd to Nth data in time and stored in the first FFT calculation target data storage area.
In addition, when the high-priority task in the current cycle is executed, the arithmetic processing unit uses the third task as a first data for the first FFT operation target data as one unit of new data generated in the current cycle. Write to the corresponding location in the storage area, and perform FFT processing on the N units of data stored in the first FFT computation target data storage area by the fourth task,
Thereafter, the one unit of new data generated in the current cycle is written to the ring buffer area, and the latest (N−1) units of data stored in the ring buffer area are temporally stored in the second to Nth time points. Are rearranged as the second and saved in the second FFT computation target data storage area, and thereafter the above processing is executed while switching the FFT computation target data storage area for each cycle.
The FFT arithmetic unit according to claim 3.
JP2004045870A 2004-02-23 2004-02-23 Fft operation method and fft arithmetic unit Withdrawn JP2005235045A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004045870A JP2005235045A (en) 2004-02-23 2004-02-23 Fft operation method and fft arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004045870A JP2005235045A (en) 2004-02-23 2004-02-23 Fft operation method and fft arithmetic unit

Publications (1)

Publication Number Publication Date
JP2005235045A true JP2005235045A (en) 2005-09-02

Family

ID=35017925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004045870A Withdrawn JP2005235045A (en) 2004-02-23 2004-02-23 Fft operation method and fft arithmetic unit

Country Status (1)

Country Link
JP (1) JP2005235045A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002919B2 (en) 2009-09-24 2015-04-07 Nec Corporation Data rearranging circuit, variable delay circuit, fast fourier transform circuit, and data rearranging method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002919B2 (en) 2009-09-24 2015-04-07 Nec Corporation Data rearranging circuit, variable delay circuit, fast fourier transform circuit, and data rearranging method

Similar Documents

Publication Publication Date Title
US7724984B2 (en) Image processing apparatus
JP2007207026A (en) Dma transfer device
JP2005276097A (en) Interruption request program and microcomputer
US8180943B1 (en) Method and apparatus for latency based thread scheduling
JP2009080583A (en) Information processor, parallel processing optimization system, and program
JP2005235045A (en) Fft operation method and fft arithmetic unit
JP2005092780A (en) Real time processor system and control method
JPS61235957A (en) Data control system
JP4494701B2 (en) Method for generating an instruction word when controlling a functional unit in a processor
CN116126750B (en) Data processing method and device based on hardware characteristics
JPS60262243A (en) High-speed arithmetic unit
US7849230B2 (en) Overtake request control apparatus and overtake request control method
JPH0895805A (en) Task management device
US20090144461A1 (en) Method and system for configuration of a hardware peripheral
JPS6146532A (en) Microprogram control circuit
JP2004118298A (en) Data processing control device
JPH07325800A (en) Data flow processor
KR20020075667A (en) Device and method for processing data using thread intention dynamic buffer in mobile communication system
JPH0462093B2 (en)
JP2005025294A (en) Input/output request priority controller in two or more systems
CN111782132A (en) Data reading and writing method, device and storage medium thereof
JPH04313124A (en) Task execution control system
JPH1165624A (en) Programmable controller
JP2008282137A (en) Information processor and data saving method
JPH05204555A (en) Multiple disk device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070501