JPH04160811A - Adaptive signal processing unit - Google Patents

Adaptive signal processing unit

Info

Publication number
JPH04160811A
JPH04160811A JP28610890A JP28610890A JPH04160811A JP H04160811 A JPH04160811 A JP H04160811A JP 28610890 A JP28610890 A JP 28610890A JP 28610890 A JP28610890 A JP 28610890A JP H04160811 A JPH04160811 A JP H04160811A
Authority
JP
Japan
Prior art keywords
circuit
data
signal processing
processing device
coefficient
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
Application number
JP28610890A
Other languages
Japanese (ja)
Inventor
Toyoo Kiuchi
木内 豊雄
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP28610890A priority Critical patent/JPH04160811A/en
Publication of JPH04160811A publication Critical patent/JPH04160811A/en
Pending legal-status Critical Current

Links

Landscapes

  • Filters That Use Time-Delay Elements (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

PURPOSE:To save the quantity of hardware by selecting whether an output value of a sum latch circuit as a newest filter coefficient is outputted to a 2nd or 3rd storage circuit or a data bus. CONSTITUTION:A selection signal S4 is set to a high level, an F/R control signal FR1 is set to a low level and a latch control signal L1 is set to a high level. In this case, a data of a coefficient RAM 5 is inputted to a multiplier 1 via a data bus 31. On the other hand, a data of a data RAM 4 is inputted to the multiplier 1 is a data bus 20, the result of multiplication is inputted to an adder 2 after one step. A multiplexer 10 outputs data of a bus 42 outputted from an accumulator 3 to a bus 43 and inputted to an adder 2, then the result of multiplication is added to the content of the accumulator 3 and the result of addition is stored further in the accumulator 3. Thus, the calculation processing of a predicted value P(k+1) is executed by one step per tap. Thus, the quantity of hardware is considerably reduced.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、適応信号処理装置に関し、特に通信回線等の
エコーキャンセラに用いられる適応信号処理装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an adaptive signal processing device, and more particularly to an adaptive signal processing device used in an echo canceller of a communication line or the like.

〔従来の技術〕[Conventional technology]

適応信号処理装置は電話回線等のエコーキャンセラやノ
イズキャンセラなどに用いられていた。
Adaptive signal processing devices were used in echo cancellers and noise cancellers for telephone lines, etc.

適応信号処理装置を用いたエコーキャンセラは接続され
た回線固有のエフ−伝搬経路の周波数特性を時間系列の
インパルス応答として適応的に推定し、疑似的なエコー
信号(疑似エコー)を作り出してエコー信号から引き去
るもので、エコーサプレッサのように系に減衰を与える
事なくエコーを除去できるため自然な会話が可能となる
An echo canceller using an adaptive signal processing device adaptively estimates the frequency characteristics of the F-propagation path unique to the connected line as a time series impulse response, creates a pseudo echo signal (pseudo echo), and cancels the echo signal. Unlike echo suppressors, echoes can be removed without attenuating the system, allowing for natural conversation.

また、適応信号処理装置を用いたノイズキャンセラは二
つの信号入力手段によって、雑音混じりの音声信号と雑
音のみの観測信号が与えられたときに雑音混じりの信号
から雑音を除去して音声信号をエンハンスすることを可
能としている。
In addition, a noise canceller using an adaptive signal processing device removes noise from the noise-containing signal and enhances the voice signal when a noise-containing voice signal and a noise-only observation signal are given using two signal input means. This makes it possible.

従来の適応信号処理装置では、予測誤差の二乗平均値を
最小化するようにフィルタ係数の修正を行うウィドロー
・ホフ(W idrow−Hof f )のLMS(L
east−Mean−Square)アルゴリズムに基
づく適応フィルタ処理等が行われていた。
In conventional adaptive signal processing devices, Widrow-Hof's LMS (L
Adaptive filter processing based on the East-Mean-Square (east-Mean-Square) algorithm has been performed.

最初に、この適応フィルタ処理の概要を説明する。First, an overview of this adaptive filter processing will be explained.

適応フィルタに対する現在までの入力信号列ベクトルを
、 5(k)=[5(k)、5(k−1)、5(k−2)、
−,5(k−N+1)]IT=(1)とし、フィルタ係
数ベクトルを、 A(k)=[al(k)、a2(k)、a3(k)、−
、aN(k)IT   −(2)とすると、現在までの
入力信号列による次の入力サンプルの予測値1)(k+
1)は次式で表される。
The input signal sequence vector for the adaptive filter up to now is 5(k)=[5(k), 5(k-1), 5(k-2),
-, 5(k-N+1)] IT=(1), and the filter coefficient vector is A(k)=[al(k), a2(k), a3(k), -
, aN(k)IT - (2), then the predicted value of the next input sample based on the input signal sequence up to the present 1)(k+
1) is expressed by the following formula.

p(k+1):AT(k)・5(k)        
       −・(3)またフィルタ係数の修正式は
次式で表される。
p(k+1): AT(k)・5(k)
-.(3) Also, the modification formula for the filter coefficient is expressed by the following formula.

A(k+1):A(k)+K(k+1)・e(k)  
       =(4)ここでe (k)は誤差信号で
あり、ゲインにはLMSアルゴリズムの場合、次式で示
される。
A(k+1): A(k)+K(k+1)・e(k)
= (4) where e (k) is an error signal, and the gain is expressed by the following equation in the case of the LMS algorithm.

K (k+1 )=S (k )          
                  −・(5)実用
的には、伝送路誤りの影響を軽減するために(4)式の
代わりに次式が用いられる。
K(k+1)=S(k)
--(5) Practically, the following equation is used instead of equation (4) in order to reduce the influence of transmission path errors.

A(k+1):W−A(k)+(k+1)−e(k)(
0くwくl)                   
       −・(6)ここで、Wは重み係数である
A(k+1): W-A(k)+(k+1)-e(k)(
0kuwkul)
-.(6) Here, W is a weighting coefficient.

第2図に以上説明した適応フィルタ処理のシグナル寺フ
ローを示す。
FIG. 2 shows the signal processing flow of the adaptive filter processing described above.

第2図においてステップ201〜213は乗算処理、ス
テップ220〜226は1サンプリング周期に相当する
時間だけ入力信号を遅延をする遅延処理、ステップ23
0〜236は加算処理で、破線で示した(C)の部分は
(C)と同一の処理が繰り返される。
In FIG. 2, steps 201 to 213 are multiplication processes, steps 220 to 226 are delay processes that delay the input signal by a time corresponding to one sampling period, and step 23
0 to 236 are addition processes, and in the part (C) indicated by a broken line, the same process as in (C) is repeated.

ノイズ・キャンセラの場合、入力信号S (k)は雑音
たけの観測信号、次の入力サンプルの予測値p (k+
1)は雑音の推定値、誤算信号e(k)は雑音混じりの
音声信号と雑音の推定値との差に各々相当する。
In the case of a noise canceller, the input signal S (k) is an observed signal with only noise, and the predicted value p (k+
1) corresponds to the estimated value of noise, and the miscalculation signal e(k) corresponds to the difference between the speech signal mixed with noise and the estimated value of noise.

次に、前述の適応フィルタ処理を実行する従来の適応信
号処理装置の構成及び動作について説明する。
Next, the configuration and operation of a conventional adaptive signal processing device that performs the above-mentioned adaptive filter processing will be described.

第6図は、従来の適応信号処理装置の一例を示すブロッ
ク図である。
FIG. 6 is a block diagram showing an example of a conventional adaptive signal processing device.

第6図において、従来の適応信号処理装置は、16ビツ
トX1Bビツトの乗算を1インストラクシヨンサイクル
(以下1ステップという)で実行し乗算結果を31ビツ
トで出力する乗算器1と、31ビツトの2人力を1ステ
ップで加算する加算器2と、加算器2の出力を保持する
31ビツトのアキュムレータ3と、データRAM4と、
256ワード×16ビツトの係数RAM5と、データR
AM4のアドレスを指定する8ビツトポインタで1ある
データRAMポインタ(以下DPという)7と、係数R
AM5のアドレスを指定する8ビ・ソトポインタである
係数RAMポインタ(以下CPという)8と、2人力の
うちの一方を選択出力するマルチプレクサ9と、16ビ
ツト幅の内部データバス20とから構成されていた。
In FIG. 6, the conventional adaptive signal processing device includes a multiplier 1 that executes 16 bits by 1B bits in one instruction cycle (hereinafter referred to as one step) and outputs the multiplication result in 31 bits; An adder 2 that adds two human forces in one step, a 31-bit accumulator 3 that holds the output of the adder 2, and a data RAM 4.
256 words x 16 bits coefficient RAM5 and data R
A data RAM pointer (hereinafter referred to as DP) 7, which is an 8-bit pointer that specifies the address of AM4, and a coefficient R.
It consists of a coefficient RAM pointer (hereinafter referred to as CP) 8, which is an 8-bit sotopointer that specifies the address of AM5, a multiplexer 9 that selects and outputs one of the two inputs, and an internal data bus 20 with a 16-bit width. Ta.

LMSアルゴリズムを第3図に示す従来の適応信号処理
装置で実行する場合、次のサンプルの予測値p(k+1
)を求める(3)式については1タップ当り1ステップ
の処理で実現可能であるが、フィルタ係数の修正式(4
)については1タップ当り4ステップの処理を要する。
When the LMS algorithm is executed by the conventional adaptive signal processing device shown in Fig. 3, the predicted value p(k+1
) can be realized by processing one step per tap, but the filter coefficient correction formula (4
) requires four steps of processing per tap.

フィルタ係数の修正に関する各ステップの処理の詳細は
以下の通りである。
Details of the processing of each step regarding modification of filter coefficients are as follows.

第1ステップは、係数ai(k)を係数RAM5より内
部データバス20及びマルチプレクサ9、加算器2を介
してアキュームレータ3ヘロードする。
In the first step, the coefficient ai(k) is loaded from the coefficient RAM 5 to the accumulator 3 via the internal data bus 20, multiplexer 9, and adder 2.

第2ステップは、式(4)の第2項の乗算(LMSアル
ゴリズムの場合は、5(k−i+1)・e(k))を行
う。データ5(k−i+1)はデータRAM4より内部
データバス20を介し乗算器1の一方の入力ラッチへ入
力される。データe(k)は乗算器の一方の入力ラッチ
にあらかじめラッチしておけばよく、各夕・ンプの処理
毎に更新する必要はない。
In the second step, the second term of equation (4) is multiplied (5(ki+1)·e(k) in the case of the LMS algorithm). Data 5 (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) can be latched in advance in one input latch of the multiplier, and does not need to be updated every time the data is processed.

第3ステップは、式(4)の第1項と第2項の加算を行
う。加算結果はアキュムレータ3に蓄えられる。このス
テップでは内部データバス20はドライブしない。
In the third step, the first term and the second term of equation (4) are added. The addition result is stored in accumulator 3. In this step, the internal data bus 20 is not driven.

第4ステップは、新係数ai(k+1)をアキュムレー
タ3より内部データバス20を介し係数RAM5へ格納
する。
In the fourth step, the new coefficient ai(k+1) is stored from the accumulator 3 into the coefficient RAM 5 via the internal data bus 20.

従って、第5図に示す従来の適応信号処理装置では1タ
ップ当り5ステップの処理が必要であった。
Therefore, the conventional adaptive signal processing device shown in FIG. 5 requires five steps of processing per tap.

一方、実際の適応フィルタシステムでは非常に多くのタ
ップ数を必要とする。
On the other hand, an actual adaptive filter system requires a very large number of taps.

たとえば、エコーキャンセラの場合、日本国内通信網で
の伝送遅延を考えるとエコー遅延量をカバーするインパ
ルス応答系列は、50〜60ms程度必要であり、40
0〜500り・ツブの適応フィルタを構成する必要があ
った。
For example, in the case of an echo canceller, considering the transmission delay in Japan's domestic communication network, the impulse response sequence that covers the echo delay amount needs to be about 50 to 60 ms, which is 40 ms.
It was necessary to construct an adaptive filter with a range of 0 to 500 points.

また、車載オーディオ等の音場制御の場合は、自動車内
の音響空間における反射音や残響音(高次反射音)を考
えた場合の反射遅延時間をカバーするインパルス応答系
列は25m5程度は必要であり、48kHz標本化に対
して1200タップ程度のフィルタを構成する必要があ
る。
In addition, in the case of sound field control such as in-vehicle audio, an impulse response series of about 25 m5 is required to cover the reflection delay time when considering reflected sound and reverberation sound (higher-order reflected sound) in the acoustic space inside the car. Therefore, it is necessary to configure a filter with about 1200 taps for 48 kHz sampling.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来の適応信号処理装置では、LMSアルゴリ
ズムの適応フィルタ処理のため1タップ当り多数のステ
ップの処理か必要であるという欠点があった。
The above-described conventional adaptive signal processing apparatus has a drawback in that a large number of steps are required per tap for adaptive filter processing of the LMS algorithm.

また、実際の適応フィルタシステムは非常に多くのタッ
プ数を必要とするので、適応フィルタを構成するために
は膨大なハードウェア量が必要であるという欠点があっ
た。
Furthermore, since an actual adaptive filter system requires a very large number of taps, there is a drawback that an enormous amount of hardware is required to configure the adaptive filter.

たとえば、第5図に示す従来の適応信号処理装置の1ス
テップ実行時間を100nSとし、1サンプリング周期
を0.02m5とすると、1サンプリング期間中に実行
可能なタップ数は40タップとなる。したかって、適応
フィルタの必要タップ数が1000タツプの場合は、2
5台の適応信号処理装置を並列動作させる必要があった
For example, if one step execution time of the conventional adaptive signal processing device shown in FIG. 5 is 100 nS and one sampling period is 0.02 m5, the number of taps that can be executed during one sampling period is 40 taps. Therefore, if the number of taps required for the adaptive filter is 1000, then 2
It was necessary to operate five adaptive signal processing devices in parallel.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の適応信号処理装置は、予め定めたサンプリング
周期毎に、フィルタ係数の修正を行なう最小化二乗平均
値アルゴリズムに基ずき、入力データのサンプル値と前
記周期毎に修正した前記フィルタ係数との乗算を行なう
乗算回路と、前記乗算回路の出力値が入力される加算回
路と、 前記加算回路の加算出力値が保持される加算値保持回路
と、 前記周期毎の入力データのサンプル値を記憶する第一の
記憶回路と、 前記周期毎の前記フィルタ係数の最新値を交互に記憶す
る第二および第三の記憶回路と、前記第二または前記第
三の記憶回路の出力データの一方を選択する第一の選択
回路と、前記第一の選択回路の出力値と前記加算値保持
回路の出力値を切替え前記加算回路に入力する第二の選
択回路と、 前記加算値保持回路の出力値を前記フィルタ係数の最新
値として前記第二または第三の記憶回路′に出力するか
データバスに出力するかを切替える第三の選択回路とを
有するものである。
The adaptive signal processing device of the present invention is based on a minimization mean square value algorithm that corrects filter coefficients at each predetermined sampling period, and combines sample values of input data with the filter coefficients corrected at each period. a multiplier circuit that performs multiplication, an adder circuit that receives the output value of the multiplier circuit, an added value holding circuit that holds the added output value of the adder circuit, and a sample value of the input data for each cycle that is stored. a first storage circuit that alternately stores the latest value of the filter coefficient for each cycle; and one of the output data of the second or third storage circuit. a second selection circuit that switches between the output value of the first selection circuit and the output value of the added value holding circuit and inputs the output value of the added value holding circuit to the adding circuit; and a third selection circuit for switching whether to output the latest value of the filter coefficient to the second or third storage circuit' or to the data bus.

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は、本発明の第一の実施例を示すブロック図であ
る。
FIG. 1 is a block diagram showing a first embodiment of the present invention.

第1図において、本発明の適応信号処理装置は、前述の
従来の例と同様の構成要素である、16ビツト×16ビ
ツトの乗算を1インストラクシヨンサイクル(以下1ス
テップという)で実行し乗算結果を31ビツトで出力す
る乗算器1と、31ビツトの2人力を1ステップで加算
する加算器2と、加算器2の出力を保持する31ビツト
のアキュムレータ3と、データRAM4と、256ワー
ド×16ビツトの係数RAM5と、データRAM4のア
ドレスを指定する8ビツトポインタであるデータRAM
ポインタ(以下DPという)7と、係数RAM5のアド
レスを指定する8ビツトポインタである係数RAMポイ
ンタ(以下CPという)8と、2人力のうちの一方を選
択出力するマルチプレクサ9と、16ビツト幅の内部デ
ータバス20に加えて、以下のものから構成されている
In FIG. 1, the adaptive signal processing device of the present invention has the same components as the conventional example described above, and performs multiplication of 16 bits x 16 bits in one instruction cycle (hereinafter referred to as one step). A multiplier 1 that outputs the result in 31 bits, an adder 2 that adds two 31-bit inputs in one step, a 31-bit accumulator 3 that holds the output of the adder 2, a data RAM 4, and 256 words x A 16-bit coefficient RAM5 and a data RAM which is an 8-bit pointer that specifies the address of data RAM4.
A pointer (hereinafter referred to as DP) 7, a coefficient RAM pointer (hereinafter referred to as CP) 8 which is an 8-bit pointer that specifies the address of the coefficient RAM 5, a multiplexer 9 that selects and outputs one of the two, and a 16-bit wide pointer (hereinafter referred to as CP) 8. In addition to the internal data bus 20, it consists of the following:

すなわち、マルチプレクサ9と同様のマルチプレクサ1
0と、入力した16ビツトデータを一時保持するデータ
ラッチ11と、2人力のうちの一方の16ビツトデータ
を選択し2出力の両方へ出力するマルチプレクサ12と
、入力した31ビツトデータの上位16ビツトを2出力
のうちの一方へ出力するデマルチプレクサ13と、選択
回路15と、16ビツト幅データバスであるバス21〜
33と、31ビツト幅データバスであるバス40〜43
が追加されている。
That is, multiplexer 1 similar to multiplexer 9
0, a data latch 11 that temporarily holds the input 16-bit data, a multiplexer 12 that selects one of the two 16-bit data and outputs it to both outputs, and the upper 16 bits of the input 31-bit data. a demultiplexer 13 that outputs the data to one of two outputs, a selection circuit 15, and buses 21 to 16 which are 16-bit wide data buses.
33, and buses 40-43, which are 31-bit wide data buses.
has been added.

選択回路15は、後述の選択信号S4とF/R選択信号
FRIを入力し、選択信号S3とR/W制御信号RW3
を出力する論理回路である。
The selection circuit 15 inputs a selection signal S4 and an F/R selection signal FRI, which will be described later, and outputs a selection signal S3 and an R/W control signal RW3.
This is a logic circuit that outputs .

第4図に、選択回路15の真理値表を示す。FIG. 4 shows a truth table of the selection circuit 15.

次に、本実施例における信号の種類と、その機能につい
て説明する。
Next, types of signals and their functions in this embodiment will be explained.

選択信号S1は、ハイレベルで、データRAM4を選択
する制御信号である。
The selection signal S1 is a control signal that selects the data RAM 4 at a high level.

選択信号S2は、ハイレベルで、係数RAM5を選択す
る制御信号である。
The selection signal S2 is a high level control signal for selecting the coefficient RAM5.

R/W制御信号RWIは、ローレベルでデータRAM4
を読出し状態とし、ハイレベルでデータRAM4を書込
み状態とする制御信号である。
The R/W control signal RWI is low level and the data RAM 4
This is a control signal that puts the data RAM 4 in the read state and puts the data RAM 4 in the write state at high level.

R/W制御信号RW2は、ローレベルで係数RAM5を
読出し状態とし、ハイレベルで係数RAM5を書込み状
態とする制御信号である。
The R/W control signal RW2 is a control signal that puts the coefficient RAM 5 in a read state when it is at a low level, and puts the coefficient RAM 5 into a write state when it is at a high level.

選択信号S3は、ハイレベルで、係数RAM6を選択す
る制御信号である。
The selection signal S3 is a control signal that selects the coefficient RAM 6 at a high level.

R/W制御信号RW3は、ローレベルで係数RAM6を
読出し状態とし、ハイレベルで係数RAM6を書込み状
態とする制御信号である。
The R/W control signal RW3 is a control signal that puts the coefficient RAM 6 in a read state when it is at a low level, and puts the coefficient RAM 6 into a write state when it is at a high level.

選択信号S4は、サンプリング周期毎にレベル反転する
制御信号である。
The selection signal S4 is a control signal whose level is inverted every sampling period.

F/R制御信号FRIは、前述の(3)式に相当する入
力サンプルの予測値1)(k+1)を算出中はローレベ
ルとなり、前述の(4)式に相当するフィルタ係数の修
正処理中はハイレベルとなる制御信号である。
The F/R control signal FRI is at a low level while calculating the predicted value 1) (k+1) of the input sample corresponding to the above-mentioned equation (3), and is in the process of correcting the filter coefficients corresponding to the above-mentioned equation (4). is a control signal that becomes high level.

ラッチ制御信号L1は、データラッチ11のラッチタイ
ミングを指定する制御信号で、ハイレベルの間は、入力
データをそのまま出力し、立下がりエツジで入力データ
をラッチし、ラッチ結果をローレベル期間中出力する。
The latch control signal L1 is a control signal that specifies the latch timing of the data latch 11. During the high level, the input data is output as is, the input data is latched at the falling edge, and the latch result is output during the low level period. do.

ドライブ制御信号D1はデマルチプレクサ13の出力の
うちバス33側をドライブ状態とするかハイインピーダ
ンス状態とするかを指示する制御信号で、ドライブ制御
信号D1がローレベルの場合ハイインピーダンスとなる
The drive control signal D1 is a control signal that instructs whether the bus 33 side of the output of the demultiplexer 13 is to be in a drive state or a high impedance state, and becomes high impedance when the drive control signal D1 is at a low level.

選択信号S5はローレベルでマルチプレクサ12の入力
としてデータバス20を選択し、ハイレベルでバス26
を選択する選択信号である。選択されたデータはバス2
7.28の両方へ出力される。
The selection signal S5 selects the data bus 20 as the input of the multiplexer 12 when it is at a low level, and selects the data bus 20 as the input of the multiplexer 12 when it is at a high level.
This is a selection signal for selecting. Selected data is on bus 2
7.28.

