[go: up one dir, main page]

JP4734127B2 - エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム - Google Patents

エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム Download PDF

Info

Publication number
JP4734127B2
JP4734127B2 JP2006009065A JP2006009065A JP4734127B2 JP 4734127 B2 JP4734127 B2 JP 4734127B2 JP 2006009065 A JP2006009065 A JP 2006009065A JP 2006009065 A JP2006009065 A JP 2006009065A JP 4734127 B2 JP4734127 B2 JP 4734127B2
Authority
JP
Japan
Prior art keywords
input
signal
output
filter
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006009065A
Other languages
English (en)
Other versions
JP2006304261A (ja
Inventor
秀紀 大橋
浩三 奥田
健生 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2006009065A priority Critical patent/JP4734127B2/ja
Priority to KR1020060025996A priority patent/KR100796910B1/ko
Priority to US11/277,210 priority patent/US8036376B2/en
Priority to TW095109862A priority patent/TWI387230B/zh
Priority to CN2006100651737A priority patent/CN1838705B/zh
Publication of JP2006304261A publication Critical patent/JP2006304261A/ja
Application granted granted Critical
Publication of JP4734127B2 publication Critical patent/JP4734127B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/015Reducing echo effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Telephone Function (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Description

本発明は、エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラムに関する。
近年、例えばイヤホンマイクが接続される携帯電話機やハンズフリー電話機などの通信機器においては、スピーカからマイクに回り込む音響結合や回路上の電気的反射等によって生じるエコーを防止するためのエコー防止回路が組み込まれているものがある。
図48は、エコー防止回路が組み込まれた、例えば2線4線変換回路を示した図である。マイク104からの入力信号は、増幅回路101を介して電話回線に出力される。そして、電話回線を通して相手側に入力信号が送信されることによって音声を伝えることが可能となる。しかしながら、増幅回路101を介して伝達される入力信号は、電話回線に出力される他に、図48破線で示すように2線4線回路変換回路の電気的反射等により増幅回路105を介してスピーカ106に出力される場合がある。この結果、入力信号によるエコーがスピーカ106から発生することとなる。そこで、このようなエコーをキャンセルすべくエコー防止回路が設けられる。エコー防止回路においては、図48実線で示すように、マイク104からの入力信号が増幅回路101の前段で分岐される。そして、入力信号は反転増幅回路107にて反転増幅される。反転増幅回路107からの信号は、利得位相調整回路(G/P)108にて利得および位相の調整が施される。つまり、図48破線で示すように伝達される入力信号とは逆位相であって、振幅レベルが等しい信号が生成されることとなる。この結果、図48破線で示すように伝達される入力信号と、図48実線で示すように伝達される信号とが打ち消しあうことによってエコーを防止することが可能となる。
特許第3293029号公報
しかしながら、前述したエコー防止回路によるエコーのキャンセル量は−30dB程度であった。何故ならば、前述のエコー防止回路においてエコーを高精度にキャンセルするためには、各回路素子の回路定数を高精度で設定する必要がある。しかし、実際に各回路素子の回路定数を高精度で設定することは容易ではなく、これらの回路定数が定数値より変化すれば、エコーのキャンセル量が低下するという問題があった。また、利得位相調整回路108による利得および位相の調整誤差などにより、図48破線で示すように伝達される入力信号と、正確に打ち消しあうことが可能な信号を生成することが困難であるという問題があった。この結果、前述のエコー防止回路によるエコーのキャンセル量は−30dB程度となっていた。
さらに、図48の増幅回路105は、電話回線からの音声信号が例えば微弱な音声信号の場合であっても、当該微弱な音声信号に基づく音声を聴覚可能とすべく、所定の振幅レベルまで増幅するものである。しかしながら、この増幅回路105を設けたがために、当該増幅回路105の増幅出力に起因するエコーを防止できないという問題があった。そこで、このエコーをより効果的に防止することが可能なエコー防止回路が求められていた。
そこで、本発明は、効果的にエコーを防止することが可能なエコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラムを提供することを目的とする。
前記課題を解決するための本発明のエコー防止回路は、第1入力信号が入力される入力端子と、前記入力端子からの第1入力信号が入力される第1FIRフィルタと、前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、前記第1FIRフィルタの出力信号が出力されるか又は第2入力信号が入力される入出力端子と、前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号から、前記第2FIRフィルタの出力信号を減算する第1減算回路と、前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、前記第1減算回路の出力信号から前記適応デジタルフィルタの出力信号を減算する第2減算回路と、前記第2減算回路の出力信号が出力される出力端子と、を備え、前記第1FIRフィルタおよび前記第2FIRフィルタは、第1入力信号が前記入力端子に入力されたときの、前記第1減算回路からの出力信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を有し、前記適応デジタルフィルタは、前記第2減算回路の出力信号に基づいて、前記出力端子からの出力信号が前記第1減算回路の出力信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を有する、ことを特徴とする。
また、本発明のデジタル信号処理回路は、第1入力信号が入力される第1入力端子と、前記第1入力端子からの第1入力信号が入力される第1FIRフィルタと、前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、前記第1FIRフィルタの出力信号が出力される第1出力端子と、前記第2FIRフィルタの出力信号が出力される第2出力端子と、入出力信号共用ライン上において前記第1出力端子からの出力信号と第2入力信号とを合わせた信号から、前記第2出力端子からの出力信号を減算した信号が入力される第2入力端子と、前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、前記第2入力端子の信号から、前記適応デジタルフィルタの出力信号を減算する減算回路と、前記減算回路の出力信号が出力される第3出力端子と、を備え、前記第1FIRフィルタおよび前記第2FIRフィルタは、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を有し、前記適応デジタルフィルタは、前記減算回路の出力信号に基づいて、前記第3出力端子からの出力信号が前記減算した信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を有する、ことを特徴とする。
また、本発明のエコー防止回路のフィルタ係数設定方法は、第1入力信号が入力される入力端子と、前記入力端子からの第1入力信号が入力される第1FIRフィルタと、前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、前記第1FIRフィルタの出力信号が出力されるか、当該出力された出力信号が反射されて入力されるか、又は第2入力信号が入力される入出力端子と、前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号から、前記第2FIRフィルタの出力信号を減算する第1減算回路と、前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、前記第1減算回路の出力信号から前記適応デジタルフィルタの出力信号を減算する第2減算回路と、前記第2減算回路の出力信号が出力される出力端子と、を備えたエコー防止回路のフィルタ係数設定方法であって、前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記入力端子に入力されたときの、前記第1減算回路からの出力信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定し、前記適応デジタルフィルタに対して、前記第2減算回路の出力信号に基づいて、前記出力端子からの出力信号が前記第1減算回路の出力信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定する、ことを特徴とする。
また、本発明のデジタル信号処理回路のフィルタ係数設定方法は、第1入力信号が入力される第1入力端子と、前記第1入力端子からの第1入力信号が入力される第1FIRフィルタと、前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、前記第1FIRフィルタの出力信号が出力される第1出力端子と、前記第2FIRフィルタの出力信号が出力される第2出力端子と、入出力信号共用ライン上において前記第1出力端子からの出力信号と第2入力信号とを合わせた信号から、前記第2出力端子からの出力信号を減算した信号が入力される第2入力端子と、前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、前記第2入力端子の信号から、前記適応デジタルフィルタの出力信号を減算する減算回路と、前記減算回路の出力信号が出力される第3出力端子と、を備えたデジタル信号処理回路のフィルタ係数設定方法であって、前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定し、前記適応デジタルフィルタに対して、前記減算回路の出力信号に基づいて、前記第3出力端子からの出力信号が前記減算した信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定する、ことを特徴とする。
また、本発明のエコー防止回路のフィルタ係数を設定するためのプログラムは、プロセッサと、第1入力信号が入力される入力端子と、前記入力端子からの第1入力信号が入力される第1FIRフィルタと、前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、前記第1FIRフィルタの出力信号が出力されるか又は第2入力信号が入力される入出力端子と、前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号から、前記第2FIRフィルタの出力信号を減算する第1減算回路と、前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、前記第1減算回路の出力信号から前記適応デジタルフィルタの出力信号を減算する第2減算回路と、前記第2減算回路の出力信号が出力される出力端子と、を備えたエコー防止回路のフィルタ係数を設定するためのプログラムであって、前記プロセッサに、前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定する機能と、前記適応デジタルフィルタに対して、前記第2減算回路の出力信号に基づいて、前記出力端子からの出力信号が前記第1減算回路の出力信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定する機能を実現させることを特徴とする。
また、本発明のデジタル信号処理回路のフィルタ係数を設定するためのプログラムは、プロセッサと、第1入力信号が入力される第1入力端子と、前記第1入力端子からの第1入力信号が入力される第1FIRフィルタと、前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、前記第1FIRフィルタの出力信号が出力される第1出力端子と、前記第2FIRフィルタの出力信号が出力される第2出力端子と、入出力信号共用ライン上において前記第1出力端子からの出力信号と第2入力信号とを合わせた信号から、前記第2出力端子からの出力信号を減算した信号が入力される第2入力端子と、前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、前記第2入力端子の信号から、前記適応デジタルフィルタの出力信号を減算する減算回路と、前記減算回路の出力信号が出力される第3出力端子と、を備えたデジタル信号処理回路のフィルタ係数を設定するためのプログラムであって、前記プロセッサに、前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定する機能と、前記適応デジタルフィルタに対して、前記減算回路の出力信号に基づいて、前記第3出力端子からの出力信号が前記減算した信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定する機能を実現させることを特徴とする。
本発明によれば、効果的にエコーを防止することが可能なエコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラムを提供することが可能となる。
<<第1の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図1を参照しつつ本発明に係るエコー防止回路、デジタル信号処理回路について説明する。図1は、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP(Digital Signal Processor)2)の一例を示すブロック図である。
エコー防止回路は、CPU(Central Processing Unit)1、DSP2、ADコンバータ3、DAコンバータ5(第1DAコンバータ)、増幅回路6、入出力端子7、差動増幅回路9(第1減算回路)、増幅回路10、ADコンバータ14、DAコンバータ15、DAコンバータ12(第2DAコンバータ)、増幅回路13を有している。なお、本実施形態においてはCPU1を構成要件としているが、CPU1を構成要件としないことも可能である。
さらに、DSP2は、入力端子30(第1入力端子)、FIR(Finite Impulse Response)フィルタ4(第1FIRフィルタ)、出力端子31(第1出力端子)、FIRフィルタ11(第2FIRフィルタ)、出力端子32(第2出力端子)、入力端子33(第2入力端子)、出力端子34(第3出力端子)を有している。
ADコンバータ3には、例えば音声信号(第1入力信号)が入力される。そして、ADコンバータ3は、音声信号に対してアナログ・デジタル変換処理したデジタル信号を、入力端子30を介してDSP2に入力させる。
DSP2に入力されたデジタル信号は、FIRフィルタ4、11にそれぞれ入力される。FIRフィルタ4はデジタル信号に対して、当該FIRフィルタ4のフィルタ係数に基づいて後述する畳み込み演算処理を施して出力端子31に出力する。また同時に、FIRフィルタ11はデジタル信号に対して、当該FIRフィルタ11のフィルタ係数に基づいて後述する畳み込み演算処理を施して出力端子32に出力する。
DAコンバータ5は、出力端子31を介して、FIRフィルタ4からの出力信号が入力される。そして、DAコンバータ5は、FIRフィルタ4からの出力信号に対してデジタル・アナログ変換処理したアナログ信号を増幅回路6に出力する。増幅回路6は、所定の増幅率にてアナログ信号を増幅して出力する。
入出力端子7には、例えばアナログ信号に基づいて音声を発生させる機器(例えばイヤホンマイク、スピーカなど)が接続される。そして、入出力端子7を介して、増幅回路6からのアナログ信号が接続された機器に対して出力される。また、入出力端子7には、例えば音声を音声信号に変換して出力する機器(例えばイヤホンマイク、マイクなど)が接続される。このため、入出力端子7には、接続された機器からの音声信号が入力される。そして、入出力端子7を介して、音声信号が差動増幅回路9の+入力端子に入力される。さらに、入出力端子7を介して出力された信号は、接続された機器を介して反射されて入出力端子7から入力され、差動増幅回路9の+入力端子に入力される。ここで、反射されてくる信号とは、例えば、イヤホンマイク等を通じて戻ってくる信号や、イヤホンマイクから出力された音が耳の中で反射し、その反射音がイヤホンマイクによって音声信号に変換された信号等である。なお、入出力端子7は、出力信号(例えばアナログ信号)と入力信号(例えば音声信号)が排他的に入出力されるものではない。例えば、入出力端子7は、出力信号と入力信号とが同時に入出力される場合もある。なお、入出力信号共用ラインとは、入出力端子7に接続されるラインである。
DAコンバータ12は、出力端子32を介して、FIRフィルタ11からの出力信号が入力される。そして、DAコンバータ12は、FIRフィルタ11からの出力信号に対してデジタル・アナログ変換処理したアナログ信号を増幅回路13に出力する。増幅回路13は、所定の増幅率にてアナログ信号を増幅して差動増幅回路9の−入力端子に出力する。
差動増幅回路9は、入出力端子7からの音声信号を増幅回路10に出力する。増幅回路10は、音声信号を所定の増幅率にて増幅してADコンバータ14に出力する。また、差動増幅回路9の+入力端子には、増幅回路6からのアナログ信号が入力される。そして、差動増幅回路9は、+入力端子に入力された増幅回路6からのアナログ信号と、−入力端子に入力された増幅回路13からのアナログ信号との差分を増幅して出力する。
ADコンバータ14は、増幅回路10からの音声信号に対してアナログ・デジタル変換処理したデジタル信号を、入力端子33を介してDSP2に入力させる。入力端子33に入力されたデジタル信号は、出力端子34から出力される。DAコンバータ15は、出力端子34を介してDSP2からのデジタル信号が入力される。そして、DAコンバータ15は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を出力する。
CPU1は、エコー防止回路を統括制御する。CPU1は、例えばエコー防止回路をリセットするためのリセット信号が入力されると、後述するインパルス応答取得処理をDSP2にて実行させるべく指示信号を、DSP2に出力する。さらに、CPU1は、インパルス応答取得処理の初期動作として、例えば他方の論理値‘0’をDSP2に出力する。なお、本実施形態においてCPU1は、リセット信号が入力されることによって、インパルス応答取得処理をDSP2にて実行させるための指示信号を出力しているがこれに限るものではない。例えば、エコー防止回路、DSP2を動作させるための電源投入をCPU1が検出したとき、前述の指示信号をDSP2に出力するように設けても良い。また、CPU1は、アナログ回路の電気的変化(例えば増幅回路10の出力の振幅変化)を検出したとき、前述の指示信号をDSP2に出力するように設けても良い。
===DSP2及びFIRフィルタ4、11の構成の詳細===
以下、図1〜図7を参照しつつDSP2及びDSP2の構成要件であるFIRフィルタ4、11の構成ついて詳述する。図2は、図1に示すエコー防止回路の経路A、Bを示した図である。図3は、経路Aにイヤホンマイク18が含まれる場合を示した図である。図4(a)は、図2又は図3に示す経路Aのインパルス応答IR1'(Z)を示した図である。図4(b)は、図2又は図3に示す経路Bのインパルス応答IR2'(Z)を示した図である。図5は、DSP2の構成の一部を示すブロック図である。詳述すると、経路Aのインパルス応答IR1'(Z)に基づいてFIRフィルタ11のフィルタ係数を設定するための、DSP2の構成の一部を示すブロック図である。図6は、DSP2の他の構成の一部を示すブロック図である。詳述すると、経路Bのインパルス応答IR2'(Z)に基づいてFIRフィルタ4のフィルタ係数を設定するための、DSP2の他の構成の一部を示すブロック図である。図7は、FIRフィルタ4、11のその他の一例を示すブロック図である。
先ず、図5を参照しつつDSP2及びFIRフィルタ11の構成について詳述する。
DSP2は、図1に示すFIRフィルタ11等とともに、インパルス応答格納メモリ43(フィルタ係数設定部)、インパルス用メモリ44、45、フィルタ係数格納メモリ47、レジスタ46、48、49、50(フィルタ係数設定部)、スイッチ回路60A〜60E、60G〜60I(フィルタ係数設定部)、60N、60Qを有している。
また、FIRフィルタ11は、図5一点鎖線内に示すデジタル信号用メモリ42、乗算回路51、ADD(加算器)52、ACC(Accumulator)53、スイッチ回路60Mを有している。
レジスタ48、49には、CPU1からの前述した他方の論理値‘0’が入力される。
インパルス用メモリ44、45はそれぞれ、N個のレジスタ0〜N−1から構成されている。そして、後述のインパルス応答取得処理において図2又は図3の実線で示す経路Aのインパルス応答IR1'(Z)を取得する場合、インパルス用メモリ45のレジスタ0には、例えば一方の論理値‘1’が記憶される。そして、インパルス用メモリ45の他のレジスタ1〜N−1には、他方の論理値‘0’が記憶される。また、レジスタ46、インパルス用メモリ44のレジスタ0〜N−1には、他方の論理値‘0’が記憶される。
また、後述のインパルス応答取得処理において図2又は図3の実線で示す経路Bのインパルス応答IR2'(Z)を取得する場合、インパルス用メモリ44のレジスタ0には、例えば一方の論理値‘1’が記憶される。そして、インパルス用メモリ44の他のレジスタ1〜N−1には、他方の論理値‘0’が記憶される。また、レジスタ46、インパルス用メモリ45のレジスタ0〜N−1には、他方の論理値‘0’が記憶される。
インパルス応答格納メモリ43は、N個のレジスタ0〜N−1から構成されている。インパルス応答格納メモリ43のレジスタ0〜N−1には、DSP2がスイッチ回路60Eを入力端子33側に切替えることによって、入力端子33を介して経路Aにおけるサンプリング周期単位ごとのインパルス応答imp(0)〜(N−1)(=IR1'(Z))が記憶される。例えば、先ず入力端子33を介してインパルス応答imp(0)がレジスタN−1に記憶される。そして、次のインパルス応答imp(1)はレジスタN−1に記憶され、レジスタ0に記憶されていたインパルス応答imp(0)はレジスタN−2に記憶される。そして、この処理が繰り返されることによって、インパルス応答格納メモリ43のレジスタ0〜N−1には、インパルス応答imp(0)〜(N−1)(=IR1'(Z))が記憶されることとなる。なお、サンプリング周期とは、図4(a)に示す各インパルス応答imp(0)〜(N−1)間の時間間隔である。また、インパルス応答格納メモリ43は、DSP2がスイッチ回路60Hをレジスタ49側に切替え、スイッチ60Gをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ49に記憶された他方の論理値‘0’によってクリアされる。
フィルタ係数格納メモリ47は、N個のアドレス0〜N−1から構成されている。そして、フィルタ係数格納メモリ47のアドレス0〜N−1には、スイッチ回路60G、60Iを順次切替えることによって、レジスタ50を介したインパルス応答格納メモリ43のレジスタ0〜N−1に記憶されたインパルス応答imp(0)〜(N−1)が順次記憶される。この結果、FIRフィルタ11のフィルタ係数に、経路Aのインパルス応答imp(0)〜(N−1)(=IR1'(Z))が設定されることとなる。なお、FIRフィルタ11のフィルタ係数に、経路Aにおけるインパルス応答imp(0)〜(N−1)を設定する理由については、後述のFIRフィルタ4、11のフィルタ係数において説明する。
レジスタ50は、インパルス応答格納メモリ43からのインパルス応答imp(0)〜(N−1)が、フィルタ係数格納メモリ47のアドレス0〜N−1に順次記憶されるべく、当該インパルス応答imp(0)〜(N−1)が一時記憶される。
デジタル信号用メモリ42は、N個のレジスタ0〜N−1から構成されている。そして、デジタル信号用メモリ42には、入力端子30を介してADコンバータ3からのデジタル信号が順次入力される。そして、レジスタ0〜N−1にデジタル信号が順次入力されることにより、デジタル信号は1サンプリング周期単位ずつ遅延されることとなる。例えばデジタル信号をXnとすると、レジスタ0はXnを1サンプリング周期遅延させたXn−1をレジスタ1に出力し、レジスタN−2はXn−(N−1)を出力する。また、デジタル信号用メモリ42は、DSP2がスイッチ回路60Qをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ48に記憶された他方の論理値‘0’によってクリアされる。
乗算回路51は、DSP2がスイッチ回路60M、60Nをそれぞれ、レジスタ0、アドレス0から順次切替えることによって、デジタル信号用メモリ42からのデジタル信号Xn、・・、Xn−(N−1)と、フィルタ係数格納メモリ47からのフィルタ係数imp(0)、・・、(N−1)が順次入力される。そして、乗算回路51は、デジタル信号Xn、・・、Xn−(N−1)とフィルタ係数imp(0)、・・、(N−1)とを順次乗算した乗算結果をADD52に出力する。例えば、乗算回路51は、デジタル信号用メモリ42からのXnとフィルタ係数格納メモリ47からのimp(0)を乗算した乗算結果をADD52に出力する。次に、乗算回路51は、デジタル信号用メモリ42からのXn−1とフィルタ係数格納メモリ47からのimp(1)を乗算した乗算結果をADD52に出力する。そして、この処理が繰り返されることによって、デジタル信号Xn、・・、Xn−(N−1)とフィルタ係数imp(0)、・・、(N−1)とが乗算されることとなる。
ACC53は、ADD52からの加算結果が入力されて、この加算結果を保持する。ADD52は、乗算回路51からの乗算結果と、ACC53に記憶されている前回のADD52の加算結果とを加算した結果をACC53に出力する。この結果、ACC53にはXn・imp(0)+・・+Xn−(N−1)・imp(N−1)が記憶されることとなる。この結果、FIRフィルタ11は、フィルタ係数格納メモリ47に記憶されたフィルタ係数に基づき、デジタル信号に対して畳み込み演算処理を施したこととなる。そして、FIRフィルタ11は、畳み込み演算処理を施したデジタル信号を、出力端子32に出力する。
次に、図6を参照しつつDSP2及びFIRフィルタ4の構成について説明する。なお、前述したDSP2及びFIRフィルタ11と同一の構成については、同一番号を付して説明を省略する。
DSP2は、図1に示すFIRフィルタ4等ともに、インパルス応答格納メモリ55(フィルタ係数設定部)、インパルス用メモリ44、45、フィルタ係数格納メモリ56、レジスタ46、48〜50、57(フィルタ係数設定部)、乗算回路58(フィルタ係数設定部)、スイッチ回路60A〜60D、60F、60J〜60L(フィルタ係数設定部)、60P、60Rを有している。
また、FIRフィルタ4は、図6一点鎖線内に示すデジタル信号用メモリ54、乗算回路51、ADD52、ACC53、スイッチ回路60Oを有している。なお、乗算回路51、ADD52、ACC53は、FIRフィルタ4と共用して用いられる。
インパルス応答格納メモリ55は、N個のレジスタ0〜N−1から構成されている。インパルス応答格納メモリ55のレジスタ0〜N−1には、DSP2がスイッチ回路60Fを入力端子33側に切替えることによって、入力端子33を介して経路Bにおけるサンプリング周期単位ごとのインパルス応答imp(0)〜(N−1)(=IR2'(Z))が記憶される。なお、インパルス応答格納メモリ55のレジスタ0〜N−1へのインパルス応答imp(0)〜(N−1)の記憶は、前述したインパルス応答格納メモリ43と同様である。また、インパルス応答格納メモリ55は、DSP2がスイッチ回路60Kをレジスタ49側に切替え、スイッチ60Jをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ49に記憶された他方の論理値‘0’によってクリアされる。
レジスタ57には、インパルス応答格納メモリ55に記憶されたインパルス応答imp(0)〜(N−1)を、乗算回路58にて位相反転させるべく−1を示すバイナリデータが予め記憶されている。
乗算回路58は、レジスタ50の値とレジスタ57の値とを乗算した乗算結果をインパルス応答格納メモリ56に出力する。詳述すると、DSP2がスイッチ回路60Kをレジスタ50側に切替え、スイッチ回路60Jをレジスタ0から順次切替えることによって、レジスタ50にインパルス応答格納メモリ55のレジスタ0〜N−1からのインパルス応答imp(0)〜(N−1)が順次入力される。そして、乗算回路58が、レジスタ50の値とレジスタ57の値とを順次乗算することによって、位相反転されたインパルス応答imp(0)〜(N−1)を示す乗算結果がフィルタ係数格納メモリ56に出力されることとなる。
フィルタ係数格納メモリ56は、N個のアドレス0〜N−1から構成されている。そして、フィルタ係数格納メモリ56のアドレス0〜N−1には、スイッチ回路60Lを順次切替えることによって、乗算回路58にて位相反転されたインパルス応答imp(0)〜(N−1)が順次記憶される。この結果、FIRフィルタ4のフィルタ係数として、位相反転された経路Bのインパルス応答imp(0)〜(N−1)(=IR2'(Z))が設定されることとなる。なお、FIRフィルタ4のフィルタ係数に、位相反転した経路Bのインパルス応答imp(0)〜(N−1)を設定する理由については、後述のFIRフィルタ4、11のフィルタ係数において説明する。
デジタル信号用メモリ54は、N個のレジスタ0〜N−1から構成されている。そして、デジタル信号用メモリ54には、入力端子30を介してADコンバータ3からのデジタル信号が順次入力される。そして、レジスタ0〜N−1にデジタル信号が順次入力されることにより、デジタル信号は1サンプリング周期単位ずつ遅延されることとなる。例えばデジタル信号をXnとすると、レジスタ0はXnを1サンプリング周期遅延させたXn−1をレジスタ1に出力し、レジスタN−2はXn−(N−1)を出力する。また、デジタル信号用メモリ54は、DSP2がスイッチ回路60Rをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ48に記憶された他方の論理値‘0’によってクリアされる。
そして、前述したFIRフィルタ11と同様の乗算回路51、ADD52による処理が行われる。この結果、FIRフィルタ4は、フィルタ係数格納メモリ56に記憶されたフィルタ係数に基づき、デジタル信号に対して畳み込み演算処理を施したこととなる。そして、FIRフィルタ4は、畳み込み演算処理を施したデジタル信号を、出力端子31に出力する。
なお、本実施形態においては、FIRフィルタ4、11を前述した構成にて述べているがこれに限るものではない。例えば、図7に示す構成としても良い。この場合、デジタル信号用メモリ42、54に対応した遅延回路35a1〜35aN−1、乗算回路51に対応した乗算回路36a0〜36aN−1、ADD52、ACC53に対応した加算回路37を設けても良い。以下、例えばFIRフィルタ4が図7に示す構成で設けられた場合について説明する。同図に示すように、FIRフィルタ4は、縦続接続されたN−1個の遅延回路35a1〜35aN−1と、入力されるデジタル信号をそれぞれ乗算するN個の乗算回路36a0〜36aN−1と、乗算回路36a0〜36aN−1からの出力を合算する加算回路37とを有している。
遅延回路35a1〜35aN−1は、入力端子30を介して入力されるデジタル信号Xnを、サンプリングの周期単位ごとに遅延して出力する。例えば、遅延回路35a1はデジタル信号Xnを1サンプリング周期位相遅延させたデジタル信号Xn−1を出力し、遅延回路35aN−1はデジタル信号Xn−(N−1)を出力する。
乗算回路36a0〜36aN−1は、スイッチ回路60P、60Sが順次切替わることにより、フィルタ係数格納メモリ56に記憶されたインパルス応答imp(0)〜(N−1)が乗算係数としてそれぞれ設定される。そして、乗算回路36a0〜36aN−1は、入力されるデジタル信号に対して設定された乗算係数で乗算した乗算結果を出力する。
加算回路37は、乗算回路36a0〜36aN−1からの出力を合算する。この結果、前述したFIRフィルタ4と同様の畳み込み演算を施すことが可能となる。
===FIRフィルタ4、11のフィルタ係数===
図2及び図3を参照しつつFIRフィルタ4、11のフィルタ係数について詳述する。なお、イヤホンマイク18は入出力端子7に接続することができる。そして、入出力端子7から出力されるアナログ信号がイヤホンマイク18に入力されると、イヤホンマイク18はそのアナログ信号に基づいて振動板(不図示)を振動させることにより音声を出力する。また、イヤホンマイク18は、イヤホンマイク18を耳に装着している者が音声を発したときの鼓膜の振動を振動板でとらえることによりアナログ信号を生成して出力する。そして、イヤホンマイク18から出力されるアナログ信号が入出力端子7から入力される。
前述したように増幅回路6からのアナログ信号は、入出力端子7からの出力のみならず、差動増幅回路9の+入力端子にも入力される場合がある。つまり、差動増幅回路9の+入力端子には、増幅回路6からのアナログ信号と、入出力端子7に入力された信号とを合わせた信号が入力される。なお、入出力端子7に入力される信号(第2入力信号)とは、音声信号のみならず、例えば電気的ノイズ信号や環境ノイズ等の信号も含まれるものとして以下説明する。そして、この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子7から入力される音声信号と増幅回路6からのアナログ信号が重畳されて差動増幅回路9の+入力端子に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくFIRフィルタ4、11のフィルタ係数を設定する。
そこで、図2又は図3の破線で示す出力端子31から差動増幅回路9の+入力端子までのインパルス応答(伝達関数)をIR1(Z)とする。また、図2又は図3の破線で示す出力端子32から差動増幅回路9の−入力端子までのインパルス応答(伝達関数)をIR2(Z)とする。また、図2又は図3の破線で示す差動増幅回路9における±入力端子の後段から入力端子33までのインパルス応答(伝達関数)をW(Z)とする。
この時、図2又は図3の実線で示す経路Aのインパルス応答(伝達関数)IR1'(Z)は、IR1'(Z)=IR1(Z)・W(Z)となる。また、図2又は図3の実線で示す経路Bのインパルス応答(伝達関数)IR2'(Z)は、IR2'(Z)=−IR2(Z)・W(Z)となる。なお、IR2(Z)が位相反転しているのは、差動増幅回路9の−入力端子に入力されているためである。
今、FIRフィルタ4のフィルタ係数を、IR2'(Z)を位相反転した−IR2'(Z)とすると、FIRフィルタ4の入力から入力端子33までの特性IRall_1(Z)は、
IRall_1(Z)=−IR2'(Z)・IR1'(Z)
=(−(−IR2(Z)・W(Z)))・(IR1(Z)・W(Z))
=IR2(Z)・W(Z)・IR1(Z)・W(Z)
となる。また、FIRフィルタ11のフィルタ係数をIR1'(Z)とすると、FIRフィルタ11の入力から入力端子33までの特性IRall_2(Z)は、
IRall_2(Z)=IR1'(Z)・IR2'(Z)
=IR1(Z)・W(Z)・(−IR2(Z)・W(Z))
=IR1(Z)・W(Z)・(−IR2(Z))・W(Z)
=−IRall_1(Z)
となる。
つまり、FIRフィルタ4の入力から入力端子33までの特性IRall_1(Z)と、FIRフィルタ11の入力から入力端子33までの特性IRall_2(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数を、IR2'(Z)を位相反転した−IR2'(Z)とし、FIRフィルタ11のフィルタ係数をIR1'(Z)と設定すればよいことがわかる。
あるいは、FIRフィルタ4のフィルタ係数を、IR2'(Z)とすると、FIRフィルタ4の入力から入力端子33までの特性IRall_1(Z)は、
IRall_1(Z)=IR2'(Z)・IR1'(Z)
=(−IR2(Z)・W(Z))・(IR1(Z)・W(Z))
=−IR2(Z)・W(Z)・IR1(Z)・W(Z)
となる。また、FIRフィルタ11のフィルタ係数を,IR1'(Z)を位相反転した−IR1'(Z)とすると、FIRフィルタ11の入力から入力端子33までの特性IRall_2(Z)は、
IRall_2(Z)=−IR1'(Z)・IR2'(Z)
=(−(IR1(Z)・W(Z)))・(−IR2(Z)・W(Z))
=IR1(Z)・W(Z)・IR2(Z)・W(Z)
=−IRall_1(Z)
となる。
つまり、FIRフィルタ4の入力から入力端子33までの特性IRall_1(Z)と、FIRフィルタ11の入力から入力端子33までの特性IRall_2(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数を、IR2'(Z)とし、FIRフィルタ11のフィルタ係数を、IR1'(Z)を位相反転した−IR1'(Z)と設定すればよいことがわかる。
そして、このようにFIRフィルタ4、11のフィルタ係数を設定することによって、差動増幅回路9において経路Aを伝達する信号を、経路Bを伝達する信号で打ち消すことが可能となる。この結果、入力端子30にデジタル信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図3に示すように、イヤホンマイク18が接続された状態でインパルス応答IR1'(Z)を取得し、このIR1'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR1'(Z)を取得し、このIR1'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
==インパルス応答取得処理によるFIRフィルタ4、11のフィルタ係数設定==
以下、図1〜図6、図8を参照しつつ本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路によるインパルス応答取得処理、FIRフィルタ4、11のフィルタ係数設定の動作について説明する。図8は、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の動作の一例を示すフローチャートである。
CPU1は、例えば、エコー防止回路をリセットするためのリセット信号が入力されると、インパルス応答取得処理をDSP2にて実行させるべく指示信号を、DSP2に出力する。また、CPU1は、インパルス応答取得処理の初期動作として、他方の論理値‘0’をDSP2出力する。DSP2に入力された他方の論理値‘0’は、レジスタ48、49に入力される。
DSP2は、スイッチ回路60Rをデジタル信号用メモリ54のレジスタ0〜レジスタN−1へと順次切替える。この結果、レジスタ48に記憶された他方の論理値‘0’によって、デジタル信号用メモリ54のレジスタ0〜N−1の内容がクリアされる(S101)。同様に、DSP2は、スイッチ回路60Qをデジタル信号用メモリ42のレジスタ0〜レジスタN−1へと順次切替える。この結果、レジスタ48に記憶された他方の論理値‘0’によって、デジタル信号用メモリ42のレジスタ0〜N−1がクリアされる(S102)。そして、DSP2は、CPU1からの前述の指示信号が入力されたか否かを判別する(S103)。
DSP2は、CPU1からの指示信号が入力されたと判別すると(S103・YES)、先ずスイッチ回路60Hをレジスタ49側に切替え、スイッチ回路60Gをレジスタ0〜レジスタN−1に順次切替える。この結果、レジスタ49に記憶された他方の論理値‘0’によって、インパルス応答格納メモリ43のレジスタ0〜レジスタN−1の内容がクリアされる(S104)。以下、インパルス応答格納メモリ43に記憶させるi番目のインパルス応答をimp(i)(i=0、・・・、N−1)と示して説明する。そして、DSP2は、インパルス応答格納メモリ43のレジスタN−1に記憶させるインパルス応答imp(0)を取得すべくi=0とし(S105)、入力端子30をハイインピーダンスとした上で、以下の処理を実行する。
DSP2は、図2又は図3に示した経路Aのインパルス応答imp(0)を取得するために、当該経路Aへ出力端子31からのインパルス出力が可能であるか否かを判別する(S106)。例えば、このDSP2による判別としては、出力端子31からの信号の出力や入力端子33への信号の入力がされている状態であるか否かを判別することによって行う。仮に、出力端子31からの信号の出力や入力端子33への信号の入力がされている状態でインパルスを出力すると、正確なインパルス応答imp(0)を取得できない可能性があるためである。
そして、DSP2は、経路Aへのインパルス出力が可能であると判別すると(S106・YES)、i=0であるか否かを判別する(S107)。S105においてi=0であるため、DSP2はi=0であると判別することとなる(S107・YES)。そして、DSP2は、インパルス用メモリ45のレジスタ0に一方の論理値‘1’を記憶させる。また、DSP2は、インパルス用メモリ45の他のレジスタ1〜N−1、レジスタ46、インパルス用メモリ44のレジスタ0〜N−1に、他方の論理値‘0’を記憶させる。そして、DSP2は、スイッチ回路60Cをインパルス用メモリ45側に切替え、スイッチ回路60Aをインパルス用メモリ44側に切替え、スイッチ回路60Tをレジスタ46側に切替える。また、DSP2は、スイッチ回路60Eを入力端子33側に切替える。次に、DSP2は、スイッチ回路60D、60Bをそれぞれ、レジスタ0に切替える。この結果、インパルス用メモリ45のレジスタ0に記憶された一方の論理値‘1’によるインパルスが出力端子31から出力されることとなる(S108)。出力端子31から出力されたインパルスは、経路Aを伝達して入力端子33に入力される(S109)。この結果、インパルス応答imp(0)が取得できたこととなる(図4(a)・imp(0))。そして、このインパルス応答imp(0)は、先ずインパルス応答格納メモリ43のレジスタN−1に記憶される。
次に、インパルス応答imp(1)を取得するため、DSP2はiをインクリメントして、i=i+1=1とする(S110)。そして、DSP2は、取得したインパルス応答が未だimp(N−1)まで達していないためi≧Nでないと判別し(S111・NO)、前述したS106の処理を再び繰り返すこととなる。さらに、S110においてi=1≠0となっているため(S107・NO)、DSP2は、スイッチ回路60D、60Bをそれぞれ、レジスタ1に切替える。この結果、出力端子31からはインパルスが出力されない(S112)。そのため、入力端子33には、S108において出力されたインパルスの1サンプリング周期位相遅延したインパルスimp(1)が入力される。そして、このインパルス応答imp(1)はインパルス応答格納メモリ43のレジスタN−1に記憶され、レジスタN−1に記憶されていたインパルス応答imp(0)はレジスタN−2に記憶されることとなる。このように、S106からS111の処理をi≧Nまで繰り返すことによって(S111・YES)、インパルス応答imp(0)〜imp(N−1)(=IR1'(Z))が取得される。この結果、インパルス応答格納メモリ43のレジスタ0〜N−1に、インパルス応答imp(0)〜imp(N−1)が記憶されたこととなる。
DSP2は、インパルス応答格納メモリ43のレジスタ0〜N−1に記憶されているインパルス応答imp(0)〜imp(N−1)を、フィルタ係数格納メモリ47のアドレス0〜N−1に記憶させるべく、スイッチ回路60Hをレジスタ50側に切替え、スイッチ回路60G、60Iをそれぞれレジスタ0、アドレス0から順次切替える。詳述すると、DSP2は、先ずインパルス応答imp(0)をアドレス0に記憶させるべくi=0とする(S113)。そして、DSP2は、スイッチ回路60Gをレジスタ0に切替え、スイッチ回路60Iをアドレス0に切替える。この結果、フィルタ係数格納メモリ47のアドレス0にインパルス応答imp(0)が記憶されることとなる(S114)。次に、DSP2は、フィルタ係数格納メモリ47のアドレス1にインパルス応答imp(1)を記憶させるべく、i=i+1=1とする(S115)。そして、DSP2は、フィルタ係数格納メモリ47のアドレスN−1までインパルス応答が記憶されていないためi≧Nでないと判別し(S116・NO)、前述のS114の処理を再び繰り返すこととなる。つまり、DSP2は、スイッチ回路60Gをレジスタ1に切替え、スイッチ回路60Iをアドレス1に切替える。この結果、アドレス1にインパルス応答imp(1)が記憶されることとなる(S114)。そして、前述のS114からS116の処理をi≧Nまで繰り返すことによって(S116・YES)、フィルタ係数格納メモリ47のアドレス0〜N−1にインパルス応答imp(0)〜imp(N−1)が記憶されることとなる。つまり、FIRフィルタ11のフィルタ係数が設定されることとなる。
次に、DSP2は、スイッチ回路60Kをレジスタ49側に切替え、スイッチ回路60Jをレジスタ0〜レジスタN−1に順次切替える。この結果、レジスタ49に記憶された他方の論理値‘0’によって、インパルス応答格納メモリ55のレジスタ0〜レジスタN−1がクリアされる(S117)。以下、インパルス応答格納メモリ55に記憶させるj番目のインパルス応答をimp(j)(j=0、・・・、N−1)と示して説明する。そして、DSP2は、インパルス応答格納メモリ55のレジスタN−1に記憶させるインパルス応答imp(0)を取得すべくj=0とし(S118)、以下の処理を実行する。
DSP2は、図2又は図3に示した経路Bのインパルス応答imp(0)を取得するために、当該経路Bへインパルス出力が可能であるか否かを判別する(S119)。このDSP2による判別は、前述したS106と同様である。
そして、DSP2は、経路Bへのインパルス出力が可能であると判別すると(S119・YES)、j=0であるか否かを判別する(S120)。S118においてj=0であるため、DSP2はj=0であると判別することとなる(S120・YES)。そして、DSP2は、インパルス用メモリ44のレジスタ0に一方の論理値‘1’を記憶させる。また、DSP2は、インパルス用メモリ44の他のレジスタ1〜N−1、レジスタ46、インパルス用メモリ45のレジスタ0〜N−1に、他方の論理値‘0’を記憶させる。そして、DSP2は、スイッチ回路60Fを入力端子33側に切替える。次に、DSP2は、スイッチ回路60D、60Bをそれぞれ、レジスタ0に切替える。この結果、インパルス用メモリ44のレジスタ0に記憶された一方の論理値‘1’によるインパルスが出力端子32から出力されることとなる(S121)。出力端子32から出力されたインパルスは、経路Bを伝達して入力端子33に入力される(S122)。この結果、インパルス応答imp(0)が取得できたこととなる(図4(b)・imp(0))。そして、このインパルス応答imp(0)は、先ずインパルス応答格納メモリ55のレジスタN−1に記憶される。
次に、インパルス応答imp(1)を取得するため、DSP2はjをインクリメントして、j=j+1=1とする(S123)。そして、DSP2は、取得したインパルス応答が未だimp(N−1)まで達していないためj≧Nでないと判別し(S124・NO)、前述したS119の処理を再び繰り返すこととなる。さらに、S123においてj=1≠0となっているため(S120・NO)、DSP2は、スイッチ回路60D、60Bをそれぞれ、レジスタ1に切替える。この結果、出力端子32からはインパルスが出力されない(S125)。そのため、入力端子33には、S121において出力されたインパルスの1サンプリング周期位相遅延したインパルスimp(1)が入力される。そして、このインパルス応答imp(1)はインパルス応答格納メモリ55のレジスタN−1に記憶され、レジスタN−1に記憶されていたインパルス応答imp(0)はレジスタN−2に記憶されることとなる。このように、S119からS124の処理をj≧Nまで繰り返すことによって(S124・YES)、インパルス応答imp(0)〜imp(N−1)(=IR2'(Z))が取得される。この結果、インパルス応答格納メモリ55のレジスタ0〜N−1に、インパルス応答imp(0)〜imp(N−1)が記憶されたこととなる。
DSP2は、インパルス応答格納メモリ55のレジスタ0〜N−1に記憶されているインパルス応答imp(0)〜imp(N−1)を、位相反転させてフィルタ係数格納メモリ56のアドレス0〜N−1に記憶させるべく、スイッチ回路60Kをレジスタ50側に切替え、スイッチ回路60J、60Lをそれぞれレジスタ0、アドレス0から順次切替える。DSP2は、先ず位相反転されたインパルス応答imp(0)をアドレス0に記憶させるべくj=0とする(S126)。そして、DSP2は、スイッチ回路60Jをレジスタ0に切替え、スイッチ回路60Lをアドレス0に切替える。このときレジスタ0からのimp(0)は、乗算回路58にてレジスタ57の値と乗算されることによって位相反転される。この結果、フィルタ係数格納メモリ47のアドレス0には、位相反転されたインパルス応答imp(0)を記憶されることとなる(S127)。次に、DSP2は、フィルタ係数格納メモリ47のアドレス1にインパルス応答imp(1)を記憶させるべく、j=j+1=1とする(S128)。そして、DSP2は、フィルタ係数格納メモリ56のアドレスN−1までインパルス応答が記憶されていないためj≧Nでないと判別し(S129・NO)、前述のS127の処理を再び繰り返すこととなる。つまり、DSP2は、スイッチ回路60Jをレジスタ1に切替え、スイッチ回路60Lをアドレス1に切替える。そして、レジスタ1からのimp(1)は、乗算回路58にてレジスタ57の値と乗算されることによって位相反転される。この結果、アドレス1に位相反転されたインパルス応答imp(1)が記憶されることとなる(S127)。そして、前述のS127からS129の処理をj≧Nまで繰り返すことによって(S129・YES)、フィルタ係数格納メモリ56のアドレス0〜N−1に、位相反転されたインパルス応答imp(0)〜imp(N−1)が記憶されることとなる。つまり、FIRフィルタ4のフィルタ係数が設定されることとなる。
なお、上述した実施形態によれば、前述した処理についてハードェア(例えばスイッチ回路60など)を用いて説明したが、これに限るものではない。例えば、前述した処理をプログラムデータとしてROM(Read Only Memory)などに予め記憶させておき、DSP2が備えるプロセッサが当該プログラムデータを読み出して処理することによってソフトウェア処理することも可能である。
<<第2の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図9は、第2の実施形態を示す図である。図9は、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の一例を示すブロック図である。なお、図9に示すエコー防止回路おいて、前述した第1の実施形態と同一の構成要件については、同一番号を付して説明を省略する。
エコー防止回路は、CPU1、DSP2、ADコンバータ3、DAコンバータ5、増幅回路6、入出力端子7、加算回路63、増幅回路10、ADコンバータ14、DAコンバータ15、DAコンバータ12、反転増幅回路61(反転回路)、利得位相調整回路(G/P)75を有している。
つまり、本実施形態は、第1の実施形態における差動増幅回路9、増幅回路13に代えて、反転増幅回路61、利得位相調整回路75、加算回路63を設けた構成となっている。なお、本実施形態においてもCPU1を構成要件としているが、CPU1を構成要件としないことも可能である。
さらに、DSP2は、入力端子30、FIRフィルタ4、出力端子31、FIRフィルタ11、出力端子32、入力端子33、出力端子34を有している。
反転増幅回路61は、DAコンバータ12からのアナログ信号を、所定の増幅率にて反転増幅して利得位相調整回路75に出力する。
利得位相調整回路75は、反転増幅回路61からのアナログ信号に対して、利得および位相の調整を施して加算回路63に出力する。なお、この利得位相調整回路75によるアナログ信号の利得および位相の調整は、入力端子30にデジタル信号が入力されたときの後述する加算回路63の出力をゼロとするため、増幅回路6からのアナログ信号とは位相反転したアナログ信号を生成すべく行われる。
加算回路63は、増幅回路6からのアナログ信号が入力される。そして、加算回路63は、増幅回路6からのアナログ信号と、利得位相調整回路75からのアナログ信号とを加算した加算結果を増幅回路10に出力する。また、加算回路63は、入出力端子7からの音声信号を増幅回路10に出力する。
===FIRフィルタ4、11のフィルタ係数===
図10及び図11を参照しつつFIRフィルタ4、11のフィルタ係数について詳述する。図10は、図9に示すエコー防止回路の経路C、Dを示した図である。また、図11は、経路Cにイヤホンマイク18が含まれる場合を示した図である。
増幅回路6からのアナログ信号は、入出力端子7からの出力のみならず、加算回路63に入力される場合がある。この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子7から入力される音声信号と増幅回路6からのアナログ信号が重畳されて加算回路63に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくFIRフィルタ4、11のフィルタ係数を設定する。
そこで、図10又は図11の破線で示す出力端子31から加算回路63の入力端子までのインパルス応答(伝達関数)をIR3(Z)とする。また、図10又は図11の一点鎖線で示す出力端子32から反転増幅回路61の入力までのインパルス応答(伝達関数)をIR4_1(Z)とする。また、図10又は図11の二点鎖線で示す反転増幅回路61の入力から加算回路63の入力端子までのインパルス応答(伝達関数)をIR4_2(Z)とする。また、図10又は図11の破線で示す加算回路63における各入力端子の後段から入力端子33までのインパルス応答(伝達関数)をW2(Z)とする。
この時、図10又は図11の実線で示す経路Cのインパルス応答(伝達関数)IR3'(Z)は、IR3'(Z)=IR3(Z)・W2(Z)となる。また、図10又は図11の実線で示す経路Dのインパルス応答(伝達関数)IR4'(Z)は、IR4'(Z)=−IR4_1(Z)・IR4_2(Z)・W2(Z)となる。なお、IR4_1(Z)が位相反転しているのは、反転増幅回路61にて反転されるためである。
今、FIRフィルタ4のフィルタ係数を、IR4'(Z)を位相反転した−IR4'(Z)とすると、FIRフィルタ4の入力から入力端子33までの特性IRall_3(Z)は、
IRall_3(Z)=−IR4'(Z)・IR3'(Z)
=(−(−IR4_1(Z)・IR4_2(Z)・W2(Z)))・
(IR3(Z)・W2(Z))
=IR4_1(Z)・IR4_2(Z)・W2(Z)・IR3(Z)・W2(Z)
となる。また、FIRフィルタ11のフィルタ係数をIR3'(Z)とすると、FIRフィルタ11の入力から入力端子33までの特性IRall_4(Z)は、
IRall_4(Z)=IR3'(Z)・IR4'(Z)
=IR3(Z)・W2(Z)・(−IR4_1(Z)・
IR4_2(Z)・W2(Z))
=IR3(Z)・W2(Z)・(−IR4_1(Z))・
IR4_2(Z)・W2(Z)
=−IRall_3(Z)
となる。
つまり、FIRフィルタ4の入力から入力端子33までの特性IRall_3(Z)と、FIRフィルタ11の入力から入力端子33までの特性IRall_4(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数をIR4'(Z)を位相反転した−IR4'(Z)とし、FIRフィルタ11のフィルタ係数をIR3'(Z)と設定すればよいことがわかる。
あるいは、FIRフィルタ4のフィルタ係数を、IR4'(Z)とすると、FIRフィルタ4の入力から入力端子33までの特性IRall_3(Z)は、
IRall_3(Z)=IR4'(Z)・IR3'(Z)
=(−IR4_1(Z)・IR4_2(Z)・W2(Z))・
(IR3(Z)・W2(Z))
=−IR4_1(Z)・IR4_2(Z)・W2(Z)・IR3(Z)・W2(Z)
となる。また、FIRフィルタ11のフィルタ係数を,IR3'(Z)を位相反転した−IR3'(Z)とすると、FIRフィルタ11の入力から入力端子33までの特性IRall_4(Z)は、
IRall_4(Z)=−IR3'(Z)・IR4'(Z)
=−(IR3(Z)・W2(Z))・(−IR4_1(Z)・
IR4_2(Z)・W2(Z))
=IR3(Z)・W2(Z)・IR4_1(Z)・IR4_2(Z)・W2(Z)
=−IRall_3(Z)
となる。
つまり、FIRフィルタ4の入力から入力端子33までの特性IRall_3(Z)と、FIRフィルタ11の入力から入力端子33までの特性IRall_4(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数をIR4'(Z)とし、FIRフィルタ11のフィルタ係数を、IR3'(Z)を位相反転した−IR3'(Z)と設定すればよいことがわかる。
そして、このようにFIRフィルタ4、11のフィルタ係数を設定することによって、加算回路63において経路Cを伝達する信号を、経路Dを伝達する信号で打ち消すことが可能となる。この結果、入力端子30にデジタル信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図11に示すように、イヤホンマイク18が接続された状態でインパルス応答IR3'(Z)を取得し、このIR3'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR3'(Z)を取得し、このIR3'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
なお、このFIRフィルタ4のフィルタ係数にIR4'(Z)を位相反転した−IR4'(Z)を設定し、FIRフィルタ11のフィルタ係数にIR3'(Z)を設定する処理は、第1の実施形態と同様の処理を行うことによって可能となる。
<<第3の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図12は、第3の実施形態を示す図である。図12は、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP64)の一例を示すブロック図である。なお、図12に示すエコー防止回路において、前述した第1の実施形態と同一の構成要件については、同一番号を付して説明を省略する。
エコー防止回路は、CPU1、DSP64、増幅回路6、入出力端子7、差動増幅回路9、増幅回路10、増幅回路13を有している。なお、本実施形態においてもCPU1を構成要件としているが、CPU1を構成要件としないことも可能である。
さらに、DSP64は、入力端子65(第1入力端子)、ADコンバータ66、FIRフィルタ4、DAコンバータ67(第1DAコンバータ)、出力端子68(第1出力端子)、入力端子69(第2入力端子)、ADコンバータ70、DAコンバータ71、出力端子72(第3出力端子)、FIRフィルタ11、DAコンバータ73(第2DAコンバータ)、出力端子74(第2出力端子)を有している。
つまり、本実施形態は、第1の実施形態におけるADコンバータ3、14、DAコンバータ5、12、15がDSP64内部に設けられた構成となっている。
ADコンバータ66には、入力端子65を介して、例えば音声信号が入力される。そして、ADコンバータ66は、音声信号に対してアナログ・デジタル変換処理したデジタル信号を、FIRフィルタ4、11に出力する。
FIRフィルタ4はデジタル信号に対して、当該FIRフィルタ4のフィルタ係数に基づいて畳み込み演算処理を施してDAコンバータ67に出力する。また同時に、FIRフィルタ11はデジタル信号に対して、当該FIRフィルタ11のフィルタ係数に基づいて畳み込み演算処理を施してDAコンバータ73に出力する。
DAコンバータ67は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を、出力端子68を介して出力させる。この結果、増幅回路6には、DAコンバータ67からのアナログ信号が入力される。
DAコンバータ73は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を、出力端子74を介して出力させる。この結果、増幅回路13には、DAコンバータ73からのアナログ信号が入力される。
ADコンバータ70には、入力端子69を介して、増幅回路10からの音声信号が入力される。そして、ADコンバータ70は、音声信号に対してアナログ・デジタル変換処理したデジタル信号を、DAコンバータ71に出力する。
DAコンバータ71は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を、出力端子72を介して出力させる。
===FIRフィルタ4、11のフィルタ係数===
図13及び図14を参照しつつFIRフィルタ4、11のフィルタ係数について詳述する。図13は、図12に示すエコー防止回路の経路E、Fを示した図である。また、図14は、経路Eにイヤホンマイク18が含まれる場合を示した図である。
増幅回路6からのアナログ信号は、入出力端子7からの出力のみならず、差動増幅回路9に入力される場合がある。この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子7から入力される音声信号と増幅回路6からのアナログ信号が重畳されて差動増幅回路9に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくFIRフィルタ4、11のフィルタ係数を設定する。
そこで、図13又は図14の破線で示すDAコンバータ67の入力から差動増幅回路9の+入力端子までのインパルス応答(伝達関数)をIR5(Z)とする。また、図13又は図14の破線で示すDAコンバータ73の入力から差動増幅回路9の−入力端子までのインパルス応答(伝達関数)をIR6(Z)とする。また、図13又は図14の破線で示す差動増幅回路9±入力端子の後段からADコンバータ70の出力までのインパルス応答(伝達関数)をW3(Z)とする。
この時、図13又は図14の実線で示す経路Eのインパルス応答(伝達関数)IR5'(Z)は、IR5'(Z)=IR5(Z)・W3(Z)となる。また、図13又は図14の実線で示す経路Fのインパルス応答(伝達関数)IR6'(Z)は、IR6'(Z)=−IR6(Z)・W3(Z)となる。なお、IR6(Z)が位相反転しているのは、差動増幅回路9の−入力端子に入力されているためである。
今、FIRフィルタ4のフィルタ係数を、IR6'(Z)を位相反転した−IR6'(Z)とすると、FIRフィルタ4の入力からADコンバータ70の出力までの特性IRall_5(Z)は、
IRall_5(Z)=−IR6'(Z)・IR5'(Z)
=(−(−IR6(Z)・W3(Z)))・(IR5(Z)・W3(Z))
=IR6(Z)・W3(Z)・IR5(Z)・W3(Z)
となる。また、FIRフィルタ11のフィルタ係数をIR5'(Z)とすると、FIRフィルタ11の入力からADコンバータ70の出力までの特性IRall_6(Z)は、
IRall_6(Z)=IR5'(Z)・IR6'(Z)
=IR5(Z)・W3(Z)・(−IR6(Z)・W3(Z))
=IR5(Z)・W3(Z)・(−IR6(Z))・W3(Z)
=−IRall_5(Z)
となる。
つまり、経路Eの特性IRall_5(Z)と経路Fの特性IRall_6(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数をIR6'(Z)を位相反転した−IR6'(Z)とし、FIRフィルタ11のフィルタ係数をIR5'(Z)と設定すればよいことがわかる。
あるいは、FIRフィルタ4のフィルタ係数をIR6'(Z)とすると、FIRフィルタ4の入力からADコンバータ70の出力までの特性IRall_5(Z)は、
IRall_5(Z)=IR6'(Z)・IR5'(Z)
=(−IR6(Z)・W3(Z))・(IR5(Z)・W3(Z))
=−IR6(Z)・W3(Z)・IR5(Z)・W3(Z)
となる。また、FIRフィルタ11のフィルタ係数を,IR5'(Z)を位相反転した−IR5'(Z)とすると、FIRフィルタ11の入力からADコンバータ70の出力までの特性IRall_6(Z)は、
IRall_6(Z)=−IR5'(Z)・IR6'(Z)
=(−(IR5(Z)・W3(Z))・(−IR6(Z)・W3(Z))
=IR5(Z)・W3(Z)・IR6(Z)・W3(Z)
=−IRall_5(Z)
となる。
つまり、経路Eの特性IRall_5(Z)と経路Fの特性IRall_6(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数をIR6'(Z)とし、FIRフィルタ11のフィルタ係数を、IR5'(Z)を位相反転した−IR5'(Z)と設定すればよいことがわかる。
そして、このようにFIRフィルタ4、11のフィルタ係数を設定することによって、差動増幅回路9において経路Eを伝達する信号を、経路Fを伝達する信号で打ち消すことが可能となる。この結果、入力端子65に音声信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図14に示すように、イヤホンマイク18が接続された状態でインパルス応答IR5'(Z)を取得し、このIR5'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR5'(Z)を取得し、このIR5'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
なお、このFIRフィルタ4のフィルタ係数にIR6'(Z)を位相反転した−IR6'(Z)を設定し、FIRフィルタ11のフィルタ係数にIR5'(Z)を設定する処理は、第1の実施形態と同様の処理を行うことによって可能となる。
<<第4の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図15は、第4の実施形態を示す図である。図15は、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP64)の一例を示すブロック図である。
なお、図15に示すように第4の実施形態におけるエコー防止回路は、前述した第2の実施形態(図9)、第3の実施形態(図12)を組み合わせた構成となっており、同一の構成要件については同一番号を付して説明を省略する。
===FIRフィルタ4、11のフィルタ係数===
図16及び図17を参照しつつFIRフィルタ4、11のフィルタ係数について詳述する。図16は、図15に示すエコー防止回路の経路G、Hを示した図である。また、図17は、経路Gにイヤホンマイク18が含まれる場合を示した図である。
増幅回路6からのアナログ信号は、入出力端子7からの出力のみならず、加算回路63に入力される場合がある。この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子7から入力される音声信号と増幅回路6からのアナログ信号が重畳されて加算回路63に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくFIRフィルタ4、11のフィルタ係数を設定する。
そこで、図16又は図17の破線で示すDAコンバータ67の入力から加算回路63の入力端子までのインパルス応答(伝達関数)をIR7(Z)とする。また、図16又は図17の一点鎖線で示すDAコンバータ73の入力から反転増幅回路61の入力までのインパルス応答(伝達関数)をIR8_1(Z)とする。また、図16又は図17の二点鎖線で示す反転増幅回路61の入力から加算回路63入力端子までのインパルス応答(伝達関数)をIR8_2(Z)とする。また、図16又は図17の破線で示す加算回路63における各入力端子の後段からADコンバータ70の出力までのインパルス応答(伝達関数)をW4(Z)とする。
この時、図16又は図17の実線で示す経路Gのインパルス応答(伝達関数)IR7'(Z)は、IR7'(Z)=IR7(Z)・W4(Z)となる。また、図16又は図17の実線で示す経路Hのインパルス応答(伝達関数)IR8'(Z)は、IR8'(Z)=−IR8_1(Z)・IR8_2(Z)・W4(Z)となる。なお、IR8_1(Z)が位相反転しているのは、反転増幅回路61にて反転されるためである。
今、FIRフィルタ4のフィルタ係数を、IR8'(Z)を位相反転した−IR8'(Z)とすると、FIRフィルタ4の入力からADコンバータ70の出力までの特性IRall_7(Z)は、
IRall_7(Z)=−IR8'(Z)・IR7'(Z)
=(−(−IR8_1(Z)・IR8_2(Z)・W4(Z)))・
(IR7(Z)・W4(Z))
=IR8_1(Z)・IR8_2(Z)・W4(Z)・
IR7(Z)・W4(Z)
となる。また、FIRフィルタ11のフィルタ係数をIR7'(Z)とすると、FIRフィルタ11の入力からADコンバータ70の出力までの特性IRall_8(Z)は、
IRall_8(Z)=IR7'(Z)・IR8'(Z)
=IR7(Z)・W4(Z)・(−IR8_1(Z)・
IR8_2(Z)・W4(Z))
=IR7(Z)・W4(Z)・(−IR8_1(Z))・
IR8_2(Z)・W4(Z)
=−IRall_7(Z)
となる。
つまり、FIRフィルタ4の入力からADコンバータ70の出力までの特性IRall_7(Z)と、FIRフィルタ11の入力からADコンバータ70の出力までの特性IRall_8(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数をIR8'(Z)を位相反転した−IR8'(Z)とし、FIRフィルタ11のフィルタ係数をIR7'(Z)と設定すればよいことがわかる。
あるいは、FIRフィルタ4のフィルタ係数を、IR8'(Z)とすると、FIRフィルタ4の入力からADコンバータ70の出力までの特性IRall_7(Z)は、
IRall_7(Z)=IR8'(Z)・IR7'(Z)
=(−IR8_1(Z)・IR8_2(Z)・W4(Z))・
(IR7(Z)・W4(Z))
=−IR8_1(Z)・IR8_2(Z)・W4(Z)・IR7(Z)・W4(Z)
となる。また、FIRフィルタ11のフィルタ係数を、IR7'(Z)を位相反転した−IR7'(Z)とすると、FIRフィルタ11の入力からADコンバータ70の出力までの特性IRall_8(Z)は、
IRall_8(Z)=−IR7'(Z)・IR8'(Z)
=(−(IR7(Z)・W4(Z)))・(−IR8_1(Z)・
IR8_2(Z)・W4(Z))
=IR7(Z)・W4(Z)・IR8_1(Z)・
IR8_2(Z)・W4(Z)
=−IRall_7(Z)
となる。
つまり、FIRフィルタ4の入力からADコンバータ70の出力までの特性IRall_7(Z)と、FIRフィルタ11の入力からADコンバータ70の出力までの特性IRall_8(Z)とは互いに打ち消しあう特性となることがわかる。この結果、FIRフィルタ4のフィルタ係数をIR8'(Z)とし、FIRフィルタ11のフィルタ係数を、IR7'(Z)を位相反転した−IR7'(Z)と設定すればよいことがわかる。
そして、このようにFIRフィルタ4、11のフィルタ係数を設定することによって、加算回路63において経路Gを伝達する信号を、経路Hを伝達する信号で打ち消すことが可能となる。この結果、入力端子65に音声信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図17に示すように、イヤホンマイク18が接続された状態でインパルス応答IR7'(Z)を取得し、このIR7'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR7'(Z)を取得し、このIR7'(Z)をFIRフィルタ11のフィルタ係数に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
なお、このFIRフィルタ4のフィルタ係数にIR8'(Z)を位相反転した−IR8'(Z)を設定し、FIRフィルタ11のフィルタ係数にIR7'(Z)を設定する処理は、第1の実施形態と同様の処理を行うことによって可能となる。
<<第5の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図18は、第5の実施形態を示す図である。図18は、本発明に係るエコー防止回路、当該エコー防止回路に含まれるデジタル信号処理回路(DSP83)の一例を示すブロック図である。なお、図18に示すエコー防止回路において、前述した第1の実施形態と同一の構成要件については、同一番号を付して説明を省略する。図19は、図18に示すADF(Adaptive Digital Filter・適応デジタルフィルタ)76の詳細図である。
DSP83は、入力端子30、FIRフィルタ4、ADF76、出力端子31、FIRフィルタ11、出力端子32、入力端子33、減算回路77(第2減算回路)、出力端子34を有している。
減算回路77の+入力端子には、入力端子33を介して、ADコンバータ14からのデジタル信号が入力される。また、減算回路77の−入力端子には、ADF76からの出力信号が入力される。そして、減算回路77は、ADコンバータ14からのデジタル信号とADF76からの出力信号とを減算して出力する。以下、減算回路77からの出力信号を誤差信号という。
ADF76は、図19破線内に示すとおり、参照信号入出力部78、フィルタ係数部79、乗算部80、フィルタ係数更新部81、加算部82を有している。
参照信号入出力部78は、FIRフィルタ4からのデジタル信号(以下、参照信号入出力部78に入力されるデジタル信号を参照信号という)が入力されて、当該参照信号を保持する。そして、参照信号入出力部78は、乗算部80、フィルタ係数更新部81に対し参照信号を出力する。
フィルタ係数部79は、フィルタ係数更新部81からのフィルタ係数が入力されて、当該フィルタ係数を保持する。そして、フィルタ係数部79は、前述した参照信号入出力部78から乗算部80への参照信号の出力とともに、当該乗算部80に対しフィルタ係数を出力する。また、フィルタ係数部79は、フィルタ係数更新部81に対しフィルタ係数を出力する。
乗算部80は、参照信号とフィルタ係数を順次乗算した乗算結果を加算部82に出力する。加算部82は、乗算部80からの出力信号を順次加算した結果を減算回路77に出力する。
フィルタ係数更新部81には、減算回路77からの誤差信号が入力される。そして、フィルタ係数更新部81は、誤差信号、参照信号、フィルタ係数に基づいて、例えばLMS(Least Mean Square)アルゴリズムやNLMS(Normalized Least Mean Square:学習同定法)等の推定アルゴリズムによりフィルタ係数を算出してフィルタ係数部79に出力する。なお、このフィルタ係数更新部81によるフィルタ係数の算出は、入力端子30にデジタル信号が入力されたときの、減算回路77からの誤差信号の平均値が一定値以下となるように行われる。なお、この一定値とは、例えば誤差信号の平均値が一定値以下となった時の、DAコンバータ15から出力されるアナログ信号に基づいて発生する音声から、人がエコーを聴覚できないレベルとなるように定まる値である。
DAコンバータ15は、出力端子34を介して、減算回路77からのデジタル信号が入力される。そして、DAコンバータ15は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を出力する。
===フィルタ係数部79のフィルタ係数更新===
図19、図20を参照しつつ、フィルタ係数部79のフィルタ係数を更新するための処理動作の一例について説明する。図20は、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の処理動作の一例を示すフローチャートである。なお、以下の説明においては、入力端子30にデジタル信号が入力された時刻tにおいて、減算回路77の+入力端子に入力されるデジタル信号をYt、参照信号入出力部78に入力される参照信号をXt(={Xt(0)、Xt(1)、・・、Xt(N−1)})と示す。また、フィルタ係数部79のフィルタ係数をHt(={Ht(0)、Ht(1)、・・、Ht(N−1)})と示す。また、フィルタ係数更新部81にて算出されるフィルタ係数をHt+1(={Ht+1(0)、Ht+1(1)、・・、Ht+1(N−1)})と示して説明する。そして、i番目の参照信号をXt(i)、フィルタ係数をHt(i)、Ht+1(i)と示す。
DSP83は、参照信号入出力部78に参照信号Xtを入力させると(S201)、減算回路77の−入力端子に入力させる信号Y'tを生成すべく、以下の処理を行う。DSP83は、先ずi=0として(S202)、参照信号入出力部78のXt(0)とフィルタ係数部79のHt(0)をそれぞれ乗算部80に出力させる。乗算部80は、Xt(0)とHt(0)を乗算した乗算結果を(S203)、加算部82に出力する。加算部82は、乗算部80からの出力信号Xt(0)・Ht(0)とゼロを加算する。
次に、DSP83は、iをインクリメントしてi=i+1=1とする(S204)。そして、DSP83は、乗算部80の乗算結果がXt(N−1)・Ht(N−1)まで達していないためi≧Nでないと判別し(S205・NO)、参照信号入出力部78のXt(1)とフィルタ係数部79のHt(1)をそれぞれ乗算部80に出力させる。乗算部80は、Xt(1)とHt(1)を乗算した乗算結果を(S203)、加算部82に出力する。加算部82は、乗算部80からの出力信号Xt(1)・Ht(1)とXt(0)・Ht(0)を加算する。このように、S203からS205の処理をi≧Nまで繰り返すことによって(S205・YES)、加算部82の加算結果は、Y't(=Xt(0)・Ht(0)+・・+Xt(N−1)・Ht(N−1))となる。そして、加算部82から減算回路77の−入力端子へY'tが出力される(S206)。
減算回路77は、+入力端子に入力されたYtと、−入力端子に入力されたY'tを減算して出力する(S207)。そして、減算回路77からの誤差信号が、フィルタ係数更新部81に入力される。なお、この減算回路77からの誤差信号をEt(=Yt−Y't)と示して以下説明する。
フィルタ係数更新部81は、フィルタ係数部79のフィルタ係数を更新すべく以下の処理を実行する。先ず、フィルタ係数更新部81は、Ht+1(0)を算出すべくi=0とする(S208)。Ht+1(0)は、所定定数であるステップゲインをα、参照信号Xtのノルム(つまり二乗和)を‖Xt‖とすると、
Ht+1(0)=Ht(0)+(α・Et・Xt(0))/‖Xt‖
となる。そのため、フィルタ係数更新部81が、参照信号入出力部78からのXt(0)、フィルタ係数部79からのHt(0)、減算回路77からのEtに基づいて、上式を演算することによって、Ht+1(0)が算出される(S209)。次に、フィルタ係数更新部81は、Ht+1(1)を算出すべくiをインクリメントしてi=i+1=1とする(S210)。そして、フィルタ係数更新部81は、算出したフィルタ係数がHt+1(N−1)に達していないためi≧Nでないと判別する(S211・NO)。そして前述と同様に、Ht+1(1)は、
Ht+1(1)=Ht(1)+(α・Et・Xt(1))/‖Xt‖
から算出される。このように、S209からS211の処理をi≧Nまで繰り返すことによって(S211・YES)、Ht+1(={Ht+1(0)、・・、Ht+1(N−1)})が算出されることとなる。そして、フィルタ係数更新部81は、フィルタ係数部79のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)})をHt+1(={Ht+1(0)、・・、Ht+1(N−1)})に更新すべく、当該Ht+1をフィルタ係数部79に出力する。
DSP83は、先ずフィルタ係数部79のHt(0)をHt+1(0)に更新すべくi=0とする(S212)。この結果、フィルタ係数部79のHt(0)がHt+1(0)に更新される(S213)。次に、DSP83は、Ht(1)をHt+1(1)に更新すべくiをインクリメントしてi=i+1=1とする(S214)。そして、DSP83は、Ht(N−1)がHt+1(N−1)に未だ更新されていないためN≧iでないと判別する(S215・NO)。そして、DSP83は、Ht(1)をHt+1(1)に更新する(S213)。このように、S213からS215の処理をN≧iまで繰り返すことによって(S215・YES)、フィルタ係数部79のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)})がHt+1(={Ht+1(0)、・・、Ht+1(N−1)}に更新される。
そして、再び前述したS202からS205の処理が行われる。この結果、フィルタ係数Ht+1(={Ht+1(0)、・・、Ht+1(N−1)})に基づく出力信号Y'tが、加算部82から減算回路77の−入力端子に入力される。
このように、減算回路77からの誤差信号に基づいて、フィルタ係数部79のフィルタ係数を、当該誤差信号が反映されたフィルタ係数に更新することが可能となる。そして、この処理を繰り返すことによって、入力端子30にデジタル信号が入力されたときの、減算回路77からの誤差信号の平均値を一定値以下とすることが可能となる。つまり、エコーを防止することが可能となる。なお、フィルタ係数部79のフィルタ係数を更新するアルゴリズムは、これに限るものではない。前述したようにLMSアルゴリズムやNLMSアルゴリズム等の周知技術である推定アルゴリズムを用いることが可能である。また、例えば特開2002−246880号に記載による処理でフィルタ係数部79のフィルタ係数を更新することも可能である。
なお、上述した実施形態によれば、前述した処理についてハードェア(例えば減算回路77、乗算部80など)を用いて説明したが、これに限るものではない。例えば、前述した処理をプログラムデータとしてROMなどに予め記憶させておき、DSP83が備えるプロセッサが当該プログラムデータを読み出して処理することも可能である。
なお、本実施形態におけるFIRフィルタ4のフィルタ係数、FIRフィルタ11のフィルタ係数は、前述の第1の実施形態と同様の処理を行うことにより設定することが可能である。そして、イヤホンマイク18が接続された状態で取得されたインパルス応答に基づいてFIRフィルタ11のフィルタ係数を設定することにより、差動増幅回路9にてイヤホンマイク18の伝達特性に応じたより効果的なエコーの除去が行える。その結果、減算回路77からの誤差信号が小さくなり、フィルタ係数部79のフィルタ係数更新処理の繰り返し回数を削減することができる。つまり、エコーがキャンセルされるまでの時間を短縮することが可能となる。また、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態で取得されたインパルス応答に基づいてFIRフィルタ11のフィルタ係数を設定することにより、差動増幅回路9にてイヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じたより効果的なエコーの除去が行える。つまり、エコーがキャンセルされるまでの時間を更に短縮することが可能となる。
また、本実施形態は、前述の第1の実施形態にADF76、減算回路77を設けたものであるがこれに限るものではない。前述の第2の実施形態〜第4の実施形態にも同様に、ADF76、減算回路77を設けることも可能である。詳述すると第2の実施形態においては、本実施形態と同様にADF76、減算回路77を設ける。また、第3、第4の実施形態においては、減算回路77をADコンバータ70、DAコンバータ71間に設ける。そして、減算回路77、DAコンバータ71間の信号線に現れる誤差信号をADF76に入力させ、ADコンバータ66からのデジタル信号を参照信号としてADF76に入力されるように設ける。
そして、例えばインパルス応答の測定誤差等により、差動増幅回路9(加算回路63)において経路Aを伝達する信号を、経路Bを伝達する信号で打ち消したときの結果が、エコーを十分に防止できないレベルとなる場合がある。この場合、上述した第5の実施形態によれば、減算回路77において差動増幅回路9(加算回路63)からの出力を、加算部82からの出力信号Y'tで打ち消すことが可能となる。この結果、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、前述のエコーをより確実に防止することが可能となる。
<<第6の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図21は、第6の実施形態を示す図である。図21は、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP202)の一例を示すブロック図である。
エコー防止回路は、CPU201、DSP202、ADコンバータ203、DAコンバータ205、増幅回路206、入出力端子207、差動増幅回路209、増幅回路210、ADコンバータ214、DAコンバータ215、DAコンバータ212、増幅回路213を有している。なお、本実施形態においてはCPU201を構成要件としているが、CPU201を構成要件としないことも可能である。
さらに、DSP202は、入力端子230、出力端子231、デジタルフィルタ(ARAM:Auto-Regressive Moving Average)211(300)(以下、デジタルフィルタ211という)、出力端子232、入力端子233、出力端子234を有している。
ADコンバータ203には、例えば音声信号が入力される。そして、ADコンバータ203は、音声信号に対してアナログ・デジタル変換処理したデジタル信号を、入力端子230を介してDSP202に入力させる。
DSP202に入力されたデジタル信号は、出力端子231を介して出力されるとともに、デジタルフィルタ211に入力される。デジタルフィルタ211はデジタル信号に対して、当該デジタルフィルタ211のフィルタ係数に基づいてフィルタ処理を施して出力端子232に出力する。
DAコンバータ205は、出力端子231を介してDSP202からのデジタル信号が入力される。そして、DAコンバータ205は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を増幅回路206に出力する。増幅回路206は、所定の増幅率にてアナログ信号を増幅して出力する。
入出力端子207には、例えばアナログ信号に基づいて音声を発生させる機器(例えばイヤホンマイク、スピーカなど)が接続される。そして、入出力端子207を介して、増幅回路206からのアナログ信号が、接続された機器に対して出力される。また、入出力端子207には、例えば音声を音声信号に変換して出力する機器(例えばイヤホンマイク、マイクなど)が接続される。そして、入出力端子207には、接続された機器からの音声信号が入力される。この結果、入出力端子207を介して、音声信号が差動増幅回路209の+入力端子に入力される。さらに、入出力端子207を介して出力された信号は、接続された機器を介して反射されて入出力端子207から入力され、差動増幅回路209の+入力端子に入力される。ここで、反射されてくる信号とは、例えば、イヤホンマイク等を通じて戻ってくる信号や、イヤホンマイクから出力された音が耳の中で反射し、その反射音がイヤホンマイクによって音声信号に変換された信号等である。なお、入出力端子207は、出力信号(例えばアナログ信号)と入力信号(例えば音声信号)が排他的に入出力されるものではない。例えば、入出力端子207は、出力信号と入力信号とが同時に入出力される場合もある。なお、入出力信号共用ラインとは、入出力端子207に接続されるラインである。
DAコンバータ212は、出力端子232を介して、デジタルフィルタ211からの出力信号が入力される。そして、DAコンバータ212は、デジタルフィルタ211からの出力信号に対してデジタル・アナログ変換処理したアナログ信号を増幅回路213に出力する。増幅回路213は、所定の増幅率にてアナログ信号を増幅して差動増幅回路209の−入力端子に出力する。
差動増幅回路209は、入出力端子207からの音声信号を増幅回路210に出力する。増幅回路210は、音声信号を所定の増幅率にて増幅してADコンバータ214に出力する。また、差動増幅回路209の+入力端子には、増幅回路206からのアナログ信号が入力される。そして、差動増幅回路209は、+入力端子に入力された増幅回路206からのアナログ信号と、−入力端子に入力された増幅回路213からのアナログ信号との差分を増幅して出力する。
ADコンバータ214は、増幅回路210からの音声信号に対してアナログ・デジタル変換処理したデジタル信号を、入力端子233を介してDSP202に入力させる。入力端子233に入力されたデジタル信号は、出力端子234から出力される。DAコンバータ215は、出力端子234を介してDSP202からのデジタル信号が入力される。そして、DAコンバータ215は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を出力する。
CPU201は、エコー防止回路を統括制御する。CPU201は、例えばエコー防止回路をリセットするためのリセット信号が入力されると、後述するインパルス応答取得処理をDSP202にて実行させるべく指示信号を、DSP202に出力する。さらに、CPU201は、インパルス応答取得処理の初期動作として、例えば他方の論理値‘0’をDSP202に出力する。なお、本実施形態においてCPU201は、リセット信号が入力されることによって、インパルス応答取得処理をDSP202にて実行させるための指示信号を出力しているがこれに限るものではない。例えば、エコー防止回路、DSP202を動作させるための電源投入をCPU201が検出したとき、前述の指示信号をDSP202に出力するように設けても良い。また、CPU201は、アナログ回路の電気的変化(例えば増幅回路210の出力の振幅変化)を検出したとき、前述の指示信号をDSP202に出力するように設けても良い。
===デジタルフィルタ211のフィルタ係数===
以下、図22及び図23を参照しつつデジタルフィルタ211のフィルタ係数について詳述する。図22は、図21に示すエコー防止回路の経路I、Jを示した図である。また、図23は、経路Iにイヤホンマイク18が含まれる場合を示した図である。なお、イヤホンマイク18は、入出力端子207に接続することができる。そして、入出力端子207から出力されるアナログ信号がイヤホンマイク18に入力されると、イヤホンマイク18はそのアナログ信号に基づいて振動板(不図示)を振動させることにより音声を出力する。また、イヤホンマイク18は、イヤホンマイク18を耳に装着している者が音声を発したときの鼓膜の振動を振動板でとらえることによりアナログ信号を生成して出力する。そして、イヤホンマイク18から出力されるアナログ信号が入出力端子207から入力される。
前述したように増幅回路206からのアナログ信号は、入出力端子207からの出力のみならず、差動増幅回路209の+入力端子にも入力される場合がある。つまり、差動増幅回路209の+入力端子には、増幅回路206からのアナログ信号と、入出力端子207に入力された信号とを合わせた信号が入力される。なお、入出力端子207に入力される信号(第2入力信号)とは、音声信号のみならず、例えば電気的ノイズ信号や環境ノイズ等の信号も含まれるものとして以下説明する。そして、この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子207から入力される音声信号と増幅回路206からのアナログ信号が重畳されて差動増幅回路209の+入力端子に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくデジタルフィルタ211のフィルタ係数を設定する。
そこで、図22又は図23の破線で示す出力端子231から差動増幅回路209の+入力端子までのインパルス応答(伝達関数)をIR9(Z)とする。また、図22又は図23の破線で示す出力端子232から差動増幅回路209の−入力端子までのインパルス応答(伝達関数)をIR10(Z)とする。また、図22又は図23の破線で示す差動増幅回路209における±入力端子の後段から入力端子233までのインパルス応答(伝達関数)をW5(Z)とする。
今、デジタルフィルタ211のフィルタ係数をQ(Z)とした場合、差動増幅回路209の+入力端子に入力される信号を−入力端子に入力される信号で打ち消すためには、
IR9(Z)=IR10(Z)・Q(Z)
の式が成り立つようにQ(Z)を設けることとなる。つまり、Q(Z)は、
Q(Z)=IR9(Z)/IR10(Z)
となるように設ければよい。しかしながら、DSP202が取得可能なインパルス応答は、図22又は図23の実線で示す経路Iのインパルス応答(伝達関数)IR9'(Z)(=IR9(Z)・W5(Z))と、経路Jのインパルス応答(伝達関数)IR10'(Z)(=−IR10(Z)・W5(Z))である。なお、IR10(Z)が位相反転されているのは、差動増幅回路209の−入力端子に入力されているためである。
この場合、経路Iを伝達する信号と経路Jを伝達する信号とが互いに打ち消しあうことを可能とする式は、
−IR9'(Z)=IR10'(Z)・Q(Z)
となる。つまり、Q(Z)を、
Q(Z)=−IR9'(Z)/IR10'(Z)
と設ければよいことがわかる。つまり、デジタルフィルタ211の特性は、伝達特性IR9'(Z)を位相反転したものに、IR10'(Z)の逆フィルタの特性を加えた特性とすることで実現可能となる。そして、このようにデジタルフィルタ211のフィルタ係数を設定することによって、差動増幅回路209において経路Iを伝達する信号を、経路Jを伝達する信号で打ち消すことが可能となる。この結果、入力端子230にデジタル信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図23に示すように、イヤホンマイク18が接続された状態でインパルス応答IR9'(Z)を取得し、このIR9'(Z)を位相反転したものに、IR10'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR9'(Z)を取得し、このIR9'(Z)を位相反転したものに、IR10'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
そして、前述したフィルタ係数をデジタルフィルタ211に設定すべく、DSP202、デジタルフィルタ211は下記の構成となっている。
===DSP202及びデジタルフィルタ211の構成の詳細===
以下、図21〜図26を参照しつつDSP202及びDSP202の構成要件であるデジタルフィルタ211の構成ついて詳述する。図24(a)は、図22又は図23に示す経路Iのインパルス応答IR9'(Z)を示した図である。図24(b)は、図22又は図23に示す経路Jのインパルス応答IR10'(Z)を示した図である。図25は、DSP202の構成の一部を示すブロック図である。詳述すると、インパルス応答IR9'(Z)、IR10'(Z)に基づいてデジタルフィルタ211のフィルタ係数を設定するための、DSP202の構成の一部を示すブロック図である。図26は、デジタルフィルタ211の一例として示すARMAフィルタ300の構成を示すブロック図である。詳述すると、ARMAフィルタ300は、IR9'(Z)を位相反転したものに、IR10'(Z)の逆フィルタの特性を加えた特性をもつフィルタの一例である。なお、本実施形態においては、ARMAフィルタを用いているがこれに限るものではない。前述したフィルタ係数が設定可能なデジタルフィルタであれば良い。
DSP202は、図25に示すようにインパルス応答格納メモリ243、255、インパルス用メモリ244、245、レジスタ246、249、250、257、スイッチ回路260A〜260K、乗算回路258を有している。
また、ARMAフィルタ300は、図26に示すように遅延回路235a1〜235aN−1、乗算回路236a0〜236aN−1、301b1〜301bN−1、加算回路237a0〜237aN−1、302b0〜302bN−1、スイッチ回路260L、260Mを有している。
レジスタ249には、CPU201からの前述した他方の論理値‘0’が入力される。
インパルス用メモリ244、245はそれぞれ、N個のレジスタ0〜N−1から構成されている。そして、後述のインパルス応答取得処理において図22又は図23の実線で示す経路Iのインパルス応答IR9'(Z)を取得する場合、インパルス用メモリ245のレジスタ0には、例えば一方の論理値‘1’が記憶される。そして、インパルス用メモリ245の他のレジスタ1〜N−1には、他方の論理値‘0’が記憶される。また、レジスタ246、インパルス用メモリ244のレジスタ0〜N−1には、他方の論理値‘0’が記憶される。
また、後述のインパルス応答取得処理において図22又は図23の実線で示す経路Jのインパルス応答IR10'(Z)を取得する場合、インパルス用メモリ244のレジスタ0には、例えば一方の論理値‘1’が記憶される。そして、インパルス用メモリ244の他のレジスタ1〜N−1には、他方の論理値‘0’が記憶される。また、レジスタ246、インパルス用メモリ245のレジスタ0〜N−1には、他方の論理値‘0’が記憶される。
インパルス応答格納メモリ243は、N個のレジスタ0〜N−1から構成されている。インパルス応答格納メモリ243のレジスタ0〜N−1には、DSP202がスイッチ回路260Fを入力端子233側に切替え、スイッチ回路260Gを当該インパルス応答格納メモリ243側に切替えることによって、入力端子233を介して経路Iにおけるサンプリング周期単位ごとのインパルス応答imp(0)〜(N−1)(=IR9'(Z))が記憶される。例えば、先ず入力端子233を介してインパルス応答imp(0)がレジスタN−1に記憶される。そして、次のインパルス応答imp(1)はレジスタN−1に記憶され、レジスタ0に記憶されていたインパルス応答imp(0)はレジスタN−2に記憶される。そして、この処理が繰り返されることによって、インパルス応答格納メモリ243のレジスタ0〜N−1には、インパルス応答imp(0)〜(N−1)(=IR9'(Z))が記憶されることとなる。なお、サンプリング周期とは、図24(a)に示す各インパルス応答imp(0)〜(N−1)間の時間間隔である。また、インパルス応答格納メモリ243は、DSP202がスイッチ回路260Hをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ249に記憶された他方の論理値‘0’によってクリアされる。
また、インパルス応答格納メモリ255は、N個のレジスタ0〜N−1から構成されている。インパルス応答格納メモリ255のレジスタ0〜N−1には、DSP202がスイッチ回路260Fを入力端子233側に切替え、スイッチ回路260Gを当該インパルス応答格納メモリ255側に切替えることによって、入力端子233を介して経路Jにおけるサンプリング周期単位ごとのインパルス応答imp(0)〜(N−1)(=IR10'(Z))が記憶される。なお、インパルス応答格納メモリ255のレジスタ0〜N−1へのインパルス応答imp(0)〜(N−1)の記憶は、前述したインパルス応答格納メモリ243と同様である。また、インパルス応答格納メモリ255は、DSP202がスイッチ回路260Iをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ249に記憶された他方の論理値‘0’によってクリアされる。
レジスタ250には、インパルス応答格納メモリ243からのインパルス応答imp(0)〜(N−1)が一時記憶される。また、レジスタ254には、インパルス応答格納メモリ255からのインパルス応答imp(0)〜(N−1)が一時記憶される。
レジスタ257には、インパルス応答格納メモリ243に記憶されたインパルス応答imp(0)〜(N−1)を、乗算回路258にて位相反転させるべく−1を示すバイナリデータが予め記憶されている。
乗算回路258は、レジスタ250の値とレジスタ257の値とを乗算した乗算結果をARMAフィルタ300に出力する。詳述すると、DSP202がスイッチ回路260Kをレジスタ0から順次切替えることによって、レジスタ250にインパルス応答格納メモリ243のレジスタ0〜N−1からのインパルス応答imp(0)〜(N−1)が順次入力される。そして、乗算回路258が、レジスタ250の値とレジスタ257の値とを順次乗算することによって、インパルス応答imp(0)〜(N−1)が位相反転されたインパルス応答−imp(0)〜(N−1)がARMAフィルタ300に出力されることとなる。
遅延回路235a1〜235aN−1は、入力端子230を介して入力されるデジタル信号Xnを、サンプリングの周期単位ごとに遅延して出力する。例えば、遅延回路235a1はデジタル信号Xnを1サンプリング周期位相遅延させたデジタル信号Xn−1を乗算回路236a1、301b1、遅延回路235a2に出力する。また、遅延回路235aN−1はデジタル信号Xn−(N−1)を、乗算回路236aN−1、301aN−1に出力する。
乗算回路301b1〜301bN−1、減算回路302b0〜302bN−1は、前述したIR10'(Z)の逆フィルタを構成するものである。
乗算回路301b1〜301bN−1は、インパルス応答格納メモリ255のレジスタ1〜N−1に保持されているインパルス応答imp(1)〜(N−1)が乗算係数としてそれぞれ設定される。詳述すると、DSP202がスイッチ回路260Jをレジスタ1から順次切替え、スイッチ回路260Mを乗算回路301b1から順次切替えることによって、インパルス応答imp(1)〜(N−1)が順次入力され、乗算回路301b1〜301bN−1の乗算係数が設定されることとなる。そして、乗算回路301b1〜301bN−1は、遅延回路235a1〜235aN−1からのデジタル信号Xn−1〜Xn−(N−1)に対して設定された乗算係数で乗算し、乗算結果を減算回路302b1〜302bN−1に出力する。
減算回路302b1〜302bN−1は、乗算回路301b1〜301bN−1から入力されるデジタル信号を減算した減算結果を、図26矢印に示す方向へ出力する。また、減算回路302b0は、減算回路302b1からの減算結果と入力端子230を介して入力されるデジタル信号とを減算する。この結果、減算回路302b0の減算結果は、入力端子230を介して入力されるデジタル信号を、乗算回路301b1〜301bN−1の乗算結果で減算したものとなる。
乗算回路236a0〜236aN−1は、乗算回路258からの位相反転されたインパルス応答−imp(0)〜(N−1)が乗算係数としてそれぞれ設定される。詳述すると、DSP202がスイッチ回路260Lを乗算回路236a0から順次切替えることによって、位相反転されたインパルス応答−imp(0)〜(N−1)が順次入力され、乗算回路236a0〜236aN−1の乗算係数が設定されることとなる。そして、乗算回路236a1〜236aN−1は、遅延回路235a1〜235aN−1からのデジタル信号Xn−1〜Xn−(N−1)に対して設定された乗算係数で乗算し、乗算結果を加算回路237a1237aN−1に出力する。また、乗算回路236a0には、前述した減算回路302b0からの減算結果が入力され、当該減算結果に対して乗算係数(−imp(0))で乗算した乗算結果を加算回路237a0に出力する。
加算回路237a1〜237aN−1は、乗算回路236a1〜236aN−1から入力されるデジタル信号を加算した加算結果を、図26矢印に示す方向へ出力する。また、加算回路237a0は、加算回路237a1からの加算結果と、乗算回路236a0からの乗算結果とを加算する。この結果、加算回路237a0の加算結果は、入力端子230にデジタル信号が入力されたときの、前述したフィルタ係数が設定されたARMAフィルタ300にてフィルタ処理がなされた結果となる。
==インパルス応答取得処理によるARAM300のフィルタ係数設定==
以下、図21〜図27を参照しつつエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路によるインパルス応答取得処理、ARAM300のフィルタ係数設定の動作について説明する。なお、本実施形態においては、デジタルフィルタ211のフィルタ係数設定の一例として、前述したARMAフィルタ300の乗算回路236a0〜236aN−1、301b1〜301bN−1の乗算係数設定を用いて説明する。図27は、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の動作の一例を示すフローチャートである。
CPU201は、例えば、エコー防止回路をリセットするためのリセット信号が入力されると、インパルス応答取得処理をDSP202にて実行させるべく指示信号を、DSP202に出力する。また、CPU201は、インパルス応答取得処理の初期動作として、他方の論理値‘0’をDSP202出力する。DSP202に入力された他方の論理値‘0’は、レジスタ249に入力される。
DSP202は、CPU201からの前述の指示信号が入力されたか否かを判別する(S301)。そして、DSP202は、CPU201からの指示信号が入力されたと判別すると(S301・YES)、先ずスイッチ回路260Hをレジスタ0〜レジスタN−1に順次切替える。この結果、レジスタ249に記憶された他方の論理値‘0’によって、インパルス応答格納メモリ243のレジスタ0〜レジスタN−1の内容がクリアされる(S302)。以下、インパルス応答格納メモリ243に記憶させるi番目のインパルス応答をimp(i)(i=0、・・・、N−1)と示して説明する。そして、DSP202は、インパルス応答格納メモリ243のレジスタN−1に記憶させるインパルス応答imp(0)を取得すべくi=0とし(S303)、入力端子230をハイインピーダンスとした上で、以下の処理を実行する。
DSP202は、図22又は図23に示した経路Iのインパルス応答imp(0)を取得するために、当該経路Iへ出力端子231からのインパルス出力が可能であるか否かを判別する(S304)。例えば、このDSP202による判別としては、出力端子231からの信号の出力や入力端子233への信号の入力がされている状態であるか否かを判別することによって行う。仮に、出力端子231からの信号の出力や入力端子233への信号の入力がされている状態でインパルスを出力すると、正確なインパルス応答imp(0)を取得できない可能性があるためである。
そして、DSP202は、経路Iへのインパルス出力が可能であると判別すると(S304・YES)、i=0であるか否かを判別する(S305)。S303においてi=0であるため、DSP202はi=0であると判別することとなる(S305・YES)。そして、DSP202は、インパルス用メモリ245のレジスタ0に一方の論理値‘1’を記憶させる。また、DSP202は、インパルス用メモリ245の他のレジスタ1〜N−1、レジスタ246、インパルス用メモリ244のレジスタ0〜N−1に、他方の論理値‘0’を記憶させる。そして、DSP202は、スイッチ回路260Cをインパルス用メモリ245側に切替え、スイッチ回路260Aをインパルス用メモリ244側に切替え、スイッチ回路260Eをレジスタ246側に切替える。また、DSP202は、スイッチ回路260Fを入力端子233側に切替え、スイッチ回路260Gをインパルス応答格納メモリ243側に切替える。次に、DSP202は、スイッチ回路260D、260Bをそれぞれ、レジスタ0に切替える。この結果、インパルス用メモリ245のレジスタ0に記憶された一方の論理値‘1’によるインパルスが出力端子231から出力されることとなる(S306)。出力端子231から出力されたインパルスは、経路Iを伝達して入力端子233に入力される(S307)。この結果、インパルス応答imp(0)が取得できたこととなる(図24(a)・imp(0))。そして、このインパルス応答imp(0)は、先ずインパルス応答格納メモリ243のレジスタN−1に記憶される。
次に、インパルス応答imp(1)を取得するため、DSP202はiをインクリメントして、i=i+1=1とする(S308)。そして、DSP202は、取得したインパルス応答が未だimp(N−1)まで達していないためi≧Nでないと判別し(S309・NO)、前述したS304の処理を再び繰り返すこととなる。さらに、S308においてi=1≠0となっているため(S305・NO)、DSP202は、スイッチ回路260D、260Bをそれぞれ、レジスタ1に切替える。この結果、出力端子231からはインパルスが出力されない(S310)。そのため、入力端子233には、S306において出力されたインパルスの1サンプリング周期位相遅延したインパルスimp(1)が入力される。そして、このインパルス応答imp(1)はインパルス応答格納メモリ243のレジスタN−1に記憶され、レジスタN−1に記憶されていたインパルス応答imp(0)はレジスタN−2に記憶されることとなる。このように、S304からS309の処理をi≧Nまで繰り返すことによって(S309・YES)、インパルス応答imp(0)〜imp(N−1)(=IR9'(Z))が取得される。この結果、インパルス応答格納メモリ243のレジスタ0〜N−1に、インパルス応答imp(0)〜imp(N−1)が記憶されたこととなる。
次に、DSP202は、スイッチ回路260Iをレジスタ0〜レジスタN−1に順次切替える。この結果、レジスタ249に記憶された他方の論理値‘0’によって、インパルス応答格納メモリ255のレジスタ0〜レジスタN−1がクリアされる(S311)。以下、インパルス応答格納メモリ255に記憶させるj番目のインパルス応答をimp(j)(j=0、・・・、N−1)と示して説明する。そして、DSP202は、インパルス応答格納メモリ255のレジスタN−1に記憶させるインパルス応答imp(0)を取得すべくj=0とし(S312)、以下の処理を実行する。
DSP202は、図22又は図23に示した経路Jのインパルス応答imp(0)を取得するために、当該経路Jへインパルス出力が可能であるか否かを判別する(S313)。このDSP202による判別は、前述したS304と同様である。
そして、DSP202は、経路Jへのインパルス出力が可能であると判別すると(S313・YES)、j=0であるか否かを判別する(S314)。S312においてj=0であるため、DSP202はj=0であると判別することとなる(S314・YES)。そして、DSP202は、インパルス用メモリ244のレジスタ0に一方の論理値‘1’を記憶させる。また、DSP202は、インパルス用メモリ244の他のレジスタ1〜N−1、レジスタ246、インパルス用メモリ245のレジスタ0〜N−1に、他方の論理値‘0’を記憶させる。そして、DSP202は、スイッチ回路260Gをインパルス応答格納メモリ255側に切替える。次に、DSP202は、スイッチ回路260D、260Bをそれぞれ、レジスタ0に切替える。この結果、インパルス用メモリ244のレジスタ0に記憶された一方の論理値‘1’によるインパルスが出力端子232から出力されることとなる(S315)。出力端子232から出力されたインパルスは、経路Jを伝達して入力端子233に入力される(S316)。この結果、インパルス応答imp(0)が取得できたこととなる(図24(b)・imp(0))。そして、このインパルス応答imp(0)は、先ずインパルス応答格納メモリ255のレジスタN−1に記憶される。
次に、インパルス応答imp(1)を取得するため、DSP202はjをインクリメントして、j=j+1=1とする(S317)。そして、DSP202は、取得したインパルス応答が未だimp(N−1)まで達していないためj≧Nでないと判別し(S318・NO)、前述したS313の処理を再び繰り返すこととなる。さらに、S317においてj=1≠0となっているため(S314・NO)、DSP202は、スイッチ回路260D、260Bをそれぞれ、レジスタ1に切替える。この結果、出力端子232からはインパルスが出力されない(S319)。そのため、入力端子233には、S315において出力されたインパルスの1サンプリング周期位相遅延したインパルスimp(1)が入力される。そして、このインパルス応答imp(1)はインパルス応答格納メモリ255のレジスタN−1に記憶され、レジスタN−1に記憶されていたインパルス応答imp(0)はレジスタN−2に記憶されることとなる。このように、S313からS318の処理をj≧Nまで繰り返すことによって(S318・YES)、インパルス応答imp(0)〜imp(N−1)(=IR10'(Z))が取得される。この結果、インパルス応答格納メモリ255のレジスタ0〜N−1に、インパルス応答imp(0)〜imp(N−1)が記憶されたこととなる。
DSP202は、インパルス応答格納メモリ243のレジスタ0〜N−1に記憶されているインパルス応答imp(0)〜imp(N−1)を位相反転させるべく、スイッチ回路260Kをレジスタ0から順次切替える。この結果、インパルス応答格納メモリ243のレジスタ0〜N−1からのインパルス応答imp(0)〜imp(N−1)が、レジスタ250を介して順次乗算回路258に入力される。乗算回路258は、レジスタ250の値とレジスタ257の値とを順次乗算した乗算結果をARMAフィルタ300に出力する。この結果、インパルス応答imp(0)〜(N−1)が位相反転されたインパルス応答−imp(0)〜(N−1)が乗算回路258からARMAフィルタ300に順次出力されることとなる。
そして、DSP202は、乗算回路258からのインパルス応答−imp(0)〜(N−1)を乗算回路236a0〜236aN−1の乗算係数に設定すべく以下の処理を行う。先ず、DSP202は、乗算回路258からのインパルス応答−imp(0)を乗算回路260a0の乗算係数に設定すべくi=0とし(S320)、スイッチ回路260Lを乗算回路236a0側へ切替える。この結果、乗算回路236a0の乗算係数にインパルス応答−imp(0)が設定される(S321)。次に、DSP202は、乗算回路258からのインパルス応答−imp(1)を乗算回路260a1の乗算係数に設定すべくiをインクリメントして、i=i+1=1とする(S322)。そして、DSP202は、乗算回路236aN−1まで乗算係数を設定していないためi≧Nでないと判別し(S323・NO)、スイッチ回路260Lを乗算回路236a1側へ切替える。この結果、乗算回路236a1の乗算係数にインパルス応答−imp(1)が設定される(S321)。このようにS321からS323の処理をi≧Nまで繰り返すことによって(S323・YES)、乗算回路258からのインパルス応答−imp(0)〜(N−1)が乗算回路236a0〜236aN−1の乗算係数に設定されることとなる。
また、DSP202は、インパルス応答格納メモリ255のレジスタ1〜N−1に記憶されているインパルス応答imp(1)〜(N−1)をARMAフィルタ300に出力させるべく、スイッチ回路260Jをレジスタ1から順次切替える。この結果、インパルス応答格納メモリ255のレジスタ1〜N−1からのインパルス応答imp(1)〜(N−1)が、ARMAフィルタ300に順次出力されることとなる。
そして、DSP202は、インパルス応答格納メモリ255からのインパルス応答imp(1)〜(N−1)を乗算回路301b1〜301bN−1の乗算係数に設定すべく以下の処理を行う。先ず、DSP202は、インパルス応答格納メモリ255からのインパルス応答imp(1)を乗算回路301b1の乗算係数に設定すべくj=1とし(S324)、スイッチ回路260Mを乗算回路301b1側へ切替える。この結果、乗算回路301b1の乗算係数にインパルス応答imp(1)が設定される(S325)。次に、DSP202は、インパルス応答格納メモリ255からのインパルス応答imp(2)を乗算回路301b2の乗算係数に設定すべくjをインクリメントして、j=j+1=1とする(S326)。そして、DSP202は、乗算回路301bN−1まで乗算係数を設定していないためj≧Nでないと判別し(S327・NO)、スイッチ回路260Mを乗算回路301b2側へ切替える。この結果、乗算回路301b2の乗算係数にインパルス応答imp(2)が設定される(S325)。このようにS325からS327の処理をj≧Nまで繰り返すことによって(S327・YES)、インパルス応答格納メモリ255からのインパルス応答imp(1)〜(N−1)が乗算回路301b1〜301bN−1の乗算係数に設定されることとなる。
なお、上述した実施形態によれば、前述した処理についてハードェア(例えばスイッチ回路260など)を用いて説明したが、これに限るものではない。例えば、前述した処理をプログラムデータとしてROMなどに予め記憶させておき、DSP202が備えるプロセッサが当該プログラムデータを読み出して処理することも可能である。
<<第7の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
以下、図22、図28〜図32を参照して第7の実施形態について説明する。なお、本実施形態は、前述した第6の実施形態おいて取得したインパルス応答IR9'(Z)、IR10'(Z)に基づく、デジタルフィルタ211のフィルタ係数設定についての他の形態を示すものである。そして、本実施形態においては、デジタルフィルタ211の一例としてFIRフィルタ303を用いたときの、フィルタ係数設定について説明する。本実施形態において第6の実施形態と同一の構成要件については同一番号を付して説明を省略する。
図28は、FIRフィルタ303を用いた場合の、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP202)の一例を示すブロック図である。図29は、インパルス応答IR9'(Z)、IR10'(Z)に基づいてFIRフィルタ303のフィルタ係数を設定するためのDSP295の一例を示すブロック図である。図30は、図29に示すADF284の詳細図である。図31は、DSP202の構成の一部を示すブロック図である。図32は、FIRフィルタ303のその他の一例を示す図である。なお、本実施形態においては、DSP295をDSP202とは別途に設けて、FIRフィルタ303のフィルタ係数を設定するための処理を行っているがこれに限るものではない。例えば、DSP295の後述する処理を、DSP202の内部にて行うように設けることも可能である。
DSP295は、白色ノイズ生成回路287、入力端子296、297、FIRフィルタ285、286、減算回路288、ADF284、出力端子298を有している。
白色ノイズ生成回路287は、全周波数帯のレベルがほぼ一定となる白色ノイズを生成する。例えば、白色ノイズ生成回路287は、線形フィードバックレジスタ方式によって、白色ノイズとしてのM(Maximum length sequenceの頭文字)系列乱数を生成する。なお、このM系列乱数の生成については、例えば特開平5−241795等の周知技術を用いることが可能である。また、本実施形態においては白色ノイズを用いているがこれに限るものではない。周期性のないノイズであれば可能であり、例えば有色ノイズを用いることも可能である。そして、白色ノイズ生成回路287は、生成したM系列乱数L(N)(Nはサンプル数であり、FIRフィルタ285、286のタップ数と同数である)をFIRフィルタ285、286に出力する。
FIRフィルタ285は、スイッチ回路260Nをレジスタ0から順次切替えることによって、入力端子296を介して、レジスタ0〜N−1に記憶されている経路Jのインパルス応答imp(0)〜(N−1)(=IR10'(Z))が順次入力される。この結果、FIRフィルタ285のフィルタ係数として、経路Jのインパルス応答imp(0)〜(N−1)が設定される。そして、FIRフィルタ285は、設定されたフィルタ係数に基づいて、白色ノイズ生成回路287からのM系列乱数L(N)に対して畳み込み演算を施してADF284に出力する。なお、本実施形態においては、FIRフィルタ285からの出力信号を、参照信号Xt(={Xt(0)、・・、Xt(N−1)}、i番目をXt(i)と示す)と示して以下説明する。
また、FIRフィルタ286は、スイッチ回路260Kをレジスタ0から順次切替えることによって、入力端子297を介して、インパルス応答格納メモリ243のレジスタ0〜N−1に記憶されている経路Iのインパルス応答imp(0)〜(N−1)(=IR9'(Z))が順次入力される。この結果、FIRフィルタ286のフィルタ係数として、経路Iのインパルス応答imp(0)〜(N−1)が設定される。そして、FIRフィルタ286は、設定されたフィルタ係数に基づいて、白色ノイズ生成回路287からのM系列乱数L(N)に対して畳み込み演算を施して減算回路288に出力する。なお、本実施形態においては、FIRフィルタ286による畳み込み演算結果をYtと示して以下説明する。なお、前述したFIRフィルタ285、286は、周知のFIRフィルタを用いることが可能である。
減算回路288の+入力端子には、FIRフィルタ286からのYtが入力される。また、減算回路288の−入力端子には、後述するADF284からの出力信号Y'tが入力される。そして、減算回路288は、FIRフィルタ286からのYtとADF288からのY'tとを減算して出力する。以下、減算回路288からの出力信号を誤差信号Etと示して以下説明する。
ADF284は、図30一点鎖線内に示すとおり、参照信号入出力部289、フィルタ係数部290、乗算部291、フィルタ係数更新部292、加算部293、レジスタ294、スイッチ回路260Q〜260Uを有している。
参照信号入出力部289は、FIRフィルタ285からの参照信号Xtが入力されて、当該参照信号Xtを保持する。そして、参照信号入出力部289は、乗算部291、フィル係数更新部292に対し参照信号Xtを出力する。
フィルタ係数部290は、N個のレジスタ0〜N−1から構成されている。そして、フィルタ係数部290のレジスタ0〜N−1には、スイッチ回路260Q、260Rをフィルタ係数更新部292側に切替え、スイッチ回路260Sを乗算部291側に切替え、スイッチ回路260Tをレジスタ0から順次切替えることによって、当該フィルタ係数更新部292からのフィルタ係数が順次入力される。レジスタ0〜N−1は、順次入力されたフィルタ係数を保持する。そして、フィルタ係数部290は、スイッチ回路260Rを乗算部291側に切替え、スイッチ回路260Tをレジスタ0から順次切替えることによって、レジスタ0〜N−1のフィルタ係数を乗算部291に順次出力する。また、フィルタ係数部290は、スイッチ回路260Uをレジスタ0から順次切替えることによって、レジスタ0〜N−1のフィルタ係数をフィルタ係数更新部292に順次出力する。なお、本実施形態においては、フィルタ係数部290のフィルタ係数をHt(={Ht(0)、・・、Ht(N−1)}、i番目をHt(i)と示す)と示し、レジスタ0〜N−1にはフィルタ係数Ht(0)〜Ht(N−1)が保持されているものとして以下説明する。
乗算回路291は、参照信号入出力部289からの参照信号Xtとフィルタ係数部290からのフィルタ係数Htを順次乗算した乗算結果を加算部293に出力する。
加算部293は、乗算部291からの出力信号を順次加算した結果を減算回路288に出力する。なお、この加算部293からの出力信号が前述したY'tとなる。
フィルタ係数更新部292には、減算回路288からの誤差信号Etが入力される。そして、フィルタ係数更新部292は、誤差信号Et、参照信号Xt、フィルタ係数Htに基づいて、後述する例えばLMSアルゴリズムやNLMSアルゴリズム等によりフィルタ係数Ht+1(={Ht+1(0)、・・、Ht+1(N−1)}、i番目をHt+1(i)と示す)を算出してフィルタ係数部290に出力する。なお、このフィルタ係数更新部292よるフィルタ係数の算出は、減算回路288からの誤差信号Etの平均値が一定値以下となるように行われる。なお、この一定値とは、例えば誤差信号の平均値が一定値以下となった時の、DAコンバータ215(図22)から出力されるアナログ信号に基づいて発生する音声から、人がエコーを聴覚できないレベルとなるように定まる値である。
レジスタ294は、DSP295からの例えば他方の論理値‘0’の論理値が入力されて、当該他方の論理値‘0’を保持する。
DSP202は、第6の実施形態で示した構成の他に、図28、図31に示すようにFIRフィルタ303、フィルタ係数格納メモリ247、レジスタ248、スイッチ回路260N、260P〜260Rを有している。
また、FIRフィルタ303は、図31一点鎖線内に示すデジタル信号用メモリ242(破線)、乗算回路251、ADD252、ACC253、スイッチ回路260Oを有している。
レジスタ248には、CPU201からの前述した他方の論理値‘0’が入力される。
フィルタ係数格納メモリ247は、N個のアドレス0〜N−1から構成されている。そして、フィルタ係数格納メモリ247のアドレス0〜N−1には、スイッチ回路260Qをアドレス0から順次切替えることによって、ADF284からのフィルタ係数(Ht(0)、・・、Ht(N−1))が順次記憶される。詳述すれば、前述したADF284のスイッチ回路260Tがレジスタ0から順次切替わるとともに、スイッチ回路260Qがアドレス0から順次切替わることによって、アドレス0から順次フィルタ係数(Ht(0)、・・、Ht(N−1))が順次記憶されることとなる。
デジタル信号用メモリ242は、N個のレジスタ0〜N−1から構成されている。そして、デジタル信号用メモリ242には、入力端子230を介してADコンバータ203(図22)からのデジタル信号が順次入力される。そして、レジスタ0〜N−1にデジタル信号が順次入力されることにより、デジタル信号は1サンプリング周期単位ずつ遅延されることとなる。例えばデジタル信号をXnとすると、レジスタ0はXnを1サンプリング周期遅延させたXn−1をレジスタ1に出力する。また、デジタル信号用メモリ242は、DSP202がスイッチ回路260Rをレジスタ0からレジスタN−1へと順次切替えることによって、レジスタ248に記憶された他方の論理値‘0’によってクリアされる。
乗算回路251は、DSP202がスイッチ回路260O、260Pをそれぞれ、レジスタ0、アドレス0から順次切替えることによって、デジタル信号用メモリ242からのデジタル信号(Xn、・・、Xn−(N−1))と、フィルタ係数格納メモリ247からのフィルタ係数(Ht(0)、・・、Ht(N−1))が順次入力される。そして、乗算回路251は、デジタル信号(Xn、・・、Xn−(N−1))とフィルタ係数(Ht(0)、・・、Ht(N−1))とを順次乗算した乗算結果をADD252に出力する。例えば、乗算回路251は、デジタル信号用メモリ242からのXnと、フィルタ係数格納メモリ247からのフィルタ係数Ht(0)を乗算した乗算結果をADD252に出力する。次に、乗算回路251は、デジタル信号用メモリ242からのXn−1と、フィルタ係数格納メモリ247からのフィルタ係数Ht(1)を乗算した乗算結果をADD252に出力する。そして、この処理が繰り返されることによって、デジタル信号(Xn、・・、Xn−(N−1))とフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)}とが順次乗算されることとなる。
ACC253は、ADD252からの加算結果が入力されて、この加算結果を保持する。ADD252は、乗算回路251からの乗算結果と、ACC253に記憶されている前回のADD252の加算結果とを加算した結果をACC253に出力する。この結果、ACC253には(Xn・Ht(0)+・・+(Xn−(N−1))・(Ht(N−1)))が記憶されることとなる。この結果、FIRフィルタ303は、フィルタ係数格納メモリ247に記憶されたフィルタ係数に基づき、デジタル信号に対して畳み込み演算処理を施したこととなる。そして、FIRフィルタ303は、畳み込み演算処理を施したデジタル信号を、出力端子232に出力する。
そして、このようにFIRフィルタ303のフィルタ係数を設定することによって、差動増幅回路209において経路Iを伝達する信号を、経路Jを伝達する信号で打ち消すことが可能となる。この結果、入力端子230にデジタル信号が入力されたときの、前述のエコーを防止することが可能となる。
なお、本実施形態においては、FIRフィルタ303を前述した構成にて述べているがこれに限るものではない。例えば、図32に示す構成としても良い。この場合、デジタル信号用メモリ242に対応した遅延回路335a1〜335aN−1、乗算回路251に対応した乗算回路336a0〜336aN−1、ADD252、ACC253に対応した加算回路337を設けても良い。以下、FIRフィルタ303が図26に示す構成で設けられた場合について説明する。同図に示すように、FIRフィルタ303は、縦続接続されたN−1個の遅延回路335a1〜335aN−1と、入力されるデジタル信号をそれぞれ乗算するN個の乗算回路336a0〜336aN−1と、乗算回路336a0〜336aN−1からの出力を合算する加算回路337とを有している。
遅延回路335a1〜335aN−1は、入力端子230を介して入力されるデジタル信号Xnを、サンプリングの周期単位ごとに遅延して出力する。例えば、遅延回路335a1はデジタル信号Xnを1サンプリング周期位相遅延させたデジタル信号Xn−1を出力し、遅延回路335aN−1はデジタル信号Xn−(N−1)を出力する。
乗算回路336a0〜336aN−1は、スイッチ回路260P、260Nが順次切替わることにより、フィルタ係数格納メモリ247に記憶されたフィルタ係数(Ht(0)、・・、Ht(N−1))が乗算係数としてそれぞれ設定される。そして、乗算回路336a0〜336aN−1は、入力されるデジタル信号に対して設定された乗算係数で乗算した乗算結果を出力する。
加算回路337は、乗算回路336a0〜336aN−1からの出力信号を合算する。この結果、前述したFIRフィルタ303と同様の畳み込み演算を施すことが可能となる。
===FIRフィルタ303のフィルタ係数設定===
図28〜図33を参照しつつ、FIRフィルタ303のフィルタ係数を設定するための処理動作の一例について説明する。図33は、FIRフィルタ303のフィルタ係数を設定する処理動作の一例を示すフローチャートである。
DSP295は、例えばCPU201からの指示信号により、先ずフィルタ係数部290のフィルタ係数をクリアさせるべく、レジスタ294に他方の論理値‘0’を入力させる。そして、DSP295は、スイッチ回路260Sをレジスタ294側に切替え、スイッチ回路260Tをレジスタ0から順次切替える。この結果、レジスタ294に保持されている他方の論理値‘0’によって、フィルタ係数部290のレジスタ0〜N−1がクリアされる(S401)。
そして、DSP295は、入力端子296を介して入力される、インパルス応答格納メモリ255からの経路Jのインパルス応答imp(0)〜(N−1)(=IR10'(Z))をFIRフィルタ285のフィルタ係数に設定する(S402)。また、DSP295は、入力端子297を介して入力される、インパルス応答格納メモリ243からの経路Iのインパルス応答imp(0)〜(N−1)(=IR9'(Z))をFIRフィルタ286のフィルタ係数に設定する(S403)。
白色ノイズ生成回路287は、例えば線形フィードバックレジスタ方式によって、白色ノイズとしてのM系列乱数L(N)を生成して、FIRフィルタ285、FIRフィルタ286に出力する(S404)。
FIRフィルタ285は、設定されたフィルタ係数に基づいて、白色ノイズ生成回路287からのM系列乱数L(N)に対して畳み込み演算を施して、演算結果である参照信号Xt(={Xt(0)、・・、Xt(N−1)})をADF284に出力する(S405)。
また、FIRフィルタ286は、設定されたフィルタ係数に基づいて、白色ノイズ生成回路287からのM系列乱数L(N)に対して畳み込み演算を施して、演算結果であるYtを減算回路288の+入力端子に出力する(S406)。
DSP295は、減算回路288の−入力端子に入力させるY'tを生成すべく、以下の処理を行う。DSP295は、先ずi=0として(S407)、スイッチ回路260R、260Sを乗算回路291側に切替え、スイッチ回路260Tをレジスタ0側に切替える。そして、DSP295は、参照信号入出力部289のXt(0)とフィルタ係数部290のHt(0)をそれぞれ乗算部291に出力させる。乗算部291は、Xt(0)とHt(0)を乗算し(S408)、乗算結果Xt(0)・Ht(0)を加算部293に出力する。
次に、DSP295は、iをインクリメントしてi=i+1=1とする(S409)。そして、DSP295は、乗算部291の乗算結果がXt(N−1)・Ht(N−1)まで達していないためi≧Nでないと判別する(S410・NO)。そして、DSP295は、スイッチ回路260Tをレジスタ1側に切替えてフィルタ係数部290のHt(1)を出力させるとともに、参照信号入出力部289のXt(1)をそれぞれ乗算部291に出力させる。乗算部291は、Xt(1)とHt(1)を乗算し(S408)、乗算結果Xt(1)・Ht(1)を加算部293に出力する。このように、S408からS410の処理をi≧Nまで繰り返すことによって(S410・YES)、乗算部291の乗算結果Xt(0)・Ht(0)・・Xt(N−1)・Ht(N−1)が加算部293に順次出力されることとなる。加算部293が乗算部291からの乗算結果を順次加算することによって(S411)、加算部293の加算結果は、Y't(=Xt(0)・Ht(0)+・・+Xt(N−1)・Ht(N−1))となる。そして、加算部293から減算回路288の−入力端子へY'tが出力される。
減算回路288は、+入力端子に入力されたYtと、−入力端子に入力されたY'tを減算し(S412)、減算結果である誤差信号Etをフィルタ係数更新部292に出力する。
そして、フィルタ係数更新部292は、誤差信号Etに基づくフィルタ係数を算出すべく以下の処理を実行する。先ず、フィルタ係数更新部292は、Ht+1(0)を算出すべくi=0とする(S413)。Ht+1(0)は、所定定数であるステップゲインをα、参照信号Xtのノルム(つまり二乗和)を‖Xt‖とすると、
Ht+1(0)=Ht(0)+(α・Et・Xt(0))/‖Xt‖
となる。そのため、フィルタ係数更新部292が、参照信号入出力部289からのXt(0)、フィルタ係数部290からのHt(0)、減算回路288からのEtに基づいて、上式を演算することによって、Ht+1(0)が算出される(S414)。次に、フィルタ係数更新部292は、Ht+1(1)を算出すべくiをインクリメントしてi=i+1=1とする(S415)。そして、フィルタ係数更新部292は、算出したフィルタ係数がHt+1(N−1)に達していないためi≧Nでないと判別する(S416・NO)。前述と同様に、Ht+1(1)は、
Ht+1(1)=Ht(1)+(α・Et・Xt(1))/‖Xt‖
から算出される。このように、S414からS416の処理をi≧Nまで繰り返すことによって(S416・YES)、Ht+1(N)(={Ht+1(0)、・・、Ht+1(N−1)})が算出されることとなる。次に、DSP295は、誤差信号Etの平均値が一定値未満であるか否かを判別する(S417)。そして、DSP295は、誤差信号Etの平均値が一定値未満でないと判別すると(S417・NO)、前述したS404以降の処理を再び繰り返すこととなる。
このように、減算回路288からの誤差信号Etの平均値が一定値未満でない場合、当該誤差信号Etに基づいたフィルタ係数Ht+1が算出されることとなる。そして、この処理を繰り返すことによって、FIRフィルタ285のフィルタ係数に経路Jのインパルス応答が設定され、FIRフィルタ286のフィルタ係数に経路Iのインパルス応答が設定された状態において、白色ノイズ生成回路287からM系列乱数L(N)がFIRフィルタ285、286に入力されたときの、減算回路288からの誤差信号Etを一定値未満とすることが可能となる。そして、誤差信号Etが一定値未満である場合のフィルタ係数Ht+1(N)は、経路Iを伝達する信号と、経路Jを伝達する信号とが互いに打ち消しあうことを可能とするフィルタ係数であることがわかる。つまり、エコーを防止することが可能となる。
そして、DSP295は、誤差信号Etの平均値が一定値未満であると判別すると(S417・YES)、フィルタ係数部290のフィルタ係数を更新すべく以下の処理を実行する。DSP295は、先ずフィルタ係数部290のレジスタ0のフィルタ係数H(0)を、Ht+1(0)に更新すべくi=0とする(S418)。そして、DSP295は、スイッチ回路260Rをフィルタ係数更新部292側へ切替え、スイッチ回路260Tをレジスタ0側に切替える。この結果、フィルタ係数部290のレジスタ0に保持されているフィルタ係数Ht(0)がHt+1(0)に更新される(S419)。次に、DSP295は、Ht(1)をHt+1(1)に更新すべくiをインクリメントしてi=i+1=1とする(S420)。そして、DSP295は、レジスタN−1のフィルタ係数Ht(N−1)がHt+1(N−1)に未だ更新されていないためN≧iでないと判別する(S421・NO)。そして、スイッチ回路260Tをレジスタ1側に切替えることによって、前述したようにレジスタ1に保持されているフィルタ係数Ht(1)をHt+1(1)に更新する(S419)。このように、S419からS421の処理をN≧iまで繰り返すことによって(S421・YES)、フィルタ係数部290のレジスタ0〜N−1のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)})が、Ht+1(N)(={Ht+1(0)、・・、Ht+1(N−1)}に更新されることとなる。
そして、DSP295は、スイッチ回路260Qを出力端子298側へ切替え、スイッチ回路260Tをレジスタ0側から順次切替えることによって、フィルタ係数部290のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)}を、出力端子298を介してフィルタ係数格納メモリ247に出力することが可能となる。そして、DSP202がスイッチ回路260Qをアドレス0から順次切替えることによって、FIRフィルタ303のフィルタ係数に、フィルタ係数部290のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)}を設定することが可能となる。
なお、前述したフィルタ係数部290のフィルタ係数H(N)を更新するアルゴリズムは、これに限るものではない。前述したようにLMSアルゴリズムやNLMSアルゴリズム等の周知技術である推定アルゴリズムを用いることが可能である。また、例えば特開2002−246880号に記載による処理でフィルタ係数部290のフィルタ係数H(N)を更新することも可能である。
なお、上述した実施形態によれば、前述した処理についてハードェア(例えば減算回路288、乗算部291など)を用いて説明したが、これに限るものではない。例えば、前述した処理をプログラムデータとしてROMなどに予め記憶させておき、DSP202が備えるプロセッサが当該プログラムデータを読み出して処理することも可能である。
<<第8の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図34は、第8の実施形態を示す図である。図34は、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の一例を示すブロック図である。なお、図34に示すエコー防止回路おいて、前述した第6、第7の実施形態と同一の構成要件については、同一番号を付して説明を省略する。
エコー防止回路は、CPU201、DSP202、ADコンバータ203、DAコンバータ205、増幅回路206、入出力端子207、加算回路263、増幅回路210、ADコンバータ214、DAコンバータ215、DAコンバータ212、反転増幅回路261、利得位相調整回路(G/P)275を有している。
つまり、本実施形態は、第6、第7の実施形態における差動増幅回路209、増幅回路213に代えて、反転増幅回路261、利得位相調整回路275、加算回路263を設けた構成となっている。なお、本実施形態においてもCPU201を構成要件としているが、CPU201を構成要件としないことも可能である。
さらに、DSP202は、入力端子230、出力端子231、デジタルフィルタ211、出力端子232、入力端子233、出力端子234を有している。
反転増幅回路261は、DAコンバータ212からのアナログ信号を、所定の増幅率にて反転増幅して利得位相調整回路275に出力する。
利得位相調整回路275は、反転増幅回路261からのアナログ信号に対して、利得および位相の調整を施して加算回路263に出力する。なお、この利得位相調整回路275によるアナログ信号の利得および位相の調整は、入力端子230にデジタル信号が入力されたときの後述する加算回路263の出力をゼロとするため、増幅回路206からのアナログ信号とは位相反転したアナログ信号を生成すべく行われる。
加算回路263は、増幅回路206からのアナログ信号が入力される。そして、加算回路263は、増幅回路206からのアナログ信号と、利得位相調整回路275からのアナログ信号とを加算した加算結果を増幅回路210に出力する。また、加算回路263は、入出力端子207からの音声信号を増幅回路210に出力する。
===デジタルフィルタ211のフィルタ係数===
図35及び図36を参照しつつデジタルフィルタ211のフィルタ係数について詳述する。図35は、図34に示すエコー防止回路の経路K、Lを示した図である。また、図36は、経路Kにイヤホンマイク18が含まれる場合を示した図である。
前述したように増幅回路206からのアナログ信号は、入出力端子207からの出力のみならず、加算回路263にも入力される場合がある。この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子207から入力される音声信号と増幅回路206からのアナログ信号が重畳されて加算回路263に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくデジタルフィルタ211のフィルタ係数を設定する。
そこで、図35又は図36の破線で示す出力端子231から加算回路263の入力端子までのインパルス応答(伝達関数)をIR11(Z)とする。また、図35又は図36の一点鎖線で示す出力端子232から反転増幅回路261の入力までのインパルス応答(伝達関数)をIR12_1(Z)とする。また、図35又は図36の二点鎖線で示す反転増幅回路261の入力から加算回路263の入力端子までのインパルス応答(伝達関数)をIR12_2(Z)とする。そして、IR12(Z)=−IR12_1(Z)・IR12_2(Z)とする。また、図35又は図36の破線で示す加算回路263における各入力端子の後段から入力端子233までのインパルス応答(伝達関数)をW6(Z)とする。
今、デジタルフィルタ211のフィルタ係数をQ(Z)とした場合、加算回路263において、増幅回路206からの信号を利得位相調整回路275からの信号で打ち消すためには、
IR11(Z)=IR12(Z)・Q(Z)
の式が成り立つようにQ(Z)を設けることとなる。つまり、Q(Z)は、
Q(Z)=IR11(Z)/IR12(Z)
となるように設ければよい。しかしながら、DSP202が取得可能なインパルス応答は、図35又は図36の実線で示す経路Kのインパルス応答(伝達関数)IR11'(Z)(=IR11(Z)・W6(Z))と、経路Lのインパルス応答(伝達関数)IR12'(Z)(=−IR12_1(Z)・IR12_2(Z)・W6(Z))である。なお、IR12_1(Z)が位相反転されているのは、反転増幅回路261にて反転されるためである。
この場合、経路Kを伝達する信号と経路Lを伝達する信号とが互いに打ち消しあうことを可能とする式は、
−IR11'(Z)=IR12'(Z)・Q(Z)
となる。つまり、Q(Z)を、
Q(Z)=−IR11'(Z)/IR12'(Z)
と設ければよいことがわかる。つまり、デジタルフィルタ211の特性は、伝達特性IR11'(Z)を位相反転したものに、IR12'(Z)の逆フィルタの特性を加えた特性とすることで実現可能となる。そして、このようにデジタルフィルタ211のフィルタ係数を設定することによって、加算回路263において経路Kを伝達する信号を、経路Lを伝達する信号で打ち消すことが可能となる。この結果、入力端子230にデジタル信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図36に示すように、イヤホンマイク18が接続された状態でインパルス応答IR11'(Z)を取得し、このIR11'(Z)を位相反転したものに、IR12'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR11'(Z)を取得し、このIR11'(Z)を位相反転したものに、IR12'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
なお、このデジタルフィルタ211の特性を、伝達特性IR11'(Z)を位相反転したものに、IR12'(Z)の逆フィルタの特性を加えた特性とする処理は、第6の実施形態と同様の処理を行うことによって可能となる。
また、経路Kのインパルス応答IR11'(Z)をFIRフィルタ286(図29)のフィルタ係数に設定し、経路Lのインパルス応答IR12'(Z)をFIRフィルタ285(図29)のフィルタ係数に設定して、第7の実施形態と同様の処理を行うことにより、デジタルフィルタ211のフィルタ係数を設定することも可能である。
<<第9の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図37は、第9の実施形態を示す図である。図37は、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP264)の一例を示すブロック図である。なお、図37に示すエコー防止回路において、前述した第6、第7の実施形態と同一の構成要件については、同一番号を付して説明を省略する。
エコー防止回路は、CPU201、DSP264、増幅回路206、入出力端子207、差動増幅回路209、増幅回路210、増幅回路213を有している。なお、本実施形態においてもCPU201を構成要件としているが、CPU201を構成要件としないことも可能である。
さらに、DSP264は、入力端子265、ADコンバータ266、DAコンバータ267、出力端子268、入力端子269、ADコンバータ270、DAコンバータ271、出力端子272、デジタルフィルタ211、DAコンバータ273、出力端子274を有している。
つまり、本実施形態は、第6、第7の実施形態におけるADコンバータ203、214、DAコンバータ205、212、215がDSP264内部に設けられた構成となっている。
ADコンバータ266には、入力端子265を介して、例えば音声信号が入力される。そして、ADコンバータ266は、音声信号に対してアナログ・デジタル変換処理したデジタル信号を、DAコンバータ267、デジタルフィルタ211に出力する。
デジタルフィルタ211はデジタル信号に対して、当該デジタルフィルタ211のフィルタ係数に基づいてフィルタ処理を施してDAコンバータ273に出力する。
DAコンバータ267は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を、出力端子268を介して出力させる。この結果、増幅回路206には、DAコンバータ267からのアナログ信号が入力される。
DAコンバータ273は、デジタルフィルタ211からのデジタル信号に対してデジタル・アナログ変換処理したアナログ信号を、出力端子274を介して出力させる。この結果、増幅回路213には、DAコンバータ273からのアナログ信号が入力される。
ADコンバータ270には、入力端子269を介して、増幅回路210からの音声信号が入力される。そして、ADコンバータ270は、音声信号に対してアナログ・デジタル変換処理したデジタル信号を、DAコンバータ271に出力する。
DAコンバータ271は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を、出力端子272を介して出力させる。
===デジタルフィルタ211のフィルタ係数===
図38及び図39を参照しつつデジタルフィルタ211のフィルタ係数について詳述する。図38は、図37に示すエコー防止回路の経路M、Nを示した図である。また、図39は、経路Mにイヤホンマイク18が含まれる場合を示した図である。
前述したように増幅回路206からのアナログ信号は、入出力端子207からの出力のみならず、差動増幅回路209の+入力端子にも入力される場合がある。この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子207から入力される音声信号と増幅回路206からのアナログ信号が重畳されて差動増幅回路209の+入力端子に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべくデジタルフィルタ211のフィルタ係数を設定する。
そこで、図38又は図39の破線で示すDAコンバータ267の入力から差動増幅回路209の+入力端子までのインパルス応答(伝達関数)をIR13(Z)とする。また、図38又は図39の破線で示すDAコンバータ273の入力から差動増幅回路209の−入力端子までのインパルス応答(伝達関数)をIR14(Z)とする。また、図38又は図39の破線で示す差動増幅回路209の±入力端子の後段からADコンバータ270の出力までのインパルス応答(伝達関数)をW7(Z)とする。
今、デジタルフィルタ211のフィルタ係数をQ(Z)とした場合、差動増幅回路209において、増幅回路206からの信号を増幅回路213からの信号で打ち消すためには、
IR13(Z)=IR14(Z)・Q(Z)
の式が成り立つようにQ(Z)を設けることとなる。つまり、Q(Z)は、
Q(Z)=IR13(Z)/IR14(Z)
となるように設ければよい。しかしながら、DSP264が取得可能なインパルス応答は、図38又は図39の実線で示す経路Mのインパルス応答(伝達関数)IR13'(Z)(=IR13(Z)・W7(Z))と、経路Nのインパルス応答(伝達関数)IR14'(Z)(=−IR14(Z)・W7(Z))である。なお、IR14(Z)が位相反転されているのは、差動増幅回路209の−入力端子に入力されているためである。
この場合、経路Mを伝達する信号と経路Nを伝達する信号とが互いに打ち消しあうことを可能とする式は、
−IR13'(Z)=IR14'(Z)・Q(Z)
となる。つまり、Q(Z)を、
Q(Z)=−IR13'(Z)/IR14'(Z)
と設ければよいことがわかる。つまり、デジタルフィルタ211の特性は、伝達特性IR13'(Z)を位相反転したものに、IR14'(Z)の逆フィルタの特性を加えた特性とすることで実現可能となる。そして、このようにデジタルフィルタ211のフィルタ係数を設定することによって、差動増幅回路209において経路Mを伝達する信号を、経路Nを伝達する信号で打ち消すことが可能となる。この結果、入力端子265に音声信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図39に示すように、イヤホンマイク18が接続された状態でインパルス応答IR13'(Z)を取得し、このIR13'(Z)を位相反転したものに、IR14'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR13'(Z)を取得し、このIR13'(Z)を位相反転したものに、IR14'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
なお、このデジタルフィルタ211の特性を、伝達特性IR13'(Z)を位相反転したものに、IR14'(Z)の逆フィルタの特性を加えた特性とする処理は、第6の実施形態と同様の処理を行うことによって可能となる。
また、経路Mのインパルス応答IR13'(Z)をFIRフィルタ286(図29)のフィルタ係数に設定し、経路Nのインパルス応答IR14'(Z)をFIRフィルタ285(図29)のフィルタ係数に設定して、第7の実施形態と同様の処理を行うことにより、デジタルフィルタ211のフィルタ係数を設定することも可能である。
<<第10の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図40は、第10の実施形態を示す図である。図40は、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路(DSP264)の一例を示すブロック図である。
なお、図40に示すように第10の実施形態におけるエコー防止回路は、前述した第8の実施形態(図31)、第9の実施形態(図33)を組み合わせた構成となっており、同一の構成要件については同一番号を付して説明を省略する。
===デジタルフィルタ211のフィルタ係数その1===
図41及び図42を参照しつつデジタルフィルタ211のフィルタ係数について詳述する。図41は、図40に示すエコー防止回路の経路O、Pを示した図である。また、図42は、経路Oにイヤホンマイク18が含まれる場合を示した図である。
前述したように増幅回路206からのアナログ信号は、入出力端子207からの出力のみならず、加算回路263にも入力される場合がある。この場合、当該アナログ信号によるエコーが発生することとなる。或いは、入出力端子207から入力される音声信号と増幅回路206からのアナログ信号が重畳されて加算回路263に入力されることにより、エコーが発生することとなる。そこで、このエコーを防止すべデジタルフィルタ211のフィルタ係数を設定する。
そこで、図41又は図42の破線で示すDAコンバータ267の入力から加算回路263の入力端子までのインパルス応答(伝達関数)をIR15(Z)とする。また、図41又は図42の一点鎖線で示すDAコンバータ273の入力から反転増幅回路261の入力までのインパルス応答(伝達関数)をIR16_1(Z)とする。また、図41又は図42の二点鎖線で示す反転増幅回路261の入力から加算回路263の入力端子までのインパルス応答(伝達関数)をIR16_2(Z)とする。そして、IR16(Z)=−IR16_1(Z)・IR16_2(Z)とする。また、図41又は図42の破線で示す加算回路263の各入力端子の後段からADコンバータ270の出力までのインパルス応答(伝達関数)をW8(Z)とする。
今、デジタルフィルタ211のフィルタ係数をQ(Z)とした場合、加算回路263において、増幅回路206からの信号を利得位相調整回路275からの信号で打ち消すためには、
IR15(Z)=IR16(Z)・Q(Z)
の式が成り立つようにQ(Z)を設けることとなる。つまり、Q(Z)は、
Q(Z)=IR15(Z)/IR16(Z)
となるように設ければよい。しかしながら、DSP264が取得可能なインパルス応答は、図41又は図42の実線で示す経路Oのインパルス応答(伝達関数)IR15'(Z)(=IR15(Z)・W8(Z))と、経路Pのインパルス応答(伝達関数)IR16'(Z)(=−IR16_1(Z)・IR16_2(Z)・W8(Z))である。なお、IR16_1(Z)が位相反転されているのは、反転増幅回路261にて反転されるためである。
この場合、経路Oを伝達する信号と経路Pを伝達する信号とが互いに打ち消しあうことを可能とする式は、
−IR15'(Z)=IR16'(Z)・Q(Z)
となる。つまり、Q(Z)を、
Q(Z)=−IR15'(Z)/IR16'(Z)
と設ければよいことがわかる。つまり、デジタルフィルタ211の特性は、伝達特性IR15'(Z)を位相反転したものに、IR16'(Z)の逆フィルタの特性を加えた特性とすることで実現可能となる。そして、このようにデジタルフィルタ211のフィルタ係数を設定することによって、加算回路263において経路Oを伝達する信号を、経路Pを伝達する信号で打ち消すことが可能となる。この結果、入力端子265に音声信号が入力されたときの、前述のエコーを防止することが可能となる。
そして、図42に示すように、イヤホンマイク18が接続された状態でインパルス応答IR15'(Z)を取得し、このIR15'(Z)を位相反転したものに、IR16'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態でインパルス応答IR15'(Z)を取得し、このIR15'(Z)を位相反転したものに、IR16'(Z)の逆フィルタの特性を加えたフィルタ係数をデジタルフィルタ211に設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
なお、このデジタルフィルタ211の特性を、伝達特性IR15'(Z)を位相反転したものに、IR16'(Z)の逆フィルタの特性を加えた特性とする処理は、第6の実施形態と同様の処理を行うことによって可能となる。
また、経路Oのインパルス応答IR15'(Z)をFIRフィルタ286(図29)のフィルタ係数に設定し、経路Pのインパルス応答IR16'(Z)をFIRフィルタ285(図29)のフィルタ係数に設定して、第7の実施形態と同様の処理を行うことにより、デジタルフィルタ211のフィルタ係数を設定することも可能である。
<<第11の実施形態>>
===エコー防止回路、デジタル信号処理回路の構成例===
図43は、第11の実施形態を示す図である。図43は、エコー防止回路、当該エコー防止回路に含まれるデジタル信号処理回路(DSP283)の一例を示すブロック図である。なお、図43に示すエコー防止回路において、前述した第6の実施形態と同一の構成要件については、同一番号を付して説明を省略する。図44は、図43に示すADF276の詳細図である。
DSP283は、入力端子230、ADF276、出力端子231、デジタルフィルタ211、出力端子232、入力端子233、減算回路277、出力端子234を有している。
減算回路277の+入力端子には、入力端子233を介して、ADコンバータ214からのデジタル信号が入力される。また、減算回路277の−入力端子には、ADF276からの出力信号が入力される。そして、減算回路277は、ADコンバータ214からのデジタル信号とADF276からの出力信号とを減算して出力する。以下、減算回路277からの出力信号を誤差信号という。
ADF276は、図44破線内に示すとおり、参照信号入出力部278、フィルタ係数部279、乗算部280、フィルタ係数更新部281、加算部282を有している。
参照信号入出力部278は、入力端子230を介してADコンバータ203からのデジタル信号(以下、参照信号入出力部278に入力されるデジタル信号を参照信号という)が入力されて、当該参照信号を保持する。そして、参照信号入出力部278は、乗算部280、フィルタ係数更新部281に対し参照信号を出力する。
フィルタ係数部279は、フィルタ係数更新部281からのフィルタ係数が入力されて、当該フィルタ係数を保持する。そして、フィルタ係数部279は、前述した参照信号入出力部278から乗算部280への参照信号の出力とともに、当該乗算部280に対しフィルタ係数を出力する。また、フィルタ係数部279は、フィルタ係数更新部281に対しフィルタ係数を出力する。
乗算部280は、参照信号とフィルタ係数を順次乗算した乗算結果を加算部282に出力する。
加算部282は、乗算部280からの出力信号を順次加算した結果を減算回路277に出力する。
フィルタ係数更新部281には、減算回路277からの誤差信号が入力される。そして、フィルタ係数更新部281は、誤差信号、参照信号、フィルタ係数に基づいて、例えばLMSアルゴリズムやNLMSアルゴリズム等の推定アルゴリズムによりフィルタ係数を算出してフィルタ係数部279に出力する。なお、このフィルタ係数更新部281によるフィルタ係数の算出は、入力端子230にデジタル信号が入力されたときの、減算回路277からの誤差信号の平均値が一定値以下となるように行われる。なお、この一定値とは、例えば誤差信号の平均値が一定値以下となった時の、DAコンバータ215から出力されるアナログ信号に基づいて発生する音声から、人がエコーを聴覚できないレベルとなるように定まる値である。
DAコンバータ215は、出力端子234を介して、減算回路277からのデジタル信号が入力される。そして、DAコンバータ215は、デジタル信号に対してデジタル・アナログ変換処理したアナログ信号を出力する。
===フィルタ係数部279のフィルタ係数更新===
図44、図45を参照しつつ、フィルタ係数部279のフィルタ係数を更新するための処理動作の一例について説明する。図45は、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の処理動作の一例を示すフローチャートである。なお、以下の説明においては、入力端子230にデジタル信号が入力された時刻tにおいて、減算回路277の+入力端子に入力されるデジタル信号をYt、参照信号入出力部278に入力される参照信号をXt(={Xt(0)、Xt(1)、・・、Xt(N−1)})と示す。また、フィルタ係数部279のフィルタ係数をHt(={Ht(0)、Ht(1)、・・、Ht(N−1)})と示す。また、フィルタ係数更新部281にて算出されるフィルタ係数をHt+1(={Ht+1(0)、Ht+1(1)、・・、Ht+1(N−1)})と示して説明する。そして、i番目の参照信号をXt(i)、フィルタ係数をHt(i)、Ht+1(i)と示す。
DSP283は、参照信号入出力部278に参照信号Xtを入力させると(S501)、減算回路277の−入力端子に入力させる信号Y'tを生成すべく、以下の処理を行う。DSP283は、先ずi=0として(S502)、参照信号入出力部278のXt(0)とフィルタ係数部279のHt(0)をそれぞれ乗算部280に出力させる。乗算部280は、Xt(0)とHt(0)を乗算した乗算結果を(S503)、加算部282に出力する。加算部282は、乗算部280からの出力信号Xt(0)・Ht(0)とゼロを加算する。
次に、DSP283は、iをインクリメントしてi=i+1=1とする(S504)。そして、DSP283は、乗算部280の乗算結果がXt(N−1)・Ht(N−1)まで達していないためi≧Nでないと判別し(S505・NO)、参照信号入出力部278のXt(1)とフィルタ係数部279のHt(1)をそれぞれ乗算部280に出力させる。乗算部280は、Xt(1)とHt(1)を乗算した乗算結果を(S503)、加算部282に出力する。加算部282は、乗算部280からの出力信号Xt(1)・Ht(1)とXt(0)・Ht(0)を加算する。このように、S503からS505の処理をi≧Nまで繰り返すことによって(S505・YES)、加算部282の加算結果は、Y't(=Xt(0)・Ht(0)+・・+Xt(N−1)・Ht(N−1))となる。そして、加算部282から減算回路277の−入力端子へY'tが出力される(S506)。
減算回路277は、+入力端子に入力されたYtと、−入力端子に入力されたY'tを減算して出力する(S507)。そして、減算回路277からの誤差信号が、フィルタ係数更新部281に入力される。なお、この減算回路277からの誤差信号をEt(=Yt−Y't)と示して以下説明する。
フィルタ係数更新部281は、フィルタ係数部279のフィルタ係数を更新すべく以下の処理を実行する。先ず、フィルタ係数更新部281は、Ht+1(0)を算出すべくi=0とする(S508)。Ht+1(0)は、所定定数であるステップゲインをα、参照信号Xtのノルム(つまり二乗和)を‖Xt‖とすると、
Ht+1(0)=Ht(0)+(α・Et・Xt(0))/‖Xt‖
となる。そのため、フィルタ係数更新部281が、参照信号入出力部782からのXt(0)、フィルタ係数部279からのHt(0)、減算回路277からのEtに基づいて、上式を演算することによって、Ht+1(0)が算出される(S509)。次に、フィルタ係数更新部281は、Ht+1(1)を算出すべくiをインクリメントしてi=i+1=1とする(S510)。そして、フィルタ係数更新部281は、算出したフィルタ係数がHt+1(N−1)に達していないためi≧Nでないと判別する(S511・NO)。そして前述と同様に、Ht+1(1)は、
Ht+1(1)=Ht(1)+(α・Et・Xt(1))/‖Xt‖
から算出される。このように、S509からS511の処理をi≧Nまで繰り返すことによって(S511・YES)、Ht+1(={Ht+1(0)、・・、Ht+1(N−1)})が算出されることとなる。そして、フィルタ係数更新部281は、フィルタ係数部279のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)})をHt+1(={Ht+1(0)、・・、Ht+1(N−1)})に更新すべく、当該Ht+1をフィルタ係数部279に出力する。
DSP283は、先ずフィルタ係数部279のHt(0)をHt+1(0)に更新すべくi=0とする(S512)。この結果、フィルタ係数部279のHt(0)がHt+1(0)に更新される(S513)。次に、DSP283は、Ht(1)をHt+1(1)に更新すべくiをインクリメントしてi=i+1=1とする(S514)。そして、DSP283は、Ht(N−1)がHt+1(N−1)に未だ更新されていないためN≧iでないと判別する(S515・NO)。そして、DSP283は、Ht(1)をHt+1(1)に更新する(S513)。このように、S513からS515の処理をN≧iまで繰り返すことによって(S515・YES)、フィルタ係数部279のフィルタ係数Ht(={Ht(0)、・・、Ht(N−1)})がHt+1(={Ht+1(0)、・・、Ht+1(N−1)}に更新される。
そして、再び前述したS502からS505の処理が行われる。この結果、フィルタ係数Ht+1(={Ht+1(0)、・・、Ht+1(N−1)})に基づく出力信号Y'tが、加算部282から減算回路277の−入力端子に入力される。
このように、減算回路277からの誤差信号に基づいて、フィルタ係数部279のフィルタ係数を、当該誤差信号が反映されたフィルタ係数に更新することが可能となる。そして、この処理を繰り返すことによって、入力端子230にデジタル信号が入力されたときの、減算回路277からの誤差信号の平均値を一定値以下とすることが可能となる。つまり、エコーを防止することが可能となる。なお、フィルタ係数部279のフィルタ係数を更新するアルゴリズムは、これに限るものではない。前述したようにLMSアルゴリズムやNLMSアルゴリズム等の周知技術である推定アルゴリズムを用いることが可能である。また、例えば特開2002−246880号に記載による処理でフィルタ係数部279のフィルタ係数を更新することも可能である。
なお、上述した実施形態によれば、前述した処理についてハードェア(例えば減算回路277、乗算部280など)を用いて説明したが、これに限るものではない。例えば、前述した処理をプログラムデータとしてROMなどに予め記憶させておき、DSP283が備えるプロセッサが当該プログラムデータを読み出して処理することも可能である。
なお、本実施形態におけるデジタルフィルタ211のフィルタ係数は、前述の第6の実施形態〜第10の実施形態と同様の処理を行うことにより設定することが可能である。そして、イヤホンマイク18が接続された状態で取得されたインパルス応答に基づいてFIRフィルタ211のフィルタ係数を設定することにより、差動増幅回路209にてイヤホンマイク18の伝達特性に応じたより効果的なエコーの除去が行える。その結果、減算回路277からの誤差信号が小さくなり、フィルタ係数部279のフィルタ係数更新処理の繰り返し回数を削減することができる。つまり、エコーがキャンセルされるまでの時間を短縮することが可能となる。また、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態で取得されたインパルス応答に基づいてFIRフィルタ211のフィルタ係数を設定することにより、差動増幅回路209にてイヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じたより効果的なエコーの除去が行える。つまり、エコーがキャンセルされるまでの時間を更に短縮することが可能となる。
また、本実施形態は、前述の第6の実施形態にADF276、減算回路277を設けたものであるがこれに限るものではない。前述の第7の実施形態〜第10の実施形態にも同様に、ADF276、減算回路277を設けることも可能である。詳述すると第7、第8の実施形態においては、本実施形態と同様にADF276、減算回路277を設ける。また、第9、第10の実施形態においては、減算回路277をADコンバータ270、DAコンバータ271間に設ける。そして、減算回路277、DAコンバータ271間の信号線に現れる誤差信号をADF276に入力させ、ADコンバータ266からのデジタル信号を参照信号としてADF276に入力されるように設ける。
そして、例えばインパルス応答の測定誤差等により、差動増幅回路209(加算回路263)において経路Iを伝達する信号を、経路Jを伝達する信号で打ち消したときの結果が、エコーを十分に防止できないレベルとなる場合がある。この場合、上述した第11の実施形態によれば、減算回路277において差動増幅回路209(加算回路263)からの出力を、加算部282からの出力信号Y'tで打ち消すことが可能となる。この結果、入力端子230(265)にデジタル信号(音声信号)が入力されたときの、前述のエコーをより確実に防止することが可能となる。
<<エコー防止回路、デジタル信号処理回路のエコー防止適用例>>
図1、図2、図5、図6、図46、図47を参照しつつ、本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の適用例について説明する。なお、本実施形態においては、例えば第1の実施形態におけるエコー防止回路、当該エコー防止に含まれるデジタル信号処理回路(DSP2)を、仮に図46に示す携帯電話機19に適用した場合における構成および動作について説明する。図46は、本発明に係るエコー防止回路41が適用される携帯電話機19の模式図である。図47は、図46に示す携帯電話機19の構成の一例を示すブロック図である。なお、携帯電話機19には、図46、図47に示すようにイヤホンマイク18が接続されている。このイヤホンマイク18は、携帯電話機19が受信した音声信号に基づいて、振動板(不図示)を振動させることにより音声を発生するスピーカ機能を有する。また、イヤホンマイク18は、当該イヤホンマイク18を装着している者が音声を発したときの鼓膜の振動を振動板の振動に換えることにより音声信号を生成して出力するマイク機能も有するものである。なお、このイヤホンマイク18は周知の技術であり、例えば特開2003−9272等に記載されている。また、イヤホンマイク18と携帯電話機19は接続されて有線通信するように設けられているが、無線通信(HomeRF(Radio Frequency)等)するように設けても良い。
携帯電話機19は、アンテナ20、RF(Radio Frequency)部21、ベースバンド処理部22、CPU24、表示部23、入力部25、ADコンバータ26、DAコンバータ27、マイク28、スピーカ29、エコー防止回路41を有する。なお、図47に示す携帯電話機19の構成は一例であり、エコー防止回路41、デジタル信号処理回路(DSP2)が適用される携帯電話機は、これらの構成からなる携帯電話機に限るものではない。
アンテナ20は携帯電話機19に対して送信される音声信号を受信する。また、アンテナ20は、RF部21からの音声信号を送信する。
RF部21は、アンテナ20が受信した音声信号のうち、所定周波数帯域の音声信号に対する復調処理などのデコード処理を行う。また、RF部21は、ベースバンド処理部22からの音声信号に対する変調処理、例えばTDMA方式(Time Division Multiplex Access)によるエンコード処理などを行う。
ベースバンド処理部22は、RF部21にてベースバンド信号まで復調された音声信号について所定の信号処理を施して、CPU1に出力する。また、ベースバンド処理部22は、CPU1からの音声信号に対して所定の信号処理を施してRF部21に出力する。
CPU24は、携帯電話機19を統括制御する。CPU24は、ベースバンド処理部22からの音声信号に応じた音声をスピーカ29或いはイヤホンマイク18にて再生すべく、当該音声信号をDAコンバータ27に出力する。また、CPU24は、ADコンバータ26からの、マイク28或いはイヤホンマイク18からの音声信号をベースバンド処理部22に出力する。また、CPU24は、例えば携帯電話機19がパケット通信を行っている場合、受信したパケットデータに基づく画像を表示すべく表示部23に信号を出力する。また、CPU24は、入力部25にて入力された入力データを表示部23に表示させたり、パケット通信にて当該入力データを送信すべく所定の処理を施して、ベースバンド処理部22に出力する。
ADコンバータ26は、マイク28或いはイヤホンマイク18からの音声信号対しアナログ・デジタル変換処理したデジタル信号をCPU24に出力する。DAコンバータ27は、CPU24からの音声信号に対しデジタル・アナログ変換処理したアナログ信号をスピーカ29或いはエコー防止回路41に出力する。なお、本実施形態においては、イヤホンマイク18が携帯電話機19に接続されている場合、DAコンバータ27からのアナログ信号はエコー防止回路41に入力されるものとして以下説明する。
次に、エコー防止回路41の動作について説明する。なお、本適用例においては、第1の実施形態において説明したとおりのFIRフィルタ4、11のフィルタ係数の設定が既に施されているものとして以下説明する。
アンテナ20が受信した音声信号は、携帯電話機19の各構成による前述した処理が行われてDAコンバータ27からエコー防止回路41のADコンバータ3に出力される。
ADコンバータ3に入力された音声信号は、当該ADコンバータ3にてアナログ・デジタル信号処理が施されてデジタル信号となり、入力端子30を介して、FIRフィルタ4、11に入力される。この結果、ADコンバータ3からのデジタル信号は、FIRフィルタ4、11を構成するデジタル信号用メモリ42、54に入力されることとなる。
以下、先ずFIRフィルタ4に入力されるデジタル信号について説明する。デジタル信号用メモリ54に入力されたデジタル信号(Xnと示す)は、レジスタ0〜N−1に順次入力されることによって、1サンプリング周期単位ずつ遅延される。そして、DSP2がスイッチ回路60Oをレジスタ0から順次切替えることによって、デジタル信号用メモリ54からのデジタル信号Xn〜Xn−(N−1)が、乗算回路51に順次入力される。また、DSP2がスイッチ回路60Pをアドレス0から順次切替えることによって、フィルタ係数格納メモリ56に記憶された位相反転されたインパルス応答imp(0)〜imp(N−1)(=−IR2'(Z))が、乗算回路51に順次入力される。乗算回路51は、順次入力されるデジタル信号Xn〜Xn−(N−1)と位相反転されたインパルス応答imp(0)〜imp(N−1)とを順次乗算した乗算結果をADD52に出力する。
ADD52に入力された乗算回路51の乗算結果は、ACC53に記憶されている前回のADD52の加算結果と加算されて、当該ACC53に出力される。この結果、フィルタ係数格納メモリ56に記憶されている位相反転されたインパルス応答imp(0)〜imp(N−1)とデジタル信号Xn〜Xn−(N−1)との畳み込み演算が、FIRフィルタ4にて施されたこととなる。つまり、後述のFIRフィルタ11からの出力信号と差動増幅回路9にて互いに打ち消しあう信号がFIRフィルタ4から出力されることとなる。
FIRフィルタ4から出力される出力信号は、出力端子31を介してDAコンバータ5に入力される。そして、出力信号は、DAコンバータ5にてデジタル・アナログ変換処理が施されてアナログ信号となり増幅回路6に入力される。増幅回路6に入力されたアナログ信号は、所定の増幅率にて増幅されて出力される。増幅回路6からのアナログ信号は、入出力端子7を介してイヤホンマイク18に出力される。この結果、イヤホンマイク18のスピーカ機能により、振動板が振動して音声が発生する。しかしながら、増幅回路6からのアナログ信号が差動増幅回路9の+入力端子に入力される場合がある。この差動増幅回路9の+端子に入力されるアナログ信号を打ち消すべく以下の処理がなされる。
FIRフィルタ11のデジタル信号用メモリ42に入力されるデジタル信号は、前述したようにFIRフィルタ4と同様に、レジスタ0〜N−1に入力されることによって、1サンプリング周期単位ずつ遅延される。そして、DSP2がスイッチ回路60Mをレジスタ0から順次切替えることによって、デジタル信号用メモリ42からのデジタル信号Xn〜Xn−(N−1)が、乗算回路51に順次入力される。また、DSP2がスイッチ回路60Nをアドレス0から順次切替えることによって、フィルタ係数格納メモリ47に記憶されたインパルス応答imp(0)〜imp(N−1)(=IR1'(Z))が、乗算回路51に順次入力される。乗算回路51は、順次入力されるデジタル信号Xn〜Xn−(N−1)とインパルス応答imp(0)〜imp(N−1)とを順次乗算した乗算結果をADD52に出力する。
ADD52に入力された乗算回路51の乗算結果は、ACC53に記憶されている前回のADD52の加算結果と加算されて、当該ACC53に出力される。この結果、フィルタ係数格納メモリ47に記憶されているインパルス応答imp(0)〜imp(N−1)とデジタル信号Xn〜Xn−(N−1)との畳み込み演算が、FIRフィルタ11にて施されたこととなる。つまり、前述のFIRフィルタ4からの出力信号と差動増幅回路9にて互いに打ち消しあう信号がFIRフィルタ11から出力されることとなる。
FIRフィルタ11から出力される出力信号は、出力端子32を介してDAコンバータ12に入力される。そして、出力信号は、DAコンバータ12にてデジタル・アナログ変換処理が行われてアナログ信号となり増幅回路13に入力される。増幅回路13に入力されたアナログ信号は、所定の増幅率にて増幅されて、差動増幅回路9の−入力端子に入力される。
よって、差動増幅回路9において、+入力端子に入力された増幅回路6からのアナログ信号を、−入力端子に入力されることによって反転される増幅回路13からのアナログ信号で打ち消すことが可能となる。この結果、入力端子30にデジタル信号が入力されたときの、エコーを防止することが可能となる。また、イヤホンマイク18のマイク機能による音声信号と、増幅回路6からのアナログ信号とが重畳して差動増幅回路9の+入力端子に入力された場合であっても、−入力端子にFIRフィルタ11からの信号が入力されることによって、重畳された信号からエコーの原因となる信号分(つまり、増幅回路6からのアナログ信号)のみを差し引くことが可能となる。
なお、前述した適用例においては、第1の実施形態におけるエコー防止回路、当該エコー防止回路に含まれるデジタル信号処理回路を適用した場合について説明したが、これに限るものではない。第2の実施形態〜第11の実施形態において説明したエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路においても、エコーを同様に防止することが可能となる。
また、前述した適用例においては、エコー防止回路、当該エコー防止回路に含まれるデジタル信号処理回路を携帯電話機19に適用した場合について説明したがこれに限るものではない。前述したエコーが発生する可能性のあるものに対して、本発明に係るエコー防止回路、デジタル信号処理回路は適用可能である。例えば、IT(Information Technology)通信機器(例えばPC(Personal Computer)など)、通話機器(電話機、トランシーバー、車載機など)に適用することが可能である。
上述した実施形態によれば、入力端子30(65)にデジタル信号(音声信号)が入力されたとき、差動増幅回路9(または加算回路63)において、FIRフィルタ4の出力信号と入出力端子7に入力された信号とを合わせた信号を、FIRフィルタ11の出力信号で打ち消すことが可能となる。つまり、イヤホンマイク使用者が発声していない場合は、差動増幅回路9(または加算回路63)の出力信号がゼロとなるようにFIRフィルタ4、11のフィルタ係数を設定することによって打ち消しあうことが可能となる。さらに、DSP2(64、83)の出力端子34(72)から出力される出力信号を、FIRフィルタ4の出力信号を除去または減衰した信号とすることが可能となる。この結果、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、エコーを防止することが可能となる。
さらに、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、差動増幅回路9(または加算回路63)の出力信号を、FIRフィルタ4の出力信号のみを除去または減衰した信号とすることが可能となる。
FIRフィルタ4、11のフィルタ係数の一例として、FIRフィルタ11の出力から差動増幅回路9(または加算回路63)の出力までのインパルス応答を位相反転したものをFIRフィルタ4のフィルタ係数に設定し、FIRフィルタ4の出力から差動増幅回路9(または加算回路63)の出力までのインパルス応答をFIRフィルタ11のフィルタ係数に設定することが可能となる。また、FIRフィルタ4、11のフィルタ係数の一例として、FIRフィルタ11の出力から差動増幅回路9(または加算回路63)の出力までのインパルス応答をFIRフィルタ4のフィルタ係数に設定し、FIRフィルタ4の出力から差動増幅回路9(または加算回路63)の出力までのインパルス応答を位相反転したものをFIRフィルタ11のフィルタ係数に設定することとしてもよい。この結果、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、エコーを確実に防止することが可能となる。
さらに、DAコンバータ12(73)の入力からADコンバータ14(70)の出力までのインパルス応答を位相反転したものをFIRフィルタ4のフィルタ係数に設定し、DAコンバータ5(67)の入力からADコンバータ14(70)の出力までのインパルス応答をFIRフィルタ11のフィルタ係数に設定することが可能となる。また、DAコンバータ12(73)の入力からADコンバータ14(70)の出力までのインパルス応答をFIRフィルタ4のフィルタ係数に設定し、DAコンバータ5(67)の入力からADコンバータ14(70)の出力までのインパルス応答を位相反転したものをFIRフィルタ11のフィルタ係数に設定することとしてもよい。この結果、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、エコーを確実に防止することが可能となる。
さらに、DAコンバータ12(73)の入力から差動増幅回路9(または加算回路63)の入力までのインパルス応答と、差動増幅回路9(または加算回路63)の入力からADコンバータ14(70)の出力までのインパルス応答の積(畳み込み)を位相反転したものをFIRフィルタ4のフィルタ係数に設定し、DAコンバータ5(67)の入力から差動増幅回路9(加算回路63)の入力までのインパルス応答と、差動増幅回路9(または加算回路63)の入力からADコンバータ14(70)の出力までのインパルス応答の積(畳み込み)をFIRフィルタ11のフィルタ係数に設定することが可能となる。また、DAコンバータ12(73)の入力から差動増幅回路9(または加算回路63)の入力までのインパルス応答と、差動増幅回路9(または加算回路63)の入力からADコンバータ14(70)の出力までのインパルス応答の積(畳み込み)をFIRフィルタ4のフィルタ係数に設定し、DAコンバータ5(67)の入力から差動増幅回路9(加算回路63)の入力までのインパルス応答と、差動増幅回路9(または加算回路63)の入力からADコンバータ14(70)の出力までのインパルス応答の積(畳み込み)を位相反転したものをFIRフィルタ11のフィルタ係数に設定することとしてもよい。この結果、差動増幅回路9(または加算回路63)とADコンバータ14(70)の間に設けられた増幅回路10の特性を含んだフィルタ係数をFIRフィルタ4、11に設定することが可能となる。よって、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、エコーをより確実に防止することが可能となる。
そして、イヤホンマイク18が接続された状態で取得されたインパルス応答に基づいてFIRフィルタ11のフィルタ係数を設定することにより、イヤホンマイク18の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、接続されたイヤホンマイク18を、耳孔に挿入したり、耳介を覆ったりすることにより耳に装着した状態で取得されたインパルス応答に基づいてFIRフィルタ11のフィルタ係数を設定することにより、イヤホンマイク18の伝達特性及び使用者の耳の中の伝達特性に応じた効果的なエコー防止が可能となる。
さらに、エコー防止回路を構成するインパルス応答格納メモリ43、55、レジスタ50、57、スイッチ回路60G〜60I、60I〜60L、乗算回路58によってFIRフィルタ4、11のフィルタ係数を確実に設定することが可能となる。
さらに、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、増幅回路6からのアナログ信号とFIRフィルタ11からの出力信号とを差動増幅回路9にて確実に減算することが可能となる。
また、入力端子30(65)にデジタル信号(音声信号)が入力されたときの、増幅回路6からのアナログ信号とFIRフィルタ11からの出力信号とを、反転増幅回路61、利得位相調整回路75を介して加算回路63にて確実に減算することが可能となる。
なお、前述したエコー防止回路およびデジタル信号処理回路(DSP2、64、83)の動作を制御するためのプログラムをメモリに記憶させて提供することも可能である。
また、上述した実施形態によれば、差動増幅回路9、加算回路63を用いて経路A(C、E、G)を伝達する信号と、経路B(D、F、H)を伝達する信号とを打ち消しあっているがこれに限るものではない。経路A(C、E、G)のインパルス応答IR1'(Z)(IR3'(Z)、IR5'(Z)、IR7'(Z))と、経路B(D、F、H)のインパルス応答IR2'(Z)(IR4'(Z)、IR6'(Z)、IR8'(Z))とが打ち消しあうアナログ回路であればよい。
以上、本発明に係るエコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラムについて説明したが、上記の説明は、本発明の理解を容易とするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得る。
本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の第1の実施形態を示すブロック図である。 図1に示すエコー防止回路の経路A、Bを示す図である。 図2に示す経路Aにイヤホンマイク18が含まれる場合を示す図である。 図2又は図3に示す経路A、Bのインパルス応答を示す図である。 DSP2の構成の一部を示す図である。 DSP2の構成の他の一部を示す図である。 FIRフィルタ4、11のその他の一例を示す図である。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の処理動作を示すフローチャートである。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の第2の実施形態を示すブロック図である。 図9に示すエコー防止回路の経路C、Dを示す図である。 図10に示す経路Cにイヤホンマイク18が含まれる場合を示す図である。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の第3の実施形態を示すブロック図である。 図12に示すエコー防止回路の経路E、Fを示す図である。 図13に示す経路Eにイヤホンマイク18が含まれる場合を示す図である。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の第4の実施形態を示すブロック図である。 図15に示すエコー防止回路の経路G、Hを示す図である。 図16に示す経路Gにイヤホンマイク18が含まれる場合を示す図である。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の第5の実施形態を示すブロック図である。 図18に示すADF76の詳細図である。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の処理動作を示すフローチャートである。 第6の実施形態を示すブロック図である。 図21に示す第6の実施形態の経路I、Jを示す図である。 図22に示す経路Iにイヤホンマイク18が含まれる場合を示す図である。 図22又は図23に示す経路I、Jのインパルス応答を示す図である。 DSP202の構成の一部を示す図である。 デジタルフィルタ211の一例として示すARMAフィルタ300の構成を示すブロック図である。 第6の実施形態における処理動作を示すフローチャートである。 FIRフィルタ303を用いた場合の、エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の一例を示すブロック図である。 第7の実施形態を示すブロック図である。 図24に示すADF284の詳細図である。 DSP202の構成の一部を示す図である。 FIRフィルタ303のその他の一例を示す図である。 第7の実施形態における処理動作を示すフローチャートである。 第8の実施形態を示すブロック図である。 図34に示す第8の実施形態の経路K、Lを示す図である。 図35に示す経路Kにイヤホンマイク18が含まれる場合を示す図である。 第9の実施形態を示すブロック図である。 図37に示す第9の実施形態の経路M、Nを示す図である。 図38に示す経路Mにイヤホンマイク18が含まれる場合を示す図である。 第10の実施形態を示すブロック図である。 図40に示す第10の実施形態の経路O、Pを示す図である。 図41に示す経路Oにイヤホンマイク18が含まれる場合を示す図である。 エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の第11の実施形態を示すブロック図である。 図43に示すADF276の詳細図である。 エコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路の処理動作を示すフローチャートである。 本発明に係るエコー防止回路、当該エコー防止回路に含まれているデジタル信号処理回路を適用する携帯電話機19の模式図である。 図46に示す携帯電話機19の構成の一例を示すブロック図である。 従来のエコー防止回路を示す図である。
符号の説明
1、24、201 CPU
2、64、83、202、264、283、295 DSP
3、14、26、66、70 ADコンバータ
203、214、266、270 ADコンバータ
4、11、286、287、303 FIRフィルタ
5、12、15、27、67、71、73 DAコンバータ
205、212、215、267、271、273 DAコンバータ
6、10、13、101、105、206、210、213 増幅回路
7、207 入出力端子
9、209 差動増幅回路
18 イヤホンマイク
19 携帯電話機
20 アンテナ
21 RF部
22 ベースバンド処理部
23 表示部
25 入力部
28 マイク
29 スピーカ
30、33、65、69 入力端子
230、233、265、269、296、297 入力端子
31、32、34、68、72、74 出力端子
231、232、234、268、272、274、298 出力端子
35、235、335 遅延回路
36、51、58、236、251、258、301、336 乗算回路
37、63、237、263、302、337 加算回路
41 エコー防止回路
42、54、242 デジタル信号用メモリ
43、55、243、255 インパルス応答格納メモリ
44、45、244、245 インパルス用メモリ
46、48、49、50、57 レジスタ
246、248、249、250、257、294 レジスタ
47、56、247 フィルタ係数格納メモリ
52、252 ADD
53、253 ACC
60、260 スイッチ回路
61、107、261 反転増幅回路
75、108、275 利得位相調整回路
76、276、284 ADF
77、277、288 減算回路
78、278、289 参照信号入出力部
79、279、290 フィルタ係数部
80、280、291 乗算部
81、281、292 フィルタ係数更新部
82、282、293 加算部
104 マイク
106 スピーカ
211 デジタルフィルタ
287 白色ノイズ生成回路
300 ARMAフィルタ

Claims (24)

  1. 第1入力信号が入力される入力端子と、
    前記入力端子からの第1入力信号が入力される第1FIRフィルタと、
    前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、
    前記第1FIRフィルタの出力信号が出力されるか又は第2入力信号が入力される入出力端子と、
    前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号から、前記第2FIRフィルタの出力信号を減算する第1減算回路と、
    前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、
    前記第1減算回路の出力信号から前記適応デジタルフィルタの出力信号を減算する第2減算回路と、
    前記第2減算回路の出力信号が出力される出力端子と、を備え、
    前記第1FIRフィルタおよび前記第2FIRフィルタは、第1入力信号が前記入力端子に入力されたときの、前記第1減算回路からの出力信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を有し、
    前記適応デジタルフィルタは、前記第2減算回路の出力信号に基づいて、前記出力端子からの出力信号が前記第1減算回路の出力信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を有する、
    ことを特徴とするエコー防止回路。
  2. 前記第2FIRフィルタのフィルタ係数は、前記第1FIRフィルタの出力から前記第1減算回路の出力までの第1インパルス応答であり、
    前記第1FIRフィルタのフィルタ係数は、前記第2FIRフィルタの出力から前記第1減算回路の出力までの第2インパルス応答を位相反転したものであること、
    を特徴とする請求項に記載のエコー防止回路。
  3. 前記第2FIRフィルタのフィルタ係数は、前記第1FIRフィルタの出力から前記第1減算回路の出力までの第1インパルス応答を位相反転したものであり、
    前記第1FIRフィルタのフィルタ係数は、前記第2FIRフィルタの出力から前記第1減算回路の出力までの第2インパルス応答であること、
    を特徴とする請求項に記載のエコー防止回路。
  4. 前記入出力端子から出力される前記第1FIRフィルタの出力信号は、当該出力された出力信号を音声に変換して出力するとともに、入力される音声を前記第2入力信号に変換して出力するイヤホンマイクによって反射されて前記入出力端子に入力可能であり、
    前記第1インパルス応答は、前記イヤホンマイクが前記入出力端子に接続された状態における、前記第1FIRフィルタの出力から前記イヤホンマイクを経由して前記第1減算回路の出力までのインパルス応答であること、
    を特徴とする請求項又はに記載のエコー防止回路。
  5. 前記第1FIRフィルタの出力信号をデジタル・アナログ変換する第1DAコンバータと、
    前記第2FIRフィルタの出力信号をデジタル・アナログ変換する第2DAコンバータと、
    前記第1減算回路の出力信号をアナログ・デジタル変換するADコンバータと、を備え、
    前記第1インパルス応答は、前記第1DAコンバータから前記ADコンバータまでのインパルス応答であり、
    前記第2インパルス応答は、前記第2DAコンバータから前記ADコンバータまでのインパルス応答であること、
    を特徴とする請求項又はに記載のエコー防止回路。
  6. 前記第1インパルス応答は、前記第1DAコンバータの出力信号を音声に変換して出力するとともに、入力される音声を前記第2入力信号に変換して出力するイヤホンマイクが前記入出力端子に接続された状態における、前記第1DAコンバータから前記イヤホンマイクを経由して前記ADコンバータまでのインパルス応答であること、
    を特徴とする請求項に記載のエコー防止回路。
  7. 前記第1減算回路の出力と前記ADコンバータの入力との間に前記第1減算回路からの出力信号を増幅する増幅回路を備え、
    前記第1インパルス応答は、前記第1DAコンバータから前記第1減算回路までのインパルス応答および前記第1減算回路から前記ADコンバータまでのインパルス応答の積であり、
    前記第2インパルス応答は、前記第2DAコンバータから前記第1減算回路までのインパルス応答および前記第1減算回路から前記ADコンバータまでのインパルス応答の積であること、
    を特徴とする請求項に記載のエコー防止回路。
  8. 前記第1インパルス応答は、前記第1DAコンバータの出力信号を音声に変換して出力するとともに、入力される音声を前記第2入力信号に変換して出力するイヤホンマイクが前記入出力端子に接続された状態における、前記第1DAコンバータから前記イヤホンマイクを経由して前記第1減算回路までのインパルス応答および前記第1減算回路から前記ADコンバータまでのインパルス応答の積であること、
    を特徴とする請求項に記載のエコー防止回路。
  9. 前記第1インパルス応答に基づいて前記第2FIRフィルタのフィルタ係数を設定するとともに、前記第2インパルス応答に基づいて前記第1FIRフィルタのフィルタ係数を設定するフィルタ係数設定部を備えたこと、
    を特徴とする請求項の何れか一項に記載のエコー防止回路。
  10. 前記第1減算回路は、
    前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号と、前記第2FIRフィルタの出力信号とが入力される差動増幅回路である、
    ことを特徴とする請求項1〜の何れか一項に記載のエコー防止回路。
  11. 前記第1減算回路は、
    前記第2FIRフィルタの出力信号を反転する反転回路と、
    前記反転回路の出力信号の利得および位相を調整する利得位相調整回路と、
    前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号と、前記利得位相調整回路の出力信号とを加算する加算回路と、を有する、
    ことを特徴とする請求項1〜の何れか一項に記載のエコー防止回路。
  12. 前記第1インパルス応答は、前記イヤホンマイクが耳に装着された状態のものであること、
    を特徴とする請求項4、6、8の何れか一項に記載のエコー防止回路。
  13. 第1入力信号が入力される第1入力端子と、
    前記第1入力端子からの第1入力信号が入力される第1FIRフィルタと、
    前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、
    前記第1FIRフィルタの出力信号が出力される第1出力端子と、
    前記第2FIRフィルタの出力信号が出力される第2出力端子と、
    入出力信号共用ライン上において前記第1出力端子からの出力信号と第2入力信号とを合わせた信号から、前記第2出力端子からの出力信号を減算した信号が入力される第2入力端子と、
    前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、
    前記第2入力端子の信号から、前記適応デジタルフィルタの出力信号を減算する減算回路と、
    前記減算回路の出力信号が出力される第3出力端子と、を備え、
    前記第1FIRフィルタおよび前記第2FIRフィルタは、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を有し、
    前記適応デジタルフィルタは、前記減算回路の出力信号に基づいて、前記第3出力端子からの出力信号が前記減算した信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を有する、
    ことを特徴とするデジタル信号処理回路。
  14. 前記第2FIRフィルタのフィルタ係数は、前記第1出力端子から出力された後の信号をデジタル・アナログ変換する第1DAコンバータから、前記第2入力端子に入力される前の信号をアナログ・デジタル変換するADコンバータまでの第1インパルス応答であり、
    前記第1FIRフィルタのフィルタ係数は、前記第2出力端子から出力された後の信号をデジタル・アナログ変換する第2DAコンバータから、前記ADコンバータまでの第2インパルス応答を位相反転したものであること、
    を特徴とする請求項13に記載のデジタル信号処理回路。
  15. 前記第2FIRフィルタのフィルタ係数は、前記第1出力端子から出力された後の信号をデジタル・アナログ変換する第1DAコンバータから、前記第2入力端子に入力される前の信号をアナログ・デジタル変換するADコンバータまでの第1インパルス応答を位相反転したものであり、
    前記第1FIRフィルタのフィルタ係数は、前記第2出力端子から出力された後の信号をデジタル・アナログ変換する第2DAコンバータから、前記ADコンバータまでの第2インパルス応答であること、
    を特徴とする請求項13に記載のデジタル信号処理回路。
  16. 前記第1インパルス応答は、前記第1DAコンバータから、前記第1DAコンバータの出力信号を音声に変換して出力するとともに、入力される音声を前記第2入力信号に変換して出力するイヤホンマイクを経由して、前記ADコンバータまでのインパルス応答であること、
    を特徴とする請求項14又は15に記載のデジタル信号処理回路。
  17. 前記第1FIRフィルタの出力信号をデジタル・アナログ変換する前記第1DAコンバータと、
    前記第2FIRフィルタの出力信号をデジタル・アナログ変換する前記第2DAコンバータと、
    前記減算した信号をアナログ・デジタル変換する前記ADコンバータと、を備え、
    前記第1インパルス応答は、前記第1DAコンバータから前記ADコンバータまでのインパルス応答であり、
    前記第2インパルス応答は、前記第2DAコンバータから前記ADコンバータまでのインパルス応答であること、
    を特徴とする請求項14又は15に記載のデジタル信号処理回路。
  18. 前記第1インパルス応答は、前記第1DAコンバータから、前記第1DAコンバータの出力信号を音声に変換して出力するとともに、入力される音声を前記第2入力信号に変換して出力するイヤホンマイクを経由して、前記ADコンバータまでのインパルス応答であること、
    を特徴とする請求項17に記載のデジタル信号処理回路。
  19. 前記第1インパルス応答に基づいて前記第2FIRフィルタのフィルタ係数を設定するとともに、前記第2インパルス応答に基づいて前記第1FIRフィルタのフィルタ係数を設定するフィルタ係数設定部を備えたこと、
    を特徴とする請求項1418の何れか一項に記載のデジタル信号処理回路。
  20. 前記第1インパルス応答は、前記イヤホンマイクが耳に装着された状態のものであること、
    を特徴とする請求項16又は18に記載のデジタル信号処理回路。
  21. 第1入力信号が入力される入力端子と、
    前記入力端子からの第1入力信号が入力される第1FIRフィルタと、
    前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、
    前記第1FIRフィルタの出力信号が出力されるか又は第2入力信号が入力される入出力端子と、
    前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号から、前記第2FIRフィルタの出力信号を減算する第1減算回路と、
    前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、
    前記第1減算回路の出力信号から前記適応デジタルフィルタの出力信号を減算する第2減算回路と、
    前記第2減算回路の出力信号が出力される出力端子と、を備えたエコー防止回路のフィルタ係数設定方法であって、
    前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記入力端子に入力されたときの、前記第1減算回路からの出力信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定し、
    前記適応デジタルフィルタに対して、前記第2減算回路の出力信号に基づいて、前記出力端子からの出力信号が前記第1減算回路の出力信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定すること、
    を特徴とするエコー防止回路のフィルタ係数設定方法。
  22. 第1入力信号が入力される第1入力端子と、
    前記第1入力端子からの第1入力信号が入力される第1FIRフィルタと、
    前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、
    前記第1FIRフィルタの出力信号が出力される第1出力端子と、
    前記第2FIRフィルタの出力信号が出力される第2出力端子と、
    入出力信号共用ライン上において前記第1出力端子からの出力信号と第2入力信号とを合わせた信号から、前記第2出力端子からの出力信号を減算した信号が入力される第2入力端子と、
    前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、
    前記第2入力端子の信号から、前記適応デジタルフィルタの出力信号を減算する減算回路と、
    前記減算回路の出力信号が出力される第3出力端子と、を備えたデジタル信号処理回路のフィルタ係数設定方法であって、
    前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定し、
    前記適応デジタルフィルタに対して、前記減算回路の出力信号に基づいて、前記第3出力端子からの出力信号が前記減算した信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定すること、
    を特徴とするデジタル信号処理回路のフィルタ係数設定方法。
  23. プロセッサと、
    第1入力信号が入力される入力端子と、
    前記入力端子からの第1入力信号が入力される第1FIRフィルタと、
    前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、
    前記第1FIRフィルタの出力信号が出力されるか又は第2入力信号が入力される入出力端子と、
    前記第1FIRフィルタの出力信号と前記第2入力信号とを合わせた信号から、前記第2FIRフィルタの出力信号を減算する第1減算回路と、
    前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、
    前記第1減算回路の出力信号から前記適応デジタルフィルタの出力信号を減算する第2減算回路と、
    前記第2減算回路の出力信号が出力される出力端子と、を備えたエコー防止回路のフィルタ係数を設定するためのプログラムであって、
    前記プロセッサに、
    前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定する機能と、
    前記適応デジタルフィルタに対して、前記第2減算回路の出力信号に基づいて、前記出力端子からの出力信号が前記第1減算回路の出力信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定する機能を実現させるためのプログラム。
  24. プロセッサと、
    第1入力信号が入力される第1入力端子と、
    前記第1入力端子からの第1入力信号が入力される第1FIRフィルタと、
    前記第1入力信号が前記第1FIRフィルタとともに入力される第2FIRフィルタと、
    前記第1FIRフィルタの出力信号が出力される第1出力端子と、
    前記第2FIRフィルタの出力信号が出力される第2出力端子と、
    入出力信号共用ライン上において前記第1出力端子からの出力信号と第2入力信号とを合わせた信号から、前記第2出力端子からの出力信号を減算した信号が入力される第2入力端子と、
    前記第1FIRフィルタの出力信号が入力される適応デジタルフィルタと、
    前記第2入力端子の信号から、前記適応デジタルフィルタの出力信号を減算する減算回路と、
    前記減算回路の出力信号が出力される第3出力端子と、を備えたデジタル信号処理回路のフィルタ係数を設定するためのプログラムであって、
    前記プロセッサに、
    前記第1FIRフィルタおよび前記第2FIRフィルタに対して、第1入力信号が前記第1入力端子に入力されたときの、前記減算した信号が前記第1FIRフィルタの出力信号のみを除去または減衰した信号となるフィルタ係数を設定する機能と、
    前記適応デジタルフィルタに対して、前記減算回路の出力信号に基づいて、前記第3出力端子からの出力信号が前記減算した信号から前記第2入力信号以外の信号を除去または減衰した信号となるフィルタ係数を設定する機能を実現させるためのプログラム。
JP2006009065A 2005-03-23 2006-01-17 エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム Expired - Fee Related JP4734127B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006009065A JP4734127B2 (ja) 2005-03-23 2006-01-17 エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム
KR1020060025996A KR100796910B1 (ko) 2005-03-23 2006-03-22 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법
US11/277,210 US8036376B2 (en) 2005-03-23 2006-03-22 Echo prevention circuit having adaptive digital filter
TW095109862A TWI387230B (zh) 2005-03-23 2006-03-22 An echo protection circuit, a digital signal processing circuit, and a filter coefficient setting method and program
CN2006100651737A CN1838705B (zh) 2005-03-23 2006-03-23 回波防止电路、数字信号处理电路及滤波系数设定方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005084964 2005-03-23
JP2005084964 2005-03-23
JP2006009065A JP4734127B2 (ja) 2005-03-23 2006-01-17 エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム

Publications (2)

Publication Number Publication Date
JP2006304261A JP2006304261A (ja) 2006-11-02
JP4734127B2 true JP4734127B2 (ja) 2011-07-27

Family

ID=37036455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006009065A Expired - Fee Related JP4734127B2 (ja) 2005-03-23 2006-01-17 エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム

Country Status (5)

Country Link
US (1) US8036376B2 (ja)
JP (1) JP4734127B2 (ja)
KR (1) KR100796910B1 (ja)
CN (1) CN1838705B (ja)
TW (1) TWI387230B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4858162B2 (ja) * 2006-12-26 2012-01-18 ソニー株式会社 信号処理装置および信号処理方法、並びにプログラム
TW200830706A (en) * 2007-01-12 2008-07-16 Sanyo Electric Co Filter coefficient setting device and echo prevention device
WO2015190360A1 (ja) * 2014-06-10 2015-12-17 シャープ株式会社 表示機能付き音声伝達装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5860835A (ja) * 1981-10-08 1983-04-11 Nippon Telegr & Teleph Corp <Ntt> 反響打消し装置
JP2001060895A (ja) * 1999-08-20 2001-03-06 Micro Emuzu:Kk 通信装置用2線4線変換回路

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3783605T2 (de) * 1987-04-22 1993-07-15 Ibm Echokompensationseinrichtung fuer datenuebertragung ueber eine zweidrahtleitung.
US5307405A (en) * 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
JP2842345B2 (ja) 1995-11-29 1999-01-06 日本電気株式会社 エコーキャンセラ
US5796819A (en) * 1996-07-24 1998-08-18 Ericsson Inc. Echo canceller for non-linear circuits
US5757933A (en) * 1996-12-11 1998-05-26 Micro Ear Technology, Inc. In-the-ear hearing aid with directional microphone system
US6147979A (en) * 1997-08-12 2000-11-14 Lucent Technologies, Inc. System and method for echo cancellation in a communication system
US6480610B1 (en) * 1999-09-21 2002-11-12 Sonic Innovations, Inc. Subband acoustic feedback cancellation in hearing aids
JP3877271B2 (ja) 1999-11-05 2007-02-07 アルパイン株式会社 音声認識用オーディオキャンセル装置
JP3566158B2 (ja) * 1999-12-07 2004-09-15 三菱電機株式会社 エコーキャンセラ装置
KR20020036542A (ko) * 2000-11-10 2002-05-16 김승범 반향 제거 장치
JP2002232329A (ja) 2001-01-30 2002-08-16 Ricoh Co Ltd エコーキャンセラ
US7167883B2 (en) * 2001-12-17 2007-01-23 Mysticom Ltd. Filter with multipliers operating in ones complement arithmetic
KR100545832B1 (ko) * 2003-03-21 2006-01-24 (주)씨앤에스 테크놀로지 간섭신호에 강인한 음향 반향 제거장치
US6954530B2 (en) * 2003-07-09 2005-10-11 Utah State University Echo cancellation filter
US20050014535A1 (en) * 2003-07-18 2005-01-20 Pratik Desai System and method for speaker-phone operation in a communications device
US7881483B2 (en) * 2003-11-11 2011-02-01 Matech, Inc. Two-way communications device having a single transducer
US7680265B2 (en) * 2003-12-12 2010-03-16 Continental Automotive Systems, Inc. Echo canceler circuit and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5860835A (ja) * 1981-10-08 1983-04-11 Nippon Telegr & Teleph Corp <Ntt> 反響打消し装置
JP2001060895A (ja) * 1999-08-20 2001-03-06 Micro Emuzu:Kk 通信装置用2線4線変換回路

Also Published As

Publication number Publication date
US8036376B2 (en) 2011-10-11
KR100796910B1 (ko) 2008-01-22
KR20060103134A (ko) 2006-09-28
US20060218215A1 (en) 2006-09-28
TWI387230B (zh) 2013-02-21
CN1838705B (zh) 2011-08-24
CN1838705A (zh) 2006-09-27
TW200635251A (en) 2006-10-01
JP2006304261A (ja) 2006-11-02

Similar Documents

Publication Publication Date Title
KR100875345B1 (ko) 필터 계수 설정 장치, 필터 계수 설정 방법, 및 프로그램이 기록되어 있는 컴퓨터 판독가능 기록 매체
JPH06260972A (ja) 全二重スピーカホン等のノイズ低減装置および方法
US20080219463A1 (en) Acoustic echo cancellation system
JP4765117B2 (ja) エコー防止回路、フィルタ係数設定方法、及びプログラム
CN111345048A (zh) 语音通信装置、语音通信方法、程序
JP4734126B2 (ja) エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム
JP2004165888A (ja) ハウリング処理装置
JP4734127B2 (ja) エコー防止回路、デジタル信号処理回路、エコー防止回路のフィルタ係数設定方法、デジタル信号処理回路のフィルタ係数設定方法、エコー防止回路のフィルタ係数を設定するためのプログラム、デジタル信号処理回路のフィルタ係数を設定するためのプログラム
CN104871520A (zh) 回波抑制
JP4771532B2 (ja) エコー防止回路及びデジタル信号処理回路
JPH07121027B2 (ja) 拡声電話機
JP4310926B2 (ja) エコーキャンセラ装置
JP5118099B2 (ja) 側音キャンセル方法および側音キャンセラ
JPH01314438A (ja) エコーキャンセラ
JP2006148375A (ja) エコー除去方法、エコーキャンセラ及び電話中継装置
JP2008172612A (ja) フィルタ係数設定装置及びプログラム
JP3187715B2 (ja) 反響消去装置
JPH0342918A (ja) 防側音回路
JPS6251528B2 (ja)
JP2005159941A (ja) エコーキャンセル制御装置および方法
JPH08125590A (ja) 音響反響除去装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110302

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees