JP3791561B2 - Calculation method and calculation device - Google Patents

Calculation method and calculation device Download PDF

Info

Publication number
JP3791561B2
JP3791561B2 JP20154696A JP20154696A JP3791561B2 JP 3791561 B2 JP3791561 B2 JP 3791561B2 JP 20154696 A JP20154696 A JP 20154696A JP 20154696 A JP20154696 A JP 20154696A JP 3791561 B2 JP3791561 B2 JP 3791561B2
Authority
JP
Japan
Prior art keywords
butterfly
data
stage
calculation
circuit
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
Application number
JP20154696A
Other languages
Japanese (ja)
Other versions
JPH1049516A (en
Inventor
鎮 伊藤
康成 小崎
康成 池田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP20154696A priority Critical patent/JP3791561B2/en
Publication of JPH1049516A publication Critical patent/JPH1049516A/en
Application granted granted Critical
Publication of JP3791561B2 publication Critical patent/JP3791561B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、演算方法および演算装置に関し、特に、所定のビット数のデータに対してバタフライ演算を行い、バタフライ演算の演算結果に対して、ビットシフト処理またはクリップ処理を行う演算方法および演算装置に関する。
【0002】
【従来の技術】
最近、放送技術においてもデジタル化が普及しつつある。図5は、オーディオ信号をデジタル化して放送するデジタルラジオ放送の1つであるDAB(Digital Audio Broadcasting)の受信装置の構成例を示している。
【0003】
チューナ92は、アンテナ91を介して受信した信号から、所定の放送局(チャンネル)の信号を選択し、その信号をA/D変換器93に出力する。A/D変換器93は、供給された信号をA/D変換し、変換後のデジタルデータをFFT(Fast Fourier Transform)回路94に出力する。
【0004】
FFT回路94は、FFT演算を行い、供給された時間軸上のデータを、複数の副搬送波の周波数軸上のデータに変換することにより、OFDM(Orthogonal Frequency Division Multiplexing)方式で送信されたデータを復調する。なお、このFFT回路94には、時間軸上において隣接するシンボル(所定の量のデータを含む所定の期間の変調信号)との間に設けられているガード・インタバル成分が除去された後のシンボル成分が供給される。
【0005】
デインタリーブ回路および誤り訂正回路95は、FFT回路94より供給されたデータに対してデインタリーブ処理を行うとともに、誤り訂正処理を実行する。デインタリーブ回路および誤り訂正回路95により処理された信号は、その一部が復号化回路96に供給される。復号化回路96は、供給された信号のうちの音声信号を復号し、復号したデータを、アナログのオーディオ信号に変換した後、左チャンネルのオーディオ信号と、右チャンネルのオーディオ信号を、スピーカ97,98にそれぞれ出力し、それらの信号に対応する音声を出力させる。
【0006】
また、付加データ出力回路99は、デインタリーブ回路および誤り訂正回路95より供給された信号から、番組内容、交通情報などの付加データを分離して出力する。
【0007】
図6は、8点のFFT演算を行う場合のFFT回路94におけるシグナルフローの一例を示している。FFT回路94は、予め、ビット逆順に並び換えられたデータf(0),f(4),f(2),f(6),f(1),f(5),f(3),f(7)を供給される。
【0008】
内蔵するバタフライ演算器は、それらのデータのうちの2つのデータに対してバタフライ演算を行い、2つの演算結果を、内蔵するメモリに記憶する。
【0009】
第1段目のバタフライ演算においては、第0番目のデータf(0)と第1番目のデータf(4)、第2番目のデータf(2)と第3番目のデータf(6)、第4番目のデータf(1)と第5番目のデータf(5)、並びに、第6番目のデータf(3)と第7番目のデータf(7)に対してバタフライ演算を行い、それらの演算結果を第0番目のデータR1(0)乃至第7番目のデータR1(7)としてメモリにそれぞれ記憶させる。
【0010】
次に、第2段目のバタフライ演算においては、第0番目のデータR1(0)と第2番目のデータR1(2)、第1番目のデータR1(1)と第3番目のデータR1(3)、第4番目のデータR1(4)と第6番目のデータR1(6)、並びに、第5番目のデータR1(5)と第7番目のデータR1(7)に対してバタフライ演算を行い、それらの演算結果を第0番目のデータR2(0)および第7番目のデータR2(7)としてメモリに記憶させる。
【0011】
そして、第3段目のバタフライ演算においては、第0番目のデータR2(0)と第4番目のデータR2(4)、第1番目のデータR2(1)と第5番目のデータR2(5)、第2番目のデータR2(2)と第6番目のデータR2(6)、並びに、第3番目のデータR2(3)および第7番目のデータR2(7)に対してバタフライ演算を行い、それらの演算結果を第0番目のデータF(0)および第7番目のデータF(7)としてメモリに記憶させる。
【0012】
次に、このようにして算出されたデータ(FFT演算されたデータ)F(0)乃至F(7)をデインタリーブ回路および誤り訂正回路95に出力する。
【0013】
このように、入力データまたは前段のバタフライ演算の演算結果をデータとして、1段で、8個のデータに対して4(8/2)回のバタフライ演算が行われ、合計3(=log2(8))段のバタフライ演算が行われる。
【0014】
なお、N個のデータに対して(即ち、N点の)FFT演算を行う場合は、入力データまたは前段のバタフライ演算の演算結果をデータとして、1段で、N個のデータに対して(N/2)回のバタフライ演算が行われ、合計M(=log2(N))段のバタフライ演算が行われる。
【0015】
FFT演算に時間間引き型のアルゴリズムを利用した場合、バタフライ演算においては、2つのデータA,Bのうちの一方のデータB(複素数)に対して、所定の複素数(回転演算子)Wk N(=(exp(−j2πk/N))、Nは整数)を乗算した後、その演算結果と、他方のデータA(複素数)との和(バタフライ演算の演算結果R=A+WkB)を計算する。
【0016】
このとき、第1段目のバタフライ演算の演算結果Rの実数部のダイナミックレンジ(実数部の取りうる値の範囲)および虚数部のダイナミックレンジは、演算前のデータの実数部のダイナミックレンジおよび虚数部のダイナミックレンジの(1+21/2)倍となる(後述)。
【0017】
さらに、i段のバタフライ演算を行った後のデータ(即ち、第i段目のバタフライ演算の演算結果)の実数部のダイナミックレンジおよび虚数部のダイナミックレンジは、第1段目に入力されたデータの実数部および虚数部のダイナミックレンジの2i-1(1+21/2)倍となる(後述)。
【0018】
従って、M段のバタフライ演算を行った場合、演算結果の実数部および虚数部のダイナミックレンジは、入力データの実数部のダイナミックレンジおよび虚数部のダイナミックレンジの2M-1(1+21/2)倍となる。
【0019】
このようなダイナミックレンジの全域のデータを保持可能とするためには、入力データのビット数よりビット数がK(log2(2M-1(1+21/2))以上の、最も小さい整数)個多いメモリを使用する必要がある。
【0020】
例えば、2,048点のFFT演算を行う場合、11(M=11=log2(2048))段のバタフライ演算が必要となるので、例えば入力データが8ビットであると、1つのデータ(実数部または虚数部)当たり20(≧19.3=8+log2(211-1(1+21/2)))ビットのメモリが必要となる。
【0021】
【発明が解決しようとする課題】
しかしながら、このように、入力データのビット数よりビット数がK個多いメモリを使用した場合、最初の数段におけるデータのダイナミックレンジは、メモリに記憶可能なデータのダイナミックレンジより非常に狭いので、メモリの利用効率が低くなるという問題を有している。
【0022】
なお、メモリに記憶するデータのビット数を予め小さく設定しておき、各段において、バタフライ演算の演算結果のオーバフローの発生状況に対応して、演算結果をLSB(Least Significant Bit)側にビットシフトするか、あるいは、所定の値にクリップすることにより、メモリに必要なビット数を低減させるとともに、メモリの利用効率を高くすることが考えられるが、演算結果のオーバフローを監視するための回路が必要となり、回路構成が煩雑になるとともに、コストが増加するという問題を有している。
【0023】
本発明は、このように状況に鑑みてなされたもので、予め設定された段のバタフライ演算の演算結果に対してビットシフト処理を行うようにして、オーバフローを監視するための回路を不要として、装置のコストを低くするものである。
【0024】
【課題を解決するための手段】
本発明の第1の側面の演算装置は、OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算を行う演算装置であって、前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算回路と、各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理回路とを備え、前記バタフライ演算回路は、前記変調方法に基づき予め設定された段においてビットシフトを行うことを特徴とする。
本発明の第2の側面の演算装置は、OFDM方式を用いて所定の変調方法で変調した所定の点数の入力信号に対し、IFFT演算を行う演算装置であって、前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算回路と、各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理回路とを備え、前記バタフライ演算回路は、前記変調方法に基づき予め設定された段においてビットシフトを行うことを特徴とする。
【0025】
本発明の第1の側面の演算方法は、OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算を行う演算方法であって、前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算ステップと、各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理ステップとを備え、前記バタフライ演算ステップにおいては、前記変調方法に基づき予め設定された段においてビットシフトを行うことを特徴とする。
本発明の第2の側面の演算方法は、OFDM方式を用いて所定の変調方法で変調した所定の点数の入力信号に対し、IFFT演算を行う演算方法であって、前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算ステップと、各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理ステップとを備え、前記バタフライ演算ステップにおいては、前記変調方法に基づき予め設定された段においてビットシフトを行うことを特徴とする。
【0026】
本発明の第1の側面の演算装置においては、OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算が行われる際、入力信号に対し、点数に対応した段数のバタフライ演算が行われ、各段のバタフライ演算の結果に対しクリップ処理が行われ、変調方法に基づき予め設定された段においてビットシフトが行われる
本発明の第2の側面の演算装置においては、OFDM方式を用いて所定の変調方法で変調された所定の点数の入力信号に対し、IFFT演算が行われる際、入力信号に対し、点数に対応した段数のバタフライ演算が行われ、各段のバタフライ演算の結果に対しクリップ処理が行われ、変調方法に基づき予め設定された段においてビットシフトを行うことを特徴とする。
【0027】
本発明の第1の側面の演算方法においては、OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算が行われる際、入力信号に対し、点数に対応した段数のバタフライ演算が行われ、各段のバタフライ演算の結果に対しクリップ処理が行われ、変調方法に基づき予め設定された段においてビットシフトが行われる。
本発明の第2の側面の演算方法においては、OFDM方式を用いて所定の変調方法で変調した所定の点数の入力信号に対し、IFFT演算が行われる際、入力信号に対し、点数に対応した段数のバタフライ演算が行われ、各段のバタフライ演算の結果に対しクリップ処理が行われ、変調方法に基づき予め設定された段においてビットシフトが行われる。
【0028】
【発明の実施の形態】
図1は、本発明の演算装置の実施例の構成を示している。本実施例は、例えば、図5の受信装置におけるFFT回路94の代わりに利用されるFFT演算装置である。
【0029】
この実施例は、2,048点の、8ビットの入力データに対して、1データあたり10ビットのメモリ(記憶領域)を利用して、11段のバタフライ演算を行うようになされている。
【0030】
入力バッファ1は、所定の回路(例えば、図5のA/D変換器93)より供給されたデータ(予めビット逆順に並べ換えられているデータ)を一時的に記憶するようになされている。例えば、入力バッファ1は、OFDM方式でQPSK変調またはQAM(Quadrature Amplitude Modulation)変調されたデータを受け取り、記憶する。
【0031】
セレクタ2は、入力バッファ1から2つのデータA,Bを読み出し、演算回路3に出力するようになされている。
【0032】
また、セレクタ2は、メモリ4(記憶手段)より2つのデータA,Bの実数部と虚数部をそれぞれ読み出し、それらのデータを演算回路3に出力するようになされている。
【0033】
メモリ4は、処理途中のデータ(10ビットの実数部(即ち、区間[−512,511]における値)と10ビットの虚数部)を記憶するようになされている。
【0034】
演算回路3のバタフライ演算部21(第1の演算手段)は、10ビットのビット幅でデータA,Bをセレクタ2より供給され、内蔵するROMに記憶されている回転演算子データWk(上述のWk N=exp(−j2πk/N))を適宜読み出し、そのデータWkを利用して、2つのデータA,Bに対してバタフライ演算(A+WkB)を行い、12ビットのビット幅で演算結果をビットシフト処理部22(第2の演算手段)に出力するようになされている。
【0035】
演算回路3のビットシフト処理部22は、第5段目のバタフライ演算、第7段目のバタフライ演算、および、第10段目のバタフライ演算の演算結果(12ビット)の符号ビット以外の下位11ビットを、LSB側に1ビットだけビットシフトさせた後、処理後の演算結果をクリップ処理部23(第3の演算手段)に出力するようになされている。
【0036】
なお、ビットシフト処理部22が、処理前の演算結果の端数の値に応じて、10進数における四捨五入、切り捨て、切り上げなどの操作を行って、ビットシフト処理後のLSBの値を算出するようにしてもよい。
【0037】
演算回路3のクリップ処理部23は、供給された12ビットの演算結果の値が512(=210/2)以上である場合、その値を511に変更し、その値が−512より小さい場合、その値を−512に変更するようになされている。
【0038】
セレクタ5は、演算回路3により演算された2つのデータ(演算結果)を、演算前の2つのデータが格納されていたメモリ4のアドレスにそれぞれ記憶させるようになされている。
【0039】
また、セレクタ5は、演算回路3より供給された、第11段目のバタフライ演算の演算結果を、出力バッファ6に出力するようになされている。
【0040】
出力バッファ6は、セレクタ5より供給されたデータ(演算結果)を一時的に記憶し、所定の回路(例えば、図5のデインタリーブ回路および誤り訂正回路95)に出力するようになされている。なお、出力バッファ6は、セレクタ5より供給されたデータを、後段の回路における信号レベルに対応して、例えばMSB(Most Significant Bit)側に3ビットだけビットシフトした後、出力することができる。
【0041】
次に、図2のフローチャートを参照して、本実施例の動作について説明する。
【0042】
最初に、ステップS1においては、入力バッファ1は、所定の回路(例えば、図5のA/D変換器93)から、例えばOFDM方式でDQPSK変調された2,048個のデータを受け取る。
【0043】
ステップS2においては、セレクタ2は、入力バッファ1(第1段目のバタフライ演算の場合)またはメモリ4(第2段目乃至第11番段目のバタフライ演算の場合)から、2,048個のデータのうちの所定の2つのデータを読み出し、それらのデータを演算回路3のバタフライ演算部21に出力する。
【0044】
ステップS3において、バタフライ演算部21は、供給された2つのデータA,Bに対してバタフライ演算(A+WkB)を行い、2つの演算結果をビットシフト処理部22に出力する。
【0045】
このとき、図3に示すように、供給された2つのデータA,Bの実数部のダイナミックレンジおよび虚数部のダイナミックレンジが区間[−a,a]である(即ち、データA,B(複素数)のダイナミックレンジは、複素平面の原点を中心として、1辺が2aの正方形の領域)とすると、回転演算子Wkは、原点を中心として、所定の角度だけ位置を回転させる演算子であるので、バタフライ演算における回転演算子WkとBの乗算の結果WkBの実数部のダイナミックレンジおよび虚数部のダイナミックレンジは、区間[−21/2a,21/2a]となる。
【0046】
さらに、WkBとAの和、即ちバタフライ演算の演算結果の実数部のダイナミックレンジおよび虚数部のダイナミックレンジは、区間[−(1+21/2)a,(1+21/2)a]となる。
【0047】
例えば、データA,Bの値が、A=a+j・a、B=a+j・aであり、回転演算子Wkが、Wk=2-1/2−j・2-1/2である場合、Wk・Bは、21/2a+j・0となり、さらに、A+WkBは、(1+21/2)a+j・aとなる。このように、この場合の演算結果A+WkBの実数部の値(1+21/2)aは、ダイナミックレンジ[−(1+21/2)a,(1+21/2)a]の上限値となる。
【0048】
なお、実数部および虚数部のダイナミックレンジが区間[−a,a]であるデータに対して所定のn段(n>1)のバタフライ演算を行う場合においては、第1段乃至第(n−1)段において、値が1である回転演算子Wkでバタフライ演算を行い(第(n−1)段の演算結果の実数部および虚数部のダイナミックレンジは、区間[−2n-1a,2n-1a]となる)、第n段において、例えば値が2-1/2−j・2-1/2である回転演算子Wkでバタフライ演算を行うと、演算結果の実数部および虚数部のダイナミックレンジの上限値(2n-1(1+21/2)a)および下限値(−2n-1(1+21/2)a)が発生する。
【0049】
即ち、実数部および虚数部のダイナミックレンジが区間[−a,a]であるデータに対して第n段のバタフライ演算を行うと、第n段目のバタフライ演算の演算結果の実数部および虚数部のダイナミックレンジは、区間[−2n-1(1+21/2)a,2n-1(1+21/2)a]となる。
【0050】
次に、ステップS4において、ビットシフト処理部22は、今のバタフライ演算の段数が、第5段、第7段、および、第10段のいずれかであるか否かを判断し、今のバタフライ演算の段数が、第5段、第7段、および、第10段のいずれかであると判断した場合、ステップS5に進み、ビットシフト処理を行う。
【0051】
ステップS5において、ビットシフト処理部22は、バタフライ演算部21より供給された演算結果を、LSB側に1ビットだけビットシフトし、演算結果の絶対値を小さくする。そして、ビットシフト処理部22は、その演算結果をクリップ処理部23に出力する。
【0052】
一方、ステップS4において、今のバタフライ演算の段数が、第5段、第7段、および、第10段のいずれでもないと判断された場合、ステップS5をスキップし、ビットシフト処理部22は、何もせずに、バタフライ演算部21より供給された演算結果をクリップ処理部23に出力する。
【0053】
即ち、図4に示すように、ビットシフト処理部22は、全11段のバタフライ演算のうち、第5段目、第7段目、および、第10段目のバタフライ演算のすべての演算結果に対してビットシフトを行い、データのダイナミックレンジを1/2に圧縮する。
【0054】
なお、本実施例における実際のデータ(実数部または虚数部)(振幅の分布がガウス分布(標準偏差をダイナミックレンジの1/8とする)であると仮定したOFDM方式でQPSK変調されたデータ)の値の分布を予めシミュレーションした結果によれば、値が分布する幅は、第1段目のバタフライ演算により、約1.5倍に拡がり、第1段目および第2段目のバタフライ演算により、約2.2倍に拡がる。さらに、値が分布する幅は、第1段目乃至第3段目のバタフライ演算により、約3.2倍に拡がり、第1段目乃至第4段目のバタフライ演算により、約4.5倍に拡がる。そして、11段のバタフライ演算により、値が分布する幅は、約13.7倍に拡がる。
【0055】
このように、実際のデータの値の分布の幅は、ダイナミックレンジより狭い。ただし、入力されたデータ(バタフライ演算を行う前のデータ)の実数部および虚数部の値の実際の分布の幅は、データの変調方法に応じて変化する。
【0056】
このシミュレーションの結果に基づいて、本実施例の装置においては、データの実数部または虚数部の値が、512以上または−513以下になる確率が大きくなる第5段目のバタフライ演算の演算結果に対して、最初のビットシフト処理を行い、データのダイナミックレンジを1/2に圧縮し、次にデータの実数部または虚数部の値が、512以上または−513以下になる確率が大きくなる第7段目のバタフライ演算の演算結果に対して、第2回目のビットシフト処理を行い、さらに、第10段目のバタフライ演算の演算結果に対して、第3回目のビットシフト処理を行い、データのダイナミックレンジを1/2に圧縮するようにしている。
【0057】
次に、ステップS6において、クリップ処理部23は、ビットシフト処理部22より供給された演算結果の値が512以上であるか否かを判断するとともに、演算結果の値が−512より小さいか否かを判断し、演算結果の値が512以上であると判断した場合、または、演算結果の値が−512より小さいと判断した場合、ステップS7に進む。
【0058】
ステップS7において、クリップ処理部23は、演算結果の値が512以上である場合、その演算結果の値を511に変更し、演算結果の値が−512より小さい場合、その演算結果の値を−512に変更した後、それらの演算結果をセレクタ5に出力する。
【0059】
一方、ステップS6において、演算結果の値が512より小さく、かつ、−512以上であると判断した場合、ステップS7をスキップし、クリップ処理部23は、何もせずに、演算結果をセレクタ5に出力する。
【0060】
なお、クリップ処理部23は、12ビットの演算結果を、10ビットに変換した後(12ビットのデータのうち下位9ビットの値を、10ビットのデータの下位9ビットの値とし、12ビットのデータの符号ビットの値を、10ビットのデータの符号データの値とした後)、セレクタ5に出力する。
【0061】
また、上述のシミュレーションの結果によれば、本実施例においては、第5段目、第7段目、および第10段目以外のバタフライ演算においては、演算結果が512以上または−513以下になる確率が小さいので、512以上または−513以下になったデータ(実数部または虚数部)に対してクリップ処理だけを行い、すべてのデータを、区間[−512,511]の値にしている。
【0062】
なお、上述のビットシフト処理を行うことにより切り捨て誤差が発生し、クリップ処理を行うことにより歪み誤差が発生するが、上述のシミュレーションの結果によれば、実用上、必要とされる演算精度は確保されているので、特に問題は生じない。
【0063】
次に、ステップS8において、セレクタ5は、演算回路3のクリップ処理部23より供給された演算結果を、メモリ4の、セレクタ2がデータを読み出したアドレス(第1段目乃至第10段目のバタフライ演算の場合)、または、出力バッファ6(第11段目のバタフライ演算の場合)に記憶させる。
【0064】
そして、ステップS9において、演算回路3は、今の段において、すべてのデータに対してバタフライ演算を行ったか否かを判断し、まだ、バタフライ演算を行っていないデータが残っている場合、ステップS2に戻り、それらのデータに対してバタフライ演算を行う。
【0065】
一方、今の段において、すべてのデータに対してバタフライ演算を行った場合、ステップS10に進む。
【0066】
そして、ステップS10において、演算回路3は、第11段目のバタフライ演算が終了したか否か(即ち、全11段のバタフライ演算が終了したか否か)を判断し、第11段目のバタフライ演算が終了していないと判断した場合、ステップS2に戻り、次の段のバタフライ演算を行う。
【0067】
一方、第11段目のバタフライ演算が終了したと判断した場合、ステップS11に進み、出力バッファ6は、11段のバタフライ演算を行った後のデータ(演算結果)を、所定の回路(例えば、図5のデインタリーブ回路および誤り訂正回路95)に出力する。
【0068】
以上のように、11段のバタフライ演算のうち、第5段目、第7段目、および第10段目のバタフライ演算の演算結果に対してビットシフト処理を行うことにより、1データ(実数部または虚数部)あたり10ビットのメモリ(記憶領域)で、2,048点の、8ビットの入力データに対するFFT演算を行う。
【0069】
なお、本実施例においては、2,048点のFFT演算が行われるが、データ数は、2,048点に限定されるものではなく、装置の構成を変更することにより、他のデータ数のFFT演算を行うことができる。なお、その場合、ビットシフト処理を行う段は、上述のシミュレーションにより簡単に算出することができる。
【0070】
また、上記実施例においては、FFT演算を行っているが、使用する回転演算子の順番を変更することにより、IFFT(Inverse FFT)演算を行うことができる。そして、そのようなIFFT演算を行う装置を、上述の受信装置に変調信号を送信する送信装置において、所定の信号をOFDM方式で変調するときに利用することができる。
【0071】
【発明の効果】
以上のごとく、本発明の第1の側面によれば、OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算が行われる際、入力信号に対し、点数に対応した段数のバタフライ演算を行い、各段のバタフライ演算の結果に対しクリップ処理を行い、変調方法に基づき予め設定された段においてビットシフトを行うようにした。
また、本発明の第2の側面によれば、OFDM方式を用いて所定の変調方法で変調された所定の点数の入力信号に対し、IFFT演算が行われる際、入力信号に対し、点数に対応した段数のバタフライ演算を行い、各段のバタフライ演算の結果に対しクリップ処理を行い、変調方法に基づき予め設定された段においてビットシフトを行うようにした。
いずれにおいても、結果として、オーバフローを監視するための回路などを設けることなく、1データあたりのビット数を少なくしてFFT演算を行うことができ、装置のコストを低減することができる。
【図面の簡単な説明】
【図1】本発明の演算装置の一実施例の構成を示すブロック図である。
【図2】図1の実施例の動作を説明するフローチャートである。
【図3】バタフライ演算における乗算の結果のダイナミックレンジの一例を示す図である。
【図4】図1の実施例のシグナルフローを説明する図である。
【図5】DABの受信装置の一構成例を示すブロック図である。
【図6】FFTのシグナルフローの一例を説明する図である。
【符号の説明】
1 入力バッファ, 2 セレクタ, 3 演算回路, 4 メモリ, 5 セレクタ, 6 出力バッファ, 21 バタフライ演算部, 22 ビットシフト処理部, 23 クリップ処理部, 91 アンテナ, 92 チューナ,93 A/D変換器, 94 FFT回路, 95 デインタリーブ回路および誤り訂正回路, 96 復号化回路, 97,98 スピーカ, 99 付加データ出力回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an arithmetic method and an arithmetic device, and more particularly to an arithmetic method and an arithmetic device that perform butterfly operation on data of a predetermined number of bits and perform bit shift processing or clip processing on the operation result of the butterfly operation. .
[0002]
[Prior art]
Recently, digitalization is also spreading in broadcasting technology. FIG. 5 shows a configuration example of a DAB (Digital Audio Broadcasting) receiving apparatus that is one of digital radio broadcasts that digitize and broadcast audio signals.
[0003]
The tuner 92 selects a signal of a predetermined broadcasting station (channel) from signals received via the antenna 91 and outputs the signal to the A / D converter 93. The A / D converter 93 A / D converts the supplied signal and outputs the converted digital data to an FFT (Fast Fourier Transform) circuit 94.
[0004]
The FFT circuit 94 performs FFT operation and converts the data transmitted in the OFDM (Orthogonal Frequency Division Multiplexing) method by converting the supplied data on the time axis into data on the frequency axes of a plurality of subcarriers. Demodulate. The FFT circuit 94 includes a symbol after a guard interval component provided between adjacent symbols on the time axis (a modulation signal of a predetermined period including a predetermined amount of data) is removed. Ingredients are supplied.
[0005]
The deinterleave circuit and error correction circuit 95 performs deinterleave processing on the data supplied from the FFT circuit 94 and also performs error correction processing. A part of the signal processed by the deinterleave circuit and error correction circuit 95 is supplied to the decoding circuit 96. The decoding circuit 96 decodes the audio signal of the supplied signals, converts the decoded data into an analog audio signal, and then converts the left channel audio signal and the right channel audio signal into the speakers 97, 98 to output audio corresponding to those signals.
[0006]
The additional data output circuit 99 separates and outputs additional data such as program contents and traffic information from the signal supplied from the deinterleave circuit and error correction circuit 95.
[0007]
FIG. 6 shows an example of a signal flow in the FFT circuit 94 in the case of performing an 8-point FFT operation. The FFT circuit 94 preliminarily rearranges the data f (0), f (4), f (2), f (6), f (1), f (5), f (3), f (7) is supplied.
[0008]
The built-in butterfly computing unit performs butterfly computation on two of the data, and stores the two computation results in the built-in memory.
[0009]
In the first stage butterfly computation, the 0th data f (0) and the first data f (4), the second data f (2) and the third data f (6), The butterfly operation is performed on the fourth data f (1) and the fifth data f (5), and the sixth data f (3) and the seventh data f (7). Are stored in the memory as the 0th data R1 (0) to the 7th data R1 (7).
[0010]
Next, in the second stage butterfly operation, the 0th data R1 (0), the second data R1 (2), the first data R1 (1), and the third data R1 ( 3) The butterfly operation is performed on the fourth data R1 (4) and the sixth data R1 (6), and the fifth data R1 (5) and the seventh data R1 (7). The calculation results are stored in the memory as the 0th data R2 (0) and the 7th data R2 (7).
[0011]
In the third stage butterfly operation, the 0th data R2 (0), the 4th data R2 (4), the 1st data R2 (1), and the 5th data R2 (5 ), Butterfly operation is performed on the second data R2 (2), the sixth data R2 (6), and the third data R2 (3) and the seventh data R2 (7). These calculation results are stored in the memory as the 0th data F (0) and the 7th data F (7).
[0012]
Next, the data (FFT-calculated data) F (0) to F (7) calculated in this way are output to the deinterleave circuit and error correction circuit 95.
[0013]
In this way, 4 (8/2) times of butterfly calculations are performed on eight data in one stage using the input data or the calculation result of the previous butterfly calculation as data, for a total of 3 (= log2(8)) Stage butterfly computation is performed.
[0014]
When performing an FFT operation on N pieces of data (that is, N points), the input data or the result of the previous butterfly operation is used as data in one stage (N points). / 2) butterfly operations are performed, and the total M (= log2(N)) stage butterfly computation is performed.
[0015]
When a time-decimation type algorithm is used for the FFT operation, in the butterfly operation, a predetermined complex number (rotation operator) W is applied to one data B (complex number) of the two data A and B.k N(= (Exp (−j2πk / N)), where N is an integer), and then the sum of the operation result and the other data A (complex number) (the operation result of the butterfly operation R = A + WkB) is calculated.
[0016]
At this time, the dynamic range of the real part (range of values that the real part can take) and the dynamic range of the imaginary part of the computation result R of the first stage butterfly computation are the dynamic range and imaginary number of the real part of the data before computation. Of dynamic range (1 + 21/2) Times (described later).
[0017]
Further, the dynamic range of the real part and the dynamic range of the imaginary part of the data after the i-th stage butterfly computation (that is, the computation result of the i-th stage butterfly computation) are the data input to the first stage. 2 of the dynamic range of the real part and imaginary part ofi-1(1 + 21/2) Times (described later).
[0018]
Therefore, when the M-stage butterfly calculation is performed, the dynamic range of the real part and the imaginary part of the calculation result is 2 of the dynamic range of the real part and the dynamic range of the imaginary part of the input data.M-1(1 + 21/2) Doubled.
[0019]
In order to be able to hold data in the entire dynamic range, the number of bits is K (log) rather than the number of bits of input data.2(2M-1(1 + 21/2)) Above, the smallest integer) memory needs to be used.
[0020]
For example, when performing an FFT operation of 2,048 points, 11 (M = 11 = log2(2048)) stage butterfly computation is required. For example, if the input data is 8 bits, 20 (≧ 19.3 = 8 + log) per one data (real part or imaginary part)2(211-1(1 + 21/2))) Bit memory is required.
[0021]
[Problems to be solved by the invention]
However, when a memory having a number of bits K more than the number of bits of input data is used, the dynamic range of data in the first few stages is much narrower than the dynamic range of data that can be stored in the memory. There is a problem that the utilization efficiency of the memory is lowered.
[0022]
Note that the number of bits of data stored in the memory is set to a small value in advance, and at each stage, the calculation result is bit-shifted to the LSB (Least Significant Bit) side in accordance with the occurrence of overflow of the calculation result of the butterfly calculation. Although it may be possible to reduce the number of bits required for the memory and increase the memory utilization efficiency by clipping to a predetermined value, a circuit for monitoring the overflow of the operation result is necessary. As a result, the circuit configuration becomes complicated and the cost increases.
[0023]
The present invention has been made in view of the situation as described above, and does not require a circuit for monitoring overflow by performing bit shift processing on the operation result of a preset stage butterfly operation, This reduces the cost of the device.
[0024]
[Means for Solving the Problems]
  An arithmetic device according to a first aspect of the present invention is an arithmetic device that performs a predetermined number of FFT operations on an input signal modulated by a predetermined modulation method using the OFDM method, A butterfly operation circuit that performs a butterfly operation of the number of stages corresponding to the number of points, and a clip processing circuit that performs a clip process on the result of the butterfly operation at each stage, and the butterfly operation circuit is preset based on the modulation method Perform bit shifts at specified stagesIt is characterized by that.
  An arithmetic device according to a second aspect of the present invention is an arithmetic device that performs an IFFT operation on an input signal having a predetermined number of points modulated by a predetermined modulation method using an OFDM method, and A butterfly operation circuit that performs butterfly operation of the number of stages corresponding to the number of points, and a clip processing circuit that performs clip processing on the result of the butterfly operation at each stage, and the butterfly operation circuit is preset based on the modulation method It is characterized in that a bit shift is performed in each stage.