次に、前述の適応信号処理動作の説明に基づき本実施例
の動作を説明する。
Next, the operation of this embodiment will be explained based on the above description of the adaptive signal processing operation.

最初フィルタ処理前の初期設定として係数RAM5にデ
ータバス20を介して適応フィルタ係数の初期値を設定
する。
First, as an initial setting before filter processing, initial values of adaptive filter coefficients are set in the coefficient RAM 5 via the data bus 20.

この処理は選択信号S4をローレベル、F/R制御信号
FRIをハイレベル、選択信号S5をローレベル、ドラ
イブ制御信号D1をローレベルとすることにより実行さ
れる。
This process is executed by setting the selection signal S4 to a low level, the F/R control signal FRI to a high level, the selection signal S5 to a low level, and the drive control signal D1 to a low level.

この場合、係数RAM5にデータバス20を介してデー
タ書き込みが行われると共に係数RAM6の内容がバス
31上に出力されるが、ドライブ制御信号D1がローレ
ベルであることから初期設定動作への影響はない。
In this case, data is written to the coefficient RAM 5 via the data bus 20, and the contents of the coefficient RAM 6 are output onto the bus 31, but since the drive control signal D1 is at a low level, there is no effect on the initial setting operation. do not have.

以上の処理はサンプリング周期毎に実行される適応フィ
ルタ処理とは別に、あらかじめ実行される。
The above processing is performed in advance, separately from the adaptive filter processing that is performed every sampling period.

