JP3951066B2 - FFT operation device and FFT operation method - Google Patents
FFT operation device and FFT operation method Download PDFInfo
- Publication number
- JP3951066B2 JP3951066B2 JP12133696A JP12133696A JP3951066B2 JP 3951066 B2 JP3951066 B2 JP 3951066B2 JP 12133696 A JP12133696 A JP 12133696A JP 12133696 A JP12133696 A JP 12133696A JP 3951066 B2 JP3951066 B2 JP 3951066B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- butterfly
- units
- selector
- output
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、FFT演算装置および方法に関し、特に、より高速化を可能とするFFT演算装置および方法に関する。
【0002】
【従来の技術】
最近、放送技術にもディジタル化が普及しつつある。図9は、オーディオ信号をディジタル化して放送するディジタルラジオ放送の1つであるDAB(Digital Audio Broadcasting)の受信装置の構成例を表している。チューナ92は、アンテナ91を介して受信した信号から、所定の放送局(チャンネル)の信号を受信し、A/D変換器93に出力する。A/D変換器93は、入力された信号をA/D変換し、FFT(Fast Fourier Transform)回路94は、A/D変換器93より入力された時間軸上のデータから、複数の副搬送波の周波数軸上のデータに変換するために、FFT演算を行う。なお、このFFT回路94には、時間軸上において隣接するシンボルとの間に設けられているガード・インタバル成分が除去された後のシンボル成分が供給される。
【0003】
デインタリーブ回路および誤り訂正回路95は、FFT回路94の出力に対して、デインタリーブ処理を行うとともに、誤り訂正処理を実行する。デインタリーブ回路および誤り訂正回路95により処理された信号は、その一部が復号化回路96に供給され、DQPSK(Differential Quadrature Phase Shift Keying)復調され、左チャンネルのオーディオ信号と右チャンネルのオーディオ信号が、それぞれスピーカ97と98より出力される。また、付加データ出力回路99は、デインタリーブ回路および誤り訂正回路95より出力された信号から、番組内容、交通情報などの付加データを分離出力する。
【0004】
図10は、このようなFFT回路94の従来の構成例を表している。この例においては、入力されたデータが、入力バッファ1に一旦蓄積された後、セレクタ2とセレクタ3を介してバタフライ演算器4の入力端子in0またはin1に入力されるようになされている。バタフライ演算器4は、例えば基数が2のバタフライ演算(2点のDFT(Discrete Fourier Transform))を行う演算器で、ROM(Read Only Memory)5に記憶されている回転演算子データ(回転因子)を適宜読み出して、端子in0とin1より入力されたデータに対してバタフライ演算を施し、端子out0とout1から出力するようになされている。
【0005】
セレクタ6は、バタフライ演算器4の端子out0とout1から出力されるデータを選択し、セレクタ7に出力する。セレクタ7は、セレクタ6より入力されるデータをメモリ8または出力バッファ9に出力する。メモリ8は、セレクタ7より入力されたデータを記憶するとともに、所定のタイミングで読み出し、セレクタ2に供給する。
【0006】
セレクタ2は、入力バッファ1よりバタフライ演算の処理単位を構成する全てのデータが選択されるまで入力バッファ1からの出力を選択し、バタフライ演算を施すべき全てのデータが入力バッファ1から入力された後は、メモリ8より入力されるデータを選択し、セレクタ3に出力するようになされている。このようにして、バタフライ演算器4により、バタフライ演算結果に対して再びバタフライ演算を施す処理が所定の回数だけ繰り返し実行される。
【0007】
例えば、図11のタイミングチャートに示すように、バタフライ演算器4の端子out0からデータ0(バタフライ演算結果)が、また、端子out1からデータ1(バタフライ演算結果)が、それぞれ出力されたとすると、セレクタ6は、バタフライ演算器4の出力の周期の1/2の周期のクロックで動作し、これにより、バタフライ演算器4の出力の周期の前半の期間においては、端子out0より出力されているデータ0を選択し、後半の期間においては、端子out1より出力されているデータ1を選択する。このデータ0とデータ1は、セレクタ7により選択され、メモリ8に供給され、書き込まれる。即ち、バタフライ演算器4が同時に出力する2つのバタフライ演算結果は、セレクタ6においてパラレル/シリアル変換され、セレクタ7を介して、メモリ8に供給されて記憶される。メモリ8に記憶されたデータは、再び読み出され、セレクタ2とセレクタ3を介してバタフライ演算器4の端子in0とin1に供給される。
【0008】
即ち、図11に示すように、セレクタ6の切り換え周期の1/2の周期で、メモリ8に対するデータの書き込みと読み出しが行われる。例えば、セレクタ6よりデータ0が出力されているとき、その前半の期間において、メモリ8にデータ0が書き込まれ、後半の期間において、既にメモリ8に記憶されているデータが読み出され、セレクタ2とセレクタ3を介してバタフライ演算器4の例えば端子in0に入力される。
【0009】
また、セレクタ6がデータ1を出力している周期においては、その前半の期間において、データ1がメモリ8に書き込まれ、後半の期間において、メモリ8に既に記憶されている所定のデータが読み出され、セレクタ2と3を介してバタフライ演算器4の例えば端子in1に供給される。
【0010】
以下、同様の処理が繰り返し実行される。
【0011】
【発明が解決しようとする課題】
このように、従来のFFT演算装置(ここでは、FFT回路94)においては、図11に示したように、バタフライ演算器4の動作クロックの周波数を1とすると、メモリ8の動作クロックの周波数は、その4倍の周波数とする必要がある。換言すれば、メモリ8の動作クロックが定まっているとすると、バタフライ演算器4における演算は、そのクロックの1/4の速度で行わなければならず、演算の高速化の妨げの1つの原因となっていた。
【0012】
本発明はこのような状況に鑑みてなされたものであり、より高速な演算を可能とするものである。
【0013】
【課題を解決するための手段】
請求項1に記載のFFT演算装置は、所定の基数Nのバタフライ演算を行う演算手段と、バタフライ演算の対象となるN単位のバタフライ演算に関するデータを1単位毎にそれぞれ記憶するN個の記憶手段とを備え、N個の記憶手段は、それぞれ、演算手段のバタフライ演算結果としての出力であるN単位のデータの書き込みを同時に行って記憶し、記憶したN単位のデータの読み出しを書き込みのタイミングとは異なるタイミングで同時に行って、演算手段の入力に帰還することを特徴とする。
【0014】
請求項6に記載のFFT演算方法は、N個の記憶手段は、それぞれ、演算手段のバタフライ演算結果としての出力であるN単位のデータの書き込みを同時に行って記憶し、記憶したN単位のデータの読み出しを同時に行って、演算手段の入力に帰還することを特徴とする。
【0015】
請求項1に記載のFFT演算装置および請求項6に記載のFFT演算方法においては、N個の記憶手段により、それぞれ、演算手段のバタフライ演算結果としての出力であるN単位のデータの書き込みが同時に行われて記憶され、記憶されたN単位のデータの読み出しが同時に行われて、演算手段の入力に帰還される。
【0016】
【発明の実施の形態】
以下に、本発明の実施例を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施例との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施例(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
【0017】
即ち、請求項1に記載のFFT演算装置は、FFT(Fast Fourier Transform)演算を行うFFT演算装置であって、所定の基数Nのバタフライ演算を行う演算手段(例えば、図2、図4乃至図6、図8に示すバタフライ演算器4や、図7に示すバタフライ演算器54など)と、バタフライ演算の対象となるN単位のバタフライ演算に関するデータを1単位毎にそれぞれ記憶するN個の記憶手段(例えば、図2に示すメモリ15−0および15−1、図4に示す入力バッファ22−0および22−1や、図5に示す出力バッファ32−0および32−1、図6に示すメモリ15−0,15−1、入力バッファ22−0,22−1、出力バッファ32−0、および32−1、図7に示す入力バッファ52−0乃至52−3、メモリ58−0乃至58−3、および出力バッファ59−0乃至59−3、図8に示す入力バッファ部71−0,71−1、メモリ部72−0,72−1、出力バッファ部73−0、および73−1など)とを備え、N個の記憶手段は、それぞれ、演算手段のバタフライ演算結果としての出力であるN単位のデータの書き込みを同時に行って記憶し、記憶したN単位のデータの読み出しを書き込みのタイミングとは異なるタイミングで同時に行って、演算手段の入力に帰還することを特徴とする。
【0018】
請求項6に記載のFFT演算装置は、N個の記憶手段それぞれが、データを記憶する第1および第2の記憶手段(例えば、図8に示す入力バッファ71−0−2および71−0−3や、入力バッファ71−1−2および71−1−3、メモリ72−0−2および72−0−3、メモリ72−1−2および72−1−3、出力バッファ73−0−2および73−0−3、出力バッファ73−1−2および73−1−3など)を有し、第1または第2の記憶手段のうちの一方に書き込みが行われているとき、他方からは読み出しが行われることを特徴とする。
【0019】
請求項6に記載のFFT演算方法は、所定の基数Nのバタフライ演算を行う演算手段(例えば、図2、図4乃至図6、図8に示すバタフライ演算器4や、図7に示すバタフライ演算器54など)と、バタフライ演算の対象となるN単位のバタフライ演算に関するデータを1単位毎にそれぞれ記憶するN個の記憶手段(例えば、図2に示すメモリ15−0および15−1、図4に示す入力バッファ22−0および22−1や、図5に示す出力バッファ32−0および32−1、図6に示すメモリ15−0,15−1、入力バッファ22−0,22−1、出力バッファ32−0、および32−1、図7に示す入力バッファ52−0乃至52−3、メモリ58−0乃至58−3、および出力バッファ59−0乃至59−3、図8に示す入力バッファ部71−0,71−1、メモリ部72−0,72−1、出力バッファ部73−0、および73−1など)とを備え、FFT(Fast Fourier Transform)演算を行うFFT演算装置のFFT演算方法であって、N個の記憶手段は、それぞれ、演算手段のバタフライ演算結果としての出力であるN単位のデータの書き込みを同時に行って記憶し、記憶したN単位のデータの読み出しを同時に行って、演算手段の入力に帰還することを特徴とする。
【0020】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【0021】
次に、本発明の基本的原理について説明する。FFTのバタフライ演算においては、その基数をNとすると、1回のバタフライ演算は、N個の入力データに対して行われ、そのバタフライ演算の結果得られるデータもN個得られる。従って、最初の入力データを記憶する入力バッファや、バタフライ演算の途中結果を記憶するメモリ、あるいは、バタフライ演算の最終的な結果を記憶する出力バッファ(以下、適宜、これらの入力バッファ、メモリ、および出力バッファを総称して、記憶部という)が1つでは、その記憶部からN回データを読み出した後に、バタフライ演算を行い、また、そのバタフライ演算結果の記憶部への書き込みをN回行う必要があり、これにより、前述したように、FFT演算の高速化が妨げられる。
【0022】
そこで、本発明では、基数Nのバタフライ演算を行う場合に、N個の記憶部を用意し、このN個の記憶部それぞれからデータを、同時に(並列に)読み出してバタフライ演算を行い、また、その結果得られるN個のバタフライ演算結果それぞれを、N個の記憶部に、同時に(並列に)書き込むようにし、これにより、FFT演算の高速化を図るようになされている。
【0023】
次に、以上のように、N個の記憶部に対するN個のデータの書き込みまたは読み出しを同時に行うための、N個の記憶部の配置方法について、図1を参照して説明する。
【0024】
なお、図1は、時間間引き法(Cooley−Tukey法)による8点のFFTを行う場合のシグナルフローを示している。また、同図において、I0乃至I7,M0乃至M7、またはO0乃至O7は、入力バッファ、メモリ、または出力バッファのアドレスを表している。さらに、同図において、BTFは、基数が2のバタフライ演算を表している。従って、記憶部は2個設けられている。即ち、入力バッファとしては、入力バッファIB0およびIB1が、メモリとしては、メモリMEM0およびMEM1が、出力バッファとしては、出力バッファOB0およびOB1が、それぞれ設けられている。
【0025】
いま、FFTの対象となる8個の入力データを、時系列に、i0乃至i7と、その入力データをFFTすることにより得られる出力データ(最終的なバタフライ演算結果)を、低周波数成分から、o0乃至o7と、それぞれ表すとともに、入力データi0乃至i7は、アドレスI0乃至I7にそれぞれ入力され、出力データo0乃至o7は、アドレスO0乃至O7からそれぞれ出力されるとする。
【0026】
そして、図1(A)に示すように、シグナルフローの上下それぞれの部分に分けて、入力バッファIB0とIB1、メモリMEM0とMEM1、または出力バッファOB0とOB1をそれぞれ設けたとする。
【0027】
この場合、入力データi0乃至i7は、入力バッファIB0のアドレスI0乃至I3、または入力バッファIB1のアドレスI4乃至I7にそれぞれ記憶され、さらに、それぞれから読み出されることで、いわゆるビット逆順に並び替えられた後、最初のバタフライ演算が施される。この最初のバタフライ演算結果は、メモリMEM0およびMEM1に記憶され、さらに、そこから読み出されて、2度目のバタフライ演算が施され、その演算結果は、再び、メモリMEM0およびMEM1に記憶される。そして、この2度目のバタフライ演算結果は、メモリMEM0およびMEM1から読み出され、3度目のバタフライ演算が施された後、出力バッファOB0およびOB1に記憶される。
【0028】
いま、図1(A)に示すように、入力バッファIB0とIB1、メモリMEM0とMEM1、または出力バッファOB0とOB1をそれぞれ配置した場合、最初のバタフライ演算の対象となる2つの入力データは、アドレスI0とI4、I1とI5、I2とI6、またはI3とI7にそれぞれ分けて記憶されるので、即ち、入力バッファIB0と入力バッファIB1とに分けて記憶されるので、同時に読み出し、バタフライ演算を行うことができる。また、最後のバタフライ演算(3回目のバタフライ演算)の結果得られる2つの出力データは、アドレスO0とO4、O1とO5、O2とO6、またはO3とO7にそれぞれ分けて供給されるので、即ち、出力バッファOB0とOB1とに分けて供給されるので、同時に記憶する(書き込む)ことができる。
【0029】
しかしながら、この場合、バタフライ演算の対象となる2つのデータが、いずれも、メモリMEM0またはMEM1のいずれか一方に記憶されるため、即ち、例えば、2度目のバタフライ演算の対象となる2つのデータは、メモリMEM0のアドレスM0とM2、メモリMEM0のアドレスM1とM3、メモリMEM1のアドレスM4とM6、またはメモリMEM1のアドレスM5とM7にそれぞれ記憶されるため、バタフライ演算を行うのに、これらの2つのデータを同時に読み出すことができない。
【0030】
さらに、この場合、メモリMEM0およびMEM1においては、バタフライ演算の結果得られる2つのデータそれぞれは、そのバタフライ演算を行うために読み出した2つのデータそれぞれが記憶されていた元のアドレスに記憶される。即ち、例えば、アドレスM0とM2とから読み出された2つのデータを用いての2度目のバタフライ演算の結果得られる2つのデータは、元のアドレスM0とM2とに記憶される。また、アドレスM1とM3とから読み出された2つのデータを用いての2度目のバタフライ演算の結果得られる2つのデータは、元のアドレスM1とM3とに記憶される。以下、同様に、アドレスM4乃至M7から読み出されたデータも、2度目のバタフライ演算の後、元のアドレスM4乃至M7に記憶される。
【0031】
従って、バタフライ演算の結果得られた2つのデータの書き込みも同時に行うことができない。
【0032】
そこで、例えば、図1(B)に示すように、メモリMEM0に、アドレスM0,M3,M5、およびM6を配置するとともに、メモリMEM1に、アドレスM1,M2,M4、およびM7を配置するようにする。
【0033】
この場合、バタフライ演算の対象となる2つのデータは、メモリMEM0とMEM1とに分けて記憶され、即ち、例えば、2度目のバタフライ演算の対象となる2つのデータは、メモリMEM0のアドレスM0とメモリMEM1のアドレスM2、メモリMEM1のアドレスM1とメモリMEM0のアドレスM3、メモリMEM1のアドレスM4とメモリMEM0のアドレスM6、またはメモリMEM0のアドレスM5とメモリMEM1のM7にそれぞれ記憶され、バタフライ演算を行うのに、これらの2つのデータを同時に読み出すことができる。
【0034】
また、上述したように、メモリMEM0およびMEM1においては、バタフライ演算の結果得られる2つのデータそれぞれは、そのバタフライ演算を行うために読み出した2つのデータそれぞれが記憶されていたアドレス(元のアドレス)に記憶されるから、バタフライ演算の結果得られた2つのデータの書き込みも同時に行うことができる。
【0035】
従って、図1(B)で説明したようなアドレス制御を行うだけで、従来と同一の手順により、また、記憶部の容量も増加することなく、FFT演算の高速化を図ることができる。
【0036】
以下説明する実施例は、以上のような原理に基づいている。
【0037】
図2は、本発明を適用したFFT演算装置の第1実施例の構成を示している。なお、図中、図10における場合と対応する部分には、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0038】
セレクタ10は、FFTの対象である入力データを、セレクタ12−0または12−1のいずれか一方に供給するようになされている。セレクタ11−0または11−1は、メモリ15−0若しくは15−1の出力のうちのいずれか一方を選択し、セレクタ12−0または12−1にそれぞれ供給するようになされている。なお、セレクタ11−0において、メモリ15−0若しくは15−1の出力のうちのいずれか一方が選択された場合には、セレクタ11−1においては、そのうちの他方が選択されるようになされている。
【0039】
セレクタ12−0は、セレクタ10または11−0の出力のうちのいずれか一方を選択し、バタフライ演算器4の端子in0に供給するようになされている。セレクタ12−1は、セレクタ10または11−1の出力のうちのいずれか一方を選択し、バタフライ演算器4の端子in1に供給するようになされている。
【0040】
セレクタ13−0または13−1は、バタフライ演算器4の端子out0若しくはout1のうちのいずれか一方より出力されるデータを選択し、セレクタ14−0または14−1にそれぞれ供給するようになされている。なお、セレクタ13−0において、端子out0若しくはout1の出力のうちのいずれか一方が選択された場合には、セレクタ13−1においては、そのうちの他方が選択されるようになされている。これにより、端子out0から出力されたデータを、後述するメモリ15−0または15−1のうちのいずれにも記憶させ、また、同様に、端子out1から出力されたデータも、メモリ15−0または15−1のうちのいずれにも記憶させることができるようになされている。
【0041】
セレクタ14−0または14−1は、セレクタ13−0または13−1の出力を、メモリ15ー0または15−1にそれぞれ供給するか、あるいは、セレクタ16に供給するようになされている。メモリ15−0または15−1は、セレクタ14−0または14−1から供給されるデータをそれぞれ記憶し、また、記憶したデータを、セレクタ11−0および11−1の両方に供給するようになされている。セレクタ16は、セレクタ14−0または14−1の出力のうちのいずれか一方を選択して出力するようになされている。
【0042】
次に、その動作について説明する。入力データは、セレクタ10において、セレクタ12−0または12−1のうちのいずれか一方に供給され、さらに、このセレクタ12−0または12−1から、バタフライ演算器4の端子in0またはin1にそれぞれ入力される。バタフライ演算器4は、端子in0とin1より入力されたデータに対してバタフライ演算を施し、その結果得られる2つのデータを端子out0またはout1それぞれから、セレクタ13−0および13−1の両方に出力する。
【0043】
セレクタ13−0または13−1では、次のバタフライ演算で同時に必要となる2つのデータが、メモリ15−0と15−1とに分けて記憶されるように、バタフライ演算器4の端子out0およびout1から供給された2つのデータのうちのいずれか一方が選択され、セレクタ14−0または14−1を介して、メモリ15−0または15−1にそれぞれ供給される。メモリ15−0または15−1は、セレクタ14−0または14−1を介して供給されるデータを、同時に記憶する。従って、バタフライ演算器4の端子out0およびout1から出力された2つのデータは、特に待ち時間をおかず、メモリ15−0と15−1に記憶される。
【0044】
メモリ15−0と15−1とに分けて記憶された、次のバタフライ演算の対象となる2つのデータは、それぞれから、所定のタイミングで、同時に読み出され、セレクタ11−0および11−1に供給される。
【0045】
セレクタ11−0または11−1は、メモリ15−0若しくは15−1それぞれから読み出されたデータのうち、バタフライ演算器4の端子in0またはin1に入力するべき方を選択し、セレクタ12−0または12−1にそれぞれ出力する。セレクタ12−0または12−1は、バタフライ演算の処理単位を構成する全ての入力データが、セレクタ10から供給されるまで、セレクタ10の出力を選択し、バタフライ演算器4の端子in0またはin1にそれぞれ供給する。
【0046】
そして、セレクタ12−0または12−1は、バタフライ演算を施すべき全ての入力データがセレクタ10から供給された後は、セレクタ11−0または11−1より供給されるデータを選択し、バタフライ演算器4の端子in0またはin1にそれぞれ供給する。従って、この場合、メモリ15−0または15−1それぞれから同時に読み出されたデータは、バタフライ演算器4に同時に供給され、その結果、バタフライ演算器4では、即座にバタフライ演算を行うことができる。
【0047】
このようにして、バタフライ演算器4により、バタフライ演算結果に対して再びバタフライ演算を施す処理が所定の回数だけ繰り返し実行される。
【0048】
そして、バタフライ演算処理が、その所定の回数だけ行われると、即ち、最終的なバタフライ演算結果が得られると、それ以降は、セレクタ14−0または14−1において、セレクタ13−0または13−1それぞれから供給されるデータ(最終的なバタフライ演算結果)が、セレクタ16に供給される。セレクタ16では、セレクタ14−0および14−1の出力、即ち、バタフライ演算器4の端子out0またはout1それぞれから同時に出力される2つのデータが、パラレル/シリアル変換されて出力される。
【0049】
以上のようにしてFFT演算を行うFFT演算装置では、セレクタ13−0,13−1,14−0、および14−1は、バタフライ演算器4のクロックと同一クロックで動作し、これにより、メモリ15−0および15−1には、そのようなクロックのタイミングで、バタフライ演算器4によるバタフライ演算結果が供給される。
【0050】
即ち、図3のタイミングチャートに示すように、バタフライ演算器4の端子out0とout1より、それぞれデータ0とデータ1が出力されているとき、セレクタ13−0または13−1は、バタフライ演算器4のクロックと同一のクロックで、そのうちのいずれか一方または他方を、それぞれ同時に選択する。
【0051】
なお、図3の実施例では、セレクタ13−0において、端子out0から出力されるデータ0と2が選択され、セレクタ13−1において、端子out1から出力されるデータ1と3が選択されるようになされているが、同図に付してあるデータの番号は、説明の便宜上、データを特定するために付してあるもので、バタフライ演算器4の出力が、セレクタ13−0および13−1において、実際に、どのように選択されるかを表したものではない。
【0052】
セレクタ13−0または13−1で選択されたデータは、セレクタ14−0または14−1を介して、メモリ15−0または15−1にそれぞれ同時に供給される。メモリ15−0または15−1は、バタフライ演算器4のクロックの1/2の周期のクロックで、セレクタ13−0または13−1それぞれからのデータを同時に記憶し、また、既に記憶しているデータを、同時に読み出して、セレクタ11−0および11−1に供給する。
【0053】
即ち、メモリ15−0または15−1は、セレクタ13−0または13−1それぞれから、データ0または1が出力されているとき、バタフライ演算器4のクロックの周期の前半において、そのデータ0または1それぞれを同時に記憶し、後半において、次のバタフライ演算に必要となるデータを同時に読み出して、セレクタ11−0および11−1に供給する。同様に、セレクタ13−0または13−1それぞれから、データ2または3が出力されているとき、前半において、そのデータ2または3それぞれが同時に記憶され、その後半において、次にバタフライ演算に必要となるデータが同時に読み出される。
【0054】
このように、この実施例においては、メモリ15−0および15−1に対してのデータの書き込みと読み出しを同時に行うようにしたので、図3のタイミングチャートから明らかなように、メモリ15−0および15−1の動作クロックを1とすると、バタフライ演算器4の動作クロックは、その1/2の周波数のクロックで動作することができる。従って、単純には、図10に示した場合より、2倍の高速化が可能となる。
【0055】
なお、図2の実施例においては、図10における入力バッファ1と出力バッファ9を省略した構成とされているが、このような入力バッファ1と出力バッファ9を利用するようにしても良い。
【0056】
図4は、本発明を適用したFFT演算装置の第2実施例の構成を示している。なお、図中、図2または図10における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0057】
セレクタ21は、FFTの対象である入力データを、入力バッファ22−0または22−1のいずれか一方に供給するようになされている。入力バッファ22−0または22−1は、セレクタ21から供給される入力データを記憶し、また、既に記憶している入力データを同時に読み出し、セレクタ12−0または12−1にそれぞれ供給するようになされている。
【0058】
なお、この実施例では、セレクタ12−0および12−1には、入力データの他、メモリ8から読み出されたデータも供給されるようになされており、セレクタ12−0または12−1では、入力バッファ22−0または22−1からそれぞれ読み出された入力データか、若しくはメモリ8から供給されるデータのうちのいずれか一方が選択され、バタフライ演算器4に供給されるようになされている。
【0059】
この実施例においては、入力データがセレクタ21において選択されることにより、最初のバタフライ演算の対象となる2つの入力データが、入力バッファ22−0と22−1とに分けて供給される。従って、この場合、バタフライ演算の対象となる2つの入力データが、入力バッファ22−0と22−1とに分けて記憶される。
【0060】
このように、入力バッファ22−0と22−1とに分けて記憶された、バタフライ演算の対象となる2つの入力データは、それぞれから同時に読み出され、セレクタ12−0または12−1を介して、バタフライ演算器4の端子in0またはin1にそれぞれ供給される。
【0061】
従って、この場合、バタフライ演算の対象となる2つの入力データが揃うのに必要な待ち時間がない。即ち、図10に示す場合においては、バタフライ演算器4において、セレクタ2および3を介して、入力バッファ1から、バタフライ演算の対象となる2つの入力データのうちのいずれか一方が供給された後、さらに、セレクタ2および3を介して、入力バッファ1から、他方の入力データが供給されるのを待って、バタフライ演算を行う必要があるが、この実施例においては、2つの入力データが、入力バッファ22−0と22−1から同時に読み出されるので、そのような待ち時間をおく必要がない。その結果、処理の高速化を図ることができる。
【0062】
図5は、本発明を適用したFFT演算装置の第3実施例の構成を示している。なお、図中、図2または図10における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0063】
この実施例においては、セレクタ14−0および14−1の2つの出力のうちの一方(図2において、メモリ15−0,15−1に供給されていた出力の方)が、いずれも、セレクタ31に供給されるようになされており、セレクタ31は、そのセレクタ14−0または14−1の出力それぞれを、バタフライ演算器4のクロックの1/2の周期のクロックのタイミングで選択し、メモリ8に供給して記憶させるようになされている。
【0064】
また、セレクタ14−0および14−1の2つの出力のうちの他方(図2において、セレクタ16に供給されていた出力の方)は、それぞれ、出力バッファ32−0または32−1に供給されるようになされており、出力バッファ32−0または32−1は、このセレクタ14−0または14−1の出力を、それぞれ同時に記憶するようになされている。さらに、出力バッファ32−0および32−1は、記憶したデータ(バタフライ演算の最終的な結果)を読み出し、セレクタ33に供給するようにもなされている。セレクタ33は、図2のセレクタ16と同様に、出力バッファ32−0および32−1の出力を、パラレル/シリアル変換して出力するようになされている。
【0065】
この実施例においては、最終的なバタフライ演算結果が得られるまでは、バタフライ演算器4の出力が、セレクタ13−0および13−1、並びにセレクタ14−0および14−1を介して、セレクタ31に供給され、さらに、セレクタ31からメモリ8に供給されて記憶される。そして、このメモリ8に記憶されたデータが、セレクタ2および3を介して、バタフライ演算器4に入力され、そのデータを対象にバタフライ演算を行う処理が繰り返される。
【0066】
そして、バタフライ演算器4において、最終的なバタフライ演算結果としての2つのデータが得られると、それぞれは、セレクタ13−0,13−1,14−0,14−1を適宜介して、出力バッファ32−0または32−1に、同時に供給されて記憶される。出力バッファ32−0または32−1に記憶されたデータは、例えば同時に読み出され、セレクタ33において、パラレル/シリアル変換されて出力される。
【0067】
従って、この場合、バタフライ演算の最終的な結果として得られる2つのデータを、バタフライ演算器4は、待ち時間をおかずに出力することができる。即ち、図10に示す場合においては、バタフライ演算器4から、セレクタ6および7を介して出力される2つのデータは、シリアルデータであるから、先に出力されたデータが出力バッファ9に供給されて記憶されるのを待って、後に出力されたデータを出力バッファ9に供給して記憶させる必要があるが、この実施例においては、2つの入力データが、出力バッファ32−0と32−1とに同時に書き込まれるので、そのような待ち時間をおく必要がない。その結果、処理の高速化を図ることができる(換言すれば、出力バッファ32−0および32−1のクロックは、図10の出力バッファ9のクロックの1/2の周波数のクロックで良い)。
【0068】
図6は、本発明を適用したFFT演算装置の第4実施例の構成を示している。なお、図中、図2、図4、または図5における場合と対応する部分については、同一の符号を付してある。即ち、この実施例は、図2、図4および図5の実施例を結合した構成とされている。従って、このFFT演算装置は、これらの実施例の全ての効果を合わせ持っており、最も高速にバタフライ演算を行うことができる。
【0069】
次に、図7は、本発明を適用したFFT演算装置の第5実施例の構成を示している。この実施例は、図6の第4実施例と、その基本的構成は同一であり、基底が4のバタフライ演算が行われる点だけが異なっている。
【0070】
即ち、図7のセレクタ51は、図6のセレクタ21に対応し、図7の入力バッファ52−0乃至52−3は、図6の入力バッファ22−0および22−1に対応している。また、図7のセレクタ53−0乃至53−3は、図6のセレクタ12−0および12−1に対応し、図7のバタフライ演算器54は、図6のバタフライ演算器4に対応している。さらに、図7のROM45は、図6のROM5に対応し、図6のセレクタ56−0乃至56−3は、図7のセレクタ13−0および13−1に対応している。また、図7のセレクタ57−0乃至57−3は、図6のセレクタ14−0および14−1に対応し、図7のメモリ58−0乃至58−3は、図6のメモリ15−0および15−1に対応している。さらに、図7の出力バッファ59−0乃至59−3は、図6の出力バッファ32−0および32−1に対応し、図7のセレクタ60−0乃至60−3は、図6のセレクタ11−0および11−1に対応している。そして、図7のセレクタ61は、図6のセレクタ33に対応している。
【0071】
以上のように構成されるFFT演算装置では、セレクタ51は、最初のバタフライ演算の対象となる4つ単位の入力データを、入力バッファ52−0乃至52−3それぞれに分けて供給し、入力バッファ52−0乃至52−3それぞれでは、セレクタ51からの入力データが記憶される。そして、入力バッファ52−0乃至52−3では、記憶した入力データ、即ち、最初のバタフライ演算の対象となる4つの入力データが同時に読み出され、セレクタ53−0乃至53−3を介して、バタフライ演算器54の端子in0乃至in3にそれぞれ同時に供給される。従って、バタフライ演算器54では、待ち時間をおかずに、バタフライ演算を開始することができる。
【0072】
バタフライ演算器54は、ROM55に記憶されている回転演算子データ(回転因子)を用い、端子in0乃至in3に入力されたデータに対し、基底が4のバタフライ演算を施し、その結果得られる4つのデータ(バタフライ演算結果)を、それぞれ、端子out0乃至out3から出力する。この端子out0乃至out3から出力されたデータは、すべて、セレクタ56−0乃至56−3に供給される。
【0073】
セレクタ56−0乃至56−3では、次のバタフライ演算で同時に必要となる4つのデータが、メモリ58−0乃至58−3それぞれに分けて記憶されるように、バタフライ演算器54の端子out0乃至out3から供給される4つのデータのうちのいずれかが選択され、セレクタ57−0乃至57−3を介して、メモリ58−0乃至58−3にそれぞれ供給される。メモリ58−0乃至58−3は、セレクタ57−0乃至57−3を介して供給されるデータを、それぞれ同時に記憶する。従って、バタフライ演算器54の端子out0乃至out3から出力された4つのデータは、待ち時間をおかずに、メモリ58−0乃至58−3にそれぞれ記憶される。
【0074】
以上のようにしてメモリ58−0乃至58−3それぞれに分けて記憶された、次のバタフライ演算の対象となる4つのデータは、それぞれから、所定のタイミングで、同時に読み出され、すべて、セレクタ60−0乃至60−3に供給される。
【0075】
セレクタ60−0乃至60−3は、メモリ58−0乃至58−3それぞれから読み出されたデータのうち、バタフライ演算器54の端子in0乃至in3それぞれに入力するべきものを選択し、セレクタ53−0乃至53−3にそれぞれ出力する。セレクタ53−0乃至53−3は、バタフライ演算の処理単位を構成する全ての入力データが、入力バッファ52−0乃至52−3から供給されるまで、その入力バッファ52−0乃至52−3の出力を選択し、バタフライ演算器54の端子in0乃至in3にそれぞれ供給する。
【0076】
そして、セレクタ53−0乃至53−3は、バタフライ演算を施すべき全ての入力データが入力バッファ52−0乃至52−3から供給された後は、セレクタ60−0乃至60−3より供給されるデータを選択し、バタフライ演算器54の端子in0乃至in3にそれぞれ供給する。従って、この場合、メモリ58−0乃至58−3それぞれから同時に読み出されたデータは、バタフライ演算器54に同時に供給され、その結果、バタフライ演算器54では、即座にバタフライ演算を行うことができる。
【0077】
このようにして、バタフライ演算器54により、バタフライ演算結果に対して再びバタフライ演算を施す処理が所定の回数だけ繰り返し実行される。
【0078】
そして、バタフライ演算処理が、その所定の回数だけ行われると、即ち、最終的なバタフライ演算結果が得られると、それ以降は、セレクタ57−0乃至57−3において、セレクタ56−0乃至56−3それぞれから供給されるデータが、出力バッファ59−0乃至59−3にそれぞれ同時に供給されて記憶される。従って、この場合、バタフライ演算器54は、バタフライ演算の最終的な結果として得られる4つのデータを、待ち時間をおかずに出力することができる。
【0079】
出力バッファ59−0乃至59−3に記憶されたデータは、例えば同時に読み出され、セレクタ61において、パラレル/シリアル変換されて出力される。
【0080】
以上のように、基底が4のバタフライ演算によりFFT演算を行う場合においても、処理の高速化を図ることができる。
【0081】
次に、図8は、本発明を適用したFFT演算装置の第6実施例の構成を示している。なお、図中、図6における場合と対応する部分については、同一の符号を付してある。即ち、このFFT演算装置は、入力バッファ22−0,22−1、メモリ15−0,15−1、出力バッファ32−0、または32−1に代えて、入力バッファ部71−0,71−1、メモリ部72−0,72−1、出力バッファ部73−0、または73−1がそれぞれ設けられている他は、図6のFFT演算装置と同様に構成されている。
【0082】
入力バッファ部71−0は、セレクタ71−0−1、入力バッファ71−0−2,71−0−3、およびセレクタ71−0−4で構成されている。セレクタ71−0−1は、入力バッファ部71−0に入力されたデータを、交互に、入力バッファ71−0−2と71−0−3とに供給するようになされている。
【0083】
入力バッファ71−0−2と71−0−3とは、セレクタ71−0−1から供給されるデータを記憶し、また、記憶したデータを読み出し、セレクタ71−0−4に供給するようになされている。
【0084】
セレクタ71−0−4は、入力バッファ71−0−2と71−0−3とから供給されるデータを交互に選択して出力するようになされている。
【0085】
なお、セレクタ71−0−4は、入力バッファ71−0−2または71−0−3のうちの、セレクタ71−0−1からデータが供給されていない方を選択するようになされている。従って、入力バッファ部71−0においては、入力バッファ71−0−2または71−0−3のうちのいずれか一方にデータの書き込みが行われているとき、他方からは、データの読み出しが行われるようになされている。
【0086】
入力バッファ部71−1、メモリ部72−0,72−1、出力バッファ部73−0、または73−1も、入力バッファ部71−0のセレクタ71−0−1、入力バッファ71−0−2,71−0−3、およびセレクタ71−0−4と対応するセレクタ71−1−1、入力バッファ71−1−2,71−1−3、およびセレクタ71−1−4、セレクタ72−0−1、メモリ72−0−2,72−0−3、およびセレクタ72−0−4、セレクタ72−1−1、メモリ72−1−2,72−1−3、およびセレクタ72−1−4、セレクタ73−0−1、出力バッファ73−0−2,73−0−3、およびセレクタ73−0−4、またはセレクタ73−1−1、出力バッファ73−1−2,73−1−3、およびセレクタ73−1−4からそれぞれ構成されている。
【0087】
以上のように構成されるFFT演算装置においては、入力バッファ71−0−2または71−0−3のうちのいずれか一方にデータの書き込みが行われているとき、他方からは、データの読み出しが行われるので、入力バッファ部71−0に対しては、データの書き込みと読み出しとを同時に行うことができる。このことは、入力バッファ部71−0と同様に構成される入力バッファ部71−1、メモリ部72−0,72−1、出力バッファ部73−0、および73−1についても同様であり、従って、この場合、データの読み出しと書き込みとが別に行われる図6の場合と比較して、さらに処理の高速化を図ることができる(換言すれば、入力バッファ部71−0,71−1、メモリ部72−0,72−1、出力バッファ部73−0、または73−1のクロックは、入力バッファ22−0,22−1、メモリ15−0,15−1、出力バッファ32−0、または32−1それぞれのクロックの1/2の周波数のクロックで良い)。
【0088】
以上、本発明を適用したFFT演算装置について説明したが、このようなFFT演算装置は、例えば、前述したような、図9に示したDABの受信装置の他、ディジタル信号処理を行う装置に広く適用可能である。また、FFTの対象とするデータは、音声信号に限られるものではなく、映像信号その他のディジタル信号とすることができる。
【0089】
なお、本実施例においては、FFT処理を行う場合について説明したが、本発明は、逆FFT処理を行う場合にも適用可能である(逆FFT処理を行うには、例えば、ROM5(55)に記憶させておく回転因子を変えるだけで良く、従って、本明細書中におけるFFTとは、広義に、逆FFTをも含むものとする)。
【0090】
また、本実施例においては、基数Nが2と4である場合を例としたが、本発明は、その他の基数についても適用することが可能である。
【0091】
さらに、図2などの実施例では、バタフライ演算器4の2つの出力を、セレクタ13−0および13−1の両方に供給し、セレクタ13−0または13−1において、そのいずれか一方または他方を選択して、セレクタ14−0または14−1にそれぞれ供給するとともに、セレクタ14−0または14−1において、セレクタ13−0または13−1の出力を、メモリ15−0または15−1にそれぞれ供給するか、あるいは、最終的なバタフライ演算結果として出力するような構成としたが、その他、例えば、バタフライ演算器4の端子out0またはout1の出力を、セレクタ13−0または13−1それぞれに供給し、セレクタ13−0または13−1それぞれにおいて、その端子out0またはout1の出力を、セレクタ14−0および14−1の両方に供給するか、あるいは、最終的なバタフライ演算結果として出力するようにするとともに、セレクタ14−0または14−1において、セレクタ13−0若しくは13−1のうちのいずれか一方または他方の出力を選択し、メモリ15−0または15−1にそれぞれ供給するような構成とすることも可能である。
【0092】
但し、例えば図5や図6などの実施例について、後者の構成を適用する場合、バタフライ演算器4の端子out0またはout1から出力される最終的なバタフライ演算結果を、それぞれ出力バッファ32−0または32−1にしか記憶させることができなくなるため、端子out0,out1から出力される最終的なバタフライ演算結果を、出力バッファ32−0または32−1のいずれにも記憶させることができるようにするには、本実施例で説明したような構成(前者の構成)とする必要がある。
【0093】
【発明の効果】
請求項1に記載のFFT演算装置および請求項6に記載のFFT演算方法によれば、N個の記憶手段が、それぞれ、演算手段のバタフライ演算結果としての出力であるN単位のデータの書き込みを同時に行って記憶し、記憶したN単位のデータの読み出しを同時に行って、演算手段の入力に帰還するようにしたので、高速に、FFT演算を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の原理を説明するためのシグナルフローを示す図である。
【図2】本発明を適用したFFT演算装置の第1実施例の構成を示すブロック図である。
【図3】図2の実施例の動作を説明するためのタイミングチャートである。
【図4】本発明を適用したFFT演算装置の第2実施例の構成を示すブロック図である。
【図5】本発明を適用したFFT演算装置の第3実施例の構成を示すブロック図である。
【図6】本発明を適用したFFT演算装置の第4実施例の構成を示すブロック図である。
【図7】本発明を適用したFFT演算装置の第5実施例の構成を示すブロック図である。
【図8】本発明を適用したFFT演算装置の第6実施例の構成を示すブロック図である。
【図9】DABの受信装置の構成例を示すブロック図である。
【図10】図9のFFT回路94の構成例を示すブロック図である。
【図11】図10のFFT回路94の動作を説明するタイミングチャートである。
【符号の説明】
2,3 セレクタ, 4 バタフライ演算器, 6,7 セレクタ, 8 メモリ, 10,11−0,11−1,12−0,12−1,13−0,13−1,14−0,14−1 セレクタ, 15−0,15−1 メモリ, 16,21 セレクタ, 22−0,22−1 入力バッファ, 31 セレクタ, 32−0,32−1 出力バッファ, 33 セレクタ, 51,52−0乃至52−3,53−0乃至53−3 セレクタ, 54 バタフライ演算器, 56−0乃至56−3,57−0乃至57−3 セレクタ, 58−0乃至58−3メモリ, 59−0乃至59−3 出力バッファ, 60−0乃至60−3,61 セレクタ, 71−0 入力バッファ部, 71−0−1 セレクタ, 71−0−2,71−0−3 入力バッファ, 71−0−4 セレクタ, 71−1 入力バッファ部, 71−1−1 セレクタ, 71−1−2,71−1−3 入力バッファ, 71−1−4 セレクタ, 72−0 メモリ部, 72−0−1 セレクタ, 72−0−2,72−0−3 メモリ, 72−0−4 セレクタ, 72−1 メモリ部, 72−1−1 セレクタ, 72−1−2,72−1−3 メモリ, 72−1−4 セレクタ, 73−0 出力バッファ部, 73−0−1 セレクタ, 73−0−2,73−0−3 出力バッファ, 73−0−4 セレクタ, 73−1 出力バッファ部, 73−1−1 セレクタ, 73−1−2,73−1−3 出力バッファ, 73−1−4 セレクタ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an FFT operation apparatus and method, and more particularly, to an FFT operation apparatus and method that enable higher speed.
[0002]
[Prior art]
Recently, digitalization is becoming popular in broadcasting technology. FIG. 9 shows a configuration example of a DAB (Digital Audio Broadcasting) receiving apparatus that is one of digital radio broadcasts that digitize and broadcast an audio signal. The
[0003]
The deinterleave circuit and
[0004]
FIG. 10 shows a conventional configuration example of such an
[0005]
The
[0006]
The
[0007]
For example, as shown in the timing chart of FIG. 11, if data 0 (butterfly calculation result) is output from the terminal out0 of the
[0008]
That is, as shown in FIG. 11, data is written to and read from the memory 8 in a cycle that is ½ of the switching cycle of the
[0009]
In the period in which the
[0010]
Thereafter, similar processing is repeatedly executed.
[0011]
[Problems to be solved by the invention]
Thus, in the conventional FFT operation device (in this case, the FFT circuit 94), as shown in FIG. 11, when the frequency of the operation clock of the
[0012]
The present invention has been made in view of such a situation, and enables higher-speed calculations.
[0013]
[Means for Solving the Problems]
The FFT calculation apparatus according to
[0014]
The FFT calculation method according to
[0015]
In the FFT operation apparatus according to
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described. Before that, in order to clarify the correspondence between each means of the invention described in the claims and the following embodiments, parentheses after each means are described. The features of the present invention are described as follows by adding the corresponding embodiment (however, an example).
[0017]
In other words, the FFT computing device according to
[0018]
According to the sixth aspect of the present invention, each of the N storage means includes first and second storage means for storing data (for example, input buffers 71-0-2 and 71-0- shown in FIG. 8). 3, input buffers 71-1-2 and 71-1-3, memories 72-0-2 and 72-0-3, memories 72-1-2 and 72-1-3, output buffer 73-0-2 And 73-0-3, output buffers 73-1-2 and 73-1-3, etc.), when writing is being performed on one of the first or second storage means, Reading is performed.
[0019]
The FFT calculation method according to
[0020]
Of course, this description does not mean that the respective means are limited to those described above.
[0021]
Next, the basic principle of the present invention will be described. In the FFT butterfly operation, if the radix is N, one butterfly operation is performed on N pieces of input data, and N pieces of data obtained as a result of the butterfly operation are also obtained. Therefore, an input buffer for storing the first input data, a memory for storing the intermediate results of the butterfly calculation, or an output buffer for storing the final results of the butterfly calculation (hereinafter, these input buffers, memories, and In the case of one output buffer (collectively referred to as a storage unit), it is necessary to perform butterfly computation after reading data N times from the storage unit and to write the butterfly computation result to the storage unit N times. As described above, this hinders the speeding up of the FFT operation.
[0022]
Therefore, in the present invention, when performing a radix-N butterfly operation, N storage units are prepared, data is read from each of the N storage units simultaneously (in parallel), and the butterfly operation is performed. Each of the N butterfly computation results obtained as a result is written simultaneously (in parallel) in N storage units, thereby speeding up the FFT computation.
[0023]
Next, an arrangement method of N storage units for simultaneously writing or reading N data to and from N storage units as described above will be described with reference to FIG.
[0024]
FIG. 1 shows a signal flow in the case of performing 8-point FFT by the time thinning method (Cooley-Tukey method). In the figure, I0 to I7, M0 to M7, or O0 to O7 represent addresses of the input buffer, memory, or output buffer. Further, in the figure, BTF represents a radix-2 butterfly operation. Accordingly, two storage units are provided. That is, input buffers IB0 and IB1 are provided as input buffers, memories MEM0 and MEM1 are provided as memories, and output buffers OB0 and OB1 are provided as output buffers.
[0025]
Now, the eight input data to be subjected to the FFT, i0 to i7 in time series, and the output data (final butterfly calculation result) obtained by performing the FFT on the input data from the low frequency component, , and input data i0 to i7 are input to addresses I0 to I7, respectively, and output data o0 to o7 are output from addresses O0 to O7, respectively.
[0026]
As shown in FIG. 1A, it is assumed that input buffers IB0 and IB1, memories MEM0 and MEM1, or output buffers OB0 and OB1 are provided separately in upper and lower portions of the signal flow.
[0027]
In this case, the input data i0 to i7 are stored in the addresses I0 to I3 of the input buffer IB0 or the addresses I4 to I7 of the input buffer IB1, respectively, and further read out from each to be rearranged in the so-called bit reverse order. After that, the first butterfly operation is performed. The first butterfly calculation result is stored in the memories MEM0 and MEM1, and is read from the memory MEM0 and MEM1. The second butterfly calculation is performed, and the calculation result is stored in the memories MEM0 and MEM1 again. Then, the second butterfly calculation result is read from the memories MEM0 and MEM1, and after the third butterfly calculation is performed, it is stored in the output buffers OB0 and OB1.
[0028]
As shown in FIG. 1A, when the input buffers IB0 and IB1, the memories MEM0 and MEM1, or the output buffers OB0 and OB1 are arranged, the two input data to be subjected to the first butterfly operation are the addresses. Since I0 and I4, I1 and I5, I2 and I6, or I3 and I7 are stored separately, that is, they are stored separately in the input buffer IB0 and the input buffer IB1, so they are read out simultaneously and the butterfly operation is performed. be able to. The two output data obtained as a result of the last butterfly operation (third butterfly operation) are supplied separately to addresses O0 and O4, O1 and O5, O2 and O6, or O3 and O7, that is, Since the output buffers OB0 and OB1 are supplied separately, they can be stored (written) at the same time.
[0029]
However, in this case, since the two data to be subjected to the butterfly calculation are both stored in either the memory MEM0 or MEM1, for example, the two data to be subjected to the second butterfly calculation are Are stored in the addresses M0 and M2 of the memory MEM0, the addresses M1 and M3 of the memory MEM0, the addresses M4 and M6 of the memory MEM1, or the addresses M5 and M7 of the memory MEM1, respectively. Two data cannot be read simultaneously.
[0030]
Further, in this case, in the memories MEM0 and MEM1, each of the two data obtained as a result of the butterfly calculation is stored at the original address where the two data read for performing the butterfly calculation are stored. That is, for example, two data obtained as a result of the second butterfly operation using the two data read from the addresses M0 and M2 are stored in the original addresses M0 and M2. Further, two data obtained as a result of the second butterfly operation using the two data read from the addresses M1 and M3 are stored in the original addresses M1 and M3. Similarly, the data read from the addresses M4 to M7 are also stored in the original addresses M4 to M7 after the second butterfly operation.
[0031]
Therefore, it is not possible to simultaneously write two data obtained as a result of the butterfly calculation.
[0032]
Therefore, for example, as shown in FIG. 1B, addresses M0, M3, M5, and M6 are arranged in the memory MEM0, and addresses M1, M2, M4, and M7 are arranged in the memory MEM1. To do.
[0033]
In this case, the two data to be subjected to the butterfly operation are stored separately in the memories MEM0 and MEM1, that is, for example, the two data to be subjected to the second butterfly operation are the memory MMEM0 address M0 and the memory It is stored in the address M2 of the MEM1, the address M1 of the memory MEM1 and the address M3 of the memory MEM0, the address M4 of the memory MEM1 and the address M6 of the memory MEM0, or the address M5 of the memory MEM0 and the M7 of the memory MEM1, respectively. In addition, these two data can be read simultaneously.
[0034]
Further, as described above, in the memories MEM0 and MEM1, each of the two data obtained as a result of the butterfly operation is an address (original address) where the two data read for performing the butterfly operation are stored. Therefore, the two data obtained as a result of the butterfly operation can be written simultaneously.
[0035]
Therefore, by performing only the address control as described with reference to FIG. 1B, the FFT operation can be speeded up by the same procedure as before and without increasing the capacity of the storage unit.
[0036]
The embodiments described below are based on the above principle.
[0037]
FIG. 2 shows the configuration of a first embodiment of an FFT operation apparatus to which the present invention is applied. In the figure, portions corresponding to those in FIG. 10 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate.
[0038]
The
[0039]
The selector 12-0 selects one of the outputs of the
[0040]
The selector 13-0 or 13-1 selects data output from either the terminal out0 or out1 of the
[0041]
The selector 14-0 or 14-1 supplies the output of the selector 13-0 or 13-1 to the memory 15-0 or 15-1, respectively, or supplies it to the
[0042]
Next, the operation will be described. Input data is supplied to either the selector 12-0 or 12-1 in the
[0043]
In the selector 13-0 or 13-1, the terminal out0 of the
[0044]
The two data to be subjected to the next butterfly operation stored separately in the memories 15-0 and 15-1 are simultaneously read out at a predetermined timing from each of the data, and the selectors 11-0 and 11-1 To be supplied.
[0045]
The selector 11-0 or 11-1 selects the data to be input to the terminal in0 or in1 of the
[0046]
The selector 12-0 or 12-1 selects the data supplied from the selector 11-0 or 11-1 after all the input data to be subjected to the butterfly calculation is supplied from the
[0047]
In this way, the
[0048]
When the butterfly computation process is performed a predetermined number of times, that is, when the final butterfly computation result is obtained, the selector 14-0 or 14-1 thereafter performs the selector 13-0 or 13- Data (final butterfly calculation result) supplied from each of the data is supplied to the
[0049]
In the FFT operation apparatus that performs the FFT operation as described above, the selectors 13-0, 13-1, 14-0, and 14-1 operate with the same clock as the clock of the
[0050]
That is, as shown in the timing chart of FIG. 3, when
[0051]
In the embodiment of FIG. 3, the selector 13-0 selects the
[0052]
The data selected by the selector 13-0 or 13-1 is simultaneously supplied to the memory 15-0 or 15-1 via the selector 14-0 or 14-1. The memory 15-0 or 15-1 is a clock having a period of ½ of the clock of the
[0053]
That is, when
[0054]
As described above, in this embodiment, since data writing and reading are simultaneously performed on the memories 15-0 and 15-1, the memory 15-0 is clear from the timing chart of FIG. Assuming that the operation clock of 15-1 is 1, the operation clock of the
[0055]
In the embodiment of FIG. 2, the
[0056]
FIG. 4 shows the configuration of a second embodiment of the FFT arithmetic unit to which the present invention is applied. In the figure, portions corresponding to those in FIG. 2 or FIG. 10 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate.
[0057]
The
[0058]
In this embodiment, the selectors 12-0 and 12-1 are supplied with the data read from the memory 8 in addition to the input data. The selector 12-0 or 12-1 Any one of the input data read from the input buffer 22-0 or 22-1 or the data supplied from the memory 8 is selected and supplied to the
[0059]
In this embodiment, when input data is selected by the
[0060]
As described above, the two input data to be subjected to the butterfly calculation, which are separately stored in the input buffers 22-0 and 22-1 are simultaneously read out from each of the input buffers 22-0 and 22-1 and passed through the selector 12-0 or 12-1. And supplied to the terminal in0 or in1 of the
[0061]
Therefore, in this case, there is no waiting time required for two input data to be subjected to butterfly computation. That is, in the case shown in FIG. 10, after the
[0062]
FIG. 5 shows the configuration of a third embodiment of an FFT operation apparatus to which the present invention is applied. In the figure, portions corresponding to those in FIG. 2 or FIG. 10 are denoted by the same reference numerals, and description thereof will be omitted below as appropriate.
[0063]
In this embodiment, one of the two outputs of the selectors 14-0 and 14-1 (the output supplied to the memories 15-0 and 15-1 in FIG. 2) is a selector. The
[0064]
The other of the two outputs of the selectors 14-0 and 14-1 (the output supplied to the
[0065]
In this embodiment, until the final butterfly calculation result is obtained, the output of the
[0066]
Then, when two data as final butterfly calculation results are obtained in the
[0067]
Accordingly, in this case, the
[0068]
FIG. 6 shows the configuration of a fourth embodiment of an FFT operation apparatus to which the present invention is applied. In the figure, parts corresponding to those in FIG. 2, FIG. 4, or FIG. That is, this embodiment is configured by combining the embodiments of FIGS. 2, 4 and 5. Therefore, this FFT operation device has all the effects of these embodiments, and can perform the butterfly operation at the highest speed.
[0069]
Next, FIG. 7 shows a configuration of a fifth embodiment of the FFT arithmetic unit to which the present invention is applied. This embodiment is the same as the fourth embodiment shown in FIG. 6 except for the fact that a butterfly operation with a base of 4 is performed.
[0070]
That is, the
[0071]
In the FFT operation apparatus configured as described above, the
[0072]
The
[0073]
In the selectors 56-0 to 56-3, the terminals out0 to out of the
[0074]
The four data to be subjected to the next butterfly calculation stored separately in the memories 58-0 to 58-3 as described above are simultaneously read out from each of them at a predetermined timing. 60-0 to 60-3.
[0075]
The selectors 60-0 to 60-3 select data to be input to the terminals in0 to in3 of the
[0076]
The selectors 53-0 to 53-3 are supplied from the selectors 60-0 to 60-3 after all the input data to be subjected to the butterfly operation is supplied from the input buffers 52-0 to 52-3. Data is selected and supplied to terminals in0 to in3 of the
[0077]
In this manner, the
[0078]
When the butterfly computation process is performed a predetermined number of times, that is, when the final butterfly computation result is obtained, the selectors 57-0 to 57-3 thereafter perform selectors 56-0 to 56-. The data supplied from each of the three is simultaneously supplied to and stored in the output buffers 59-0 to 59-3. Therefore, in this case, the
[0079]
The data stored in the output buffers 59-0 to 59-3 are read simultaneously, for example, and are subjected to parallel / serial conversion and output by the
[0080]
As described above, even when the FFT calculation is performed by the butterfly calculation with a base of 4, the processing can be speeded up.
[0081]
Next, FIG. 8 shows the configuration of a sixth embodiment of the FFT arithmetic unit to which the present invention is applied. In the figure, portions corresponding to those in FIG. 6 are denoted by the same reference numerals. In other words, the FFT arithmetic unit replaces the input buffers 22-0 and 22-1, the memories 15-0 and 15-1, the output buffer 32-0, or 32-1, and the input buffer units 71-0 and 71-. 1 except that the memory units 72-0 and 72-1, and the output buffer unit 73-0 or 73-1 are provided, respectively.
[0082]
The input buffer unit 71-0 includes a selector 71-0-1, input buffers 71-0-2 and 71-0-3, and a selector 71-0-4. The selector 71-0-1 alternately supplies the data input to the input buffer unit 71-0 to the input buffers 71-0-2 and 71-0-3.
[0083]
The input buffers 71-0-2 and 71-0-3 store data supplied from the selector 71-0-1, read out the stored data, and supply the data to the selector 71-0-4. Has been made.
[0084]
The selector 71-0-4 alternately selects and outputs data supplied from the input buffers 71-0-2 and 71-0-3.
[0085]
The selector 71-0-4 selects one of the input buffers 71-0-2 or 71-0-3 that is not supplied with data from the selector 71-0-1. Therefore, in the input buffer unit 71-0, when data is written to either the input buffer 71-0-2 or 71-0-3, data is read from the other. It is made to be.
[0086]
The input buffer unit 71-1, the memory units 72-0 and 72-1, the output buffer unit 73-0, or 73-1 also includes the selector 71-0-1 and the input buffer 71-0- of the input buffer unit 71-0. 2, 71-0-3, selector 71-1-1 corresponding to selector 71-0-4, input buffers 71-1-2, 71-1-3, selector 71-1-4, selector 72- 0-1, memories 72-0-2, 72-0-3, and selector 72-0-4, selector 72-1-1, memories 72-1-2, 72-1-3, and selector 72-1. -4, selector 73-0-1, output buffers 73-0-2, 73-0-3, and selector 73-0-4, or selector 73-1-1, output buffers 73-1-2, 73- 1-3, and from selector 73-1-4 Which it is configured.
[0087]
In the FFT arithmetic unit configured as described above, when data is written to either one of the input buffers 71-0-2 or 71-0-3, data is read from the other. Thus, data writing and reading can be performed simultaneously with respect to the input buffer unit 71-0. The same applies to the input buffer unit 71-1, the memory units 72-0 and 72-1, the output buffer units 73-0 and 73-1, which are configured in the same manner as the input buffer unit 71-0. Therefore, in this case, the processing speed can be further increased as compared with the case of FIG. 6 in which reading and writing of data are performed separately (in other words, the input buffer units 71-0 and 71-1, The clocks of the memory units 72-0 and 72-1, the output buffer unit 73-0 or 73-1, are input buffers 22-0 and 22-1, memories 15-0 and 15-1, output buffers 32-0, Alternatively, it may be a clock having a frequency half that of each clock of 32-1).
[0088]
The FFT arithmetic apparatus to which the present invention has been applied has been described above. Such an FFT arithmetic apparatus is widely used in, for example, the digital signal processing apparatus in addition to the DAB receiving apparatus shown in FIG. Applicable. Further, the data to be subjected to FFT is not limited to an audio signal, and can be a video signal or other digital signal.
[0089]
In this embodiment, the case where the FFT process is performed has been described. However, the present invention can also be applied to the case where the inverse FFT process is performed. It is only necessary to change the twiddle factor to be stored. Therefore, FFT in the present specification includes an inverse FFT in a broad sense).
[0090]
Further, in this embodiment, the case where the radix N is 2 and 4 is taken as an example, but the present invention can also be applied to other radixes.
[0091]
Further, in the embodiment such as FIG. 2, the two outputs of the
[0092]
However, when the latter configuration is applied to the embodiments of FIGS. 5 and 6, for example, the final butterfly calculation result output from the terminal out0 or out1 of the
[0093]
【The invention's effect】
According to the FFT operation device according to
[Brief description of the drawings]
FIG. 1 is a diagram showing a signal flow for explaining the principle of the present invention.
FIG. 2 is a block diagram showing a configuration of a first embodiment of an FFT operation apparatus to which the present invention is applied.
FIG. 3 is a timing chart for explaining the operation of the embodiment of FIG. 2;
FIG. 4 is a block diagram showing a configuration of a second embodiment of an FFT operation apparatus to which the present invention is applied.
FIG. 5 is a block diagram showing a configuration of a third embodiment of an FFT operation apparatus to which the present invention is applied.
FIG. 6 is a block diagram showing a configuration of a fourth embodiment of an FFT operation apparatus to which the present invention is applied.
FIG. 7 is a block diagram showing a configuration of a fifth embodiment of an FFT operation apparatus to which the present invention is applied.
FIG. 8 is a block diagram showing a configuration of a sixth embodiment of an FFT operation apparatus to which the present invention is applied.
FIG. 9 is a block diagram illustrating a configuration example of a DAB receiving apparatus.
10 is a block diagram showing a configuration example of an
11 is a timing chart for explaining the operation of the
[Explanation of symbols]
2, 3 selector, 4 butterfly computing unit, 6, 7 selector, 8 memory, 10, 11-0, 11-1, 12-0, 12-1, 13-0, 13-1, 14-0, 14- 1 selector, 15-0, 15-1 memory, 16, 21 selector, 22-0, 22-1 input buffer, 31 selector, 32-0, 32-1 output buffer, 33 selector, 51, 52-0 to 52 -3, 53-0 to 53-3 selector, 54 butterfly computing unit, 56-0 to 56-3, 57-0 to 57-3 selector, 58-0 to 58-3 memory, 59-0 to 59-3 Output buffer, 60-0 to 60-3, 61 selector, 71-0 input buffer section, 71-0-1 selector, 71-0-2, 71-0-3 input buffer, 71-0-4 selector, 71 − Input buffer unit, 71-1-1 selector, 71-1-2, 71-1-3 Input buffer, 71-1-4 selector, 72-0 Memory unit, 72-0-1 selector, 72-0-2 , 72-0-3 memory, 72-0-4 selector, 72-1 memory unit, 72-1-1 selector, 72-1-2, 72-1-3 memory, 72-1-4 selector, 73- 0 output buffer unit, 73-0-1 selector, 73-0-2, 73-0-3 output buffer, 73-0-4 selector, 73-1 output buffer unit, 73-1-1 selector, 73-1 -2, 73-1-3 Output buffer, 73-1-4 Selector
Claims (6)
所定の基数Nのバタフライ演算を行う演算手段と、
前記バタフライ演算の対象となるN単位の前記バタフライ演算に関するデータを1単位毎にそれぞれ記憶するN個の記憶手段と
を備え、
前記N個の記憶手段は、それぞれ、前記演算手段のバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶し、記憶した前記N単位の前記データの読み出しを前記書き込みのタイミングとは異なるタイミングで同時に行って、前記演算手段の入力に帰還する
ことを特徴とするFFT演算装置。An FFT computing device for performing FFT (Fast Fourier Transform) computation,
A computing means for performing a butterfly computation of a predetermined radix N;
N storage means for storing data related to the butterfly calculation in N units, which are targets of the butterfly calculation, for each unit;
The N storage means, respectively, the butterfly operation result as is the output by writing the data of the N units simultaneously stored in the arithmetic unit, the writing reading of the data of the stored the N units An FFT operation apparatus, wherein the FFT operation device is performed simultaneously at a timing different from the above timing and fed back to the input of the operation means.
それぞれ、前記演算手段のバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶し、記憶した前記N単位の前記データの読み出しを前記書き込みのタイミングとは異なるタイミングで同時に行って、前記演算手段の入力に帰還するN個の第1の記憶手段と、
それぞれ、前記演算手段への入力である前記N単位の前記データを記憶し、記憶した前記N単位の前記データの読み出しを同時に行って、前記演算手段に供給するN個の第2の記憶手段と
で構成されることを特徴とする請求項1に記載のFFT演算装置。The N storage means are:
Each of the N units of data, which is an output as a butterfly computation result of the computing means, is simultaneously written and stored, and the stored N units of data are simultaneously read at a timing different from the timing of the writing. N first storage means to perform feedback to the input of the computing means;
Respectively storing the data of the N units is input to the arithmetic unit performs the stored reading of the data of the N units simultaneously, and N second memory means for supplying to said calculating means
FFT arithmetic unit according to claim 1, characterized in that configured in.
それぞれ、前記演算手段のバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶し、記憶した前記N単位の前記データの読み出しを前記書き込みのタイミングとは異なるタイミングで同時に行って、前記演算手段の入力に帰還するN個の第1の記憶手段と、
それぞれ、前記演算手段の最終的なバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶する前記N個の第2の記憶手段と
で構成されることを特徴とする請求項1に記載のFFT演算装置。The N storage means are :
Each of the N units of data, which is an output as a butterfly computation result of the computing means, is simultaneously written and stored, and the stored N units of data are simultaneously read at a timing different from the timing of the writing. N first storage means to perform feedback to the input of the computing means;
Each of the N second storage means for simultaneously writing and storing the N units of the data, which is an output as a final butterfly computation result of the computing means,
FFT arithmetic unit according to claim 1, characterized in that configured in.
それぞれ、前記演算手段のバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶し、記憶した前記N単位の前記データの読み出しを同時に行って、前記演算手段の入力に帰還するN個の第1の記憶手段と、
それぞれ、前記演算手段への入力である前記N単位の前記データを記憶し、記憶した前記N単位の前記データの読み出しを同時に行って、前記演算手段に供給するN個の第2の記憶手段と、
それぞれ、前記演算手段の最終的なバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶する前記N個の第3の記憶手段と
の3種類で構成されることを特徴とする請求項1に記載のFFT演算装置。The N storage means are :
Each of the N units of data, which is an output as a butterfly computation result of the computing unit, is simultaneously written and stored, and the stored N units of data are simultaneously read and input to the computing unit. N first storage means for returning;
N pieces of the second storage means for storing the N units of data , which are inputs to the arithmetic means, respectively, and simultaneously reading the stored N units of the data and supplying the data to the arithmetic means ,
Respectively, that it consists of 3 types of the N third memory means for final butterfly operation result as is the output by writing the data of the N units simultaneously storing said operation means The FFT operation apparatus according to claim 1, wherein
前記第1または第2の記憶手段のうちの一方に書き込みが行われているとき、他方からは読み出しが行われる
ことを特徴とする請求項1に記載のFFT演算装置。Each of the N storage means includes first and second storage means for storing the data,
The FFT operation device according to claim 1, wherein when one of the first and second storage units is written, reading is performed from the other.
前記バタフライ演算の対象となるN単位の前記バタフライ演算に関するデータを1単位毎にそれぞれ記憶するN個の記憶手段とを備え、FFT(Fast Fourier Transform)演算を行うFFT演算装置のFFT演算方法であって、
前記N個の記憶手段は、それぞれ、前記演算手段のバタフライ演算結果としての出力である前記N単位の前記データの書き込みを同時に行って記憶し、記憶した前記N単位の前 記データの読み出しを同時に行って、前記演算手段の入力に帰還する
ことを特徴とするFFT演算方法。A computing means for performing a butterfly computation of a predetermined radix N;
An FFT operation method for an FFT operation apparatus, comprising N storage means for storing data related to the butterfly operation in N units to be subjected to the butterfly operation for each unit, and performing an FFT (Fast Fourier Transform) operation. And
The N storage means, respectively, the butterfly operation result as an output a is the N units of the writing of data performed simultaneously with the storing of the calculation means, the stored reading of the previous SL data of the N units simultaneously And performing an FFT calculation on the input of the calculation means .
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12133696A JP3951066B2 (en) | 1996-05-16 | 1996-05-16 | FFT operation device and FFT operation method |
US08/841,355 US5890098A (en) | 1996-04-30 | 1997-04-30 | Device and method for performing fast Fourier transform using a butterfly operation |
EP97302959A EP0805401A1 (en) | 1996-04-30 | 1997-04-30 | Fast Fourier transform device and Fast Fourier transform method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12133696A JP3951066B2 (en) | 1996-05-16 | 1996-05-16 | FFT operation device and FFT operation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09305573A JPH09305573A (en) | 1997-11-28 |
JP3951066B2 true JP3951066B2 (en) | 2007-08-01 |
Family
ID=14808741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12133696A Expired - Fee Related JP3951066B2 (en) | 1996-04-30 | 1996-05-16 | FFT operation device and FFT operation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3951066B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100618889B1 (en) * | 2005-02-12 | 2006-09-01 | 삼성전자주식회사 | Fast Fourier Transform processor capable of reducing the size of memories |
JP2006260411A (en) * | 2005-03-18 | 2006-09-28 | Japan Radio Co Ltd | Signal processor, and communication equipment using the same |
JP4796339B2 (en) * | 2005-06-20 | 2011-10-19 | Okiセミコンダクタ株式会社 | Memory read and write methods |
JP5444287B2 (en) * | 2011-06-07 | 2014-03-19 | ラピスセミコンダクタ株式会社 | Arithmetic unit |
-
1996
- 1996-05-16 JP JP12133696A patent/JP3951066B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09305573A (en) | 1997-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5890098A (en) | Device and method for performing fast Fourier transform using a butterfly operation | |
JP3821316B2 (en) | Arithmetic apparatus and method | |
US6115728A (en) | Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter | |
JP4022546B2 (en) | Mixed-radix modulator using fast Fourier transform | |
US20050177608A1 (en) | Fast Fourier transform processor and method using half-sized memory | |
US5808925A (en) | Arithmetic unit and method for fourier transform | |
JP3951066B2 (en) | FFT operation device and FFT operation method | |
CN111737638A (en) | Data processing method based on Fourier transform and related device | |
US20060200513A1 (en) | Fast Fourier transform processor and method capable of reducing size of memories | |
EP0953175A1 (en) | Method and apparatus for fft computation | |
JPH08320858A (en) | Unit and method for fourier transformation arithmetic operation | |
JP3065979B2 (en) | Fast Fourier transform apparatus and method, variable bit reverse circuit, inverse fast Fourier transform apparatus and method, and OFDM reception and transmission apparatus | |
JP2001024621A (en) | Method and device for converting stream of real number input data into complex output symbol stream | |
EP1553503A2 (en) | Fast fourier transform device with improved processing speed | |
JPH09297753A (en) | Fft arithmetic unit and method therefor | |
JP2942236B1 (en) | OFDM modulation circuit | |
WO2000002140A1 (en) | Method and arrangement relating to dft computation | |
JP2697619B2 (en) | N-point FFT dedicated processor | |
JPH0148582B2 (en) | ||
WO2008023253A2 (en) | Fft-based signal processing with reduced latency | |
CN118075078A (en) | Fast Fourier transform circuit, chip and power line carrier communication system | |
GB2328765A (en) | Bit reversing using an offset | |
US20030023779A1 (en) | Symbol window correlative operation circuit and address generation circuit therefor | |
JP2002117015A (en) | Fast fourier transform circuit | |
JPH03652B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060731 |
|
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: 20070328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070410 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |