JPH0669759A - Adaptive signal processor - Google Patents
Adaptive signal processorInfo
- Publication number
- JPH0669759A JPH0669759A JP21986892A JP21986892A JPH0669759A JP H0669759 A JPH0669759 A JP H0669759A JP 21986892 A JP21986892 A JP 21986892A JP 21986892 A JP21986892 A JP 21986892A JP H0669759 A JPH0669759 A JP H0669759A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- output
- data
- memory circuit
- address
- 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.)
- Pending
Links
Landscapes
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Filters That Use Time-Delay Elements (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は適応信号処理装置に関
し、特に一定時間周期毎にフィルタ係数を算出しその係
数を用いて信号処理を行なうシステムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an adaptive signal processing apparatus, and more particularly to a system for calculating a filter coefficient for every fixed time period and performing signal processing using the coefficient.
【0002】[0002]
【従来の技術】従来の適応信号処理装置は、電話回線等
のエコー・キャンセラやノイズ・キャンセラなどに用い
られていた。この適応信号処理装置を用いたエコー・キ
ャンセラは接続された回線固有のエコー伝搬経路の周波
数特性を時間系列のインパルス応答として適応的に推定
し、疑似的なエコー信号(疑似エコー)を造り出してエ
コー信号から引き去るもので、エコー・サプレッサのよ
うに系に減衰を与える事なくエコーを除去できるため自
然な会話が可能となる。また、適応信号処理装置を用い
たノイズ・キャンセラは二つの信号入力手段によって、
雑音混じりの音声信号と雑音だけの観測信号が与えられ
たときに雑音混じりの信号から雑音を除去して音声信号
をエンハンスすることを可能としている。2. Description of the Related Art Conventional adaptive signal processing devices have been used in echo cancellers and noise cancellers for telephone lines and the like. An echo canceller using this adaptive signal processor adaptively estimates the frequency characteristics of the echo propagation path peculiar to the connected line as an impulse response of the time series, and creates a pseudo echo signal (pseudo echo) to generate an echo. It is subtracted from the signal, and the echo can be removed without attenuating the system like an echo suppressor, which enables a natural conversation. In addition, the noise canceller using the adaptive signal processing device has two signal input means,
When a noise-mixed voice signal and an observation signal containing only noise are given, noise can be removed from the noise-mixed signal to enhance the voice signal.
【0003】従来の適応信号処理装置では、予測誤差の
二乗平均値を最小化するようにフィルタ係数の修正を行
うWidrow−HoffのLMS(Least−Me
an−Square)アルゴリズムに基づく適応フィル
タ処理等が行われていた。最初にこの適応フィルタ処理
の概要を説明する。In a conventional adaptive signal processing device, a Widrow-Hoff LMS (Least-Me) for correcting a filter coefficient so as to minimize a mean square value of prediction errors.
An adaptive filter process based on the (an-Square) algorithm has been performed. First, an outline of this adaptive filter processing will be described.
【0004】適応フィルタに対する現在までの入力信号
列ベクトルを S(k)=[s(k),s(k−1),s(k−2),…,s(k−N+1)〕 ×T ……(1) とし、フィルタ係数ベクトルを A(k)=[al(k),a2(k),a3(k)…,aN(k)〕T ……(2) とすると現在までの入力信号列による次の入力サンプル
の予測値p(k−1)は P(k+1)=AT(k)・S(k) ……(3) またフィルタ係数の修正式は A(k+1)=A(k)+K(k+1)・e(k) ……(4) ここでe(k)は誤差信号であり、ゲインKはLMSア
ルゴリズムの場合 K(k+1)=S(k) ……(5) 実用的には、伝送路誤りの影響を軽減するために(4)
式の代わりに次式が用いられる。ここで、wは0と1と
の間の重み係数とする。 A(k+1)=w・A(k)+K(k+1)・e(k) ……(6) 図2はこのような適応フィルタ処理のシグナル・フロー
図を示す。図において201〜213は乗算処理、22
0〜226は1サンプリング周期に相当する時間だけ入
力信号を遅延をする遅延処理、203〜236は加算処
理で、破線で示した(c)の部分は(C)と同一の処理
が繰り返される。The input signal sequence vector up to the present for the adaptive filter is S (k) = [s (k), s (k-1), s (k-2), ..., s (k-N + 1)] * T (1) and the filter coefficient vector is A (k) = [al (k), a2 (k), a3 (k) ..., aN (k)] T ... (2) The predicted value p (k-1) of the next input sample by the signal sequence is P (k + 1) = AT (k) S (k) (3) Further, the correction formula of the filter coefficient is A (k + 1) = A ( k) + K (k + 1) · e (k) (4) where e (k) is an error signal and the gain K is in the case of the LMS algorithm. K (k + 1) = S (k) (5) Practical To reduce the effect of transmission path error, (4)
The following formula is used instead of the formula. Here, w is a weighting coefficient between 0 and 1. A (k + 1) = w · A (k) + K (k + 1) · e (k) (6) FIG. 2 shows a signal flow diagram of such adaptive filtering. In the figure, 201 to 213 are multiplication processes, 22
0 to 226 are delay processes for delaying the input signal by a time corresponding to one sampling period, 203 to 236 are addition processes, and the same process as (C) is repeated in the part (c) shown by the broken line.
【0005】ノイズ・キャンセラの場合、入力信号S
(k)は雑音だけの観測信号、次の入力サンプルの予測
値p(k+1)は雑音の推定値、誤差信号e(k)は雑
音混じりの音声信号と雑音の推定値との差に各々相当す
る。In the case of a noise canceller, the input signal S
(K) is an observed signal containing only noise, the predicted value p (k + 1) of the next input sample is the estimated value of noise, and the error signal e (k) is the difference between the speech signal containing noise and the estimated value of noise. To do.
【0006】次に、この適応フィルタ処理を実行する従
来の適応信号処理装置を、図3のブロック図により説明
する。Next, a conventional adaptive signal processing apparatus for executing this adaptive filter processing will be described with reference to the block diagram of FIG.
【0007】乗算器1は16ビット×16ビットの乗算
を1インストラクション・サイクル(以下1ステップと
いう)で実行し乗算結果を31ビットで出力し、加算器
2は31ビットの2入力を1ステップで加算する。アキ
ュムレータ3は加算器2の出力を保持する31ビットの
アキュムレータで、データRAM4、係数RAM5は各
々256ワード×6ビットのRAM、データRAMポイ
ンタ(以下DPという)7はデータRAM4のアドレス
を指定する8ビットポインタ、係数RAMポインタ(以
下CPという)8は係数RAM5のアドレスを指定する
8ビットポインタである。マルチプレクサ10は2入力
のうちの一方を選択出力し、データバス20は16ビッ
ト幅の内部データバスである。The multiplier 1 executes 16-bit × 16-bit multiplication in one instruction cycle (hereinafter referred to as one step) and outputs the multiplication result in 31 bits. The adder 2 outputs 31-bit two inputs in one step. to add. The accumulator 3 is a 31-bit accumulator that holds the output of the adder 2, the data RAM 4 and the coefficient RAM 5 each have 256 words × 6 bits of RAM, and the data RAM pointer (hereinafter referred to as DP) 7 specifies the address of the data RAM 4 8 The bit pointer and coefficient RAM pointer (hereinafter referred to as CP) 8 is an 8-bit pointer that specifies the address of the coefficient RAM 5. The multiplexer 10 selectively outputs one of the two inputs, and the data bus 20 is an internal data bus having a 16-bit width.
【0008】LMSアルゴリズムを、図3の適応信号処
理装置で実行する場合、次の入力サンプルの予測値p
(k+1)を求める(3)式については、1タップ当り
1ステップの処理で実行可能であるが、フィルタ係数の
修正式(4)については1タップ当り4ステップの処理
を要する。When the LMS algorithm is executed by the adaptive signal processor of FIG. 3, the predicted value p of the next input sample is p.
The formula (3) for obtaining (k + 1) can be executed by the process of one step per tap, but the correction formula (4) of the filter coefficient requires the process of four steps per tap.
【0009】フィルタ係数の修正に関する各ステップの
処理の詳細は以下の通り。 (1)係数ai(k)を係数RAM5より内部データバ
ス20及びマルチプレクサ10、加算器2を介しアキュ
ムレータ33へロードする。 (2)式(4)の第2項の乗算(LMSアルゴリズムの
場合は、S(k−i+1)・e(k))を行う。データ
S(k−i+1)はデータRAM4より内部データバス
20を介し乗算器1の一方の入力ラッチへ入力される。
データe(k)は乗算器の一方の入力ラッチにあらかじ
めラッチしておけばよく、各タップの処理毎に更新する
必要はない。 (3)式(4)の第1項と第2項の加算を行う。加算結
果はアキュムレータ33に蓄えられる。このステップで
は内部データバス20はドライブしない。 (4)新係数ai(k+1)をアキュムレータ33より
内部データバス20を介し係数RAM5へ格納する。Details of the processing of each step relating to the correction of the filter coefficient are as follows. (1) The coefficient ai (k) is loaded from the coefficient RAM 5 into the accumulator 33 via the internal data bus 20, the multiplexer 10 and the adder 2. (2) The multiplication of the second term of Expression (4) (S (k-i + 1) · e (k) in the case of the LMS algorithm) is performed. The data S (k-i + 1) is input from the data RAM 4 to one input latch of the multiplier 1 via the internal data bus 20.
The data e (k) may be latched in advance in one input latch of the multiplier, and need not be updated every time each tap is processed. (3) The first term and the second term of the equation (4) are added. The addition result is stored in the accumulator 33. The internal data bus 20 is not driven in this step. (4) The new coefficient ai (k + 1) is stored in the coefficient RAM 5 from the accumulator 33 via the internal data bus 20.
【0010】従って、図3に示す適応信号処理装置で
は、1タップ当り5ステップの処理が必要となる。この
ように、従来の適応信号処理装置ではLMSアルゴリズ
ムの適応フィルタ1タップ当り多数のステップ数の処理
が必要であった。Therefore, the adaptive signal processing device shown in FIG. 3 requires processing of 5 steps per tap. As described above, the conventional adaptive signal processing device needs to process a large number of steps per tap of the adaptive filter of the LMS algorithm.
【0011】一方、実際の適応フィルタ・システムは非
常に多くのタップ数を必要とする。例えばエコー・キャ
ンセラの場合、日本国内通信網での伝送遅延を考えると
エコー遅延量をカバーするインパルス応答系列は、50
〜60ms程度必要であり、400〜500タップの適
応フィルタを構成する必要があった。更に、車載オーデ
ィオ等の音場制御の場合は、自動車内の音響空間におけ
る反射音や残響音(高次反射音)を考えた場合の反射遅
延時間をカバーするインパルス応答系列は25ms程度
は必要であり、48kHz標本化に対しては1200タ
ップ程度のフィルタを構成する必要がある。On the other hand, a practical adaptive filter system requires a very large number of taps. For example, in the case of an echo canceller, considering the transmission delay in the domestic communication network in Japan, the impulse response sequence covering the echo delay amount is 50
About 60 ms is required, and it is necessary to configure an adaptive filter with 400 to 500 taps. Further, in the case of controlling the sound field of an in-vehicle audio system, an impulse response sequence covering about 25 ms is required to cover the reflection delay time when the reflected sound or reverberant sound (higher-order reflected sound) in the acoustic space inside the car is considered. Therefore, it is necessary to configure a filter with about 1200 taps for 48 kHz sampling.
【0012】図3の1ステップ実行時間を100nsと
し、1サンプリング周期を0.02msとすると、1サ
ンプリング期間中に実行可能なタップ数は40タップと
なる。適応フィルタの必要タップ数が1000タップの
場合、図3の適応信号処理装置を25台揃えなければな
らなかった。When the one-step execution time of FIG. 3 is 100 ns and one sampling period is 0.02 ms, the number of taps that can be executed in one sampling period is 40 taps. When the required number of taps of the adaptive filter is 1000, 25 adaptive signal processing devices of FIG. 3 had to be prepared.
【0013】[0013]
【発明が解決しようとする課題】前述したように、従来
の適応信号処理装置では、適応フィルタを構成するため
には膨大なハードウエア量が必要であった。これは、適
応フィルタが非常に多くのタップ数を必要とすること、
及び適応フィルタ1タップ当り多数のステップ数の処理
が必要であったことに起因する。As described above, in the conventional adaptive signal processing device, an enormous amount of hardware is required to configure the adaptive filter. This is because the adaptive filter requires a very large number of taps,
Also, it is necessary to process a large number of steps per tap of the adaptive filter.
【0014】一方、サンプリング周波数は電話回線では
8kH、オーディオ・システムでは48kHまたは4
4.1kH等となっており、このサンプリング周期中に
前述の膨大なタップ数のフィルタ処理を実行する必要が
あるが、従来の適応信号処理装置では適応フィルタの1
タップ当りの処理を実現するために多数のステップ処理
を行っていたため膨大なハードウェア量を要する結果と
なっていた。On the other hand, the sampling frequency is 8 kHz for telephone lines and 48 kHz or 4 for audio systems.
It is 4.1 kHz or the like, and it is necessary to execute the above-described filter processing with a huge number of taps during this sampling cycle.
Since a large number of step processes are performed to realize the process per tap, a huge amount of hardware is required.
【0015】本発明の目的は、これらの問題を解決し、
適応フィルタの1タップ当りの処理を非常に少ないステ
ップ数で実現可能とした適応信号処理装置を提供するこ
とにある。The object of the present invention is to solve these problems,
An object of the present invention is to provide an adaptive signal processing device that can realize processing per tap of an adaptive filter with a very small number of steps.
【0016】[0016]
【課題を解決するための手段】本発明の適応信号処理装
置の構成は、第1の入力信号列を記憶する第1のメモリ
回路と、この第1のメモリ回路のアドレスを設定する第
1のカウンタ回路と、前記第1の入力信号列に対するフ
ィルタ係数の初期値を設定する第2のメモリ回路と、こ
の第2のメモリ回路の出力を保持する第1のデータ保持
回路と、この第1のデータ保持回路の出力と前記第1の
メモリ回路の出力との乗算を行なう乗算回路と、この乗
算回路の出力と第2の入力信号とを加算する加算回路
と、この加算回路の出力を保持する第2のデータ保持回
路と、この第2のデータ保持回路の出力と前記第2のメ
モリ回路の出力とを切替えて前記第2の入力信号として
出力する第1の選択回路と、前記第2のメモリ回路のア
ドレスを設定する第2,第3のカウンタ回路と、これら
第2,第3のカウンタ回路の出力を切換え前記第2のメ
モリ回路のアドレスとして供給する第2の選択回路とを
備えることを特徴とする。The adaptive signal processing apparatus according to the present invention has a first memory circuit for storing a first input signal sequence and a first memory circuit for setting an address of the first memory circuit. A counter circuit, a second memory circuit for setting an initial value of a filter coefficient for the first input signal sequence, a first data holding circuit for holding an output of the second memory circuit, and a first data holding circuit for holding the output of the second memory circuit. A multiplication circuit that multiplies the output of the data holding circuit and the output of the first memory circuit, an addition circuit that adds the output of this multiplication circuit and the second input signal, and the output of this addition circuit. A second data holding circuit; a first selection circuit for switching between the output of the second data holding circuit and the output of the second memory circuit for outputting as the second input signal; Setting the address of the memory circuit A third counter circuit, these second, characterized in that it comprises a second selection circuit for supplying as an address of the second memory circuit switching the output of the third counter circuit.
【0017】[0017]
【実施例】図1は本発明の一実施例のシステムを示すブ
ロック図である。本実施例は、適応フィルタの係数修正
を行う前述の(4)式の1タップ分の処理を1ステップ
で実行可能な構成となっているので、次の点が従来の適
応信号処理装置と異っている。1 is a block diagram showing a system according to an embodiment of the present invention. Since the present embodiment has a configuration in which the processing for one tap of the above-mentioned equation (4) for correcting the coefficient of the adaptive filter can be executed in one step, the following points are different from the conventional adaptive signal processing apparatus. ing.
【0018】(a)係数RAM5から内部データバス2
0を介さずに加算器2の一方の入力へ直接データを転送
するパスを有する。 (b)アキュムレータ3の出力から内部データバスを介
さずに係数RAM5へ直接データを転送するパスを有す
る。 (c)係数RAM5のアクセス時間が乗算等の演算時間
に比べて短いことを利用し、1インストラクション・サ
イクル中の前半で係数RAM5へのデータ書込みを実行
し後半で係数RAM5からのデータ読出しを実行する
か、または1インストラクション・サイクル中の前半で
係数RAM5からのデータの読出しを実行し後半で係数
RAMへのデータ書込みを実行する。 (d)係数RAM5の書込み用アドレスカウンタ6と読
出し用アドレスカウンタ8とを備え、交互に選択使用す
る。(A) Coefficient RAM 5 to internal data bus 2
It has a path for directly transferring data to one input of the adder 2 without going through 0. (B) It has a path for directly transferring data from the output of the accumulator 3 to the coefficient RAM 5 without passing through the internal data bus. (C) Utilizing the fact that the access time of the coefficient RAM 5 is shorter than the operation time such as multiplication, data writing to the coefficient RAM 5 is executed in the first half of one instruction cycle, and data reading from the coefficient RAM 5 is executed in the latter half. Alternatively, the data is read from the coefficient RAM 5 in the first half of one instruction cycle, and the data is written in the coefficient RAM in the second half. (D) A write address counter 6 and a read address counter 8 of the coefficient RAM 5 are provided and are alternately selected and used.
【0019】本実施例は、これら(a),(b),
(c)により、LMSアルゴリズムのフィルタ係数の修
正が1タップ当り1ステップで実行可能となり、また
(d)によりフィルタ係数の修正処理がパイプライン的
に実行される際のアドレスのずれを吸収することが可能
となる。In this embodiment, these (a), (b),
(C) makes it possible to modify the filter coefficient of the LMS algorithm in one step per tap, and (d) absorbs the address shift when the filter coefficient modification process is pipelined. Is possible.
【0020】図1において、乗算器1は16ビット×1
6ビットの乗算を1ステップで実行し乗算結果を31ビ
ットで出力し、加算器2は31ビットの2入力を1ステ
ップで加算し、アキュムレータ3は加算器2の出力を保
持する31ビットのアキュムレータである。データRA
M4、係数RAM5は各々256ワード×16ビットの
RAM.データRAMポインタ7はデータRAM4のア
ドレスを指定する8ビットポインタ、係数RAMポイン
タ6及び8は各々係数RAM5のアドレスを指定する8
ビットポインタである。In FIG. 1, the multiplier 1 is 16 bits × 1.
The 6-bit multiplication is executed in one step and the multiplication result is output in 31 bits, the adder 2 adds the 31-bit two inputs in one step, and the accumulator 3 holds the output of the adder 2 in the 31-bit accumulator. Is. Data RA
M4 and coefficient RAM5 are 256 words × 16 bits of RAM. The data RAM pointer 7 is an 8-bit pointer for designating the address of the data RAM 4, and the coefficient RAM pointers 6 and 8 are 8 for designating the address of the coefficient RAM 5, respectively.
It is a bit pointer.
【0021】データバス20,22は16ビット幅デー
タバス、バス21,23,24及びバス50,51,5
2は8ビット幅データバス、バス26からバス33まで
は16ビット幅データバス、バス40からバス43まで
は31ビット幅データバスである。マルチプレクサ9は
CP6,8の2入力のうちの一方を選択出力し、データ
ラッチ11は入力した16ビットデータを一時保持し、
マルチプレクサ12はバス20,26の2入力のうちの
一方の16ビットデータを選択出力する。デマルチプレ
クサ13は入力した31ビットデータの上位16ビット
を2出力のうちの一方へ出力する。The data buses 20 and 22 are 16-bit wide data buses, buses 21, 23 and 24 and buses 50, 51 and 5.
Reference numeral 2 is an 8-bit wide data bus, buses 16 to 33 are 16-bit wide data buses, and buses 40 to 43 are 31-bit wide data buses. The multiplexer 9 selectively outputs one of the two inputs of CP6 and 8, and the data latch 11 temporarily holds the input 16-bit data,
The multiplexer 12 selects and outputs one 16-bit data of the two inputs of the buses 20 and 26. The demultiplexer 13 outputs the upper 16 bits of the input 31-bit data to one of the two outputs.
【0022】選択信号100はハイレベルでデータRA
M4を選択し、R/W制御信号101はローレベルでデ
ータRAM4を読出し状態としハイレベルでデータRA
M4を書込み状態とする。選択信号102はローレベル
で係数RAM5を選択し、クロック信号103は演算
(乗算または加算)の1ステップ周期を定めるクロック
信号でクロックパルスの立下りから次のクロックパルス
の立下りまでが1ステップ周期となる。また、クロック
信号103は係数RAM5のR/W制御信号としても用
いられ、ハイレベルで係数RAM5を読出し状態としロ
ーレベルで書込み状態とする。すなわち、制御信号10
6がハイレベルの時、係数RAM5は選択状態となり1
ステップ周期の前半で書込み状態、後半で読出し状態と
なる。また、制御信号106がローレベルの時1ステッ
プ周期の前半で係数RAM5は非選択状態、後半で選択
読出し状態となる。When the selection signal 100 is at high level, the data RA
When M4 is selected and the R / W control signal 101 is at the low level, the data RAM 4 is in the read state and when it is at the high level, the data RA
Set M4 to the write state. The selection signal 102 selects the coefficient RAM 5 at a low level, and the clock signal 103 is a clock signal that determines one step cycle of calculation (multiplication or addition), and is one step cycle from the falling edge of a clock pulse to the falling edge of the next clock pulse. Becomes The clock signal 103 is also used as an R / W control signal for the coefficient RAM 5, and sets the coefficient RAM 5 to a read state at a high level and a write state at a low level. That is, the control signal 10
When 6 is high level, coefficient RAM 5 is in the selected state 1
The writing state is set in the first half of the step cycle, and the reading state is set in the second half. When the control signal 106 is at the low level, the coefficient RAM 5 is in the non-selected state in the first half of the one-step cycle and in the selective read state in the second half.
【0023】データラッチ11はクロック信号103の
立下りで係数RAM5の読出しデータをラッチする。F
/R制御信号107は前述の(3)式に相当する入力サ
ンプルの予測値p(k+1)を算出中ローレベルとな
り、前述の(4)式に相当するフィルタ係数の修正処理
中ハイレベルとなる制御信号である。The data latch 11 latches the read data of the coefficient RAM 5 at the falling edge of the clock signal 103. F
The / R control signal 107 is at a low level during calculation of the predicted value p (k + 1) of the input sample corresponding to the expression (3), and is at a high level during the correction processing of the filter coefficient corresponding to the expression (4). It is a control signal.
【0024】ドライブ制御信号109は、デマルチプレ
クサ13の出力のうちバス33側をドライブ状態とする
かハイインピーダンス状態とするかを指示し、ドライブ
制御信号109がローレベルの場合ハイインピーダンス
となる。選択信号110はローレベルでマルチプレクサ
12の入力としてデータバス20を選択し、ハイレベル
でバス26を選択する選択信号である。データラッチ1
31は制御信号130がローレベルの時バス31上のデ
ータをバス32へそのまま出力し、制御信号130がハ
イレベルの時は制御信号130立上り時点のバス31上
のデータをラッチ出力する。The drive control signal 109 indicates whether the output of the demultiplexer 13 is on the bus 33 side in the drive state or in the high impedance state, and becomes high impedance when the drive control signal 109 is low level. The selection signal 110 is a selection signal that selects the data bus 20 as an input of the multiplexer 12 at a low level and selects the bus 26 at a high level. Data latch 1
When the control signal 130 is at the low level, 31 outputs the data on the bus 31 to the bus 32 as it is, and when the control signal 130 is at the high level, it latches and outputs the data on the bus 31 at the rising time of the control signal 130.
【0025】以下、本実施例の動作を説明する。最初フ
ィルタ処理前の初期設定として、係数RAM5にデータ
バス20を介して適応フィルタ係数の初期値を設定す
る。この処理は選択信号106をハイレベル、F/R制
御信号107をハイレベル、選択信号110をローレベ
ル、ドライブ制御信号109をローレベルとすることに
より実行される。The operation of this embodiment will be described below. First, as the initial setting before the filter processing, the initial value of the adaptive filter coefficient is set in the coefficient RAM 5 via the data bus 20. This processing is executed by setting the selection signal 106 to high level, the F / R control signal 107 to high level, the selection signal 110 to low level, and the drive control signal 109 to low level.
【0026】この場合、係数RAM5にデータバス20
を介してデータ書き込みが行われると共に係数RAM5
の内容がバス31上に出力されるが、ドライブ制御信号
109がローレベルであることから初期設定動作への影
響はない。以上の処理はサンプリング周期毎に実行され
る適応フィルタ処理とは別に、予め実行される。次に、
サンプリング周期毎に実行される処理について説明す
る。In this case, the coefficient RAM 5 is connected to the data bus 20.
Data is written through the coefficient RAM 5
Is output on the bus 31, but since the drive control signal 109 is at the low level, it does not affect the initial setting operation. The above process is executed in advance separately from the adaptive filter process executed every sampling cycle. next,
The processing executed in each sampling cycle will be described.
【0027】最初に前述の(1)式のs(k)に相当す
る現在の入力サンプル値をデータRAM4に書込む。次
に、前述の(3)式に相当する入力サンプルの予測値p
(k+1)を算出する。この算出処理は選択信号106
をローレベル、F/R制御信号107をローレベル、制
御信号130をローレベルとすることにより実行され
る。この場合、係数RMA5のデータはデータバス3
1、32、データラッチ14を介して乗算器1に入力さ
れる。一方、データRAM4のデータもデータバス20
を介して乗算器1に入力される。First, the current input sample value corresponding to s (k) in the equation (1) is written in the data RAM 4. Next, the predicted value p of the input sample corresponding to the above equation (3)
Calculate (k + 1). This calculation process is performed by the selection signal 106.
Is set to a low level, the F / R control signal 107 is set to a low level, and the control signal 130 is set to a low level. In this case, the data of coefficient RMA5 is data bus 3
1, 32, and the data latch 14 to the multiplier 1. On the other hand, the data in the data RAM 4 is also transferred to the data bus 20.
Is input to the multiplier 1 via.
【0028】この乗算器1の乗算結果は1ステップ後に
加算器2へ入力される。マルチプレクサ10はバス42
のデータをバス43へ出力するので、前述の乗算結果は
更にアキュムレータの内容に加算されてその加算結果が
アキュムレータに蓄えられる。以上の処理を繰り返すこ
とによって入力サンプルの予測値p(k+1)が算出さ
れる。ここで、乗算と1タップ前の加算とは同一ステッ
プ内で行われるため、予測値p(k+1)の算出処理は
1タップ当り1ステップで実行されることになる。p
(k+1)が求められるとドライブ制御信号109がハ
イレベルとなり、アキュムレータからデータバス20へ
予測値p(k+1)が出力される。The multiplication result of the multiplier 1 is input to the adder 2 after one step. The multiplexer 10 is the bus 42
Since the data of 1 is output to the bus 43, the above multiplication result is further added to the contents of the accumulator, and the addition result is stored in the accumulator. By repeating the above processing, the predicted value p (k + 1) of the input sample is calculated. Here, since the multiplication and the addition one tap before are performed in the same step, the calculation process of the prediction value p (k + 1) is executed in one step per tap. p
When (k + 1) is obtained, the drive control signal 109 becomes high level, and the predicted value p (k + 1) is output from the accumulator to the data bus 20.
【0029】次に(4)式に相当するフィルタ係数の修
正処理のうちの1タップ分の処理について説明する。こ
の処理は選択信号106をハイレベル、F/R制御信号
107をハイレベル、制御信号130をハイレベル、選
択信号110をハイレベル、ドライブ制御信号109を
ローレベルとすることにより実行される。Next, the process for one tap of the correction process of the filter coefficient corresponding to the equation (4) will be described. This processing is executed by setting the selection signal 106 to the high level, the F / R control signal 107 to the high level, the control signal 130 to the high level, the selection signal 110 to the high level, and the drive control signal 109 to the low level.
【0030】1タップ分の処理は3ステップにわたり実
行される。各ステップに於ける処理は以下の通り、 (1)係数ai(k)を係数RAM5よりバス31及び
バス43を介して加算器2の一方の入力に転送するとと
もに、式(4)の第2項の乗算S(k−i)・e(k)
を行う。この乗算は、データS(k−i)をデータRA
M4よりデータバス20を介し乗算器1の一方の入力ラ
ッチへ入力することにより実行される。なおデータe
(k)はデータラッチ14にあらかじめラッチしてお
く。 (2)1ステップ前に(1)と同様に実行した乗算の結
果S(k−i+1)・e(k)と1ステップ前に(1)
と同様に加算器2へ転送した係数ai−1(k)との加
算を行う。加算結果はアキュムレータ3に蓄えられる。 (3)アキュムレータに蓄えられた新係数ai(k+
1)は次のステップでアキュムレータ3よりバス26,
27を介して係数RAM5へ書込まれる。The processing for one tap is executed in three steps. The processing in each step is as follows: (1) The coefficient ai (k) is transferred from the coefficient RAM 5 to one input of the adder 2 via the bus 31 and the bus 43, and the second equation (4) Multiplication of terms S (k-i) · e (k)
I do. This multiplication converts the data S (k-i) into the data RA.
It is executed by inputting from M4 to one input latch of the multiplier 1 via the data bus 20. Data e
(K) is latched in the data latch 14 in advance. (2) The result S (k−i + 1) · e (k) of the multiplication executed in the same manner as (1) one step before and (1) one step before
Similarly to, the coefficient ai-1 (k) transferred to the adder 2 is added. The addition result is stored in the accumulator 3. (3) New coefficient ai (k +) stored in the accumulator
1) is the next step from the accumulator 3 to the bus 26,
It is written to the coefficient RAM 5 via 27.
【0031】ここで係数ai(k)を読出すタイミング
新係数ai(k+1)を書込むタイミングとは2ステッ
プ分異なるが、バス52を介して係数RAM5へ入力さ
れる書込みアドレスは2ステップ前の係数RAM5の読
出しアドレスと同一になるようにCP6及びCP8の設
定を行うことで更新前後のアドレスを同一とすることが
できる。Here, the timing of reading the coefficient ai (k) differs from the timing of writing the new coefficient ai (k + 1) by two steps, but the write address input to the coefficient RAM 5 via the bus 52 is two steps before. By setting CP6 and CP8 so as to be the same as the read address of the coefficient RAM 5, the addresses before and after the update can be made the same.
【0032】このように同一タップの係数修正処理には
3ステップを要するが、i番目のタップに関する(1)
の処理と、i−1番目のタップに関する(2)の処理
と、i−2番目のタップに関する(3)の処理とは同一
ステップ中にパイプライン的に処理される。As described above, the coefficient correction process for the same tap requires three steps, but regarding the i-th tap (1)
The process (1), the process (2) for the i−1th tap, and the process (3) for the i−2nd tap are pipelined during the same step.
【0033】以上説明したように、従来の適応信号処理
装置では適応フィルタ1タップ分の処理に5ステップを
擁していたが、本実施例の適応信号処理装置では1タッ
プ当り2ステップで実行可能となる。As described above, the conventional adaptive signal processing apparatus has five steps for processing one tap of the adaptive filter, but the adaptive signal processing apparatus of the present embodiment can execute the processing in two steps per tap. Become.
【0034】本実施例におけるバスのバス幅、乗算器、
加算器等のビット構成、サンプリング周期等は、前述の
データ・バスのバス幅、乗算器、加算器等のビット構
成、サンプリング周期等に制限される事なく他の適切な
構成によっても実現できる。In the present embodiment, the bus width of the bus, the multiplier,
The bit configuration of the adder or the like, the sampling period, etc. are not limited to the bus width of the data bus, the bit configuration of the multiplier, the adder, etc., the sampling period, etc. described above, and can be realized by other suitable configurations.
【0035】第2の実施例として、クロック信号103
をインバータにより反転させ、反転したクロックをRA
M5、データラッチ11等と接続することもできる。従
って、制御信号106がハイレベルの時、係数RAM5
は選択状態となり1ステップ周期の前半で読出し状態、
後半で書込み状態となる。データラッチ11は反転クロ
ック信号103の立上りで係数RAM5の読出しデータ
をラッチする。As a second embodiment, the clock signal 103
Is inverted by an inverter, and the inverted clock is RA
It can also be connected to M5, the data latch 11, and the like. Therefore, when the control signal 106 is at the high level, the coefficient RAM 5
Becomes the selected state and the read state is made in the first half of one step cycle.
In the latter half, it becomes the writing state. The data latch 11 latches the read data of the coefficient RAM 5 at the rising edge of the inverted clock signal 103.
【0036】本実施例では、係数RAM5の対する読出
し書込みの順序が前述の実施例と異なるが、このような
構成であっても第1の実施例と同様に1タップ分の処理
が2ステップで実行できることは明らかである。In this embodiment, the order of reading and writing from and to the coefficient RAM 5 is different from that of the above-described embodiment, but even with such a configuration, the processing for one tap is performed in two steps as in the first embodiment. It is clear that it can be done.
【0037】[0037]
【発明の効果】以上説明したように、本発明によれば、
従来の適応信号処理装置ではLMSアルゴリズムの適応
フィルタ1タップ当り5ステップの処理が必要であった
が、1タップ分が2ステップで実行できることになる。
実際の適応フィルタ・システムは非常に多くのタップ数
で構成されるため、膨大なハードウェア量を必要として
いたが、本発明の適応信号処理装置を用いることによ
り、1タップ当りに必要な処理ステップ数を従来の2/
5に縮小でき、このため大幅なハードウェア量の削減が
可能となる。As described above, according to the present invention,
In the conventional adaptive signal processing device, processing of 5 steps is required for each tap of the adaptive filter of the LMS algorithm, but one tap can be executed in 2 steps.
Since an actual adaptive filter system is configured with a very large number of taps, it requires a huge amount of hardware. However, by using the adaptive signal processing device of the present invention, processing steps required for each tap are increased. The number is 2 /
It is possible to reduce the number to 5, which makes it possible to significantly reduce the amount of hardware.
【0038】例えば、自動車内の音響空間における基礎
的なノイズ・キャンセラを構成する場合、48kHz標
本化に対しては1200タップ程度のフィルタが必要で
あり、図2に示す従来の適応信号処理装置の1ステップ
実行時間を100nsとすると、この基礎的なノイズ・
キャンセラを構成するために、適応信号処理装置を29
台揃える必要があった。For example, when constructing a basic noise canceller in an acoustic space in an automobile, a filter of about 1200 taps is required for 48 kHz sampling, and the conventional adaptive signal processing apparatus shown in FIG. If one step execution time is 100ns, this basic noise
In order to configure the canceller, an adaptive signal processing device 29
It was necessary to make a table.
【0039】一方、本発明の適応信号処理装置の場合
は、1ステップ実行時間が同一であっても、12台で1
200タップのノイズ・キャンセラを構成することがで
きる。このように本発明は、適応フィルタの1タップ当
りの処理を非常に少ないステップ数で実現可能な適応信
号処理装置を提供することができ、このため大幅なハー
ドウェア量の削減が可能となる。On the other hand, in the case of the adaptive signal processing device of the present invention, even if the one-step execution time is the same, it is possible to obtain one with 12 units.
A 200-tap noise canceller can be constructed. As described above, the present invention can provide an adaptive signal processing device capable of realizing the processing per tap of the adaptive filter with a very small number of steps, and therefore, the hardware amount can be significantly reduced.
【図1】本発明の一実施例のシステム構成を示すブロッ
ク図。FIG. 1 is a block diagram showing a system configuration of an embodiment of the present invention.
【図2】適応フィルタ処理のシグナル・フロー図。FIG. 2 is a signal flow diagram of adaptive filtering.
【図3】従来の適応信号処理装置のシステムの一例の構
成例を示すブロック図。FIG. 3 is a block diagram showing a configuration example of an example of a system of a conventional adaptive signal processing device.
【符号の説明】 1 乗算器 2 加算器 3 アキュムレータ 4 データRAM 5 係数RAM 7 データRAMポインタ 6,8 係数RAMポインタ 9,10,12 マルチプレクサ 11,14 データラッチ 13 デマルチプレクサ 19 NOR回路 20 内部データバス 21〜33,40〜43,50〜52 バス 201〜213 乗算処理 220〜226 遅延処理 230〜236 加算処理[Explanation of Codes] 1 Multiplier 2 Adder 3 Accumulator 4 Data RAM 5 Coefficient RAM 7 Data RAM Pointer 6, 8 Coefficient RAM Pointer 9, 10, 12 Multiplexer 11, 14 Data Latch 13 Demultiplexer 19 NOR Circuit 20 Internal Data Bus 21-33, 40-43, 50-52 Bus 201-213 Multiplication process 220-226 Delay process 230-236 Addition process
Claims (4)
リ回路と、この第1のメモリ回路のアドレスを設定する
第1のカウンタ回路と、前記第1の入力信号列に対する
フィルタ係数の初期値を設定する第2のメモリ回路と、
この第2のメモリ回路の出力を保持する第1のデータ保
持回路と、この第1のデータ保持回路の出力と前記第1
のメモリ回路の出力との乗算を行なう乗算回路と、この
乗算回路の出力と第2の入力信号とを加算する加算回路
と、この加算回路の出力を保持する第2のデータ保持回
路と、この第2のデータ保持回路の出力と前記第2のメ
モリ回路の出力とを切替えて前記第2の入力信号として
出力する第1の選択回路と、前記第2のメモリ回路のア
ドレスを設定する第2,第3のカウンタ回路と、これら
第2,第3のカウンタ回路の出力を切換え前記第2のメ
モリ回路のアドレスとして供給する第2の選択回路とを
備えることを特徴とする適応信号処理装置。1. A first memory circuit for storing a first input signal sequence, a first counter circuit for setting an address of the first memory circuit, and a filter coefficient for the first input signal sequence. A second memory circuit for setting an initial value,
A first data holding circuit for holding the output of the second memory circuit, an output of the first data holding circuit and the first data holding circuit
Of the memory circuit, an addition circuit for adding the output of the multiplication circuit and the second input signal, a second data holding circuit for holding the output of the addition circuit, A first selection circuit for switching between the output of the second data holding circuit and the output of the second memory circuit for output as the second input signal, and a second setting circuit for setting the address of the second memory circuit. , An adaptive signal processing device comprising: a third counter circuit; and a second selection circuit for switching the outputs of the second and third counter circuits and supplying it as an address of the second memory circuit.
は、予め定められた時間周期毎に保持しているアドレス
値を更新する回路からなる請求項1記載の適応信号処理
装置。2. The adaptive signal processing device according to claim 1, wherein the first, second, and third counter circuits are circuits that update an address value held at each predetermined time period.
半で書込み状態となり、その後半で読出し状態となる
か、またはその逆の状態となるよう動作する請求項1ま
たは2記載の適応信号処理装置。3. The adaptive signal according to claim 1, wherein the second memory circuit operates so as to be in a write state in a first half of a predetermined time period and in a read state in a second half thereof, or vice versa. Processing equipment.
で第2のカウンタ回路の出力を選択出力し、その後半で
第3のカウンタ回路の出力を選択出力する回路からなる
請求項1または2記載の適応信号処理装置。4. The second selection circuit comprises a circuit which selectively outputs the output of the second counter circuit in the first half of the predetermined time period and selectively outputs the output of the third counter circuit in the latter half thereof. Alternatively, the adaptive signal processing device according to item 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21986892A JPH0669759A (en) | 1992-08-19 | 1992-08-19 | Adaptive signal processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21986892A JPH0669759A (en) | 1992-08-19 | 1992-08-19 | Adaptive signal processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0669759A true JPH0669759A (en) | 1994-03-11 |
Family
ID=16742318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21986892A Pending JPH0669759A (en) | 1992-08-19 | 1992-08-19 | Adaptive signal processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0669759A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084183A (en) * | 1996-06-28 | 2000-07-04 | Yazaki Corporation | Structure for mounting a sensing element for measuring the load of a vehicle |
US6745218B1 (en) | 1999-03-16 | 2004-06-01 | Matsushita Electric Industrial Co., Ltd. | Adaptive digital filter |
-
1992
- 1992-08-19 JP JP21986892A patent/JPH0669759A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084183A (en) * | 1996-06-28 | 2000-07-04 | Yazaki Corporation | Structure for mounting a sensing element for measuring the load of a vehicle |
US6745218B1 (en) | 1999-03-16 | 2004-06-01 | Matsushita Electric Industrial Co., Ltd. | Adaptive digital filter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5297071A (en) | Arithmetic circuit, and adaptive filter and echo canceler using it | |
JP3135902B2 (en) | Automatic equalizer and semiconductor integrated circuit | |
JPS61263331A (en) | Adaption of non-linear filter, non-linear adaptive filter and echo canceller | |
JP2002152014A (en) | Hardware accelerator for coefficient adaptation on the basis of normal least mean square algorithm | |
CA2020804C (en) | Adaptive echo canceller | |
JP2654894B2 (en) | Echo canceller and method therefor | |
JPH10313269A (en) | Echo canceler device | |
JP2000035788A (en) | Multiple channel adaptive filtering | |
JPH088691A (en) | Method and device for adapting adaptive filter | |
US6108681A (en) | System for sharing resources in a digital filter | |
JPH0669759A (en) | Adaptive signal processor | |
JPH03217112A (en) | Digital signal processing circuit | |
JPH04160811A (en) | Adaptive signal processing unit | |
Khan et al. | Analysis and implementation of block least mean square adaptive filter using offset binary coding | |
JPH09223947A (en) | Updating block for adaptive equalizer filter structure | |
KR100248266B1 (en) | Tap coefficient renewal apparatus of fir adaptive digital filter | |
JP2888121B2 (en) | Method and apparatus for identifying unknown system using adaptive filter | |
JP3147864B2 (en) | Adaptive step size control adaptive filter and adaptive step size control method | |
JPH06181424A (en) | Digital filter system | |
JP4741932B2 (en) | Voice echo signal canceller | |
JPH03220812A (en) | Adaptive signal processing unit | |
KR970063925A (en) | Digital filter with automatic coefficient update function | |
JPH06112854A (en) | Adaptive signal processing unit | |
JPH06181427A (en) | Digital filter | |
JPH03117206A (en) | Adaptive filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000523 |