次に、サンプリング周期毎に実行される処理について説
明する。
Next, a description will be given of the processing executed at each sampling period.

最初に前述の(1)式のs (k)に相当する現在の入
力サンプル値をデータRAM4に書込む。
First, the current input sample value corresponding to s (k) in the above-mentioned equation (1) is written into the data RAM 4.

次に、前述の(3)式に相当する入力サンプルの予測値
p(k+1)を算出する。
Next, a predicted value p(k+1) of the input sample corresponding to the above-mentioned equation (3) is calculated.

この算出処理は選択信号S4をハイレベル、F/R制御
信号FRIをローレベル、ラッチ制御信号L 1をハイ
レベルとすることにより実行される。
This calculation process is executed by setting the selection signal S4 to high level, the F/R control signal FRI to low level, and the latch control signal L1 to high level.

この場合、係数RAM5のデータはデータバス31を介
して乗算器1に入力される。一方、データRAM4のデ
ータもデータバス20を介して乗算器1に入力される。
In this case, data in the coefficient RAM 5 is input to the multiplier 1 via the data bus 31. On the other hand, data in the data RAM 4 is also input to the multiplier 1 via the data bus 20.

乗算結果は1ステップ後に加算器2へ入力される。The multiplication result is input to adder 2 after one step.

マルチプレクサ10は、アキュムレータ3から出力され
たバス42のデータをバス43へ出力し、加算器2に入
力するので、前述の乗算結果はさらに、アキュムレータ
3の内容に加算され、その加算結果がさらに、アキュム
レータ3に蓄えられる。
Since the multiplexer 10 outputs the data on the bus 42 output from the accumulator 3 to the bus 43 and inputs it to the adder 2, the above-mentioned multiplication result is further added to the contents of the accumulator 3, and the addition result is further added as follows. It is stored in accumulator 3.

