(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-28
(45)【発行日】2024-03-07
(54)【発明の名称】レーダーハードウェアアクセラレータ
(51)【国際特許分類】
G01S 7/35 20060101AFI20240229BHJP
G01S 13/34 20060101ALI20240229BHJP
【FI】
G01S7/35
G01S13/34
(21)【出願番号】P 2022130565
(22)【出願日】2022-08-18
(62)【分割の表示】P 2018566267の分割
【原出願日】2017-06-16
【審査請求日】2022-09-19
(32)【優先日】2016-06-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】サンディープ ラオ
(72)【発明者】
【氏名】カーティク ラマスブラマニアン
(72)【発明者】
【氏名】インドゥ プラサパン
(72)【発明者】
【氏名】ラグ ガネサン
(72)【発明者】
【氏名】パンカージ グプタ
【審査官】佐藤 宙子
(56)【参考文献】
【文献】米国特許出願公開第2012/0235855(US,A1)
【文献】米国特許第06380887(US,B1)
【文献】独国特許発明第102005037628(DE,B3)
【文献】米国特許出願公開第2008/0106460(US,A1)
【文献】特開平09-261008(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/00- 7/42
G01S 13/00-13/95
(57)【特許請求の範囲】
【請求項1】
レーダーハードウェアアクセラレータ(HWA)であって、
高速フーリエ変換(FFT)エンジンであって、
サンプルのセットを受信し、第1の中間サンプルのセットを提供するよう
に構成される事前処理ブロックであって、前記サンプルのセットを受信するように結合される入力を有する回路であって、前記第1の中間サンプルのセットを提供するために前記サンプルのセットに事前処理演算を
選択的に実行するように構成される、前記回路を含む、前記事前処理ブロックと、
前記事前処理ブロックに結合されるウィンドイングプラスFFTブロックであって、FFTブロックを含み、第
2の中間サンプルのセットを提供するために前記
第1の中間サンプルのセットをウィンドウベクトルで乗算するように構成され、前記FFTブロックが、フーリエ変換されたサンプルを生成するために前記第
2の中間サンプルのセットにFFTを実行するように構成される、前記ウィンドイングプラスFFTブロックと、
前記ウィンドイングプラスFFTブロックに結合される事後処理ブロックであって、前記フーリエ変換されたサンプルの大きさを計算するように構成される、前記事後処理ブロックと、
を含み、
前記事前処理ブロックと前記ウィンドイングプラスFFTブロックと前記事後処理ブロックとが、1つのストリーミング直列データ経路に接続される、レーダーHWA。
【請求項2】
請求項1に記載のレーダーHWAであって、
対数大きさ事前処理ブロックと、バックグラウンドに対するレーダーターゲット反射(returns)を検出するように構成される一定誤警報率(CFAR)検出器とを含む前記ストリーミング直列データ経路に平行なCFAR検出経路におけるCFARエンジンを更に含む、レーダーHWA。
【請求項3】
請求項1に記載のレーダーHWAであって、
前記事前処理ブロックが、前記第1の中間サンプルのセット
を提供するために前記サンプルのセットに前記事前処理
演算を
実行するように前記回路を選択的にイネーブルするように結合される第1のイネーブル回路を更に含む、レーダーHWA。
【請求項4】
請求項1に記載のHWAであって、
前記ウ
ィンドイングプラスFFTブロックが、前記事前処理されたサンプルのセットが前記ウ
ィンドウベクトルで乗算されるかどうかを判定するように結合される第2のイネーブル回路を更に含む、HWA。
【請求項5】
請求項1に記載のHWAであって、
前記事後処理ブロックが、事後処理演算が実行されるかどうかを判定するように結合される第3のイネーブル回路を含む、HWA。
【請求項6】
請求項1に記載のレーダーHWAであって、
少なくとも半導体表面を提供する基板を更に含み、
前記HWAが前記半導体表面に形成される、レーダーHWA。
【請求項7】
請求項1に記載のレーダーHWAであって、
前記事前処理ブロックの前記回路によって実行される前記事前処理演算が、有限インパルス応答(FIR)フィルタリングを含む、レーダーHWA。
【請求項8】
請求項1に記載のレーダーHWAであって、
前記事前処理ブロックの前記回路によって実行される前記事前処理演算が、出力バッファをも含むスプリットアクセラレータローカルメモリ内のADCバッファから受信される前記サンプルのセットを事前プログラムされた複素スカラー又は内部ルックアップテーブル(LUT)からの特定されたサンプルで乗算することを含む、レーダーHWA。
【請求項9】
レーダーサブシステムであって、
レーダーデータサンプルストリームを記憶するように構成されるADC入力バッファ(ADCバッファ)と、出力バッファとを含むスプリットアクセラレータローカルメモリと、
前記ADCバッファに結合され、前記レーダーデータサンプルストリームを受信して前記レーダーデータサンプルストリームを処理するように構成されるハードウェアアクセラレータ(HWA)であって、
高速フーリエ変換(FFT)エンジンであって、
中間サンプル
のセットを生成するように構成される事前処理ブロックであって、
入力と出力とを含む回路であって、
前記中間サンプルのセットを提供するために前記レーダーデータサンプルストリームに事前処理演算を
選択的に実行するように構成される、前記回路と、
前記回路の出力に結合される第1の入力と、前記
回路の入力に結合される第
2の入力と、前記
中間サンプル
のセットを提供するように結合される出力とを有するマルチプレクサと、
を含む、前記事前処理ブロックと、
前記事前処理ブロックに結合されるウィンドイングプラスFFTブロックであって、前記
中間サンプル
のセットをウィンドウベクトルで乗算し、フーリエ変換されたサンプルを生成するためにFFTを実行する
、ように構成される、前記ウィンドイングプラスFFTブロックと、
前記ウィンドイングプラスFFTブロックに結合される事後処理ブロックであって、事後処理されたレーダーデータを生成するため
に前記フーリエ変換されたサンプルの大きさを計算するように構成され、前記事後処理されたレーダーデータを前記出力バッファに転送するために前記出力バッファの入力に結合される出力を含む、前記事後処理ブロックと、
を含む、前記FFTエンジンと、
状態機械に結合されるパラメータセット構成メモリであって、いずれも、前記事前処理ブロックと前記ウィンドイングプラスFFTブロックと前記事後処理ブロックとを制御する
ために
前記スプリットアクセラレータローカルメモリと外部メモリとの間の演算及びデータ搬送の連鎖シーケンスの実行のためのパラメータセットをシーケンス処理する
ようにバスにより前記FFTエンジンに結合される、前記パラメータセット構成メモリと、
を含む、前記HWAと、
を含む、レーダーサブシステム。
【請求項10】
請求項9に記載のレーダーサブシステムであって、
前記HWAが、前記事前処理ブロックと前記ウィンドイングプラスFFTブロックと前記事後処理ブロックとを含むストリーミング直列データ経路に平行な一定誤警報率(CFAR)検出経路におけるCFARエンジンであって、バックグラウンドに対するレーダーターゲット反射を検出するように構成される対数大きさ前処理ブロック及びCFAR検出器を含む
、前記CFARエンジンを更に含む、レーダーサブシステム。
【請求項11】
請求項9に記載のレーダーサブシステムであって、
少なくとも半導体表面を提供する基板を更に含み、
前記HWAが前記半導体表面に形成される、レーダーサブシステム。
【請求項12】
請求項9に記載のレーダーサブシステムであって、
前記ウ
ィンドイングプラスFFTブロックが、前記事前処理されたサンプルが前記ウ
ィンドウベクトルで乗算されるかどうかを判定するように結合される第1のイネーブル回路を含む、レーダーサブシステム。
【請求項13】
請求項9に記載のレーダーサブシステムであって、
前記事後処理ブロックが、事後処理演算が実行されるかどうかを判定するように結合される第2のイネーブル回路を更に含む、レーダーサブシステム。
【請求項14】
請求項9に記載のレーダーサブシステムであって、
前記事前処理ブロックが、干渉軽減を実行するように更に構成される、レーダーサブシステム。
【請求項15】
請求項9に記載のレーダーサブシステムであって、
前記事前処理ブロックの回路によって実行される前記事前処理演算が、有限インパルス応答(FIR)フィルタリングを含む、レーダーサブシステム。
【請求項16】
請求項9に記載のレーダーサブシステムであって、
前記事前処理ブロックの回路によって実行される前記事前処理演算が、前記レーダーデータサンプルストリームを事前にプログラムされた複素スカラー又は内部ルックアッップテーブル(LUT)からの特定されたサンプルで乗算することを含む、レーダーサブシステム。
【請求項17】
方法であって、
レーダーシステムのハードウェアアクセラレータ(HWA)によって、周波数変調連続波(FMCW)レーダーサンプルのセットを受信することと、
前記HWAによって、第1の中間サンプルのセットを
提供するために第1の回路を用いて前記FMCWレーダーサンプルのセットに乗算演算を実行する、又は
第1の中間サンプル
のセットを
提供するために前記第1の回路を迂回する
、かどうかを判定することと、
前記HWAによって、第2の中間サンプルのセットを
提供するために前記
第1の中間サンプル
のセットにウ
ィンドイング演算を実行することと、
前記HWAによって、フーリエ変換されたサンプル
のセットを生成するために前記
第2の中間サンプルのセットに高速フーリエ変換(FFT)を実行することと、
を含む、方法。
【請求項18】
請求項17に記載の方法であって、
前記
HWAによってウィンドイング演算を実行することが、前記
第2の中間サンプルのセットを
提供するために第2の回路を用いて前記
第1の中間サンプル
のセットに前記ウ
ィンドイング演算を実行する、又は前記
第2の中間サンプルのセットを
提供するために前記第2の回路を迂回する
、かどうかを判定することを含む、方法。
【請求項19】
請求項17に記載の方法であって、
前記HWAによって、第2の回路を用いて前記
第1の中間サンプル
のセットに有限インパルス応答フィルタリング演算を実行する、又は前記第2の回路を迂回する
、かどうかを判定することを更に含む、方法。
【請求項20】
請求項19に記載の方法であって、
前記
HWAによって乗算演算を実行することを判定するが、前記FMCWレーダーサンプルのセットに前記乗算演算を実行するかどうかを独立に判定することと、前記有限インパルス応答フィリタリング演算を実行するかどうかを判定することとを含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、レーダーシステムのためのハードウェアアクセラレータに関連する。
【背景技術】
【0002】
レーダーは、飛行機、軍用標的、車両、及び歩行者などのターゲットオブジェクトを検出するために多くの用途において用いられる。レーダーは、アダプティブクルーズコントロール、衝突警告、死角警告、レーン変更支援、駐車支援、及び後方衝突警告のためなど、自動車に関連する多くの応用例において、用途が見出されている。パルスレーダー又は周波数変調連続波(FMCW)レーダーが、従来、そのような応用例において用いられている。
【0003】
レーダーシステムでは、局部発振器(LO)が送信信号を生成する。電圧制御発振器(VCO)が、電圧変動を対応する周波数変動に変換する。送信信号は、増幅されて一つ又は複数の送信ユニットにより送信される。FMCWレーダーでは、送信信号の周波数は、時間と共に線形に変動する。この送信信号は、ランプ信号又はチャープ信号と称される。一つ又は複数の障害物が、送信信号を拡散(又は反射)し、これが、FMCWレーダーシステムにおける一つ又は複数の受信ユニットにより受信される。
【0004】
送信されたLO信号と、中間周波数(IF)信号と称される受信した拡散された信号とを混合するミキサからベースバンド信号が得られる。IF信号は、増幅器及びアンチエイリアスフィルタを含む調整回路によって調整された信号であり、アナログデジタルコンバータ(ADC)によりサンプリングされ、その後、拡散を提供する一つ又は複数の近くの障害物の距離及び速度を推定するためにプロセッサ(例えば、マイクロプロセッサ)によって処理される。デジタル化されたIF信号の高速フーリエ変換(FFT)における各ピークは、オブジェクトに対応する。IF信号の周波数は、障害物のレンジ(距離)に比例する。
【0005】
77GHzのオートモーティブレーダーは、急速に成長している市場セグメントであり、種々の既存の及び新たな応用例がある。例えば、送信されたチャープ信号の周波数は、約100マイクロ秒の期間で77GHzから81GHzまで一定の線形ランプレートで増大するように制御され得る。FMCW変調は、大きなRF掃引帯域幅(高範囲解像度を可能にする)を含む種々の利点のため好ましいレーダー選択肢である一方で、IF/ADC帯域幅を小さく、及びパルスレーダーに比して必要とされるピーク電力消費を低く保つ。
【0006】
FMCWレーダーシステム(先進運転支援システム(ADAS)のためなど))のための信号処理は、典型的に、レーダーマイクロコントローラユニット(MCU)を用いて実施される。レーダーMCUは、概して、オブジェクト検出及び追跡のため、FFTハードウェアアクセラレータ及びロックステップセーフティ中央処理装置(CPU)を含む。
【0007】
FMCWレーダー信号処理は、第1の次元の(レンジ)FFT、第2の次元の(ドップラー)FFT、及び第3の次元の到来角推定処理(ビームフォーミング)の演算を含む3次元と称されるものを生成することに関与する。高速(鋸歯)FMCWレーダー波形を用いる利点は、レーダーにより照射されるオブジェクトの二次元レンジ速度図を提供し得ること、また、デジタルビームフォーミングを用いた複数のTX/RXアンテナの利用を介して到来角が得られることである。
【発明の概要】
【0008】
記載される例において、レーダーハードウェアアクセラレータ(HWA)が、高速フーリエ変換(FFT)エンジンを含み、FFTエンジンは、事前処理されたサンプルを生成するために、干渉緩和、有限インパルス応答(FIR)フィルタリング、及び、出力バッファも含むスプリットアクセラレータローカルメモリ内のADCバッファから受信したレーダーデータサンプルを、事前プログラムされた複素スカラーで又は内部ルックアップテーブル(LUT)からの特定されたサンプルで乗算することの少なくとも一つを提供する前処理ブロックを含む。ウィンドイングプラス(windowing plus)FFTブロック(ウィンドウされたFFTブロック)は、前処理されたサンプルをウィンドウベクトルで乗算し、その後、フーリエ変換されたサンプルを生成するためにFFTを実行するためのFFTブロックによるその後の処理のためである。後処理ブロックは、フーリエ変換されたサンプルの大きさを演算し、後処理されたレーダーデータを生成するためのデータ圧縮オペレーションを実施するためである。処理ブロック、ウィンドウされたFFTブロック、及び後処理ブロックは、一つのストリーミング直列データ経路において接続され、これによりレイテンシーが低減される。
【図面の簡単な説明】
【0009】
【
図1】例示の一実施例に従った、レーダー信号処理のためのHWAを含むレーダーシステム部のブロック図表現である。
【0010】
【
図2】例示の一実施例に従った、マイクロプロセッサとして示されるプロセッサにバスによりインタフェースされる一例のHWA実装において示される例示のHWAを含むレーダーサブシステムを示す。
【発明を実施するための形態】
【0011】
図面において、同様の参照番号は、同様の又は同等の要素を指すために用いられる。幾つかの例示される行為又は事象は、異なる順で及び/又は他の行為又は事象と同時に起こり得る。また、幾つかの例示される行為又は事象は、本記載に従った方法論を実装するために必ずしも要求されるわけではない。
【0012】
また、用語「に結合される」又は「と結合する」(及び同様のもの)は、本明細書において更なる限定なしに用いられる場合、間接的又は直接的な電気的接続を示す。そのため、第1のデバイスが第2のデバイスに結合する場合、この接続は、その経路に寄生成分のみ存在する直接的電気的接続を介するもの、又は他のデバイス又は接続を含む介在要素を介する間接的電気的接続を介するものであり得る。間接的結合では、介在要素は、概して、信号の情報を変更しないが、その電流レベル、電圧レベル、及び/又はパワーレベルを調節し得る。
【0013】
FMCWレーダー信号処理のための従来のハードウェアアクセラレータ(HWA)アーキテクチャは、幾つかの問題を有する。このような問題には、レイテンシー、データをHWAに及びHWAからシーケンスする際の柔軟性の欠落、及び、HWAによってなされるレーダー信号処理がプロセッサ介在に依存することが含まれる。
【0014】
説明されるHWAは、プロセッサからHWAへの頻繁に用いられる幾つかのレーダー信号処理演算の負担軽減のためのサポートを用いて、カスタマーに対する高性能及び柔軟性を可能にする幾つかの固有の特徴を含むことによってこれらの問題を解決する。
【0015】
図1は、複数のFFT計算又は演算を実行することを含むレーダー信号処理のためのFFTエンジンを提供するHWA125を含む例示のレーダーシステム部100のブロック図表現である。
図2は、マイクロプロセッサ(μP)135’として示されるプロセッサにバス145によりインタフェースされる一例のHWA実装において示される例示のHWA125’を含む例示のレーダーサブシステム200を示す。
【0016】
これらのFFT演算は、第1次元(レンジ)FFT、第2次元(ドップラー)FFT、及び第3次元の到来角推定処理(ビームフォーミング)の演算を含む、上述の3つの次元を得ることを含む。HWA125は
図1に示され、コア演算ユニットを有する
図2におけるHWA125’は、一つのストリーミング直列データ経路において共に接続される、前処理ブロック211、ウィンドウされたFFTブロック212、及び後処理ブロック213を含む。HWA125は、FMCWレーダーレシーバにおける頻繁に用いられる信号処理演算のためのコンパクトな(即ち、低面積の))実装を可能にする。
【0017】
前処理ブロック211、ウィンドウされたFFTブロック212、及び後処理ブロック213の各々は、前処理ブロック211、ウィンドウされたFFTブロック212、及び後処理ブロック213の任意の組み合わせのためにイネーブル/バイパス(ディセーブル)する独立したマルチプクレス制御を提供するため、
図1に示される独立したイネーブル(EN)回路を含む。これにより、より大きな柔軟性が提供される一方で、カスタマーが種々の処理工程を実装するためにHWA125を用いることを可能にする複数のアクセラレータオペレーションが連鎖処理される。イネーブル/ディセーブルを含むブロックの各々のための全構成(前処理ブロック211、ウィンドウされたFFTブロック212、後処理ブロック213、及び、後述される
図2における、任意選択の一定誤警報率(CFAR)エンジン220及びCFAR検出器222)が、
図2に示すμP135’と状態機械240で
図2に示すパラメータセット構成セット構成メモリ235にプログラムされ、その後、パラメータセット構成メモリ235のプログラムされた内容に従って各ブロックを構成する。
【0018】
信号処理工程レーダーシステム部100は、ウィンドウされたFFTブロック212を用いて各送信されたチャープに対応するADCバッファ120からのデータサンプルに対して第1次元(レンジ)FFTを演算することに関与するオブジェクトの3次元画像を得ることを実施する。その後、チャープにわたって実施される第2次元(ドップラー)FFTが続き、ここで、レンジFFTサンプルは、第1次元FFTに比して転置順で、ウィンドウされたFFTブロック212にフィードされる。また、到来角推定も、ウィンドウされたFFTブロック212によるFFT演算に関与するが、入力における更に別の転置を備える。また、HWA125は、ウィンドウされたFFTブロック212により提供されるFFT演算からを得たレーダー画像の大きさ又は対数大きさ( log-magnitude)を任意選択で演算するために後処理ブロック213を有する。更に及び任意選択で、複数のアンテナにわたるレーダー画像の大きさ又は対数大きさの和が、FFTエンジン210を介して後処理ブロック213の出力において得られる対応するサンプルをアンテナにわたって通過させ、FFTエンジン出力の第1のサンプルのみを保持することにより得られる。これは、FFT演算の第1の出力がサンプルの和を表すという事実を利用する。そのため、4つのアンテナにわたる和を演算するため、アンテナにわたり各4つの対応するサンプルに対して4ポイントFFTが演算され得る。説明される後処理は、オブジェクト検出に対してFFTデータを準備する際に有用である。オブジェクト検出は、任意選択でCFAR検出アルゴリズム(
図2におけるCFARエンジン220参照)を用いることによりなされ得る。
【0019】
レーダーシステム部100は、通常、少なくとも半導体表面を提供する
図1において基板105として示される単一の半導体(例えば、シリコン)チップ上にある。基板105の一例は、エピタキシャルシリコン表面を有するバルクシリコン基板である。他の基板105も用いられ得る。
【0020】
レーダーシステム部100は、デジタルフロントエンド115に結合される、それぞれのアナログフロントエンド構成要素(アンテナ、パワーアンプ、ミキサ、バンドパスフィルタ、低雑音増幅器(LNA)、及びアナログデジタルコンバータ(ADC))を表わすアナログブロック110を含み、アナログブロック110はデジタルフロントエンド115に結合され、デジタルフロントエンド115は、概してデシメータを含み、デシメータは、ADCにより出力されるサンプルを、それらがADC入力バッファ対(ADCバッファ120)に提示される前にダウンサンプル及びフィルタし、ADC入力バッファ対は、HWA125に対する事前処理されたレーダーデータをストアするように機能する。オンチップで示されるが、アンテナはオフチップであってもよい。
【0021】
ADCバッファ120及び出力バッファ130はともに、HWA125に対するローカルメモリ(共に、後述される
図2におけるアクセラレータローカルメモリ217として示される)を提供する。ローカルメモリ217は、デジタルフロントエンド(例えば、
図1におけるデジタルフロントエンド115)から受信したレーダーデータサンプルをストアするためのADCバッファ120と、後処理ブロック213からの後処理されたレーダーデータを受信するための出力バッファ130とを含むスプリットメモリである。ADCバッファ120及び出力バッファ130は、それぞれ、入力バッファ及び出力バッファとして指定されるが、これらの4つのバッファの各々は、より全般的な適用範囲を有する。例えば、デジタルフロントエンドがADCバッファ120にデータをストリーミングしていない期間の間(フレーム間期間の間など)、HWA125は、任意のバッファを入力/出力バッファとして用いることができ、このような期間において、ADCバッファ120は、デジタルフロントエンド115によるサンプル出力をストアすることに限定されない汎用のバッファとして動作する。
【0022】
ローカルメモリ217のスプリット態様は、
図2に示すメモリのこれらの4ブロックの各々が、独立してアクセスされ得るようにする。しかし、非スプリットローカルメモリも可能である。ローカルメモリ217のためのスプリットメモリは、データが(外部ソースから)ピン-入力メモリに入れられ、ポン-入力バッファからのデータがFFTエンジン210にストリーミングされ得る場合など、ピンポン形式でデータ処理を実施するときに有用である。同様に、データがピン出力バッファへストリーミングされるとき、ポン-バッファからの前のデータは、外部エンティティへ搬送され得る。ピン/ポン-入力メモリ及びピン/ポン-出力メモリは、217のそれぞれのメモリブロックからアサインされ得る。
【0023】
図2に示すように、μP135’がバス145により結合されて、HWA内部メモリ(後述の
図2に示される、パラメータセット構成メモリ235及び構成レジスタ245)、ウィンドウされたFFTブロック212内のウィンドウRAM212a、及び、ADCバッファ120及び出力バッファ130を含む
図2に示すローカルメモリ217へのアクセスを可能にする。外部メモリブロック140が、ADCバッファ120、並びに、出力バッファ130及び外部メモリ140間でチャンク(ブロック)状にデータを転送するため、HWA125外部のメモリを含む。バス145は、高速インタフェース(HSI)150及びシリアルポート155に接続する。HSI 150は、オートモーティブ応用例において、通常、レーダーシステム部100と、車両のレーダーシステムの前の任意の障害物/車両のレンジ、速度、及び角度を判定するためにフレーム毎にHWAにより提供されるプロセス処理されたレーダーデータを処理する別の信号処理ユニット(
図2に示すμP135’など))との間のインタフェースを提供する。
【0024】
入力フォーマッタブロック203が、ADCバッファ120から入力サンプルを読み、それらを前処理ブロック211を含むFFTエンジン210にフィードする。入力フォーマッタブロック203は、種々のタスクを実施するように構成され得る。例えば、入力フォーマッタブロック203は、入力メモリ(ADCバッファ120)からHWAへ(後述される2Dメモリインデックスを用いて)データをストリーミングする際のかなりの柔軟性を可能にし、入力データを共役させる(conjugate)及び/又はスケーリングするように構成され得、入ってくるデータを、バイナリ位相変調(BPM)パターン(これは、1及び-1のシーケンスである)で乗算するように構成され得、また、入力メモリの循環インデックスを提供し得、これは、FFT-IFFTアプローチを用いてサブバンドフィルタリングを行うためにHWAが用いられる場合に特に有用であり得る。
【0025】
前処理ブロック211は、干渉緩和(例えば、その大きさがプログラム可能な限界を超えるレーダーサンプルからゼロ設定すること)、有限インパルス応答(FIR)フィルタリング、及び、入力フォーマッタ203から受信したレーダーデータサンプルストリームに対してコンプレクス(complex)乗算演算を実行すること、のうち少なくとも一つを提供するためである。コンプレクス乗算演算は、種々のモードの一つであるように構成され得る。周波数シフトモードでは、コンプレクス乗算器周波数は、或るプログラム可能な周波数でレーダーデータサンプルストリームを回転解除させる(de-rotates)。スカラー乗算モードでは、レーダーデータサンプルストリームは、図示されるコンプレクス乗算器ブロック211cを用いて、事前プログラムされた複素スカラーで乗算される。ベクトル乗算モードでは、コンプレクス乗算器ブロック211cは、レーダーデータサンプルストリームと、コンプレクス乗算器ブロック211cに結合されるsin,cosLUTとして示される内部ルックアップテーブル(LUT)211aにストアされている複素ベクトルとの要素毎の乗算を実行する。また、前処理ブロック211は、入力フォーマッタ203の出力とコンプレクス乗算器ブロック211cとの間に干渉緩和ブロック211dを含んで示される。干渉緩和ブロック211dは、干渉サンプルであると判定されたサンプルをゼロ設定/クランピングするために、閾値比較を用い得る。
【0026】
前処理ブロック211は、周波数シフト及びFFTスティッチングなどのオペレーションを可能にする。FFTスティッチングに関して、FFTエンジンは、概して1024ポイントまでのFFTのストリーミングを実施し得る。この能力は、ほとんどのレーダー応用例に対して充分である一方で、HWAの面積を小さいまま保つ。1024ポイントより大きいFFTを実行するため、HWAは、「FFTスティッチング能力」を提供し、所与の入力ストリームの複数のサブセットに対して演算される複数の一層小さなサイズのFFTを、入力ストリーム全体の一層大きなサイズのFFTを演算するために用いることができる。一例として、4KサイズのFFTが必要とされるとき、それは2つの工程において達成される。第1の工程において、各4番目の入力サンプルが1KサイズのFFTを通過する。即ち、間引かれた(decimated)入力サンプルに対して4つの1KポイントFFTが実行される。その後、結果の4×1024個のFFT出力が、4ポイント「スティッチング」FFT(1024の4ポイントFFT)を介して送られ、これは、コンプレクス乗算器ブロックによる事前乗算にも関与する。また、前処理ブロック211は、FIRフィルタリングのためのFIRフィルタ211bを含む。
【0027】
ウィンドウされたFFTブロック212は、前処理されたサンプルを、ウィンドウRAM212aにストアされたウィンドウ係数からのウィンドウベクトルで乗算し、その後、フーリエ変換されたサンプルを生成するためFFTを実行するためのFFTブロック212bにより処理するためである。後処理ブロック213は、フーリエ変換されたサンプルの大きさを演算し、後処理されたレーダーデータを生成するためのデータ圧縮オペレーション(例えば、ログ2オペレーション)を実施するためである。データ圧縮は、任意選択であり、構成可能である。
【0028】
後処理ブロック213の出力は、後処理されたレーダーデータを出力バッファ130に転送するための出力バッファ130の入力に出力フォーマッタブロック216により結合される。出力フォーマッタブロック216は、後処理ブロック213からのストリーミング処理された出力サンプルを出力バッファ130に書き込む役割を担っている。
【0029】
出力フォーマッタブロック216は更に、種々のタスクを実施するように構成され得る。例えば、出力フォーマッタブロック216は、HWAから出力メモリへ(後述される2Dメモリインデックスを用いて)データをストリーミングする際のかなりの柔軟性を可能にし、出力バッファ130にストアする前に、データを共役させ及び/又はスケーリングするように構成され得、「宛先スキップサンプル」特徴が、或る数の出力サンプルを初めにおいて(HWAから)スキップさせる(即ち、放棄させる)。この特徴は(パラメータDST ACNT(後述する)に関連して、HWAからの出力サンプルの特定の連続サブセットのみを出力メモリにストアさせる。これは、FFTビンの特定のサブセットのみが必要とされるときなどに有用であり得る。
【0030】
HWA125’は、ストリーミング直列データ経路に平行なCFAR検出経路に配置される任意選択のCFARエンジン220を含んで示されている。CFARエンジン220は、前処理ブロック221、及びバックグラウンドノイズ(例えば、クラッター及び干渉)に対するレーダーターゲット反射(returns)を検出するためのCFAR検出器222を含む。FFTエンジン210及びCFARエンジン220は、概して同時に動作しないので、HWAの面積を低減するために、メモリ及びロジックが、これら二つのエンジン間で共有され得る。
図2は、FFTブロック210とCFARエンジン220との間で共有される共有メモリ255を示す。また、後処理ブロック213と前処理ブロック221との間でロジックが共有され得る。
【0031】
また、パラメータセット構成メモリ235(例えば、RAMとして実装される)が、状態機械240に結合され、いずれも、バス145によりFFTエンジン210に結合されて示されている。状態機械は、所与の時間に何かのステータスをストアする任意のデバイスであり、ステータスを変えるために入力に対して動作し得、及び/又は、任意の所与の変化に対してアクション又は出力を起こし得る。状態機械240は、前処理ブロック211、ウィンドウされたFFTブロック212、及び後処理ブロック213を制御するため、アクセラレータローカルメモリ217と外部メモリ140との間の演算及びデータ搬送の連鎖シーケンスの実行のためパラメータセットをシーケンス処理することを含む、HWA125’のオペレーションを制御するための役割を担っている。状態機械240は、特定されたインデックスで開始及び終了する(開始インデックス及び終了インデックスなど)パラメータセットのシーケンスを介して動くように構成され得る。状態機械240は更に、特定の回数、このシーケンスを介してループするように構成され得る。
【0032】
パラメータセット構成メモリ235は、HWAオペレーションの連鎖シーケンスのためにパラメータのセットを事前構成するために用いられる。このメモリは、16個の異なるオペレーションに対するアクセラレータレジスタ構成を含み得る(各このような構成は、パラメータセットと称される)。これは、HWAに、μP135’からの頻繁な介在なしにオペレーションの事前構成された連鎖シーケンスを実施させる。各パラメータセットは、アクセラレータエンジン内部の各構成要素のための種々の構成詳細を含む。例えば、これらの構成パラメータは、読むべきレーダーサンプルの数、サンプル読み出しオペレーションのための開始メモリアドレス、メモリベースアドレス、コア演算エンジンオペレーション(FFT、大きさ、位相など)のためのイネーブル/ディセーブル、読み出すべきサンプルの数、サンプル読み出しオペレーションのための開始メモリアドレスなどを含み得る。この特徴は、μP135’又はその他のプロセッサからの最小の介在で、種々のレーダー信号処理オペレーションの意味のある連鎖又はシーケンス処理を可能にし、その結果、FFTエンジン210、トリガ、及びDMA連鎖オプションの能力を効率的に利用する。構成レジスタ245は、全てのパラメータセットに適用し得る共通構成情報をストアする。
【0033】
また、パラメータセットは、データ転送のために、HWAをDMAと自律的にインタフェースさせる。各パラメータセットは、パラメータセットに対応する演算をそれが完了した後、DMAをトリガするようHWAを要求するように構成され得る。これにより、HWAが、その出力バッファ130からのデータの搬送を開始させること、又はADCバッファ120により提供される入力データの新たなセットのその入力バッファへの搬送を開始させることが可能となる。また、各パラメータセットの実行はトリガに応じて成され得る。従って、状態機械は、構成されたトリガ条件が真となるまで、予定されたパラメータセットの実行を遅延させる。トリガの例には、(1)ADCバッファにおけるデータの可用性を割り込みアナウンスすること、(2)特定のDMA転送の完了、(3)μP135’などのメインプロセッサからのソフトウェアトリガが含まれる。
【0034】
レーダーサブシステム200の全体的なオペレーションは、次のように要約することができる。FFTエンジン210は、パラメータ構成レジスタ(又はRAM)245を介してμP135’により構成される。その後、状態機械240は、HWA125’の全体的なオペレーションを開始及び制御し、これは、パラメータセット構成メモリ235からFFTエンジン210(又はCFARエンジン220)の内部レジスタへの電流オペレーションのために必要とされるパラメータをロードすること、及び事前プログラムされた構成通りにFFTエンジン210(又はCFARエンジン220)を動かすことに関与する。一つの設計において、FFTエンジン210及び関連するメモリ(120、130、235、及び245)は、200MHzクロックで動く。
【0035】
記載される例において、HWAは、オペレーションの柔軟性のあるシーケンス(例えば、多次元FFT前処理、ウィンドイングFFT、及び後処理213)が、メインプロセッサ135(
図2のμP135’)による頻繁な介在なしに連続的に(back-to-back)実施されるように、パラメータセット構成メモリ235及び状態機械240と共に、一つのストリーミングデータ経路における、前処理、ウィンドウされたFFT212、及び後処理ブロック213を含むFFTエンジン210を用いることによって上述の問題を解決する。
【0036】
説明される実施例は、説明されるHWAを用いるFMCWレーダー信号処理の方法を含む。この方法は下記を含み得る。
1.入力バッファ(例えば、ADCバッファ120)からの事前処理されたレーダーデータを、事前処理されたレーダーデータを受信及び処理するためADCバッファに結合される、FFTエンジン210を含むHWA125へストリーミングすることであって、HWAが、レンジFFTデータを含む後処理されたレーダーデータを生成するため、干渉閾値設定(thresholding)、ウィンドウイングFFT、及びレンジFFTを含む計算を実行するFFTエンジン210を含む。
2.後処理されたレーダーデータを出力バッファ130にストリーミングすること。
3.出力バッファ130からのレンジFFTデータを転置方式で外部メモリ(140)に転送すること。この転送は、ダイレクトメモリアクセス(DMA)を含み得、DMAは、HWA125により自動でトリガされる。
4.上記の計算、事前処理され後処理されたレーダーデータのストリーミング、及び複数のアンテナ(又は、より一般的には複数のチャネル)において受信された事前処理されたストリーミングレーダーデータの転送を反復すること。フレームにおける複数チャープにわたる複数のアンテナに対するレンジFFTデータが、1~3において上述したように演算及び転送される。
複数チャープにわたる複数のアンテナから生じるレンジFFTデータは、その後、下記を含む更なる処理工程において処理される。
5.外部メモリ140から入力メモリ(ADCバッファ120)にブロック毎に転送することであって、各ブロックは、フレームにおける複数チャープにわたる一つ又は複数のレンジゲートに対するデータを含む。
6.HWAを用いて複数のドップラーFFTを実行することであって、各ドップラーFFTは、ブロックに対応する一つ又は複数のレンジゲートの各々の特定のアンテナに対応する。また、ドップラーFFTビンの絶対値が演算され、これらが複数のアンテナにわたって加算される。複数のアンテナにわたる絶対値の加算は、HWAにおいて適切な長さのFFT(例えば、4つのアンテナに対する4ポイントFFT)を動かすことにより実施され得、その後、FFT出力の第1のサンプルを選択する。
7.工程6において演算されたドップラーFFT、及びアンテナにわたるドップラーFFTビンの絶対値の和は、いずれも、ダイレクトメモリアクセス(DMA)を介して外部メモリ140にストアされ、DMAはHWAにより自動でトリガされている。
8.レンジFFTに対応する全てのレンジゲートをカバーするために、複数ブロックにわたって工程5、6、7を反復する。
【0037】
またこの方法は更に、前処理ブロック221及びCFAR検出器222を含むストリーミング直列データ経路に平行なCFAR検出経路においてCFARエンジン220を用いてバックグラウンドに対するレーダーターゲット反射を検出することを含み得る。レンジFFT又はドップラーFFTに対応するサンプルが、周りのサンプルと比較されるプログラムされた特定された閾値を上回るピークを検出するためCFAR検出器222を介してストリーミングされ得る。
【0038】
また、CFARエンジン220は、本願において説明される方法を用いる干渉検出に対しても用いられ得る。ADCバッファ120にストアされた(単一のチャネル上の単一のチャープに対応する)デジタルフロントエンドからのデジタル化された時間ドメインサンプルは、HWAのCFARエンジン220にストリーミングされる。CFARエンジン220の前処理ブロック221は、ストリーミングされたサンプルの大きさ(又は対数大きさ)を演算するために用いることができる。前処理ブロック221の出力は、その後、CFAR検出器222にストリーミングされ、CFAR検出器222は、その大きさが周りのブロックの平均大きさを著しく上回るサンプル(これらのサンプルは、干渉により破損されたと考えられる)を検出する。検出されたサンプルのインデックスは、出力バッファにストアされる。その後、μpが、検出されたサンプルのインデックスのリストを読み、これらのサンプルの値を補正するために任意の適切なアルゴリズム(1次元補間など)を動かすことができる。
【0039】
上述した方法の変形は下記のとおりである。この方法において、処理は、複数チャープに対応するデジタルフロントエンドからのサンプルがADCバッファ120にストアされたときにのみ開始する。ADCバッファ120におけるサンプルは、行列としてストアされるように見え、各ローは、特定のチャープからのサンプルに対応する。第1の工程において、ADCバッファ120からのサンプルは、第1の一連のリストを得るために、ロー毎にCFARエンジンに送られ、各リストは、各ローに対応する検出されたサンプルのインデックスを含む。
【0040】
第2の工程において、ADCバッファ120からのサンプルは、第2の一連のリストを得るために、コラム毎に(2Dメモリインデックスを用いて)CFARエンジンに送られ、各リストは、各コラムに対応する検出されたサンプルのインデックスを含む。第3の工程において、第1のリスト及び第2のリスト両方に存在するADCバッファ120からのサンプルの最終リストを得るために、第1の一連のリスト及び第2の一連のリスト(これらは、HWAの出力バッファ130にストアされる)がμΡ(又は他のプロセッサ)により審査される。サンプルのこの最終リストは、干渉により破損しているとして識別される。その後、μΡは、これらの破損されたサンプル(2次元補間など)を補正するために任意の適切なアルゴリズムを用い得る。
【0041】
複数次元の演算、入力バッファからHWAへ及びHWAから出力バッファへの汎用アクセスパターンは、メモリアクセスに対する説明される2Dメモリインデックス方式によって可能となる。インデックスメモリアドレス指定は、(a)ADCバッファ120にストアされたデータがHWA125にストリーミングされる方式において、及び(b)HWA125から外にストリーミングされるデータが出力バッファ130にストアされる方式において、著しい柔軟性を可能にする。一方で、各パラメータセットは、HWA(及び入力フォーマッタ/出力フォーマッタ)の特定の構成(又はオペレーション)を定義し、この特定の構成は、複数のレーダーデータサンプルストリーム(又は、単にサンプルストリーム)、このようなサンプルストリームの数、各サンプルストリームに対する入力サンプルの数、及び各サンプルストリームに対する入力/出力アクセスパターンに対して動作し得、更に、同じパラメータセットにおいてプログラムされ得る。そのため、例えば、単一パラメータセットが、複数のサンプルストリーム(例えば、異なるアンテナからのデータに対応する、各サンプルストリームに対して)に対して256pt FFTを実行するように構成され得る。
【0042】
2Dメモリインデックス方式において、入力メモリ(ADCバッファ120)からHWAへのデータのストリーミングは、パラメータ:SRC ADDR、SRC ACNT、SRC AIDX、BCNT、SRC BIDX、及びSRC ACNTにより定義され得る。入力メモリとしてのADCバッファ120からHWA125へのストリーミングのため、SRC ACNTサンプル(SRC ADDRから始まる)を含むサンプルストリームがストリーミングされ、各サンプルは、前のサンプルから入力メモリとしてのADCバッファ120において分離されるSRC AIDXバイト(これは、連続するサンプルを分離するアドレスオフセットを(バイトで)特定する)である。BCNTが反復の数を特定し、SRC ACNTサンプルのこのようなサンプルストリームが各々、先行するサンプルストリームからSRC BINDXバイトで分離されている各サンプルストリームの第1のサンプルにおいて、ストリーミングされる。同様に、HWAから出力メモリへのデータのストリーミングは、パラメータ、DST ADDR、DST ACNT、DST AIDX、BCNT、DST BIDXにより定義される。2Dメモリインデックス方式により、入力及び出力における異なるアクセスパターンが可能となる。そのため、一方が、SRC ADDR/DST ADDR、SRC AIDX/DST AIDXなどを有する。反復(BCNT)の数のみが、入力及び出力ストリーム両方で概して一致する。
【0043】
幾つかの実施例において、HWAはFIRフィルタにおけるFFTブロック210を含まない可能性がある。そのような実施例では、フィルタリングオペレーションは、下記のようにHWAにおいて効率的に実施され得る。第1の工程において、入ってくるサンプルは、(第1のパラメータセットを用いて)FFTを実行するためにHWAにストリーミングされる。第2の工程において、FFTに対応するサンプルは、(第2のパラメータセットを用いて)HWAにストリーミングされ、前処理ブロック211及びFFTエンジン210はいずれもイネーブルされる。FFTのサンプルを、所望のフィルタの周波数応答を表す複素ベクトルと乗算するために、コンプレクス乗算器が用いられ、FFTエンジン222が、前処理ブロックの出力に対してI-FFT(逆FFT)を実行する。そのため、全フィルタリングオペレーションが、HWAを介するデータの2つのストリーミングのみを用いて効率的に実施される。
【0044】
本発明の特許請求の範囲内で、説明した例示の実施例に改変が成され得、他の実施例が可能である。