[0025]
  A calculation method according to a first aspect of the present invention is a calculation method for performing FFT calculation of a predetermined number of points on an input signal modulated by a predetermined modulation method using the OFDM method, and for the input signal, A butterfly computation step for performing a butterfly computation of the number of stages corresponding to the number of points, and a clip processing step for performing a clip process on the result of the butterfly computation at each stage, wherein the butterfly computation step is based on the modulation method in advance. Perform bit shift at the set stageIt is characterized by that.
  An arithmetic method according to a second aspect of the present invention is an arithmetic method for performing an IFFT operation on an input signal having a predetermined number of points modulated by a predetermined modulation method using the OFDM method. A butterfly computation step for performing butterfly computation of the number of stages corresponding to the number of points, and a clip processing step for performing clip processing on the result of the butterfly computation at each stage, wherein the butterfly computation step is preset based on the modulation method A bit shift is performed in each stage.
[0026]
  In the arithmetic device according to the first aspect of the present invention, when an FFT operation with a predetermined number of points is performed on an input signal modulated by a predetermined modulation method using the OFDM method, the input signal corresponds to the number of points. The number of stages of butterfly computation is performed, the result of the butterfly computation of each stage is clipped, and bit shift is performed at a preset stage based on the modulation method.
  In the arithmetic device according to the second aspect of the present invention, when an IFFT operation is performed on an input signal having a predetermined number of points modulated by a predetermined modulation method using the OFDM method, the input signal corresponds to the number of points. The butterfly operation of the number of stages is performed, clip processing is performed on the result of the butterfly operation at each stage, and bit shift is performed at a stage set in advance based on the modulation method.