以上の処理を繰り返すことによって入力サンプルの予測
値p(k+1)が算出される。
By repeating the above process, the predicted value p(k+1) of the input sample is calculated.

ここで、乗算と1タツプ前の加算とは、同一ステップ内
で行われるため、予測値P(k+1)の算出処理は、1
タップ当り1ステップで実行されることになる。
Here, since the multiplication and the addition one tap before are performed in the same step, the calculation process of the predicted value P(k+1) is
It will be executed with one step per tap.

予測値P(k+1)が求められると、ドライブ制御信号
DIがハイレベルとなり、アキュムレータ3からデータ
バス20へ、この予測値P (k十1)が出力される。
When the predicted value P(k+1) is determined, the drive control signal DI becomes high level, and the predicted value P(k+1) is outputted from the accumulator 3 to the data bus 20.

次に、(4)式に相当するフィルタ係数の修正処理のう
ちの1タップ分の処理について説明する。
Next, the processing for one tap in the filter coefficient correction processing corresponding to equation (4) will be explained.

この処理は選択信号S4をハイレベル、F/R制御信号
FRIをハイレベル、ラッチ制御信号L1をローレベル
、選択信号S5をハイレベル、ドライブ制御信号D1を
ローレベルとすることにより実行される。
This process is executed by setting the selection signal S4 to high level, the F/R control signal FRI to high level, the latch control signal L1 to low level, the selection signal S5 to high level, and the drive control signal D1 to low level.

1タップ分の処理は3ステップにわたり実行される。各
ステップに於ける処理は以下の通りである。
Processing for one tap is executed over three steps. The processing in each step is as follows.

第1ステップは係数ai(k)を係数RAM5よりバス
31及びバス43を介して加算器2の一方の入力に転送
するとともに、式(4)の第2の乗算5(k−i)・e
 (k)を行う。この乗算は、データ5(k−i)をデ
ータRAM4よりデータバス20を介し乗算器1の一方
の大力ラッチへ入力することにより実行される。なおデ
ータe(k)はデータラッチ11にサンプリング周期の
はじめにあらかじめラッチしておく。
In the first step, 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 multiplication 5(ki)·e of equation (4) is performed.
Do (k). This multiplication is executed by inputting data 5(k-i) from the data RAM 4 to one large latch of the multiplier 1 via the data bus 20. Note that the data e(k) is latched in the data latch 11 in advance at the beginning of the sampling period.

第2ステップは、1ステップ前に上記(1)と同様に実
行した乗算の結果5(k−j+1)・e(k)と1ステ
ップ前に上記(1)と同様に加算器2へ転送した係数a
i−1(k)との加算を行う。
In the second step, the result of multiplication performed in the same way as in (1) above is 5(k-j+1)・e(k) one step before and transferred to adder 2 in the same way as in (1) above. coefficient a
Addition with i-1(k) is performed.

加算結果はアキユムレータ3に蓄えられる。The addition result is stored in the accumulator 3.

第3ステップは、アキュムレータ3に蓄えられた新係数
ai(k+1)は、次のステップでアキュムレータ3よ
りバス26を介して係数RAM6へ書込まれる。
In the third step, the new coefficient ai(k+1) stored in the accumulator 3 is written from the accumulator 3 to the coefficient RAM 6 via the bus 26 in the next step.

ここで係数ai(k)を読出すタイミングと新係数ai
(k+1)を書込むタイミングとは2ステップ分異なり
、2個の係数RAMに対してCPが1個のため、更新の
前後で係数のアドレスが2アドレス分異なることになる
Here, the timing to read the coefficient ai(k) and the new coefficient ai
The timing for writing (k+1) differs by two steps, and since there is one CP for two coefficient RAMs, the addresses of the coefficients differ by two addresses before and after the update.

このように同一タップの係数修正処理には3ステップを
要するか、1番目のタップに関する上記第1ステップの
処理と、i−1番目のタップに関する上記第2ステップ
の処理と、l−2番目のタップに関する上記第3ステッ
プの処理とは同一ステップ中にパイプライン的に処理さ
れる。
In this way, the coefficient correction processing for the same tap requires three steps, or the processing in the first step for the first tap, the second step for the i-1th tap, and the processing for the l-2nd tap. The processing in the third step regarding taps is performed in a pipeline manner during the same step.

次のサンプリング周期においても同様の処理が行われる
が、係数RAM5と整数RAM6とが逆に用いられる。
Similar processing is performed in the next sampling period, but the coefficient RAM 5 and the integer RAM 6 are used in reverse.

係数RAM5と係数RAME3の選択は第4図に示す通
り選択信号S4とF/R制御信号FRIにより行なわれ
る。
Selection of coefficient RAM5 and coefficient RAME3 is performed by selection signal S4 and F/R control signal FRI as shown in FIG.

以上説明したように、従来の適応信号処理装置では適応
フィルタ1タップ分の処理に5ステップを要していたが
、本実施例の適応信号処理装置では1タップ当り2ステ
ップで実行可能となる。
As explained above, in the conventional adaptive signal processing device, processing for one tap of the adaptive filter requires five steps, but in the adaptive signal processing device of this embodiment, processing can be performed in two steps per tap.

本実施例で述べたバスのバス幅、乗算器、加算器等のビ
ット構成、サンプリング周期等は、前述のデータバスの
バス幅、乗算器、加算器等のビット構成、サンプリング
周期等に制限される事なく、他の適切な構成によっても
実現できることは言うまでもない。
The bus width of the bus, the bit configuration of multipliers, adders, etc., sampling period, etc. described in this embodiment are limited to the bus width of the data bus, the bit configuration of multipliers, adders, etc., sampling period, etc. described above. Needless to say, this can be realized by other suitable configurations without any additional configuration.

次に、本発明の第二の実施例について説明する。Next, a second embodiment of the present invention will be described.

第4図は本発明の第二の実施例のシステム構成図である
FIG. 4 is a system configuration diagram of a second embodiment of the present invention.

第4図において、係数RAM5のアドレスを指定する8
ビツトポインタである係数RAMポインタ(以下CPと
記す)17と係数RAM8のアドレスを指定する8ビツ
トポインタ16と、これらに接続されるバスを除いて前
述の第一の実施例と同じ構成である。
In FIG. 4, 8 specifies the address of coefficient RAM 5.
The configuration is the same as that of the first embodiment described above, except for a coefficient RAM pointer (hereinafter referred to as CP) 17, which is a bit pointer, an 8-bit pointer 16 that specifies the address of the coefficient RAM 8, and a bus connected thereto.

ここでは2個の係数RAMに対して各々CPが用意され
るため、係数ai(k)を読出すタイミングと新係数a
t(k+1)を書込むタイミングとが2ステップ分異な
った場合も、更新の前後で係数のアドレスを同一とする
ことができる。
Here, since CPs are prepared for each of the two coefficient RAMs, the timing of reading out the coefficient ai(k) and the new coefficient a
Even if the timing of writing t(k+1) differs by two steps, the address of the coefficient can be made the same before and after the update.

本実施例2で述べたポインタのビット構成等も、8ビツ
トに制限される事なく、他の適切な構成によっても実現
できることは言うまでもない。
It goes without saying that the bit configuration of the pointer described in the second embodiment is not limited to 8 bits, and can be realized by other suitable configurations.

次に、本発明の第三の実施例について説明する。Next, a third embodiment of the present invention will be described.

第5図は、本発明の第三の実施例を示すブロック図であ
る。
FIG. 5 is a block diagram showing a third embodiment of the present invention.

第5図において、シフタ18と、選択回路19とが係数
RAM5.6のアドレスを指定する係数RAMポインタ
8の出力側に付加された以外は、前述の第一の実施例と
同様の構成である。
In FIG. 5, the configuration is the same as that of the first embodiment described above, except that a shifter 18 and a selection circuit 19 are added to the output side of the coefficient RAM pointer 8 that specifies the address of the coefficient RAM 5.6. .

シフタ18は、係数RAMポインタ8の8ビツトの出力
データを、データ処理ごとに2ステップずつシフトする
ものである。
The shifter 18 shifts the 8-bit output data of the coefficient RAM pointer 8 by two steps for each data process.

選択回路19は、係数RAME3の書込み読出しを制御
するR/W制御信号RW3により制御され、係数RAM
ポインタ8の出力データとシック18の出力データを切
替えて、それぞれ係数RAM5あるいは係数RAM6に
入力するものである。
The selection circuit 19 is controlled by an R/W control signal RW3 that controls writing and reading of the coefficient RAME3.
The output data of the pointer 8 and the output data of the thick 18 are switched and input to the coefficient RAM 5 or the coefficient RAM 6, respectively.

すなわち、R/W制御信号RW3がローレベルのときは
、係数RAMポインタ8の出力データを係数RAM6に
入力するとともに、シフタ18の出力データを係数RA
M5に入力する。
That is, when the R/W control signal RW3 is at a low level, the output data of the coefficient RAM pointer 8 is input to the coefficient RAM 6, and the output data of the shifter 18 is input to the coefficient RA.
Enter into M5.

逆に、R/W制御信号RW3かハイレベルのときは、係
数RAMポインタ8の出力データを係数RAM5に入力
するとともに、シフタ18の出力データを係数RAM6
に入力する。
Conversely, when the R/W control signal RW3 is at a high level, the output data of the coefficient RAM pointer 8 is input to the coefficient RAM 5, and the output data of the shifter 18 is input to the coefficient RAM 6.
Enter.

前述のように、フィルタ係数の修正処理において、係数
ai(k)を読出すタイミングと、新係数ai(k+1
)を書込むタイミングとは2ステップ分異なるが、シフ
タ18と選択回路19により、係数RAM6に入力され
る書込みアドレスは、2ステップ前の係数RAM5の読
出しアドレスと同一となる。
As mentioned above, in the filter coefficient correction process, the timing of reading the coefficient ai(k) and the timing of reading the new coefficient ai(k+1
) is different by two steps from the writing timing, but due to the shifter 18 and the selection circuit 19, the write address input to the coefficient RAM 6 becomes the same as the read address of the coefficient RAM 5 two steps before.

したがって、更新前後でアドレスが異なることはないと
いう点が、前述の第一または第二の実施例との相違点で
ある。
Therefore, the difference from the first or second embodiment described above is that the address does not change before and after the update.

また、R/W制御信号RW3の代りに、係数RAM5.
6の出力を切替えるマルチプレクサ9を制御する選択信
号S4を用いても、全く同様の動作となることは明らか
であり、本発明の主旨を逸脱しない限り適用できること
は勿論である。
Also, instead of the R/W control signal RW3, the coefficient RAM5.
It is clear that even if the selection signal S4 for controlling the multiplexer 9 which switches the output of 6 is used, the same operation will be obtained, and the present invention can of course be applied as long as it does not depart from the gist of the present invention.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、従来5ステップ要してい
た1タップ分の適応フィルタ処理が2ステップ、すなわ
ち、従来の215で実行できるという効果がある。
As described above, the present invention has the advantage that adaptive filter processing for one tap, which conventionally required five steps, can be executed in two steps, that is, in 215 steps as in the conventional method.

したがって、大幅なハードウェア量の削減が可能となる
という効果がある。
Therefore, there is an effect that the amount of hardware can be significantly reduced.

たとえば、第6図に示す従来の適応信号処理装置の1ス
テップ実行時間を100nS、1サンプリング周期を0
.02m5.適応フィルタの必要タップ数が1000タ
ツプの場合は、25台の適応信号処理装置を並列動作さ
せる必要があったが、本発明の適応信号処理装置では、
1ステップ実行時間を同一としても、10台の並列動作
に削減できるという効果がある。
For example, the conventional adaptive signal processing device shown in FIG. 6 has one step execution time of 100 nS and one sampling period of 0.
.. 02m5. If the number of taps required for the adaptive filter was 1000, it would be necessary to operate 25 adaptive signal processing devices in parallel, but with the adaptive signal processing device of the present invention,
Even if the execution time for one step is the same, there is an effect that it can be reduced to 10 parallel operations.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の第一の実施例を示すブロック図、第2
図は適応フィルタ処理のシグナルフローチャート、第3
図は選択回路の真理値表を示す図、第4図は本発明の第
二の実施例を示すブロック図、第5図は本発明の第三の
実施例を示すブロック図、第6図は従来の適応信号処理
装置の一例を示すブロック図である。 1・・・乗算器、2・・・加算器、3・・・アアキュム
レータ、4・・・データRAM、5.6・・・係数RA
M、7・・・データRAMポインタ、8,16.17・
・・係数RAMポインタ、9,10.12・・・マルチ
プレクサ、11・・−データラッチ、15.19・・・
選択回路、18・・・シフタ、20・・・内部データバ
ス、21〜33.40〜43・・・バス。
FIG. 1 is a block diagram showing a first embodiment of the present invention, and FIG.
The figure is a signal flowchart of adaptive filter processing, the third
4 is a block diagram showing the second embodiment of the present invention, FIG. 5 is a block diagram showing the third embodiment of the present invention, and FIG. 6 is a diagram showing the truth table of the selection circuit. FIG. 1 is a block diagram showing an example of a conventional adaptive signal processing device. 1... Multiplier, 2... Adder, 3... Accumulator, 4... Data RAM, 5.6... Coefficient RA
M, 7...Data RAM pointer, 8, 16.17.
...Coefficient RAM pointer, 9, 10.12...Multiplexer, 11...-Data latch, 15.19...
Selection circuit, 18... Shifter, 20... Internal data bus, 21-33. 40-43... Bus.

Claims (1)

【特許請求の範囲】 1、予め定めたサンプリング周期毎に、フィルタ係数の
修正を行なう最小化二乗平均値アルゴリズムに基ずき、
入力データのサンプル値と前記周期毎に修正した前記フ
ィルタ係数との乗算を行なう乗算回路と、 前記乗算回路の出力値が入力される加算回路と、 前記加算回路の加算出力値が保持される加算値保持回路
と、 前記周期毎の入力データのサンプル値を記憶する第一の
記憶回路と、 前記周期毎の前記フィルタ係数の最新値を交互に記憶す
る第二および第三の記憶回路と、前記第二または前記第
三の記憶回路の出力データの一方を選択する第一の選択
回路と、 前記第一の選択回路の出力値と前記加算値保持回路の出
力値を切替え前記加算回路に入力する第二の選択回路と
、 前記加算値保持回路の出力値を前記フィルタ係数の最新
値として前記第二または第三の記憶回路に出力するかデ
ータバスに出力するかを切替える第三の選択回路とを有
することを特徴とする適応信号処理装置。 2、前記第一および第二および第三の記憶回路は書込み
読出し制御信号により書込み読出し制御されアドレスポ
インタによりアドレス指定されるRAMであることを特
徴とする請求項1記載の適応信号処理装置。 3、前記第二の記憶回路は前記第三の記憶回路が書込み
状態のとき読出し状態に制御され、前記第三の記憶回路
は前記第二の記憶回路が書込み状態のとき読出し状態に
制御されることを特徴とする請求項1または2記載の適
応信号処理装置。 4、前記第二および第三の記憶回路はアドレス指定用の
共通の前記アドレスポインタを有することを特徴とする
請求項2記載の適応信号処理装置。 5、前記第二および第三の記憶回路はアドレス指定用の
それぞれ専用の前記アドレスポインタを有することを特
徴とする請求項2記載の適応信号処理装置。 6、前記第二および第三の記憶回路はアドレス指定用の
共通の前記アドレスポインタと、前記アドレスポインタ
の出力データをデータ処理ごとに2ステップずつシフト
するシフト回路と、 前記アドレスポインタの出力データと前記シフト回路の
出力データとを前記第二および第三の記憶回路にそれぞ
れ切替え入力する第四の選択回路とを有することを特徴
とする請求項4記載の適応信号処理装置。 7、前記第四の選択回路は前記第二の記憶回路の書込み
読出し制御信号の制御により制御されることを特徴とす
る請求項4記載の適応信号処理装置。 8、前記第四の選択回路は前記第一の選択回路を制御す
る制御信号により制御されることを特徴とする請求項4
記載の適応信号処理装置。
[Claims] 1. Based on a minimizing mean square value algorithm that corrects filter coefficients at every predetermined sampling period,
a multiplier circuit that multiplies a sample value of input data by the filter coefficient modified for each cycle; an adder circuit that receives the output value of the multiplier circuit; and an adder that holds the added output value of the adder circuit. a value holding circuit; a first storage circuit that stores sample values of the input data for each cycle; second and third storage circuits that alternately store the latest values of the filter coefficients for each cycle; a first selection circuit that selects one of the output data of the second or third storage circuit; and a first selection circuit that switches the output value of the first selection circuit and the output value of the added value holding circuit and inputs it to the addition circuit. a second selection circuit; and a third selection circuit that switches whether to output the output value of the added value holding circuit to the second or third storage circuit or to the data bus as the latest value of the filter coefficient. An adaptive signal processing device comprising: 2. The adaptive signal processing device according to claim 1, wherein the first, second, and third storage circuits are RAMs whose write/read is controlled by a write/read control signal and addressed by an address pointer. 3. The second memory circuit is controlled to be in a read state when the third memory circuit is in a write state, and the third memory circuit is controlled to be in a read state when the second memory circuit is in a write state. The adaptive signal processing device according to claim 1 or 2, characterized in that: 4. The adaptive signal processing device according to claim 2, wherein the second and third storage circuits have the common address pointer for addressing. 5. The adaptive signal processing device according to claim 2, wherein the second and third storage circuits each have a dedicated address pointer for addressing. 6. The second and third storage circuits include the common address pointer for addressing, a shift circuit that shifts the output data of the address pointer by two steps for each data process, and the output data of the address pointer. 5. The adaptive signal processing device according to claim 4, further comprising a fourth selection circuit that switches and inputs the output data of the shift circuit to the second and third storage circuits, respectively. 7. The adaptive signal processing device according to claim 4, wherein the fourth selection circuit is controlled by a write/read control signal of the second storage circuit. 8. Claim 4, wherein the fourth selection circuit is controlled by a control signal that controls the first selection circuit.
The adaptive signal processing device described.
JP28610890A 1990-10-24 1990-10-24 Adaptive signal processing unit Pending JPH04160811A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28610890A JPH04160811A (en) 1990-10-24 1990-10-24 Adaptive signal processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28610890A JPH04160811A (en) 1990-10-24 1990-10-24 Adaptive signal processing unit

Publications (1)

Publication Number Publication Date
JPH04160811A true JPH04160811A (en) 1992-06-04

Family

ID=17700041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28610890A Pending JPH04160811A (en) 1990-10-24 1990-10-24 Adaptive signal processing unit

Country Status (1)

Country Link
JP (1) JPH04160811A (en)

Similar Documents

Publication Publication Date Title
US5774564A (en) Active controller using lattice-type filter and active control method
JP3135902B2 (en) Automatic equalizer and semiconductor integrated circuit
US20050201457A1 (en) Distributed arithmetic adaptive filter and method
US5297071A (en) Arithmetic circuit, and adaptive filter and echo canceler using it
US5638439A (en) Adaptive filter and echo canceller
CA2020804C (en) Adaptive echo canceller
US5535149A (en) Duplex adaptive digital filter and method of operation
JP2654894B2 (en) Echo canceller and method therefor
US5563817A (en) Adaptive canceller filter module
KR20000070020A (en) Adaptive filter system having mixed fixed point or floating point and block scale floating point operators
US6108681A (en) System for sharing resources in a digital filter
JPH088691A (en) Method and device for adapting adaptive filter
JPH07199979A (en) Reverberation adding device
JPH04160811A (en) Adaptive signal processing unit
JPH0669759A (en) Adaptive signal processor
JP4741932B2 (en) Voice echo signal canceller
EP0651899B1 (en) Adaptive canceller filter module
JP3121998B2 (en) Acoustic echo canceller
KR100214504B1 (en) Adaptive-type equalizer
JP3147864B2 (en) Adaptive step size control adaptive filter and adaptive step size control method
KR100400726B1 (en) Finite Impulse Response Filter
JPH06112854A (en) Adaptive signal processing unit
CA2140152C (en) Adaptive canceller filter module
JPH06216716A (en) Digital filter
JPH03117206A (en) Adaptive filter