[0027]
  In the calculation method according to the first aspect of the present invention, when an FFT calculation of a predetermined score is performed on an input signal modulated by a predetermined modulation method using the OFDM method, the input signal corresponds to the score. The butterfly operation is performed for the number of stages, clip processing is performed on the result of the butterfly operation at each stage, and bit shift is performed at a stage set in advance based on the modulation method.
  In the calculation method according to the second aspect of the present invention, when IFFT calculation is performed on an input signal having a predetermined number of points modulated by a predetermined modulation method using the OFDM method, the input signal corresponds to the number of points. The number of stages of butterfly computation is performed, clip processing is performed on the result of the butterfly computation at each stage, and bit shift is performed at a stage set in advance based on the modulation method.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows the configuration of an embodiment of the arithmetic unit of the present invention. This embodiment is, for example, an FFT arithmetic unit used in place of the FFT circuit 94 in the receiving apparatus of FIG.
[0029]
In this embodiment, 11 stages of butterfly operations are performed on 2,048 points of 8-bit input data using a 10-bit memory (storage area) per data.
[0030]
The input buffer 1 temporarily stores data supplied from a predetermined circuit (for example, the A / D converter 93 in FIG. 5) (data that has been rearranged in the reverse bit order in advance). For example, the input buffer 1 receives and stores data that is QPSK modulated or QAM (Quadrature Amplitude Modulation) modulated by the OFDM method.
[0031]
The selector 2 reads out two data A and B from the input buffer 1 and outputs them to the arithmetic circuit 3.
[0032]
The selector 2 reads out the real part and imaginary part of the two data A and B from the memory 4 (storage means) and outputs the data to the arithmetic circuit 3.
[0033]
The memory 4 stores data being processed (a 10-bit real part (that is, a value in the interval [−512, 511]) and a 10-bit imaginary part).
[0034]
The butterfly operation unit 21 (first operation means) of the operation circuit 3 is supplied with data A and B from the selector 2 with a bit width of 10 bits, and the rotation operator data W stored in the built-in ROM.k(Wk N= Exp (−j2πk / N)) is read as appropriate, and its data Wk, Butterfly operation (A + W) for two data A and BkB), and the operation result is output to the bit shift processing unit 22 (second operation means) with a bit width of 12 bits.
[0035]
The bit shift processing unit 22 of the arithmetic circuit 3 is a low-order 11 other than the sign bit of the calculation result (12 bits) of the fifth butterfly calculation, the seventh butterfly calculation, and the tenth butterfly calculation. After the bit is shifted by one bit to the LSB side, the processed calculation result is output to the clip processing unit 23 (third calculation means).
[0036]
Note that the bit shift processing unit 22 calculates the LSB value after the bit shift process by performing operations such as rounding, rounding down, and rounding up in decimal numbers according to the fractional value of the calculation result before the process. May be.
[0037]
The clip processing unit 23 of the arithmetic circuit 3 determines that the supplied 12-bit arithmetic result value is 512 (= 2).Ten/ 2) If the value is greater than or equal to 511, the value is changed to 511. If the value is smaller than -512, the value is changed to -512.
[0038]
The selector 5 is configured to store the two data (calculation results) calculated by the arithmetic circuit 3 at the addresses of the memory 4 in which the two data before the calculation are stored.
[0039]
The selector 5 outputs the calculation result of the eleventh butterfly calculation supplied from the calculation circuit 3 to the output buffer 6.
[0040]
The output buffer 6 temporarily stores the data (operation result) supplied from the selector 5 and outputs it to a predetermined circuit (for example, the deinterleave circuit and error correction circuit 95 in FIG. 5). The output buffer 6 can output the data supplied from the selector 5 after, for example, shifting the data by 3 bits to the MSB (Most Significant Bit) side in accordance with the signal level in the subsequent circuit.
[0041]
Next, the operation of this embodiment will be described with reference to the flowchart of FIG.
[0042]
First, in step S1, the input buffer 1 receives 2,048 pieces of data that have been DQPSK modulated by, for example, the OFDM method from a predetermined circuit (for example, the A / D converter 93 in FIG. 5).
[0043]
In step S2, the selector 2 receives 2,048 pieces of data from the input buffer 1 (in the case of the first stage butterfly calculation) or the memory 4 (in the case of the second to eleventh stage butterfly calculations). Two predetermined data items are read out, and the data items are output to the butterfly operation unit 21 of the operation circuit 3.
[0044]
In step S3, the butterfly computation unit 21 performs a butterfly computation (A + W) on the two supplied data A and B.kB), and outputs two calculation results to the bit shift processing unit 22.
[0045]
At this time, as shown in FIG. 3, the dynamic range of the real part and the dynamic range of the imaginary part of the two supplied data A and B are the interval [-a, a] (that is, data A and B (complex numbers)). The dynamic range of) is a square area having a side of 2a with the origin of the complex plane as the center.kIs an operator that rotates the position by a predetermined angle around the origin, so that the rotation operator W in the butterfly calculationkResult of multiplication of B and BkThe dynamic range of the real part and the dynamic range of the imaginary part of B are the interval [-21/2a, 21/2a].
[0046]
In addition, WkThe sum of B and A, that is, the dynamic range of the real part and the dynamic range of the imaginary part of the result of the butterfly operation, is calculated by the interval [− (1 + 21/2) A, (1 + 21/2) A].
[0047]
For example, the values of the data A and B are A = a + j · a, B = a + j · a, and the rotation operator WkBut Wk= 2-1/2-J ・ 2-1/2Wk・ B is 21/2a + j · 0, and A + WkB is (1 + 21/2) A + j · a. Thus, the calculation result A + W in this casekReal part of B (1 + 21/2) A is the dynamic range [− (1 + 21/2) A, (1 + 21/2) A] upper limit value.
[0048]
When performing a predetermined n-stage (n> 1) butterfly operation on data in which the dynamic range of the real part and the imaginary part is in the interval [−a, a], the first to (n−) th stages are used. 1) In the stage, the rotation operator W whose value is 1k(The dynamic range of the real part and the imaginary part of the (n−1) -th stage operation result is the interval [−2].n-1a, 2n-1a]), in the nth stage, for example, the value is 2-1/2-J ・ 2-1/2Rotation operator WkWhen the butterfly operation is performed with the upper limit value of the dynamic range of the real part and the imaginary part (2n-1(1 + 21/2A) and lower limit (-2)n-1(1 + 21/2A) occurs.
[0049]
That is, when the n-th stage butterfly operation is performed on data whose dynamic range of the real part and the imaginary part is the interval [−a, a], the real part and the imaginary part of the operation result of the n-th butterfly operation The dynamic range of the section [-2n-1(1 + 21/2A, 2n-1(1 + 21/2) A].
[0050]
Next, in step S4, the bit shift processing unit 22 determines whether or not the number of stages of the current butterfly operation is any one of the fifth stage, the seventh stage, and the tenth stage. If it is determined that the number of operation stages is any one of the fifth, seventh, and tenth stages, the process proceeds to step S5 to perform bit shift processing.
[0051]
In step S5, the bit shift processing unit 22 bit-shifts the calculation result supplied from the butterfly calculation unit 21 by 1 bit to the LSB side, and decreases the absolute value of the calculation result. Then, the bit shift processing unit 22 outputs the calculation result to the clip processing unit 23.
[0052]
On the other hand, if it is determined in step S4 that the number of stages of the current butterfly operation is not any of the fifth, seventh, and tenth stages, step S5 is skipped, and the bit shift processing unit 22 Without doing anything, the calculation result supplied from the butterfly calculation unit 21 is output to the clip processing unit 23.
[0053]
That is, as shown in FIG. 4, the bit shift processing unit 22 applies all the calculation results of the fifth stage, the seventh stage, and the tenth stage of the butterfly calculations of all 11 stages. Bit shift is performed on the data to compress the dynamic range of the data to ½.
[0054]
Actual data (real part or imaginary part) in this embodiment (data subjected to QPSK modulation in the OFDM system assuming that the amplitude distribution is a Gaussian distribution (standard deviation is 1/8 of the dynamic range)) According to the result of previously simulating the distribution of the values of the values, the value distribution width is expanded by about 1.5 times by the first stage butterfly calculation, and by the first and second stage butterfly calculations. About 2.2 times. Furthermore, the width in which the values are distributed is expanded by about 3.2 times by the first to third butterfly operations, and is about 4.5 times by the first to fourth butterfly operations. To spread. Then, by the 11-stage butterfly operation, the width in which the values are distributed is expanded by about 13.7 times.
[0055]
Thus, the actual data value distribution width is narrower than the dynamic range. However, the width of the actual distribution of the values of the real part and the imaginary part of the input data (data before performing the butterfly operation) varies depending on the data modulation method.
[0056]
Based on the result of this simulation, in the apparatus of the present embodiment, the calculation result of the fifth stage butterfly calculation in which the value of the real part or the imaginary part of the data becomes greater than 512 or −513 is increased. On the other hand, the first bit shift processing is performed, the dynamic range of the data is compressed to ½, and then the probability that the value of the real part or the imaginary part of the data is 512 or more or −513 or less increases. A second bit shift process is performed on the calculation result of the butterfly calculation at the stage, and a third bit shift process is performed on the calculation result of the butterfly calculation at the tenth stage. The dynamic range is compressed to ½.
[0057]
Next, in step S6, the clip processing unit 23 determines whether the value of the calculation result supplied from the bit shift processing unit 22 is 512 or more, and whether the value of the calculation result is smaller than −512. If it is determined that the value of the calculation result is 512 or more, or if it is determined that the value of the calculation result is smaller than −512, the process proceeds to step S7.
[0058]
In step S7, when the value of the calculation result is 512 or more, the clip processing unit 23 changes the value of the calculation result to 511. When the value of the calculation result is smaller than −512, the clip processing unit 23 sets the value of the calculation result to − After changing to 512, the calculation results are output to the selector 5.
[0059]
On the other hand, if it is determined in step S6 that the value of the calculation result is smaller than 512 and equal to or greater than −512, step S7 is skipped, and the clip processing unit 23 does not do anything and sends the calculation result to the selector 5. Output.
[0060]
Note that the clip processing unit 23 converts the 12-bit operation result to 10 bits (the lower 9 bits of the 12-bit data are used as the lower 9 bits of the 10-bit data, After the value of the sign bit of the data is set to the value of the sign data of 10-bit data), it is output to the selector 5.
[0061]
Further, according to the result of the simulation described above, in the present embodiment, in the butterfly calculation other than the fifth stage, the seventh stage, and the tenth stage, the calculation result is 512 or more or −513 or less. Since the probability is small, only the clipping process is performed on the data (real part or imaginary part) that is 512 or more or −513 or less, and all the data is set to the value of the interval [−512, 511].
[0062]
Note that a truncation error occurs when the above bit shift process is performed, and a distortion error occurs when the clip process is performed, but according to the results of the above simulation, the calculation accuracy required for practical use is ensured. Therefore, no particular problem occurs.
[0063]
Next, in step S8, the selector 5 uses the calculation result supplied from the clip processing unit 23 of the calculation circuit 3 as the address (first to tenth stages) of the memory 4 where the selector 2 reads the data. (In the case of butterfly calculation) or stored in the output buffer 6 (in the case of the 11th stage butterfly calculation).
[0064]
In step S9, the arithmetic circuit 3 determines whether or not the butterfly operation has been performed on all the data in the current stage. If there is still data that has not been subjected to the butterfly operation, step S2 The butterfly operation is performed on these data.
[0065]
On the other hand, if the butterfly operation is performed on all the data in the current stage, the process proceeds to step S10.
[0066]
In step S10, the arithmetic circuit 3 determines whether or not the eleventh butterfly operation has been completed (that is, whether or not all eleventh butterfly operations have been completed), and the eleventh butterfly operation. If it is determined that the calculation has not ended, the process returns to step S2 to perform the next stage butterfly calculation.
[0067]
On the other hand, if it is determined that the 11th stage butterfly computation has been completed, the process proceeds to step S11, and the output buffer 6 uses the data (calculation result) after performing the 11th stage butterfly computation to a predetermined circuit (for example, The data is output to the deinterleave circuit and error correction circuit 95) of FIG.
[0068]
As described above, among the 11 stages of butterfly computations, the bit shift process is performed on the computation results of the 5th stage, the 7th stage, and the 10th stage butterfly computation, thereby obtaining one data (real part). Alternatively, an FFT operation is performed on 2,048 points of 8-bit input data in a 10-bit memory (storage area) per imaginary part).
[0069]
In this embodiment, 2,048 points of FFT calculation are performed. However, the number of data is not limited to 2,048 points. By changing the configuration of the apparatus, the number of data can be changed. An FFT operation can be performed. In this case, the stage for performing the bit shift process can be easily calculated by the above-described simulation.
[0070]
Moreover, in the said Example, although FFT calculation is performed, IFFT (Inverse FFT) calculation can be performed by changing the order of the rotation operator to be used. A device that performs such an IFFT operation can be used when a predetermined signal is modulated by the OFDM method in a transmitting device that transmits a modulated signal to the above-described receiving device.
[0071]
【The invention's effect】
  As above,According to the first aspect of the present invention, when an FFT operation with a predetermined number of points is performed on an input signal modulated by a predetermined modulation method using the OFDM method, the number of stages corresponding to the number of points for the input signal The butterfly calculation is performed, the clipping process is performed on the result of the butterfly calculation at each stage, and the bit shift is performed at a stage set in advance based on the modulation method.
  According to the second aspect of the present invention, when an IFFT operation is performed on an input signal having a predetermined number of points modulated by a predetermined modulation method using the OFDM method, the input signal corresponds to the number of points. The butterfly operation of the number of stages is performed, clip processing is performed on the result of the butterfly operation of each stage, and bit shift is performed at a stage set in advance based on the modulation method.
  In any case, as a result,Without providing a circuit or the like for monitoring overflow, the number of bits per data can be reduced and the FFT operation can be performed, and the cost of the apparatus can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of an arithmetic unit according to the present invention.
FIG. 2 is a flowchart for explaining the operation of the embodiment of FIG. 1;
FIG. 3 is a diagram illustrating an example of a dynamic range of a result of multiplication in a butterfly operation.
FIG. 4 is a diagram for explaining the signal flow of the embodiment of FIG. 1;
FIG. 5 is a block diagram illustrating a configuration example of a DAB receiving apparatus.
FIG. 6 is a diagram for explaining an example of an FFT signal flow;
[Explanation of symbols]
1 input buffer, 2 selector, 3 operation circuit, 4 memory, 5 selector, 6 output buffer, 21 butterfly operation unit, 22 bit shift processing unit, 23 clip processing unit, 91 antenna, 92 tuner, 93 A / D converter, 94 FFT circuit, 95 deinterleave circuit and error correction circuit, 96 decoding circuit, 97, 98 speaker, 99 additional data output circuit

Claims (8)

OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算を行う演算装置であって、An arithmetic device that performs a predetermined number of FFT operations on an input signal modulated by a predetermined modulation method using an OFDM system,
前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算回路と、A butterfly operation circuit for performing a butterfly operation of the number of stages corresponding to the number of points for the input signal;
各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理回路とを備え、A clip processing circuit that performs clip processing on the result of the butterfly computation at each stage;
前記バタフライ演算回路は、前記変調方法に基づき予め設定された段においてビットシフトを行うThe butterfly operation circuit performs bit shift at a preset stage based on the modulation method.
ことを特徴とする演算装置。An arithmetic device characterized by that.
前記所定の変調方法がQPSK変調で、前記所定の点数が2048点であるとき、前記バタフライ演算の第5段目、第7段目、および、第10段目においてビットシフトを行う
ことを特徴する請求項1に記載の演算装置
When the predetermined modulation method is QPSK modulation and the predetermined number of points is 2048 , bit shift is performed in the fifth, seventh, and tenth stages of the butterfly computation . The arithmetic device according to claim 1.
前記バタフライ演算回路においてビットシフトを行わない段の演算結果に対し、前記クリップ処理回路においてクリップ処理を行う
ことを特徴とする請求項2に記載の演算装置
3. The arithmetic device according to claim 2 , wherein the clip processing circuit performs a clipping process on an operation result at a stage where no bit shift is performed in the butterfly arithmetic circuit .
前記変調方法における値の分布をシミュレーションすることにより、前記バタフライ演算においてビットシフトを行う段が決定される
ことを特徴とする請求項1記載の演算装置。
The computing device according to claim 1 , wherein a stage for performing bit shift in the butterfly computation is determined by simulating a distribution of values in the modulation method .
前記入力信号は、DAB方式で放送され受信された信号であるThe input signal is a signal broadcast and received in the DAB format.
ことを特徴とする請求項1記載の演算装置。The arithmetic unit according to claim 1.
OFDM方式を用いて所定の変調方法で変調した所定の点数の入力信号に対し、IFFT演算を行う演算装置であって、An arithmetic device that performs an IFFT operation on a predetermined number of input signals modulated by a predetermined modulation method using an OFDM method,
前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算回路と、A butterfly operation circuit for performing a butterfly operation of the number of stages corresponding to the number of points for the input signal;
各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理回路とを備え、A clip processing circuit that performs clip processing on the result of the butterfly computation at each stage;
前記バタフライ演算回路は、前記変調方法に基づき予め設定された段においてビットシフトを行うThe butterfly operation circuit performs bit shift at a preset stage based on the modulation method.
ことを特徴とする演算装置。An arithmetic device characterized by that.
OFDM方式を用いて所定の変調方法で変調された入力信号に対し、所定の点数のFFT演算を行う演算方法であって、An arithmetic method for performing a predetermined number of FFT operations on an input signal modulated by a predetermined modulation method using the OFDM method,
前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算ステップと、A butterfly calculation step for performing butterfly calculation of the number of stages corresponding to the number of points for the input signal;
各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理ステップとを備え、A clip processing step for performing clip processing on the result of the butterfly computation at each stage,
前記バタフライ演算ステップにおいては、前記変調方法に基づき予め設定された段においてビットシフトを行うIn the butterfly calculation step, bit shift is performed at a preset stage based on the modulation method.
ことを特徴とする演算方法。An arithmetic method characterized by the above.
OFDM方式を用いて所定の変調方法で変調した所定の点数の入力信号に対し、IFFT演算を行う演算方法であって、An arithmetic method for performing an IFFT operation on a predetermined number of input signals modulated by a predetermined modulation method using an OFDM method,
前記入力信号に対し、前記点数に対応した段数のバタフライ演算を行うバタフライ演算ステップと、A butterfly calculation step for performing butterfly calculation of the number of stages corresponding to the number of points for the input signal;
各段の前記バタフライ演算の結果に対しクリップ処理を行うクリップ処理ステップとを備え、A clip processing step for performing clip processing on the result of the butterfly computation at each stage,
前記バタフライ演算ステップにおいては、前記変調方法に基づき予め設定された段においてビットシフトを行うIn the butterfly calculation step, bit shift is performed at a preset stage based on the modulation method.
ことを特徴とする演算方法。An arithmetic method characterized by the above.
JP20154696A 1996-07-31 1996-07-31 Calculation method and calculation device Expired - Fee Related JP3791561B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20154696A JP3791561B2 (en) 1996-07-31 1996-07-31 Calculation method and calculation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20154696A JP3791561B2 (en) 1996-07-31 1996-07-31 Calculation method and calculation device

Publications (2)

Publication Number Publication Date
JPH1049516A JPH1049516A (en) 1998-02-20
JP3791561B2 true JP3791561B2 (en) 2006-06-28

Family

ID=16442852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20154696A Expired - Fee Related JP3791561B2 (en) 1996-07-31 1996-07-31 Calculation method and calculation device

Country Status (1)

Country Link
JP (1) JP3791561B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3609355B2 (en) * 2000-07-24 2005-01-12 シャープ株式会社 OFDM demodulator
US7835454B2 (en) * 2004-04-30 2010-11-16 Analog Devices, B.V. Multicarrier modulation systems
JP5241594B2 (en) * 2009-04-30 2013-07-17 三菱電機株式会社 Radar signal processing device

Also Published As

Publication number Publication date
JPH1049516A (en) 1998-02-20

Similar Documents

Publication Publication Date Title
JP3821316B2 (en) Arithmetic apparatus and method
EP0855657B1 (en) Fast fourier transforming apparatus and method
JP2628327B2 (en) In particular, methods and equipment for digital communication between and to mobile vehicles
CN102158454B (en) OFDM generation apparatus in a multi-carrier data transmission system
KR100958231B1 (en) Fast fourier transform processing in an ofdm system
US4881241A (en) Method and installation for digital communication, particularly between and toward moving vehicles
US7693034B2 (en) Combined inverse fast fourier transform and guard interval processing for efficient implementation of OFDM based systems
CN1902876B (en) Method and apparatus for modulation and demodulation of OFDM signals
US6747946B1 (en) Method and apparatus for transmitting orthogonal-multi-carrier signal
CN100591060C (en) Apparatus, method and program for correcting common phase error of OFDM signal symbols
US20060224651A1 (en) Combined IFFT and FFT system
JP3399541B2 (en) Frequency correction method in multi-carrier transmission system
JP3791561B2 (en) Calculation method and calculation device
US20060200513A1 (en) Fast Fourier transform processor and method capable of reducing size of memories
US20020064173A1 (en) Broadcasting apparatus using OFDM modulation method
US7864874B2 (en) OFDM communications system employing crest factor reduction with ISI control
JP3668356B2 (en) Fast Fourier transform circuit
JPH08228186A (en) Multiple carrier transmission device
Foomooljareon et al. Input sequence envelope scaling in PAPR reduction of OFDM
JP2009521153A (en) Method for receiving multicarrier signal, method for transmitting the same, receiver and transmitter
WO2002049251A1 (en) Receiving device and method
US6563865B1 (en) Communication apparatus
JP2001186104A (en) Orthogonal multicarrier signal transmitter, transmission method for orthogonal multicarrier signal
JPH11110370A (en) Fast fourier transforming device and method, variable bit reverse circuit, inverse fast fourier transforming device and method and ofdm receiving and transmitting device
JP3541526B2 (en) Frequency division multiplex signal generation method and decoding method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

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: 20060315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060328

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees