KR20050012826A - 통신 시스템 및 그것을 위한 방법 - Google Patents

통신 시스템 및 그것을 위한 방법

Info

Publication number
KR20050012826A
KR20050012826A KR10-2004-7020998A KR20047020998A KR20050012826A KR 20050012826 A KR20050012826 A KR 20050012826A KR 20047020998 A KR20047020998 A KR 20047020998A KR 20050012826 A KR20050012826 A KR 20050012826A
Authority
KR
South Korea
Prior art keywords
signal
adaptive filter
filter
block
delay
Prior art date
Application number
KR10-2004-7020998A
Other languages
English (en)
Inventor
루씨오 에프. 씨. 페쏘아
로만 에이. 디바
페리 피. 히
로저에이. 스미스
Original Assignee
프리스케일 세미컨덕터, 인크.
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 프리스케일 세미컨덕터, 인크. filed Critical 프리스케일 세미컨덕터, 인크.
Publication of KR20050012826A publication Critical patent/KR20050012826A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/20Automatic or semi-automatic exchanges with means for interrupting existing connections; with means for breaking-in on conversations
    • 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

Abstract

반향 소거기(20)를 갖고있는 통신 시스템(10)이 개시된다. 반향 소거기의 한 실시예는 송신 신호로부터 제거되는 반사된 반향의 추정을 제공하기 위해 사용된 적응 필터(28)를 포함한다. 반사 소거기는 또한 근단 송화자 신호가 존재할 때 적응 필터가 적응하지 못하게 하기 위해 사용될 수 있는 근단 송화자 신호 검출기(26)를 포함할 수 있다. 반향 소거기는 또한 임의의 잔류 반향을 더 감소시키고 배경 잡음을 보존하기 위해 사용된 비선형 프로세서(32)를 포함할수 있다. 반향 소거기는 또한 반향 소거기의 안정성을 유지하고, 순수 지연을 추정하며, 톤을 검출하고, 트레이닝 신호(41)를 삽입하기 위해 적응 필터의 필터 계수 및 이득을 모니터하는데 사용될 수 있는 모니터 및 제어 유닛(30)을 포함할 수 있다. 반향 소거기는 또한 적응 필터의 길이를 감소시키기 위해 사용된 비적응 필터(31)를 포함할 수 있다.

Description

통신 시스템 및 그것을 위한 방법{COMMUNICATION SYSTEM AND METHOD THEREFOR}
반향 소거(echo cancellation)는 전기통신 네트워크로부터 전기 또는 선로 반향의 제거 또는 감소를 통해 음성 품질을 보장하기 위해 (공중전화망(PSTN) 또는 패킷 전화(PT)망과 같은) 전기통신 네트워크에서 사용된다. 이 전기 또는 선로 반향의 소스는 4선식 통신 네트워크 인터페이스로부터 2선식 로컬 가입자 루프로 및 그 반대로 신호를 변환하기 위해 사용된 장치인 하이브리드 회로의 임피던스 부정합일수 있다. 통신 네트워크에서 긴 지연을 갖는 반향은 현저해질 수 있는데, 이것은 전화 음성 통신 중에 상당한 또는 견딜 수 없는 교란을 만들어낼 수 있다. 그러므로, 통신 네트워크 내에서 반향을 완전하게 제거하거나 그것을 받아들일 수 있는 레벨로 줄일 수 있는 반향 소거기가 필요하다. 또한, 안정성을 유지하면서 전기통신 네트워크를 통해 수신된 톤을 검출할 수 있는 반향 소거기가 필요하다.
본 발명은 일반적으로 톤 표시(tone indication)에 관한 것으로, 더욱 구체적으로 통신 시스템에서의 톤 표시를 위한 방법 및 장치에 관한 것이다.
본 발명은 첨부 도면을 통해 예시적으로 나타내고자 하는 것이지, 첨부 도면에 의해 제한되는 것은 아니며, 도면에서 동일한 참조부호는 동일한 구성요소를 나타낸다.
도 1은 본 발명의 한 실시예에 따른 통신 시스템을 도시한 도면.
도 2는 본 발명의 한 실시예에 따른 도 1의 통신 시스템의 반향 소거기를 도시한 도면.
도 3은 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 근단(근단) 신호 검출기를 도시한 도면.
도 4는 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 적응 필터를 도시한 도면.
도 5는 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 비선형 프로세서를 도시한 도면.
도 6 내지 8은 본 발명의 여러 실시예에 따른 도 2의 반향 소거기의 모니터 및 제어 유닛의 부분을 도시한 도면.
도 9는 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 동작을 흐름도 형태로 도시한 도면.
도 10 내지 13은 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 근단 신호 검출기의 동작, 및 도 2의 반향 소거기의 적응 필터에 대한 필터 계수를 백업하고 복원하는 방법을 흐름도 형태로 도시한 도면.
도 14는 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 이득을 모니터하는 동적 이득-제어 방법을 흐름도 형태로 도시한 도면.
도 15는 본 발명의 한 실시예에 따른 도 2의 반향 소거기의 적응 필터의 필터 계수의 분포를 모니터하는 필터 계수 모니터링 방법을 흐름도 형태로 도시한 도면.
도 16 내지 19는 본 발명의 한 실시예에 따른 도 2의 반향 소거기 내의 비선형 프로세서의 동작을 흐름도 형태로 도시한 도면.
도 20 내지 24는 본 발명의 한 실시예에 따른 스파스 윈도우(sparse window)의 위치 및 순수 지연의 추정를 흐름도 형태로 도시한 도면.
도 25 내지 27은 본 발명의 한 실시예에 따른 톤 검출을 위한 방법을 흐름도 형태로 도시한 도면.
도 28 내지 36은 본 발명의 한 실시예에 따른 반향 경로 주사를 단축하는 방법을 흐름도 형태로 도시한 도면.
도 37 및 38은 본 발명의 실시예들에 따른 임펄스 응답의 예들을 그래프 형태로 도시한 도면.
본 분야에 숙련된 기술자들은 도면의 구성요소들이 간략화 및 명확화를 위해 도시된 것으로 반드시 일정한 비율로 도시된 것은 아니라는 것을 알 수 있을 것이다. 예를 들어, 도면의 구성요소들 중의 일부의 크기는 본 발명의 실시예들을 더욱 잘 이해하도록 하기 위해 다른 구성요소들에 비해 과대하게 도시될 수 있다.
여기에서 사용되는 바와 같이, 용어 "버스"는 데이터, 어드레스, 제어, 또는 상태와 같은 하나 이상의 여러 유형의 정보를 전송하기 위해 사용될 수 있는 다수의 신호 또는 도체를 칭하는데 사용된다. 여기에서 설명된 도체는 단일 도체, 다수의 도체, 단방향 도체 또는 양방향 도체에 관하여 도시되거나 설명될 수 있다. 그러나, 상이한 실시예들은 도체의 구현을 바꿀 수 있다. 예를 들어, 양방향 도체보다 오히려 분리된 단방향 도체가 사용될 수 있고, 그 반대로 될 수도 있다. 또한, 다수의 도체는 순차적으로 또는 시간 다중화 방식으로 다수의 신호를 전송하는 단일 도체로 대체될 수 있다. 이와 마찬가지로, 다수의 신호를 전달하는 단일 도체는 이들 신호의 서브셋을 전달하는 여러개의 상이한 도체로 분리될 수 있다. 그러므로, 신호 전송에는 다수의 옵션이 존재한다.
용어 "단정(assert)" 및 "부정(negate 또는 deassert)"은 각각, 신호, 상태 비트, 또는 이와 유사한 장치를 논리적으로 참 또는 논리적으로 거짓인 상태로 되게 하는 것을 일컬을 때 사용된다. 논리적으로 참인 상태가 논리 레벨 1이면, 논리적으로 거짓인 상태는 논리 레벨 0이다. 그리고, 논리적으로 참인 상태가 논리 레벨 0이면, 논리적으로 거짓인 상태는 논리 레벨 1이다. 기호 "*" 및 "·"는 둘다 곱셈 연산을 나타낸다. FIFO 또는 다른 유형의 데이터 저장장치는 본 명세서 전체에 걸쳐 사용된 지연을 제공하기 위해 사용될 수 있다.
또한, 여기 설명서에서, 변수 이름은 일반적으로, 관련된 도면들의 각 그룹과 일치되게 사용된다. 하지만, 일부 변수 이름은 관련된 도면들의 상이한 그룹들 내의 상이한 것들을 언급하기 위해 재사용될 수 있다. 예를 들어, 도면의 한 특정 그룹과 관련하여, M은 측정 사이클을 칭하는 것일 수 있고, 그와 다른 도면의 그룹과 관련하여, M은 카운터 값으로 사용될 수도 있다. 하지만, 아래의 수학식 및 도면에서 각 변수 이름에 대한 설명은 그 변수들이 사용될 때 제공될 것이다.
접속성
도 1은 통신 시스템(10)의 한 실시예를 도시한 것이다. 통신 시스템(10)은 송신기/수신기(12), 인터페이스(13), 하이브리드 회로(16)(하이브리드(16)라고도 칭해짐), 반향 소거기(20), 통신 네트워크(24), 반향 소거기(22), 인터페이스(15), 하이브리드(18), 및 송신기/수신기(18)를 포함한다. 인터페이스(13)는 하이브리드(16)를 포함하고, 인터페이스(15)는 하이브리드(18)를 포함한다. 송신기/수신기(12)는 하이브리드(16)에 양방향으로 연결된다(한 실시예에서, 송신기/수신기(12)는 트위스티드 페어(twisted pair)와 같은 2선식 접속을 통해 하이브리드(16)에 연결된다). 하이브리드(16)는 반향 소거기(20)에 연결되어, 송신 신호 Sin(37)을 단방향 도체를 통해 반향 소거기에 제공하고, 수신 신호 Rout(40)을 단방향 도체를 통해 반향 소거기(20)로부터 수신한다(한 실시예에서, Sin(37) 및 Rout(40)의 각각은 와이어 페어를 통해 제공되고 수신된다). 반향 소거기(20)는 통신 네트워크(24)에 연결되어, 반향 소거된 송신 신호 Sout(42)를 통신 네트워크(24)에 제공하고, 통신 네트워크(24)로부터 Rin(43)을 수신한다.
이와 마찬가지로, 송신기/수신기(14)는 하이브리드(18)에 양방향으로 연결된다(한 실시예에서, 송신기/수신기(14)는 트위스티드 페어와 같은 2선식 접속을 통해 하이브리드(18)에 연결된다). 하이브리드(18)는 반향 소거기(22)에 신호를 제공하는 단방향 도체 및 반향 소거기(22)로부터 신호를 수신하는 단방향 도체를 통해 반향 소거기(22)에 연결된다(한 실시예에서, 각각의 단방향 도체 세트는 트위스티드 와이어 페어일 수 있다). 반향 소거기(22)는 통신 네트워크(24)에 연결되어, 반향 소거된 송신 신호를 통신 네트워크(24)에 제공하고, 통신 네트워크(24)부터 수신 신호를 수신한다. 제어부(17)는 필요시에 송신기/수신기(12), 하이브리드(16), 반향 소거기(20), 통신 네트워크(24), 반향 소거기(22), 하이브리드(18) 및 송신기/수신기(14)의 각각에 제공될 수 있는 하나 이상의 제어 신호를 포함하는 제어 버스일 수 있다. 그러므로, 한 실시예에서, 제어부(17)는 통신 시스템(10) 내의 모든 유닛에 연결되는 반면에, 대안적인 실시예에서는 유닛들의 일부만이 제어부(17)와의 통신을 요구할 수 있다.
도 2는 도 1의 반향 소거기(20)의 한 실시예를 도시한 것이다. (도 2와 관련하여 설명된 실시예에서, 반향 소거기(20)는 근단 반향 소거기로 칭해지는 반면에, 반향 소거기(22)는 원단(far end) 반향 소거기로 칭해진다는 것을 알기 바란다. 그러나, 도 2에 도시된 반향 소거기는, 반향 소거기(22)가 통신 시스템(10)의 근단에 있고, 반향 소거기(20)가 통신 시스템(10)의 원단에 있는 경우에, 반향 소거기(22)로도 칭해질 수 있다.) 반향 소거기(20)는 DC 노치 필터(45), 선택적 비적응 필터(31), 가산기(34), 선택적 비적응 필터(35), 이득 제어부(33), 비선형 프로세서(32), 근단 신호 검출기(26), 적응 필터(28), 모니터 및 제어 유닛(30), DC 노치 필터(49) 및 가산기(36)를 포함한다. DC 노치 필터(45)는 Sin(37)을 수신하고, Sin(38)을 근단 신호 검출기(26) 및 모니터 및 제어 유닛(30)에 출력한다. 비적응 필터(31)가 존재하면, Sin(38)은 모니터 및 제어 유닛(30)으로부터 제어를 수신하고 Sin(39)를 가산기(34)에 출력하기 위해 연결되는 비적응 필터(31)에도 또한제공된다. 그러나, 비적응 필터(31)가 존재하지 않으면, Sin(38)은 가산기(34)에 입력되는 Sin(39)과 동일하다. 가산기(34)는 적응 필터(28)로부터 Sin(39) 및 반향 추정 신호(48)를 수신하고, 에러 신호(46)를 이득 제어부(33), 근단 신호 검출기(26), 및 모니터 및 제어 유닛(30)에 제공한다. 이득 제어부(33)는 모니터 및 제어 유닛(30)에 양방향으로 연결되고, 에러 신호(47)를 비선형 프로세서(32)에 제공하도록 연결된다. 비적응 필터(35)가 반향 소거기(20) 내에 존재하면, 한 실시예에서, 이득 제어부(33)는 또한 에러 신호(46)를 수신하는 비적응 필터 필터 내에 있고, 모니터 및 제어 유닛(30)에 양방향으로 연결되며, 에러 신호(47)를 제공한다. 비선형 프로세서(32)는 모니터 및 제어 유닛(30)에 양방향으로 연결되고, Sout(42)를 제공한다. 모니터 및 제어 유닛(30)은 또한 제어부(17)에 연결되고, Rin(43)을 수신하며, 트레이닝 신호(41)를 가산기(36)에 제공하고, Rin(44)을 DC 노치 필터(49)로부터 수신하며, 적응 필터(28) 및 근단 신호 검출기(26)에 양방향으로 연결된다. DC 노치 필터(49)는 가산기(36)의 출력(Rout(40))을 수신하고, Rin(44)을 근단 신호 검출기(26), 적응 필터(28), 및 모니터 및 제어 유닛(30)에 제공한다. 가산기(36)는 트레이닝 신호(41) 및 Rin(43)을 수신하고, Rout(40)을 제공한다.
도 3은 도 2의 근단 신호 검출기(26)의 한 실시예를 도시한 것이다. 근단 신호 검출기(26)는 근단 신호 레벨 추정기(50), 원단 신호 레벨 추정기(52), Sin 신호 레벨 추정기(54), 배경 프로세서(56), 근단 신호 검출 임계치 선택기(58), 및 근단 신호 검출기(60)를 포함한다. 근단 신호 레벨 추정기(50)는 에러 신호(46)를수신하고, 근단 신호 검출기(60)에 연결된다. 원단 신호 레벨 추정기는 Rin(44)을 수신하도록 연결되고, 또한 근단 신호 검출 임계치 선택기(58)에 연결된다. Sin 신호 레벨 추정기(54)는 Sin(38)을 수신하도록 연결되고, 또한 근단 신호 검출기(60)에 연결된다. 배경 프로세서(56)는 모니터 및 제어 유닛(30), 근단 신호 검출 임계치 선택기(58), 및 근단 신호 검출기(60)에 연결된다. 근단 신호 검출기(60)는 또한 근단 신호 검출 임계치 선택기(58), 및 모니터 및 제어 유닛(30)에 연결된다.
도 4는 도 2의 적응 필터(28)의 한 실시예를 도시한 것이다. 적응 필터(28)는 적응 필터(62), 선택적 비적응 필터(64) 및 선택적 지연부(66)를 포함한다. 비적응 필터(64) 및 지연부(66)가 적응 필터(28) 내에 존재한다고 하면, 지연부(66)는 Rin(44)을 수신하고, 비적응 필터(64), 및 모니터 및 제어 유닛(30)에 연결된다. 비적응 필터(64)는 지연부(66), 적응 필터(62), 및 모니터 및 제어 유닛(30)에 연결된다. 적응 필터(62)는 에러 신호(46)를 수신하도록 연결되고, 반향 추정 신호(48)를 제공하도록 연결되며, 또한 모니터 및 제어 유닛(30)에 연결된다. 비적응 필터(64)가 존재하지 않으면, 지연부(66)는 적응 필터(62)에 바로 연결된다. 지연부(66)가 존재하지 않으면, 비적응 필터(64)는 Rin(44)을 수신한다. 지연부(66)도 없고 비적응 필터(64)도 없으면, 적응 필터(62)는 Rin(44)을 수신한다.
도 5는 도 2의 비선형 프로세서(32)의 한 실시예를 도시한 것이다. 비선형 프로세서(32)는 신호 레벨 추정기(68), 비선형 프로세서 제어기(74), 및 적응 배경 레벨 추정기(96)를 포함하고, 모니터 및 제어 유닛(30)에 양방향으로 연결된다.신호 레벨 추정기(68)는 근단 신호 레벨 추정기(70) 및 원단 신호 레벨 추정기(72)를 포함한다. 비선형 프로세서 제어기(74)는 비선형 프로세서 온(ON) 제어기(76), 비선형 프로세서 오프(OFF) 제어기(78), 위로(comfort) 잡음 생성기(86), 잡음 레벨 확인회로(matcher)(82) 및 출력 신호 믹서(84)를 포함한다. 적응 배경 레벨 추정기(96)는 단기간 배경 레벨 추정기(88), 배경 레벨 추정기 제어기(90), 장기간 배경 레벨 추정기(92) 및 배경 레벨 어댑터(adapter)(94)를 포함한다. 근단 신호 레벨 추정기(70)는 에러 신호(47)를 수신하고, 비선형 프로세서 온(ON) 제어기(76) 및 배경 레벨 추정기 제어기(90)에 연결된다. 원단 신호 레벨 추정기(72)는 Rin(44)을 수신하고, 비선형 프로세서 온(ON) 제어기(76), 비선형 프로세서 오프(OFF) 제어기(78), 및 배경 레벨 추정기 제어기(90)에 연결된다. 비선형 프로세서 온(ON) 제어기(76) 및 비선형 프로세서 오프(OFF) 제어기(78)는 잡음 레벨 확인회로(82)에 연결되는 잡음 생성기(86)에 연결된다. 출력 신호 믹서(84)는 잡음 레벨 확인회로(82)에 연결되고, 에러 신호(47)를 수신하며, Sout(42)을 제공한다. 단기간 배경 레벨 추정기(88)는 배경 레벨 어댑터(94)에 연결되고, 에러 신호(47)를 수신한다. 배경 레벨 추정기 제어기(90)는 단기간 배경 레벨 추정기(88) 및 장기간 배경 레벨 추정기(92)에 연결된다. 장기간 배경 레벨 추정기(92)는 에러 신호(47)를 수신하고, 잡음 레벨 확인회로(82)에 연결되는 배경 레벨 어댑터(94)에 연결된다.
도 6은 이득 모니터(100) 및 필터 계수 모니터(102)를 포함하는 모니터 및 제어 유닛(30)의 한 부분의 한 실시예를 도시한 것이다. 이득 모니터(100)는Sin(38), 에러 신호(46)를 수신하고, 적응 필터(28) 및 이득 제어부(33)에 연결된다. 필터 계수 모니터(102)는 적응 필터(28)에 연결된다.
도 7은 데시메이션(decimation) 필터(104 및 108), 데시메이터(decimator)(106 및 110), 근단 신호 검출기(114), 선택적 비교기(112), 반향 반사 손실 증대치(Echo Return Loss Enhancement:ERLE) 추정기(116), 전력 추정기(120 및 118), 적응 필터 시스템(128) 및 잡음 생성기(132)를 포함하는 모니터 및 제어 유닛(30)의 다른 부분의 한 실시예를 도시한 것이다. 적응 필터 시스템(128)은 적응 필터(122), 최대값 위치 입력기(locator)(124) 및 지연 판정부(126)를 포함한다. 데시메이션 필터(104)는 Rin(44)을 수신하고, 데시메이터(106)에 연결된다. 데시메이션 필터(108)는 Sin(38)을 수신하고, 데시메이터(110)에 연결된다. 데시메이터(106)는 근단 신호 검출기(114), 전력 추정기(120), 및 적응 필터(122)에 연결된다. 전력 추정기(120) 및 근단 신호 검출기(114)는 적응 필터 시스템(128)에 연결된다. 선택적 비교기(112)는 모니터 및 제어 유닛(30) 내에 존재하는 경우에 에러 신호(46) 및 Sin(38)을 수신하고, 적응 필터 시스템(128)에 연결된다. 데시메이터(110)는 전력 추정기(118) 및 적응 필터(122)에 연결된다. 전력 추정기(118)는 ERLE 추정기(116) 및 적응 필터 시스템(128)에 연결되고, 적응 필터(122)는 근단 신호 검출기(114), ERLE 추정기(116), 및 최대값 위치 입력기(124)에 연결된다. 최대값 위치 입력기(124)는 추정된 지연(130)을 적응 필터(28)에 제공하는 지연 판정부(126)에 연결된다. 잡음 생성기(132)는 Rin(43)을 수신하고, 삽입된 신호(41)를 가산기(36)에 제공하도록 연결된다. 도 7의 모니터 및 제어 유닛(30)부분은 또한 제어부(17)에 연결된다.
도 8은 저장장치(150), 전력 추정기(134), 평활 상관기(152), 및 톤 표시 판정 유닛(166)을 포함하는 모니터 및 제어 유닛(30)의 또 다른 부분의 한 실시예를 도시한 것이다. 전력 추정기(134)는 지연부(136), 지연부(138), 곱셈기(140 및 142), 가산기(144), 크기부(magnifute; 146) 및 저역 통과 필터(148)를 포함한다. 평활 상관기(152)는 지연부(154), 곱셈기(156 및 158), 저역 통과 필터(160 및 162), 및 발진기(164)를 포함한다. 저장장치(150)는 지연부(136), 지연부(138), 저역 통과필터(148), 지연부(154), 저역 통과 필터(160 및 162), 및 발진기(164)에 연결된다. 지연부(136)는 Rin(44) 또는 Sin(38)을 수신하고, 지연부(138) 및 곱셈기(142)에 연결된다. 지연부(138)는, 또한 Rin(44) 및 Sin(38)을 수신하는 곱셈기(140)에 연결된다. 가산기(144)는 곱셈기(140 및 142) 및 크기부(146)에 연결되고, 크기부(146)는 톤 표시 판정 유닛(166)에 연결되는 저역 통과 필터(148)에 연결된다. 지연부(154)는 Rin(44) 또는 Sin(38)을 수신하고, 곱셈기(156)에 연결된다. 곱셈기(158)는 또한 Rin(44) 또는 Sin(38)을 수신하고, 저역 통과 필터(160), 발진기(164) 및 곱셈기(156)에 연결된다. 곱셈기(156)는 지연부(154)를 수신하고, 저역 통과 필터(162) 및 발진기(164)에 연결된다. 톤 표시 판정 유닛(166)은 저역 통과 필터(160)로부터 R0(n)을 수신하고, 저역 통과 필터(162)로부터 R1(n)을 수신하며, 톤 표시기 신호(168)를 적응 필터(128)에 제공한다.
도 1 내지 8은 통신 시스템(10) 및 반향 소거기(20) 내에 존재하는 블록들의한 실시예를 도시한 것이라는 것을 알기 바란다. 대안적인 실시예는 원하는 기능에 따라, 도시된 것과 다른 여러 구성요소들, 도시된 것보다 많은 구성요소들, 또는 도시된 것보다 적은 구성요소들을 포함할 수 있다. 더욱이, 도 1 내지 8의 블록들은 다르게 그룹지워지거나 다르게 접속될 수 있으며, 여전히 유사한 결과를 달성할 수 있다. 그러므로, 도 1 내지 8은 후술될 개념을 설명하기 위해 사용된 예들을 제공하고자 할 뿐이다. 또한, 도 1 내지 8에서의 접속은 단일 도체(단방향 또는 양방향) 또는 다수의 도체(단방향 또는 양방향)로 이루어졌지만, 여러가지 다른 접속이 사용될 수 있다. 예를 들어, 하나의 다중 도체는 여러개의 상이한 단일 단방향 또는 양방향 도체들로 대체될 수 있다. 이와 마찬가지로, 단일 도체들은 다중 단방향 또는 양방향 도체들로 확장될 수 있다. 신호들은 단일 도체를 통해 직렬로 통신되거나, 다중 도체들을 통해 병렬로 통신될 수 있다. 또한, 신호들은 단일 또는 다중 도체들을 통해 시간 다중화될 수 있다. 그러므로, 도 1 내지 8에 도시된 접속은 여전히 원하는 기능을 달성하면서 여러가지 상이한 방식으로 구현될 수 있다. 또한, 더욱 상세하게 후술되는 바와 같이, 도 1 내지 8의 설계는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
동작:
송신기/수신기(12)는 하이브리드로/로부터 데이터 신호를 제공하고 수신한다. 하이브리드(16)는 송신기/수신기(12)와 통신 네트워크(24) 사이에서 4선식에서 2선식으로의 변환을 제공한다. 그러므로, 송신기/수신기(12)는, 예를 들어 2선식 가입자선을 통해 하이브리드(16)에 연결되는 전화 또는 모뎀과 같은 통신 네트워크(24)를 통해 통신하기 위해 사용되는 임의의 장치일 수 있다. 그러므로, 하이브리드(16)는 (송신기/수신기(12)를 갖는)로컬 가입자 루프와 통신 네트워크(통신 네트워크(24)) 사이에 인터페이스를 제공한다. 송신기/수신기(24) 및 하이브리드(18)는 각각 송신기/수신기(12) 및 하이브리드(16)와 유사하게 기능한다.
송신기/수신기(12)와 송신기/수신기(14) 사이의 통신에 있어서, 전기 또는 선로 반향은 하이브리드(16) 및 하이브리드(18)에 의해 통신 내로 도입된다. 이러한 반향의 소스는 하이브리드(18) 내의 임피던스 부정합뿐만 아니라, 하이브리드(16) 내의 임피던스 부정합이다. 예를 들어, 하이브리드(16) 내의 임피던스가 완전히 정합되었으면, 수신된 신호 Rout(40)로부터의 모든 에너지는 송신기/수신기(12)에 송신되었을 것이다. 그러나, 하이브리드(16) 내에 소정의 임피던스 부정합이 있으면, 수신된 신호 Rout(40)로부터의 일부 에너지는 송신 신호 Sin(37)를 통해 반대로 반사되었을 것이다. (하이브리드(16)에 의해 도입된 반향의 경우에, 송신기/수신기(14)로부터) 통신 네트워크(24)를 통한 왕복 시간(round trip) 지연이 충분히 길면, Sin(37)으로부터 송신기/수신기(14)에 의해 수신된 반사된 반향은 통신 동안에 현저해질 수 있다. 이것은 전화 음성 통신 동안에 현저한 반향 또는 심지어 참을 수 없는 교란을 초래할 수 있다. 한 예에서, 충분히 긴 지연은 40 밀리초보다 큰 왕복 시간 지연을 일컫는 것일 수 있다. 왕복 시간 지연이 증가함에 따라, 반향은 더욱 악화되어, 더욱 더 두드러지고 파괴적이 될 수 있다. (한편, 왕복 시간 지연이 상당히 작으면, 반향은 측음(side tone)과 구별할 수 없게 될 수 있기 때문에 파괴적으로 되지 않을 수 있다.) 왕복 시간 지연은 전송 지연, 프로세스 지연, 계산 지연 등을 포함하여 여러가지 상이한 지연들 또는 상이한 지연들의 조합을 포함할 수 있다. 통신 시스템에 따라, 왕복 지연 시간은 통신을 파괴할 만큼 충분히 커질 수 있다. 그러므로, 반향 소거기(20 및 22)는 통신 시스템(10) 내의 선로 반향을 감소시키기 위해 사용될 수 있다. 예를 들어, (송신기/수신기(14)로부터) Rout(40)를 통해 수신되고 Sin(37)을 통해 다시 반사된 신호로부터 하이브리드(16)에 의해 도입된 반향은 신호 Sout(42)을 통신 네트워크(24)를 통해 송신기/수신기(140로 다시 보내기 전에 반사된 반향을 감소시키기 위해 반향 소거기(20)을 통해 프로세스된다.
상술된 바와 같이, 선로 반향은 하이브리드(16) 내의 임피던스 부정합 및 하이브리드(18) 내의 임피던스 부정합에 의해 도입된다. 또한, 음성 반향은 송신기/수신기(12) 및 송신기/수신기(14)를 통해 통신 내로 도입될 수 있다. 예를 들어, 송신기/수신기(12)가 스피커 폰이면, 수신된 신호는 스피커를 통해 출력된 후에, 주위 환경 근처에서 튈 수 있고, 그 신호의 일부는 다시 송신기/수신기(12)의 마이크로폰으로 향하게 되어, 송신기/수신기(14)로 다시 반사될 수도 있다. 한 실시예에서, 반향 소거기(20)는 또한 선로 반향 이외에 음성 반향의 몇몇 양상들을 감소시키는 기능을 할 수 있다.
한 실시예에서, 통신 네트워크(24)는 패킷 전화 네트워크(예를 들어, 인터넷 프로토콜(IP)을 통한 음성, 패킷 상의 데이터, 비동기 전달 모드(ATM) 등을 포함하고, 무선 또는 유선 시스템에 인가할 수 있음) 또는 PSTN을 포함할 수 있다. 대안적인 실시예에서, 통신 시스템(10)은 소정 유형의 통신 시스템을 칭할 수 있다.소정의 통신 경로는 인터페이스(13) 또는 인터페이스(15)로서 사용될 수 있다.
제어부(17)는 송신기/수신기(12 및 14), 하이브리드(16 및 17), 반향 소거기(20 및 22), 및 통신 네트워크(24) 사이에 제어 경로를 제공한다. 제어부(17)를 통해 송신된 제어 신호는 일반적으로 인라인(in-line) 신호가 아니다. 예를 들어, 제어부(17)는 반향 소거기(20 또는 22)를 인에이블 또는 디스에이블시키기 위한 인에이블링/디스에이블링 신호를 포함할 수 있다. 제어부(17)는 또한 전화가 통화 상태인지 대기 상태인지를 나타내기 위한 신호를 포함할 수 있다.
여기에 설명된 실시예에서, 송신기/수신기(12)는 반향 소거기(20)에 관하여 근단 송수신기로 칭해질 수 있고, 송신기/수신기(14)는 반향 소거기(20)에 관하여 원단 송수신기로 칭해질 수 있다. 그러므로, 여기에서 실시예들은 반향 소거기(20)와 관련하여 설명되지만; 반향 소거기(22)가 반향 소거기(20)와 유사하게 동작한다는 것을 이해해야 한다. 즉, 대안적인 실시예에서, 송신기/수신기(14)는 반향 소거기(22)에 관하여 근단 송수신기로 칭해질 수 있고, 송신기/수신기(12)는 반향 소거기(22)에 관하여 원단 송수신기로 칭해질 수 있다.
도 2는 반향 소거기(20)의 한 실시예를 도시한 것으로, 상술된 바와 같이, 송신기/수신기(12)는 근단 송수신기이고, 송신기/수신기(14)는 원단 송수신기이다. Sin(37)은 하이브리드(16)를 통해 송신기(12)로부터 송신된 송신 신호이다. 반향 소거기(20)는 통신 네트워크(24) 및 하이브리드(18)를 통해 수신기(14)에 반향 소거된 송신 신호 Sout(42)을 제공한다. Rin(43)은 하이브리드(18) 및 통신 네트워크(24)를 통해 송신기(14)로부터 수신된 수신 신호이다. 반향 소거기는 Rin(43)을수신하고, 이 송신 신호 Rin(43)을 Rout(40)로서 하이브리드(16)를 통해 수신기(12)에 제공한다.
상술된 바와 같이, Sin(37)은 하이브리드(16) 내의 임피던스 부정합에 의해 도입된 반사된 반향을 포함할 수 있다. 그러므로, 반향 소거기(20)는 도입된 반사된 반향을 감소시키고(또는 제거하고), 반향 소거된 송신 신호 Sout(42)을 제공한다. 즉, 하이브리드(16) 내의 임피던스가 완전히 정합되면, 하이브리드(16)의 입력에서 수신된 신호(예를 들어, Rout(40))는 반사된 반향이 없을 것이기 때문에 실질적으로 (Sin(37)에서) 하이브리드(16)로부터 무응답을 초래할 것이다(이상적으로 및 실제적으로 달성하기 어려운 경우임). 그러나, 하이브리드가 불균형 상태에 있으면(전형적인 경우, 예를 들어 임피던스가 부정합된 경우), Rout(40)을 통해 수신된 신호는 도 37에 도시된 바와 같은 응답을 초래한다. 입력(Rout(40)) 및 출력(Sin(37))의 관점에서 볼 수 있는 하이브리드 회로의 대응하는 임펄스 응답(h)은 도 37에 도시된다. 반향 소거기(20) 내의 적응 필터(28)는 Sin(37)의 하이브리드 응답을 (임의의 입력 신호 Rout(40)에) "모방"하고자 시도하고, 가산기(34)를 통해 그것을 감산한다. 신호 Rout(40)은 선형으로 왜곡된다(시간적인 그것의 순수 교차(transposition)를 포함하고, 즉 순수 지연이라고 하는 파라미터에 의해 시간적으로 시프트된다)는 것을 알기바란다. 이 왜곡은 도 37의 하이브리드(16)의 임펄스 응답으로 도시될 수 있다. 임펄스 응답은 순수 지연 부분 및 분산 시간을 포함한다는 것을 알기 바란다. 순수 지연은 도 37에 T1로 표시된 바와 같이, 처음에서부터 어떤 유의 값(significant value)들이 발생하기 시작할 때까지의 임펄스 응답부분을 일컫는 것이다. 분산 시간은 도 37에 T4+T2로 표시된 바와 같이, 유의 응답이 생기기 시작할 때부터 응답이 사실상 사라질 때까지의 임펄스 응답 지속시간의 부분을 일컫는 것이다. (분산 시간 세그먼트에 대응하는 부분에 의한) 임펄스 응답 형태는 (Rout(40)/Sin(37) 입력/출력 포트로부터 알 수 있는 바와 같이) 하이브리드의 주파수 특성으로 바뀔 수 있다.
Sin(37)은 DC 노치 필터(45)에 제공되어 Sin(37)의 DC 성분이 제거된다. 대안적인 실시예에서, 고역 통과 필터가 DC 노치 필터(45) 대신에 사용될 수 있다는 것을 알기 바란다. 이와 마찬가지로, 가산기(36)의 출력(Rout(40))은 DC 노치 필터(49)에 제공되어 Rout(40)의 DC 성분이 제거된다(그러나, 대안적인 실시예에서, 고역 통과 필터가 대신 사용될 수 있다). DC 노치 필터의 사용은 고역 통과 필터보다 계산적으로 더 싸고, 또한 필터의 통과 대역을 통해 균일한 이득을 유지하는 것을 돕는 무-리플링(no rippling) 효과를 초래한다. 대안적인 실시예에서, 하나의 공유된 DC 노치 필터가 사용되어, DC 노치 필터(45) 및 DC 노치 필터(49)의 기능을 실행할 수 있다.
가산기(36)는 Rin(43) 및 트레이닝 신호(41)를 수신하고, 이 2개의 신호의 합을 출력 Rout(40)으로서 제공하지만; 트레이닝 신호(41)가 0이면, 출력 Rout(40)은 단순히 입력 Rin(43)과 같다는 것을 알기 바란다. 바로 다음의 설명을 위해, 트레이닝 신호(41)는 0이고, Rout(40)은 Rin(43)과 같다고 가정될 수 있다. 또한, 비적응 필터(31) 및 비적응 필터(35)는 선택적이라는 것을 알기바라며, 더욱 상세하게 후술될 것이다. 바로 다음의 설명을 위해, Sin(38) 및 Sin(39)는 동일하고,에러 신호(47)는 비적응 필터(35)의 영향이 없는 에러 신호(46)의 이득 조정된 버전이라고 가정될 수 있다.
그러므로, Sin(39)는 송신기(12)에 의해 송신되는 임의의 근단 송화자(talker) 신호(Sgen) 및 하이브리드(16)에 의해 Rout(40)로부터 도입된 임의의 반사된 반향을 포함하는 송신 신호이다. 그러므로, Sin(39)은 "Sgen+반향"으로 표현될 수 있다. 적응 필터(28)는 반사된 반향의 추정치인 반향 추정 신호(48)를, 에러 신호(46)를 출력하는 가산기(34)에 제공한다. 그러므로, 에러 신호(46)는 "Sin(39)-추정된 반향(48)"로서, 또는 Sin(39) 대신 상기 표현식을 사용하면 "Sgen+반향-추정된 반향"으로서 표현될 수 있다. 추정된 반향이 정확하면(즉, 실제 반향과 동일하거나 거의 동일하면), 에러 신호(46)는 임의의 실질적인 반향없이 Sgen만을 포함할 것이다. 이것은 이상적인 경우이다. 그러나, 추정된 반향이 정확하지 않으면, 에러 신호(46)는 Sgen 및 잔류 반향 성분을 모두 포함할 것이다. 이 경우에, 에러 신호(46)는 "Sgen + 잔류 반향"으로 표현될 수 있고, 나머지 반향은 "반향-추정된 반향"이다. Sgen이 없을 때(즉, 송신기(12)로부터 송신되는 신호가 없다는 것을 의미하는, 근단(near end)이 정적상태(silence)일 때), 에러 신호(46)는 잔류 반향만을 나타낸다. 이 경우에, 에러 신호(46)는 더욱 상세하게 후술되는 바와 같이, 잔류 반향을 최소화하기 위해 적응 프로세스를 실행하는데에 사용될 수 있다. 그러나, Sgen이 존재하면, 에러 신호(46)는 적응 필터(28)가 적응을 위해 에러를 사용하기 때문에 적응 프로세스를 실행하는데 사용될 수 없고, Sgen의 존재로, 에러 신호(46)는 이젠 정확한 에러가 아니다. 그러므로, Sgen의 검출은적응 프로세스가 실행될 수 있는 지의 여부를 판정하는데 필요하다. Sin(38)(이 예에서는 Sin(39)와 동일함) 및 Rin(44)을 수신하도록 연결된 근단 신호 검출기(26)는 Sgen의 존재를 검출하기 위해(즉, 송신기(12)에서 근단 송화자의 존재를 검출하기 위해) 에러 신호(46) 및 모니터 및 제어 유닛(30)으로부터의 제어 신호를 사용한다.
적응 필터 유닛(28)에서, 반향 추정 신호(48)인 y(k)는 y(k)=XT(k)·H(k)에 의해 계산되는데, X(k)=[x(k), x(k-1),...,x(k-N+1)]T는 FIR 필터 스팬(span)의 지속시간동안 확장되는 입력 신호 벡터이고; x(n)=Rin(44)이다. H(k)는 k번째 반복에 대한 필터 계수 벡터이고, H(K)=[h0(k),h1(k),...,hN-1(k)]T이다. 필터 계수의 실제 갱신은 일반적인 LMS형 알고리즘: H(k+1)=H(k)+step-size·error(k)·X(k)에 의해 관리되는데, error(k)는 에러 신호(46)에 대응하고, step-size는 적응 속도를 제어하며, H(k+1)은 새로운 필터 계수 벡터이다.
에러 신호(46) 내의 임의의 잔류 반향은 비선형 프로세서(32)에 의해 더욱 감소되거나 제거될 수 있다. 비선형 프로세서(32)는, 이상적으로 무반향을 포함하는 Sout(42)을 생성하기 위해 에러 신호(47)(이 실시예에서는 에러 신호(46)의 이득 조정된 버전임) 및 모니터 및 제어 유닛(30)으로부터의 제어 신호를 수신한다. 잔류 반향의 감소 및 제거 이외에, 비선형 프로세서(32)는 또한 근단 송화자 신호(Sgen)의 배경 잡음을 보존하거나 매칭시키고자 시도한다. 배경 잡음을 매칭시키는 것은 참 배경 잡음의 연속성을 유지함으로써 통신 품질이 개선될 수 있게 고려한 것이다. 이러한 연속성이 없으면, 원단 수화자는 말할 때 근단 송화자로부터 정적상태만을 들을 수 있다. 대안적으로, 합성된 배경 잡음은 원단 수화자가 말할 때 제공될 수 있지만; 이것은 참 배경 잡음(근단 송화자가 말할 때)과 합성된 배경 잡음(원단 수화자가 말할 때) 사이에 파괴적인 스위칭을 초래할 수 있다. 그러므로, 배경 잡음의 매칭은 이 파괴적인 스위칭을 최소화시키는 것을 돕는다.
모니터 및 제어 유닛(30)은 적응 필터(28)가 무효 하이브리드에 적응하고자 시도하지 않도록 참 하이브리드가 존재하는 지를 판정하는데 사용되는 (도 6과 관련하여 더욱 설명될 필터 계수 모니터(102)와 같은) 필터 계수 모니터를 포함한다. 모니터 및 제어 유닛(30)은 또한 선택적 적응 필터(35) 내의 이득 제어부(33)를 제어하기 위한 이득 모니터를 포함한다. 이득 제어부(33)의 한가지 용도는 통신 시스템(10)의 안정성을 유지하는 것이다. 모니터 및 제어 유닛(30)은 또한 적응 필터(28)의 효율을 개선하기 위해 순수 지연 판정기 및 스파스 윈도우 위치 입력기를 포함한다(이 둘은 도 7과 관련하여 더욱 상세하게 설명될 것이다). 모니터 및 제어 유닛(30)은 또한 톤 표시기 및 톤 검출기(도 8과 관련하여 더욱 상세하게 설명될 것임)를 포함한다. 톤 표시기 및 톤 검출기는 통신 시스템(10) 내의 신호 톤을 검출하는데 사용될 수 있다. 이들 신호 톤은, 예를 들어 데이터가 신호 톤 다음에 보내질 때 반향 소거기를 디스에이블하기 위해 위상이 반전된 2100 Hz 톤을 포함할 수 있다. 그러므로, 반향 소거기는 필요할 때 디스에이블될 수 있다. 한편, 적응 필터(28)가 송신기(12) 또는 송신기(14)에 의해 송신된 (예를 들어, 단일 또는 다수의 주파수 정현파와 같은) 톤에 노출되면, 통신 시스템(10)의 불안정성이 결과로서 생길 수 있다. 그러므로, 톤의 검출은 적응 필터가 발산하여 불안정성을 야기하지 않도록 하기 위해 사용될 수 있다.
상술된 실시예에서, 반향 소거기(20)는 비적응 필터(31 및 35)를 포함하지 않았다. 그러나, 대안적인 실시예에서는, DC 노치 필터(45)와 가산기(34) 사이에 연결된 비적응 필터(31)가 (도 4와 관련하여 더욱 설명될 수 있는) 적응 필터(28)의 길이를 감소시키기 위해 사용될 수 있다. 이 실시예에서, 비적응 필터(31)는 Sin(38) 및 모니터 및 제어 유닛(30)으로부터의 제어 신호를 수신하여 Sin(39)을 생성한다. 또한, 비적응 필터(31)를 갖는 한 실시예에서, 반향 소거기는 또한 가산기(34)와 비선형 프로세서(32) 사이에 연결된 비적응 필터(35)를 포함할 수 있다. 비적응 필터(35)는 이득 제어부(33)를 포함할 수 있고, 또는 분리된 유닛일 수 있다. 이 실시예에서, 비적응 필터(35)는 근단 신호 Sgen이 왜곡되지 않도록 비적응 필터(31)의 효과를 보상한다. 비적응 필터(35)는 에러 신호(46), 모니터 및 제어 유닛(30)으로부터의 제어 신호를 수신하고, 에러 신호(47)를 비선형 프로세서(32)에 제공한다. (비적응 필터(31 및 35)는 도 4와 관련하여 더욱 상세하게 후술될 것이다).
모니터 및 제어 유닛(30)은 또한 Rout(40)을 생성하도록 신호를 Rin(43)에 삽입하기 위해 트레이닝 신호(41)를 가산기(36)에 제공한다. 트레이닝 신호(41)의 삽입은 하이브리드 반향 경로(Rout(40)에서부터 하이브리드(16)를 통하여 다시 Sin(37)까지의 경로)의 순수 지연을 추정하기 위해 사용될 수 있다. 순수 지연은Rout(40)에서부터 Sin(37)까지의 최소 시간 지연을 일컫는 것이다. 트레이닝 신호(41)의 삽입은 통신의 처음에(전화 통화의 시작과 같은 때에) 원단 신호가 없을 때 순수 지연을 추정하기 위해 사용될 수 있다. 트레이닝 신호(41)는 선택적이라는 것을 알기 바란다. 모니터 및 제어 유닛(30)은 또한 기능 모듈의 전부 또는 일부를 인에이블 또는 디스에이블하기 위해 제어(17)를 수신할 수 있다.
도 9는 본 발명의 한 실시예에 따른 반향 소거기(20)의 동작을 나타낸 흐름(200)을 도시한 것이다. 흐름(200)은 도 2의 반향 소거기(20)와 같은 반향 소거기에 의해 제공된 기능에 관한 개요이다. 흐름(200) 내의 각 단계의 상세는 도 3 내지 8 및 10 내지 38과 관련하여 아래에 더욱 상세하게 제공될 것이다. 흐름(200)은 단계(202)에서 시작하여, DC 노치 필터링이 Rin 및 Sin에서 실행되는 블록(204)으로 진행한다. 가산기(36)가 존재하거나 트레이닝 신호(41)가 존재하면, DC 노치 필터링은 Rin(43)보다는 가산기(36)의 출력(Rout(40))에서 실행된다는 것을 알기바란다. DC 노치 필터는 상술된 바와 같이, Sin(37)으로부터 DC 성분을 제거하여 Sin(38)을 생성한다. 이와 마찬가지로, DC 노치 필터(49)는 Rin(43)(또는 Rout(40), 트레이닝 신호(41)에 따라 좌우됨)으로부터 DC 성분을 제거하여 Rin(44)을 생성한다. 흐름(200)은 그 다음에 블록(206)으로 진행하여, Rin(44)의 장기간 전력 및 Sin(38)의 단기간 전력이 추정된다. 장기간 전력 및 단기간 전력은 상대적인 기간이라는 것을 알기바란다. 즉, 장기간 전력은 단기간 전력에 비해 장기간 동안 측정된 전력을 일컫는 것이다. 이들 전력은 반향 소거기(20)의 근단 신호 검출기(26)에 의해 계산될 수 있다.
이 때 블록(206)에서 계산된 전력은 근단 송화자 신호 검출(NESD) 임계치를 판정하기 위해 사용된다. 그 다음에, 이 NESD 임계치는 근단 송화자 신호(즉, Sgen)의 존재를 판정하기 위해 사용될 수 있다. 이 판정은 또한 반향 소거기(20)의 근단 신호 검출기(26)에 의해 실행될 수 있다. 그 다음, 흐름(200)은 블록(210)으로 진행하여, 적응 필터(28)가 모니터되고 제어된다. 블록(210)은 블록(209, 211, 213)을 포함한다. 모니터 및 제어 적응 필터(210) 내의 기능은 선택적이라는 것을 알기 바란다. 즉, 블록(209, 211 및 213)의 임의의 조합이 실행될 수도 있고, 또는 아무것도 실행되지 않을 수도 있다. 블록(209)에서, 톤 표시 프로세싱이 실행된다. 이 톤 표시 프로세싱은 도 2와 관련하여 상술되었고 도 8과 관련하여 더욱 설명되는 바와 같이, 모니터 및 제어 유닛(30)에 의해 실행될 수 있다. 그 다음, 흐름(200)은 블록(211)으로 진행하여, 지연(한 실시예에서, 순수 지연)이 검출되고, 적절한 크기를 갖는 필터링 윈도우(스파스 윈도우)가 위치설정된다. 즉, 모니터 및 제어 유닛(30)은 지연을 검출하고, 적응 필터(28)의 길이(즉, 탭의 수)가 감소되도록 스파스 윈도우를 위치시킬 수 있다.
적응 필터 길이를 줄이는 다른 방식은 블록(213)에 의해 달성된다. 한 실시예는 적응 필터(28)와 함께 비적응 필터(31과 33)의 조합을 사용하는 것인데, 필터의 길이는 훨씬 더 짧다. 상세는 도 28 내지 35에서 제공될 것이다.
적응 필터(210)의 모니터링 및 제어 후에, 흐름(200)은 블록(212)으로 진행하여, 적응 필터가 반향 추정 신호를 생성하기 위해 사용된다. 예를 들어, 이것은 도 2와 관련하여 위에서 도입된 것과 같이, 반향 추정 신호(48)를 생성하는 적응필터(28)에 대응할 수 있다. 그 다음, 흐름(200)은 블록(214)으로 진행하여, 에러 신호 및 에러 신호의 단기간 전력이 추정된다. 즉, 블록(214)은 반향 추정 신호(48)를 Sin(39)으로부터 감산함으로써 에러 신호(46)를 추정하는 도 2의 가산기(34)에 대응할 수 있다. 그 다음, 모니터 및 제어 유닛(30)은 에러 신호(46)의 단기간 전력을 추정하기 위해 사용될 수 있다.
그 후, 흐름은 블록(216)으로 진행하여, NESD 임계치가 근단 송화자 신호를 검출하기 위해 사용된다. 즉, 블록(216)에서, Sgen이 존재하는 지의 여부(신호가 도 1의 송신기(12)로부터 송신되고 있는 지의 여부)가 검출된다. 이것은 도 2의 근단 신호 검출기(26)에 의해 실행될 수 있다. 흐름은 블록(218)으로 진행하여, 이득 제어부(33)의 이득이 모니터되어, 적응 필터(28) 및 통신 시스템(10)(그 상세는 더욱 상세하게 후술됨)의 안정성을 유지하기 위해 선택적으로 조정된다. 그 다음, 흐름(200)은 판정 다이아몬드(220)로 진행하여, 필터가 갱신될 필요가 있는 지의 여부가 판정된다. 예를 들어, 상술된 바와 같이, Sgen이 존재하면, 에러 신호(46)는 근단 송화자 신호(Sgen) 및 잔류 반향 성분을 포함한다. 이 경우에, 적응 필터(28)는 에러 신호(46)가 정확한 잔류 반향을 나타내지 않기 때문에 갱신되지 않아야 된다. 그 다음, 흐름은 판정 다이아몬드(224)로 진행한다. 그러나, Sgen이 존재하지 않는다(즉, 근단 송화자가 정적상태이다)고 판정되면, 적응 필터(28)는 갱신될 수 있고, 흐름은 블록(222)으로 진행하여, 적응 필터(28)의 필터 계수가 판정 다이아몬드(224)로 계속되기 전에 갱신된다.
판정 다이아몬드(224)에서는, 임의의 배경 프로세싱이 필요한 지의 여부가판정된다. 한 실시예에서, 배경 프로세싱은 반향 소거기(20)의 동작 동안에 주기적으로 실행된다. 대안적인 실시예에서, 그것은 다양한 적응 필터 프로세싱 상태에 응답하는 것과 같이, 상이한 시간에 행해질 수 있다. 배경 프로세싱이 실행될 수 없다면, 흐름은 단계(230)로 진행하여, 비선형 프로세싱이 실행된다. 그러나, 배경 프로세싱이 실행될 수 있다면, 흐름은 블록(226)으로 진행하여, 필터 계수가 백업된다. 즉, 적응 필터(28)의 필터 계수가 (반향 소거기(20)의 내부 또는 외부에 위치될 수 있는 저장 유닛 내에서와 같이) 저장될 수 있다. 그 다음, 흐름은 블록(228)으로 진행하여, 필터 계수가 하이브리드가 반향 소거기 안정성 제어를 위해 존재하는 지의 여부를 판정하기 위해 모니터된다.
배경 프로세싱이 있다면 그 배경 프로세싱 후에, 흐름은 비선형 프로세싱(230)으로 진행하여, 임의의 나머지 잔류 반향이 감소되거나 제거되고, 필요하다면 배경 잡음이 삽입된다. (판정 다이아몬드(232)에서) Rin(43) 및 Sin(37)을 통해 수신되는 샘플이 더 있으면, 프로세싱은 다시 블록(204)에서 다음 샘플로 계속되고, 그렇지 않으면, 흐름은 단계(234)에서 종료된다. 전화통신 애플리케이션에서, 신호의 샘플링 비율은 신호들이 보통 음성을 포함하기 때문에 일반적으로 8 kHz라는 것을 알기 바란다. 그러므로, 한 실시예에서, 샘플링 비율은 8 kHz이고, Rin(43) 및 Sin(37)의 샘플은 0.125 ms마다 수신된다. 그러나, 대안적인 실시예에서, 이와 다른 샘플링 비율이 사용될 수 있다. 예를 들어, 보다 높은 샘플링 비율은 일반적으로 음악 애플리케이션의 경우에 요구된다. 더욱이, 디지털 애플리케이션에서, 샘플링 비율은 디지털 정보의 송신 속도에 따라 다를 수 있다.
도 9의 단계들은 본 발명의 한 실시예를 나타낸다는 것을 알기 바란다. 대안적인 실시예는 여러가지 다른 순서의 단계들을 실행할 수 있는데, 일부 단계들은 더욱 자주, 덜 자주, 또는 다른 단계들과 동시에 실행될 수 있다. 또한, 흐름(200) 내의 일부 단계들은 선택적일 수 있고, 다른 실시예들은 추가적인 또는 상이한 단계들을 사용하여 어떤 원하는 동작을 실행할 수 있다. 그러므로, 본 분야에 숙련된 기술자는 다수의 변화가 가능하고, 흐름(200)이 반향 소거기의 동작의 한 예일 뿐이라는 것을 알 수 있을 것이다. 이와 마찬가지로, 반향 소거기(20)는 또한 단지 하나의 가능한 실시예를 나타낸 것이다. 대안적인 실시예는 더 많거나 더 적은 블록 또는 유닛을 사용하여 도 2에 도시된 모든 기능, 그보다 적은 기능, 또는 심지어 도 2에 도시된 것과 상이한 기능을 실행할 수 있다. 그러므로, 도 2의 반향 소거기(20)는 단지 한 예로 간주되어야 한다. 또한, 도 2의 블록 및 도 9의 단계는 디지털 프로세서(예를 들어, 마이크로프로세서, 디지털 신호 프로세서 등)에서 실행되는 소프트웨어에 의해, 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 모두 실행될 수 있다.
도 3은 근단 신호 검출기(26)의 한 실시예를 도시한 것이다. 근단 신호 검출기(26)의 동작은 도 10 내지 13과 관련하여 설명될 것이다. 근단 신호 검출기(26) 및 도 10 내지 13의 흐름은 반향 경로 내의 전송 및 하이브리드 손실로 인한 반향 소거기의 Rout 포트에서부터 Sin 포트까지의 신호 감쇠인 반향 반사 손실(echo return loss: ERL) 및 반향 경로 지연에 의해 영향받지 않는 빠르고 신뢰성있는 검출을 고려한 것이다. 근단 송화자 신호가 검출되면(즉, Sgen의 존재가 검출되면), (잔류 반향의 평균 전력을 최소화하기 위해 적응 필터(28)의 계수를 사용하는) 적응 프로세스는 근단 송화자 신호의 존재가 에러 신호(46)가 단지 반향으로 인한 에러가 아니라는 것을 나타내기 때문에 적응이 발산하지 않도록 하기 위해 상술된 바와 같이 정지된다. 적응 프로세스는 근단 신호가 단일 토크 상황중(즉, 근단 송화자만이 존재하는 경우)인지 또는 이중 토크 상황중(근단 송화자와 원단 송화자가 존재하는 경우)인지에 상관없이 근단 신호가 검출될 때 정지된다. 적응 프로세스의 정지 이외에, 필터 계수는 백업된 필터 계수로부터 복원될 필요가 있을 수 있다. 더욱이, 근단 및 원단 신호가 모두 없으면, 적응 프로세는 또한 반향 소거기(20)가 채널 잡음 또는 저 에러 신호에서 적응하지 않도록 정지되므로, 계산을 최소화한다. 그러므로, 반향 소거기(20)는 원단 신호가 비교적 강하고 근단 신호가 없는 경우와 같이 필요한 경우에 적응하도록 동작한다. 이러한 상황에서, 적응 필터(28)는 반향을 반향 추정 신호(48)로서 정확하게 추정하기 위해 적응될 수 있다. 또한, 후술되는 바와 같이, 근단 송화자 신호 검출을 위한 임계치는 적응 필터 프로세스의 상태에 따라 다르게 변경된다(즉, 조정된다).
도 10 내지 13에 설명된 실시예는 또한 적응 필터(28)에 대한 계수를 백업하여 복원하는 방법을 제공한다. 프로세스는 도 13에 도시된 바와 같이, 백업의 수 및 빈도를 최소화하고 적응 필터(28)가 발산하지 않게 하는 상태 기계에 의해 관리된다.
도 3은 근단 신호 검출기(26)의 한 실시예를 도시한 것이다. 신호 레벨 추정기는 근단 신호(Sgen), 원단 신호(Rin) 및 송신 경로 입력 신호(Sin)의 레벨들을추적한다. 그러므로, 근단 신호 레벨 추정기(50)는 에러 신호(46)를 수신하고, 원단 신호 레벨 추정기(52)는 Rin(44)을 수신하며, Sin 신호 레벨 추정기(54)는 Sin(38)을 수신한다. 이때, 신호 레벨 추정치는 근단 신호 검출(NESD) 임계치 선택기(58) 및 근단 신호 검출기(60)를 제어하기 위해 사용된다. 배경 프로세서(56)는 적응 필터(28)의 프로세싱 상태를 모니터하고, NESD 임계치 선택기(58) 및 근단 신호 검출기(60)를 제어한다. 일반적으로, 각 신호 레벨 추정기는 측정될 신호 상에 저역 통과 필터를 적용할 수 있고, 전력 또는 크기 면에서 추정이 행해질 수 있다. 또한, 도 3 및 10 내지 13에 관한 다음 설명은 신호들이 (상술된 바와 같이 통상적인 음성 애플리케이션에서 일반적인 비율인) 8 kHz의 비율로 샘플링된다고 가정한 것이다.
Sin 신호 레벨 추정기(54)의 한 실시예는 다음 식을 사용하여 Sin의 전력(PSin)을 얻는다.
상기 식에서, Sin(n)은 시간 n에서 반향 소거기(20)로의 송신 경로 입력이고, PSin(n)은 시간 n에서의 추정된 송신 경로 입력 신호 전력이며, N은 한 실시예에서 32로 추정되는 평활화 인수이다. 대안적인 실시예에서, N값들의 범위가 사용될 수 있다. 일반적으로, N은 Sin 상의 전력 추정이 너무 민감하지 않아서 Sin의 변화를 빠르게 할 수 없도록 충분히 크게 선택되어야 한다. 한편, N은, Sin의 전력 추정이 음성 신호 레벨의 변경을 충분히 추적할 수 있을 정도로 민감하고, 전력 추정의 지연이 최소화되도록, 너무 크게 될 수 없다. 대안적으로, 전력은 윈도우 크기가 2*N-1 샘플인 이동 평균법을 사용하여 추정될 수 있다. 이 방법은 수학식 1에 따라 전력 추정기에 대등한 대역폭을 제공한다는 것을 나타낼 수 있다.
근단 신호 레벨 추정기(50)는 에러 신호(46)를 수신하고, 시간 n에서의 근단 신호 전력을 얻는다. 하지만, 상술된 바와 같이, 반향 소거기(20)에 대한 근단 신호(Sgen)로의 직접 억세스는 없다. 즉, Sin(38)은 Rin(44)로부터의 반사된 반향과 Sgen의 혼합이다. 그러므로, 근단 신호 레벨 추정기(50)의 한 실시예는 (도 2에서 DC 노치 필터(45)와 가산기(34) 사이에 필터가 존재한다고 가정하여, Sin(38)의 필터된 버전인) Sin(39)과 반향 추정 신호(48) 사이의 차를 사용한다. 그러므로, 에러 신호(46)는 근단 신호 레벨 추정기(50)에 제공된다. 에러 신호(46)는 반향 소거기(20)에 이용가능한 Sgen의 가장 근접한 추정치이지만, 이 추정치의 정확도는 적응 필터(28)의 수렴 상태의 함수이다. 이상적으로, 적응 필터가 완전히 수렴되지 않으면, 반향의 추정치(반향 추정 신호(48))는 정확하다. 실제로, 상술된 바와 같이, 반향 추정 신호(48)는 일반적으로 Rin(44)으로부터의 반사된 반향과 동일하지 않으므로, 에러 신호(46)는 단순히 Sgen이 아니고, 그 대신에 Sgen+잔류 반향이다. 적응 프로세스가 소정의 시간 윈도우 동안에 계속됨에 따라, 잔류 반향에 의해 도입된 에러는 최소화된다. 그러므로, 근단 신호 레벨 추정기(50)의 한 실시예는 다음 식을 사용한다.
상기 수학식에서, 에러 신호(46)는 가산기(34)의 출력에서의 반향 추정 신호(48)와 Sin(39) 사이의 차이고, Perror(n)은 시간 n에서의 추정된 근단 신호 전력이며, N은 (현 실시예에서 32인) 추정기의 평활화 인수이다.
근단 신호 레벨 추정기(52)의 한 실시예는 Rin의 단기간 전력을 얻고, 이것을 사용하여, 반향 경로의 범위를 커버하는 Rin의 이전의 단기간 전력 추정치들의 일부를 통해 Rin의 평균 전력을 계산한다. 예를 들어, 한 실시예는 다음 식을 사용하여 Rin의 단기간 전력을 결정한다.
상기 식에서, Rin(kN-i)는 시간 kN-i에서의 반향 소거기(20)로의 수신 경로 입력이고, PRin(kN)은 시간 kN에서의 추정된 원단 신호 전력이다(PRin(kN)은 계산 비용을 줄이기 위해 모든 샘플 대신에 N개의 샘플마다 추정된다는 것을 알기바란다). N은 (한 실시예에서 32인) 윈도우 크기이다. 그러므로, 수학식 4는 k가 윈도우의 추적을 유지하는 N샘플마다 현재의 윈도우(크기 N임) 내에서의 Rin의 전력을 계산한다. 즉, 제1 윈도우(k=1인 경우)는 샘플 1-32에 의해 정해질 수 있고, 다음 윈도우(k=2인 경우)는 샘플 33-64에 의해 정해질 수 있다. 그러면, 원단 신호의 평균 전력은 다음 식을 사용하여 얻어질 수 있다.
상기 수학식에서, "PRin((k-i)N)"은 시간 (k-i)N에서의 원단 신호 전력 추정치의 이전의 M 스냅샷(snapshot)이고, i는 M-1, M-2,...,0이다. AVG PRin(kN)은 시간 kN에서의 원단 신호 레벨 추정치의 평균이고, M은 평균에 대한 윈도우 크기로서, 여기에서 64 ms까지의 반향 경로 지연을 커버하도록 설계된 반향 소거기의 경우에 M=16이다(즉, M*N=16*32=512 샘플). 예를 들어, 현재 윈도우가 16번째 윈도우(즉, k=16)이면, AVG PRin(kN)의 값은 16(즉, M)개의 이전의 윈도우 각각에 대해 계산된 PRin(kN)의 평균, 즉 PRin(16*N), PRin(15*N),...,PRin(2*N), PRin(N)의 평균을 취한다. 충분한 이전의 데이터가 없으면(즉, M 미만의 윈도우가 프로세스되었으면), 그들 이용가능한 값들만이 평균을 결정하는데 사용될 수 있고, 아직 계산되지 않은 값들에 대해서는 0이 이용될 수 있다. 예를 들어, 3번째 윈도우(k=3)의 경우, 2개의 이전의 PRin(kN) 값들만이 이용가능하므로, AVG PRin(kN)은 3개 값의 평균일 수 있으며, M개 값의 평균은 아니다. 또한, AVG PRin(kN)은 도 10과 관련하여 알 수 있는 바와 같이 N샘플마다 계산되고, AVG PRin(kN)을 계산한 후에, k의 값은 N 샘플의 다음 윈도우의 시작을 나타내기 위해 증분될 수 있다는 것을 알기 바란다.
대안적인 실시예에서, 원단 신호 레벨 추정기(52)는 N=256으로 하여 상기 수학식 1 또는 2를 사용하여 Rin의 평균 전력을 추정할 수 있다. 수학식 4에서와 같이, 측정치 AVG PRin(kN)은 또한 32 샘플마다 취해져야 한다. 또한, 상기 레벨 추정치 모두는 전력보다 크기를 사용하여 행해질 수 있다. 또한, 상기 수학식 1 및 2는 정상 속도(normal rate)로 데이터를 프로세스하는 반면, 수학식 3 및 4는 순차적인 N-크기 윈도우에 서브-속도(sub-rate) 계산을 실행한다(따라서, N샘플마다 한번씩 계산을 실행한다). 대안적인 실시예는 상기 수학식들을 임의의 방식으로 구성할 수 있고, 상기 주어진 식들에 제한받지 않는다.
근단(Sgen), 원단(Rin) 및 송신 경로 입력(Sin) 신호들에 대한 레벨 추정치는 근단 송화자 신호 검출의 제어시에 사용된다. 그러므로, 도 10은 근단 신호 검출 임계치(NESD-Threshold)가 판정되는 도 9의 블록(206 및 208)의 한 실시예를 나타낸다. 임계치는 N 샘플마다 한번씩 재추정되고, N은 현 실시예에서 32이다. 블록(250)에서, Rin의 단기간 전력 PRin은 현재 시간 n이 분석되고 있는 현재 샘플에 대응하는 경우에 판정된다(예를 들어, 상기 수학식 3 참조). 블록(252)에서, 샘플 카운터는 증분되어, 새로운 n 값을 제공한다. 그러므로, 샘플 카운터는 도 9의 흐름(200)을 통한 각 과정 동안에(따라서 블록(206 및 208)의 각 과정 동안에) 증분된다.
흐름은 판정 다이아몬드(254)로 진행하여, 샘플 카운터가 윈도우 크기 N에도달했는지 판정된다. 도달하지 않았으면, 흐름은 블록(270)으로 진행한다(그리고, NESD-Threshold가 갱신되지 않는다는 것을 알기 바란다). 블록(270)에서, Sin의 전력(PSin)이 계산된다(예를 들어, 상기 수학식 1 참조). 샘플 카운터가 N에 도달했으면, 흐름은 블록(256)으로 진행하여, 블록(256 내지 268)의 경로가 단지 N 샘플마다(한 실시예에서, N=32인 32 샘플마다 발생)취해지도록 카운터가 리셋된다. 샘플 카운터가 리셋(한 실시예에서, 0으로 리셋)된 후에, 흐름은 블록(258)으로 진행하여, Rin의 평균 전력 AVG PRin이 계산된다(예를 들어, 상기 수학식 4 참조). 그 후, 흐름은 판정 다이아몬드(260)로 진행하여, BACKUP-STATE가 0 또는 1인지 판정된다(BACKUP-STATE는 도 13을 참조하여 더욱 상세하게 설명될 것이다). 0 또는 1이면, 흐름은 블록(262)으로 진행하여, 아래 수학식 5에 표시된 바와 같이 NESD-Threshold를 조정하기 위해 K1이 사용된다.
그러나, BACKUP-STATE가 0 또는 1이 아니면, 흐름은 블록(264)으로 진행하여, 아래 수학식 6에 표시된 바와 같이 NESD-Threshold를 조정하기 위해 K2가 사용된다.
그러므로, NESD-Threshold는 N 샘플마다 한번씩 재추정되고, 적응 필터의 상태(즉, 도 13과 관련하여 더욱 설명될 상태 기계에 대응하는 BACKUP-STATE)에 의존하여, NESD-Threshold는 K1 * AVG PRin또는 K2 * AVG PRin로판정될 수 있다. K1 및 K2는 NESD 임계치 크기조정 인수이다. 적응 필터(28)의 적응 프로세스의 초기 단계동안에(즉, BACKUP-STATE가 0 또는 1일 때), NESD-Threshold는 비교적 크게 될 수 있어서, 적응 필터(28)가 적응할 기회를 더 많이 제공한다. 한편, 적응 필터(28)가 초기 적응 단계를 거쳤을 때(즉, BACKUP-STATE가 3 또는 4일 때), NESD-Threshold는 적응 프로세스가 발산되지 않도록 하기 위해 감소될 수 있다. 한 실시예에서, K1은 1 내지 2의 범위 내의 값으로 설정되는 반면에, K2는 0.25 내지 1의 범위 내의 값으로 설정된다. 예를 들어, 한 실시예에서, K1은 1이고, K2는 0.5인데, 하이브리드 상태에 따라 다르다. 더욱이, K1 및 K2의 값은 적응 프로세스 동안에 정적으로 또는 동적으로 설정될 수 있다. 상기 주어진 범위 밖의 대안 값들이 사용될 수 있고, 4개의 상태(예를 들어, BACKUP-STATE 0-3)를 갖는 상태 기계의 사용 이외의 다른 방법은 적응 프로세스가 여전히 초기 단계에 있을 때를 판정하기 위해 사용될 수 있다.
블록(262 또는 264)에서 NESD-Threshold를 조정한 후에, 흐름은 판정 다이아몬드(266)로 진행하여, NESD-Threshold가 A보다 작은지 판정한다. A보다 작지 않으면, 흐름은 블록(270)으로 진행하여, PSin이 계산된다. A보다 작으면, NESD-Threshold가 블록(268)에서 A로 설정된다. 즉, NESD-Threshold는 AVG PRin이 너무 작은 경우에 A(한 실시예에서, A는 -40 내지 -45 dBm0의 범위 내의 값에 대응할 수 있음)의 최소 레벨로 제한된다. 그 다음, 흐름은 블록(270)으로 진행한다.
도 10의 흐름이 완료된 후, 필요하다면 적응 필터(28)의 모니터링 및 제어가 실행된다(도 9의 블록(210) 참조). (블록(209, 210 및 211)은 이후 도 20 내지 34와 관련하여 더욱 상세하게 설명될 것이다.) 그 후, 적응 필터는 블록(212)에서 반향 추정 신호(48)를 생성하고, 흐름은 도 11과 관련하여 더욱 상세하게 나타내지는 블록(214 및 216)으로 진행한다. 즉, 도 11의 흐름은 근단 송화자 신호 검출(즉, Sgen의 검출)의 제어를 상세히 설명하는 도 9의 블록(214 및 216)의 부분을 나타낸 것이다.
블록(276)에서, 에러 신호(Perror)의 전력이 추정된다(상기 수학식 2 참조). 그 다음, 흐름은 판정 다이아몬드(278)로 진행하여, Perror및 PSin중의 더 작은 것이 NESD-Threshold보다 더 큰지(즉, MIN(Perror, PSin)>NESD-Threshold) 판정된다. 더 크다면, 흐름은 판정 다이아몬드(280)로 진행하여, NESD-Hangover 타이머가 0을 카운트다운했는지 판정된다. 카운트다운했다면, 근단 신호가 검출되었다. 즉, 근단신호는 MIN(Perror, PSin)>NESD-Threshold일 때만 검출되고, (NESD-Hangover 타이머에 대응하는) 과거의 소정의 시간 윈도우 동안에는 근단 신호가 검출되지 않았다. 판정 다이아몬드(278)에서, MIN(Perror, PSin)이 NESD-Threshold보다 크지 않으면, 흐름은 블록(290)으로 진행하여, NESD-Hangover 타이머의 값이 0에 도달할 때까지 줄어들게 되므로, NESD-Hangover 시간에 의해 판정된 휴지시간을 도입한다. 판정 다이아몬드(280)에서, NESD-Hangover 타이머가 0이 아니면, NESD-Hangover 타이머는 블록(286)에서 소정의 값으로 설정된다.
근단 신호(Sgen)가 검출되었으면, 흐름은 판정 다이아몬드(280)에서 판정 다이아몬드(282)로 진행하여, 필터 계수가 갱신되었는지 판정한다. 갱신되었다면, 계수들은 근단 신호의 존재로 인해 대부분 손상되었을 것으로 여겨진다. 즉, 계수 갱신에 사용되는 신호가 더 이상 순수 잔류 반향이 아니고, 잔류 반향과 Sgen의 혼합이기 때문에, 계수들은 추정된 반향을 더 이상 나타내지 않는다. 이 경우에, 흐름은 블록(284)으로 진행하여, 필터 계수가 증명된 "양호한" 세트의 필터 계수에 의해 대체되거나 복원된다. 필터 계수를 백업하고 복원하는 방법은 도 12 및 13과 관련하여 후술될 것이다. 흐름은 블록(288)으로 진행하여, BACK-STATE가 갱신된다. 필터 계수가 판정 다이아몬드(282)에서 갱신되지 않았으면, 계수들은 잔류 반향과 Sgen의 혼합을 사용하여 적응되지 않았기 때문에 손상된 것으로 여겨지지 않는다. 이 경우에, 흐름은 블록(286)으로 진행하여, NESD-Hangover 타이머가 소정의 값으로설정된다.
NESD-Hangover 타이머에 사용되는 NESD-Hangover 시간의 지속시간은 어떤 불필요한 필터 계수 적응 및 복원을 방지하기 위해서뿐만 아니라, 필터 계수 적응을 시작하기 전에 확실하게 Sgen이 더 이상 존재하지 않도록 하기 위해 선택된다. 예를 들어, 한 실시예에서, NESD-Hangover 시간은 160 샘플 또는 20 밀리초이다. 그러므로, NESD-Hangover 시간의 지속시간은 근단 신호 검출기(26)가 지나치게 민감하지 않게 하므로, 근단 송화자 신호의 검출과 근단 송화자 신호 결핍의 검출 사이의 스위칭을 최소화한다. 그러나, NESD-Hangover 시간이 너무 길게 설정되면, 근단 신호 검출기(26)는 필요할 때 근단 송화자 신호를 정확하게 검출할 수 있을 만큼 충분히 민감하지 않게 될 수 있다.
그러므로, Sgen과 Rin의 신호 레벨(즉, 전력)의 서로다른 조합 하에서, 필터 계수(예를 들어, 적응 필터(28)의 계수)에 관해 상이한 동작이 행해진다. 예를 들어,이들 동작은 다음 표를 사용하여 요약될 수 있다.
아이템 Sgen Sin Rin 동작 설명
1 로우 로우 로우 갱신 없음 근단 또는 원단 송화자 신호 없음
2 로우 로우 하이 계수 갱신 큰 하이브리드 감쇠를 갖는 단일 원단 송화자 신호
3 로우 하이 로우 n/a 유효한 조합이 아님
4 로우 하이 하이 계수 갱신 작은 하이브리드 감쇠를 갖는 단일 원단 송화자 신호
5 하이 로우 로우 n/a 유효한 조합이 아님
6 하이 로우 하이 n/a 유효한 조합이 아님
7 하이 하이 로우 필터 계수의 갱신중지 및 복원 단일 근단 송화자 신호 존재
8 하이 하이 하이 필터 계수의 갱신중지 및 복원 이중 토크(근단 및 원단 송화자 신호 존재)
Sin이 Sgen과 반향 또는 Rin의 혼합이기 때문에, 상기 표에 열거된 몇몇 조합은 정상 동작 모드(접속이 중단되지 않거나 회로 내로 삽입되는 여분의 신호가 없음을 의미함) 하에서 유효한 것이 아니다. 이들 무효 조합은 아이템 3(Sgen 및 Rin이 로우일 때 Sin이 하이로 될 수 없기 때문), 아이템 5 및 6(Sgen이 하이일 때 Sin이 로우로 될 수 없기 때문)이다. 3개의 동작 세트는 나머지 5개의 조합을 위해 사용된다. 첫째, 계수 적응 프로세스를 위한 조건은 Rin이 하이이고, Sgen이 로우일 때(각각, Sin이 하이든 로우든 상관없이 단일 원단 토킹 기간인 동안, 즉 아이템 2 및 4)이다. 이러한 조건 하에서, 에러(에러 신호(46))의 원인은 (Sgen 이 로우이기 때문에) 주로 잔류 반향때문이고, 적응에 대한 Sgen의 효과는 최소이다. 둘째, 필터 계수 적응 프로세서를 정지하고 이전에 판정된 "양호한" 필터 계수를 복원하는 조건은 Sgen이 하이일 때(각각, 단일 토크 또는 이중 토크에 상관없이 근단 토킹 기간인 동안, 즉 아이템 7 및 8)이다. 셋째, 무 갱신은 근단 및 원단 송화자들이 모두 정적상태일 때 필요하다(아이템 1).
Sgen의 검출을 위한 상술된 방법은 반향 반사 손실이 6dB에 가깝거나 그보다 더 작을 때 반향을 소거할 수 있는 능력을 고려한 것이다. 그러므로, (6 dB에 가깝거나 그보다 작은) 로우 레벨에서 반향 반사 손실의 변화에 의해 심하게 영향을 받아서 Sgen이 실제로 존재하지 않을 때 Sgen이 존재하는 것으로 잘못 검출하는 경향이 있을 수 있는 종래의 솔루션과 달리, (상기 표1의 아이템 4에서와 같은) 6dB에 가깝거나 또는 그 미만에서, 상기 방법은 이들 조건하에서 잘못된 검출을 없게 하는 Sin 및 (잔류 에러가 작거나 무시할 만한 것으로 가정하여, 상술된 바와 같이, 에러 신호(46)로서 추정될 수 있는) Sgen의 최소치를 사용한다. 더욱이, 상기 방법은, 적응 프로세스가 6 dB와 같은 레벨에서 정지된 종래의 솔루션과 달리, 반향 반사 손실이 0dB에 이를 때까지 적응 프로세스가 계속될 수 있게 하여, 반향이 소거될 수 있게 한다.
또한, 도 10 및 11과 관련하여 상술된 방법은 심지어 Sgen의 레벨이 Rin에 비해 비교적 낮을 때(상기 표 1에서의 아이템 8에 대응) Sgen의 빠른 검출을 고려한 것이다. 예를 들어, 종래의 솔루션은 (즉, 하이브리드 회로에 의해 도입된 6 dB 손실에 대응하여) Sin 에너지가 Rin 에너지의 1/4과 같거나 그보다 클 때 이중 토크 검출 임계치를 설정한다. 하이브리드 감쇠가 10 dB이면, 검출 임계치에서의 4 dB 차는 상당량의 Sgen 신호가 이중 토크로서 검출되지 않고 존재할 수 있을 만큼 충분히 클 수 있다. 그러므로, 이러한 종래의 해결책은 근단 토크 신호를 항상 검출할 수 있는 것이 아니거나 또는 너무 늦게 검출되었다. 상술된 방법은 Sin 및 (잔류 에러가 작거나 무시할 만한 것으로 가정하여, 상술된 바와 같이, 에러 신호(46)로서 추정될 수 있는) Sgen의 최소치를 사용하고, 근단 신호 검출을 위한 Rin과 비교했을 때, 검출 임계치(NESD-Threshold) 설정이 반향 반사 손실에 무관하여, 종래의 이용가능한 솔루션보다 더 빠르고 더 신뢰성있는 근단 신호 검출을 할 수 있게 한다.
더욱이, 도 10 및 11과 관련하여 상술된 방법은 소정의 잡음성 근단 배경으로 단일 원단 토크(상기 표1에서의 아이템 4)와 이중 토크(상기 표 1에서의 아이템8) 사이의 차를 구별할 수 있는 능력을 고려한 것이다. 근단 배경 잡음 레벨이 비교적 높으면, 종래의 솔루션은 이 상황을 이중 토크 상황으로서 검출하여, 적응 프로세스를 정지한다. 배경 잡음이 장기간동안 지속될 수 있기 때문에, 전체 전화 통화의 지속시간 동안조차, 적응 필터는 수렴하기 위한 변경을 결코 할 수 없다. 그러므로, 상술된 근단 신호 검출을 위해 Rin에 비해 Sin 및 Sgen를 사용하는 것은 배경 잡음 레벨이 비교적 높을 때조차도 적응 프로세스가 계속될 수 있도록 검출 임계치(NESD-Threshold)가 설정될 수 있게 한다. (유일한 참 이중 토크 조건은 Rin과 Sgen 신호 레벨이 모두 높을 때이다. 그러나, 여기에서 설명된 적응 프로세스는 정지되어야 하고, 필터 계수는 단일 근단 토크 기간이든 이중 토크 기간이든 상관없이 근단 송화자 신호가 검출될 때 복원된다.)
도 12는 배경 프로세스가 실행되는지 판정하여, 실행된다면 필터 계수를 백업하는 도 9의 판정 다이아몬드(224 및 226)의 부분을 나타낸 것이다. 도 12의 흐름은 주로 (적응 필터(28)의) 필터 계수 백업 정책을 다룬다. 백업 정책의 한 실시예는 백업의 수를 최소화하고 백업의 빈도를 최소화하기 위해, 양호한 필터 계수가 확시하게 주기적으로 백업될 수 있게 한다. 도 12는 배경 1 카운터가 증분되는 블록(291)에서 시작된다. 흐름은 판정 다이아몬드(293)로 진행하여, 배경 1 카운터가 소정의 카운터 값 J에 도달했는지 판정된다. 도달하지 않았으면, 흐름은 H 지점(도 9에서의 블록(228) 이후)으로 진행한다. 도달했으면, 흐름은 블록(298)으로 진행하여, 배경 1 카운터가 (0으로) 리셋된 다음에, 판정 다이아몬드(295)로 진행하여, 적응 필터(28)의 필터 계수가 갱신되었는지 판정된다. 갱신되지 않았으면, 흐름은 H 지점으로 진행한다. 갱신되었으면, 흐름은 블록(292)으로 진행하여, 배경 2 카운터가 증분된다.
그 다음, 흐름은 판정 다이아몬드(294)로 진행하여, 배경 2 카운터가 소정의 카운터 값 L에 도달했는지 판정된다. 도달하지 않았으면, 흐름은 H 지점으로 진행한다. 도달했으면, 흐름은 블록(296)으로 진행하여, 배경 프로세싱이 실행된다. 즉, 배경 프로세싱은 이 실시예에서 기껏해야 J*L, 샘플마다 실행되고, 이들 값 J 및 L은 배경 프로세싱의 빈도를 판정하는 것을 돕는 임의의 값으로 설정될 수 있다. 예를 들어, 한 실시예에서, J는 160 샘플이고, L은 10이며, 배경 프로세싱은 기껏해야 J*L, 또는 1600 샘플마다 실행된다. 즉, J 샘플 후, 적응 필터(28)의 필터 계수가 갱신되지 않았으면, 흐름은 지점 H로 진행하고, 배경 2 카운터는 증분되지 않는다. 그러므로, 배경 2 카운터는 계수가 J 샘플의 현재 윈도우 동안에 갱신된 경우에만, 증분되고 L에 비교된다. 블록(296)에서, 배경 2 카운터는 리셋(이 실시예에서, 0으로 리셋)된다. 흐름은 블록(296)에서 판정 다이아몬드(300)로 계속된다.
판정 다이아몬드(300)에서는, 현재의 BACK-STATE(도 13과 관련하여 더욱 상세하게 설명될 것임)가 0 또는 1인지 판정된다. 0 또는 1이면, BACK-STATE는 블록(304)에서 증분되고, 흐름은 블록(308)으로 진행한다. BACK-STATE가 0 또는 1이 아니면, 흐름은 판정 다이아몬드(302)로 진행하여, BACK-STATE가 2인지 판정된다. 2가 아니면(BACK-STATE가 3이라는 것을 나타냄), 흐름은 블록(306)으로 진행하여, BACK-STATE가 2로 설정되고, 흐름은 블록(310)으로 진행한다. BACK-STATE가 판정 다이아몬드(302)에서 2이면, 흐름은 블록(308)으로 진행하여, 후보 백업 계수가 양호한 백업 계수로 복사된다. (후보 및 양호한 백업 계수는 도 13과 관련하여 후술될 것이다.) 그 다음, 흐름은 블록(310)으로 진행하여, 현재의 필터 계수가 후보 백업 계수로 복사된다. 즉, 블록(308)에서, 후보 백업 계수는 양호한 백업 계수가 되고, 현재의 필터 계수는 후보 백업 계수가 되는데, 현재의 백업 계수, 후보 백업 계수, 및 양호한 백업 계수는 모두, 반향 소거기(20) 내의 한 저장 유닛 또는 분리된 저장 유닛 내에, 또는 반향 소거기(20) 외부의 저장 위치에 저장될 수 있다. 그후, 흐름은 도 9의 블록(228)으로 진행한다.
본 발명의 한 실시예는 후보 백업 계수 및 양호한 백업 계수로 표시된 2개의 계수 백업을 사용하고, 4개의 서로 다른 BACK-STATE(0 내지 3)의 조합을 갖는다. 그러므로, 도 13은 적응 필터(28)의 필터 계수의 백업 및 복원 프로세스를 제어하는 상태 기계를 도시한 것이다.
도 13의 상태 기계는 4개의 BACKUP_STATES 0-3을 포함한다. 상태 0은 후보 백업 계수가 이용가능하지도 않고 양호한 백업 계수가 이용가능하지도 않다는 것을 나타낸다. 상태 1은 후보 백업 계수가 이용가능하지만 양호한 백업 계수는 이용가능하지 않다는 것을 나타낸다. 상태 2는 후보 및 양호한 백업 계수 둘다 이용가능하다는 것을 나타낸다. 상태 3은 후보 백업 계수는 이용가능하지 않지만 양호한백업 계수는 이용가능하다는 것을 나타낸다. 도 13의 상태 기계는 도 9의 블록(216 및 226) 부분을 구현한 것이라는 것을 알기바란다.
한 실시예에서, 상태 기계는 리셋 또는 초기화시에 상태 0으로 시작된다. 상태 기계는 배경 프로세싱으로의 최종 L 엔트리에서 검출되는 근단 신호(Sgen)가 없으며 상태 1로 전이한다. 그러므로, 필터 계수의 첫 번째 백업을 위한 최소 시간 윈도우는 J*L 샘플이다(여기서, 8KHz의 샘플링 비율을 가정하면, L은 현 실시예에서 10이므로, J*K는 1600 샘플 또는 200ms이다). 이 상태 천이동안, 근단 신호는 검출되지 않았고, 제1 백업은 현재 필터 계수를 후보 백업 계수로 복사함으로써 실행된다. 근단 신호(Sgen)의 검출 시에, 저장된 후보 백업 계수가 근단 신호 Sgen의 검출 시의 지연에 기인해서 틀릴 수 있기 때문에, 상태 기계는 상태 0으로 전이한다. 상태 기계는 상술된 바와 같이 상태 기계가 다시 상태 1로 전이하는 시점에서 근단 신호가 배경 프로세싱으로의 최종 L 엔트리내에서 검출되지 않을 때까지 상태 0으로 남는다.
상태 1에서, 근단 신호가 배경 프로세싱의 다른 L 엔트리에서 검출되지 않으면, 상태 기계는 후보 백업 계수를 양호한 백업 계수로 복사하고 현재 필터 계수를 후보 백업 계수로 복사함으로써 제2 백업이 실행되는 상태 2로 전이한다. 이 상태에서, 후보 및 양호한 백업 계수는 둘다 이용가능하고, 상태 기계는 근단 신호가 검출되지 않으면 이 상태로 남아있을 것이다. 한 실시예에서, 상태가 변화되지 않을지라도, 후보 및 양호한 백업 계수는 둘다 제2 백업동안 순차적인 백업으로 갱신된다. 또한, 한 실시예에서, 상태 1로부터 상태 2로의 전이시에 실행된 2개의복사는 (예를들어, 포인터의 사용을 통해) 후보 백업 계수를 양호한 백업 계수로서 먼저 표시한 다음에, 현재의 필터 계수를 (양호한 백업 계수로서 표시될 수 있도록 사용되는) 후보 백업 계수로 복사함으로써 단일 복사로 실행된다.
상태 2에서, 근단 신호가 검출될 때, 상태 기계는, 후보 백업 계수가 다시 손상된 것으로 간주되지만, 양호한 백업 계수는 최소한 J*L 시간 윈도우 후에 양호한 것으로 증명되었기 때문에 여전히 양호한 것으로 간주되는 상태 3으로 전이한다. 근단 신호가 지속되는 한 상태 기계는 상태 3에 남아있고, 또는 근단 신호가 더 이상 존재하지 않으면 상태 2로 되돌아갈 것이다.
대안적인 실시예에서, 배경 프로세싱으로의 각 엔트리(L)은 J 샘플마다가 아니고 각 샘플 상에서 발생할 수 있다는 것을 알기바란다. 또한, 도 13의 상태 기계는 다양한 다른 방법으로 수행될 수 있으며, 설명된 것보다 많은 상태, 그보다 적은 상태 또는 그것과 다른 상태를 포함할 수 있다.
도 6은 도 2의 모니터 및 제어 유닛(30)의 일부분의 한 실시예를 도시한 것으로, 이것은 도 2의 이득 제어부(33)와 결합하여, 시스템(10) 및 적응 필터(28)의 안정성을 제어한다. 예를 들어, 하이브리드(16)의 임펄스 응답과 매우 다른 한 세트의 (적응필터 28의) 필터 계수에 기인하여 일련의 아티팩트가 생성되면, 시스템(10)은 불안정 상태로 간주된다. 도 37에 관련하여 상술된 바와 같이, 적응 필터(28)의 계수는 하이브리드(16)의 임펄스 응답을 “모방”하고자 시도하고, 반사된 반향을 상쇄하기 위한 시도 시에 발신 신호로부터 그것을 감산한다. 그러나, 적응필터(28)의 계수가 임펄스 응답으로부터 너무 많이 변하면, 음성 또는 데이터 신호왜곡 또는 시스템 하울링과 같은 아티팩트가 발생할 수 있다. 시스템(10)의 불안정성은 다음의 두 가지 상태 하에서 발생할 수 있다:(1) 반향 소거기(20 및 22)가 폐루프 시스템 내에 있고, 어떤 유형의 신호에 의해 시뮬레이트되어, 시스템(10)에서 1보다 큰 이득을 초래하는 상태, 및 (2) 반향 소거기(20)가 개루프 시스템 내에 있는 상태.
도 14는 반향 소거기(20)의 이득을 모니터하기 위한 동적 이득 제어 방법의 한 실시예를 나타낸 것으로, 이것은 적응 필터(28) 및 이득 제어부(33)에 연결된 이득 모니터(100)에 의해 실행될 수 있다. 도 14의 동적 이득 제어 방법은 폐루프 시스템에서 반향 소거기(20 및 22)의 안정성을 보장한다. 예를 들어, 에러 신호(46)가 Sin 38보다 크면(이론적으로 발생하지 말아야 하지만 실질적으로는 발생할 수 있음), 반향 소거기(20)의 이득은 1 보다 크거나 같다. 반향 소거기(22)에서 동일한 것이 발생하면(또한 1 보다 크거나 같은 반향 소거기(22)의 이득을 초래하면), 반향 소거기(20 및 22)를 갖는 폐루푸 시스템의 전체 루프 이득은 하울링으로 알려져 있는 아티팩트를 생성할 수 있는 값 1 보다 클 수 있다. 그러므로, 도 14의 방법은 소정의 시간 윈도우 내에서의 에러 신호(46)의 전력(Perror) 대 Sin(38)의 전력(PSin)의 비가 적응 임계치보다 커질 때, 에러 신호(46)를 감쇠시킨다. 또한, 도 14의 방법은 Perror가 PSin보다 몇 배 클 때, 적응 필터(28)를 리셋한다. 그러므로 도 14의 방법은 폐루프 시스템의 전체 루프 이득이 시간에 걸쳐 1 보다 큰 값에 도달하지 않게 하여, 시스템(10)의 안정성을 보장한다. 게다가, 도 14의 방법은또한 하이브리드 특성이 갑자기 변화될 때 적응 필터(28)의 재수렴을 가속화한다.
그러므로, 도 14는 도 9의 블록(218)의 한 부분을 나타낸다. 즉, 근단 송화자 신호가 도 9의 블록(216)에 존재하는지 검출한 후에, 흐름은 블록(218)으로 진행하여, 반향 소거기(20)의 이득이 모니터되고 선택적으로 조종된다. 그러므로, 흐름은 Perror대 PSin(Perror/PSin)의 비가 리셋 임계치보다 큰지의 여부가 결정되는 판정 다이아몬드(322)에서 시작된다. 크다면, 흐름은 블록(330)으로 진행하여, 적응 필터(28)의 필터 계수가 리셋된다(즉, 한 실시예에서 0으로 설정된다). 대안적으로, 계수들은 임의의 값으로 리셋될 수 있다. 그러므로, 리셋 임계치는 Perror가 PSin보다 너무 큰지 아닌지를 결정하는데 사용될 수 있으므로, 불안정성을 막기위한 적응 필터(28)의 리셋을 요구한다. 그러므로, 리셋 임계치는 임의의 값으로 될 수 있고, 한 실시예에서 8로 설정된다.
Perror/PSin이 리셋 임계치보다 크지 않으면, 흐름은 판정 다이아몬드(324)로 진행하여, Perror/PSin이 이득 임계치보다 큰지 아닌지를 판정된다. 이득 임계치는 일반적으로 리셋 임계치보다 작고, 한 실시예에서 1로 설정된다. 이 이득 임계치는 이득 감쇠의 활성화를 시작하기 위한 임계치이다. Perror/PSin이 이득 임계치보다 크면, 흐름은 블록(328)으로 진행하여, 아래 식 7에 표시된 바와 같이, 이득이 알파를 사용하여 조정된다.
이득 = 알파 * 이득
알파는 일반적으로 1 보다 작아서 에러 신호(46)가 감쇠된다. 그러므로, 한 실시예에서, 알파는 0.9996이다. 흐름은 판정 다이아몬드(328)로 진행하여, 이득이 이득 한계치보다 작은지 판정된다. 작다면, 흐름은 블록(334)으로 진행하여, 이득이 이득 한계치로 설정된다. 이것은 이득이 소정의 레벨 이하로 결코 떨어지지 않는다는 것을 보장하는데, 소정의 레벨은 한 실시예에서 0.5이다. 예를 들어, 개루프 회로 내에 존재하는 하이브리드와 같이, 몇몇의 비정상적인 상태 하에서조차, 송신 경로 전송 경로를 완벽하게 차단하는 것은(즉 이득 = 0) 일반적으로 바람직하지 않다. 그 다음, 흐름은 블록(326)으로 진행한다. 판정 다이아몬드(332)에서, 이득이 이득 한계치보다 작지 않다고 판정되면, 흐름은 블록(326)으로 진행하여, 에러 신호(47)가 아래 식 8에 표시된 바와 같이 계산된다.
에러 신호(47) = 이득 * 에러 신호(46)
판정 다이아몬드(324)에서, Perror/PSin이 이득 임계치보다 크지 않다고 판정되면, 흐름은 판정 다이아몬드(336)로 진행하여, 이득이 1 보다 작은지 판정된다. 1보다 작지 않으면, 흐름은 블록(326)으로 진행하여, 에러 신호(46)가 감쇄되지만; 1보다 작으면, 흐름은 블록(338)으로 진행하여, 이득이 아래 식 9에 표시된 바와 같이 조정된다.
이득 = 베타 * 이득
베타는 이득이 이전에 감쇠된 이후로 회복될 필요가 있기 때문에 일반적으로 1보다 크다. 그러므로, 한 실시예에서, 베타는 1.0004이다. 그 다음, 판정 다이아몬드(340)로 진행하여, 이득이 1보다 큰지 판정된다. 1보다 크면, 흐름은 블록(326)으로 진행하여, 에러 신호(46)가 감쇠되고, 그렇지 않으면, 흐름은 블록(342)으로 진행하여, 이득이 1로 설정된다. 블록(342) 후에, 흐름은 블록(326)으로 진행하여, (블록(342)에서 이득이 1로 설정된 이후로) 에러 신호(47)가 단순히 에러 신호(46) * 1과 같기 때문에, 에러 신호(46)는 감쇠되지 않는다. 그러므로, 요약하면, Perror/PSin이 리셋 임계치보다 크거나 같으면, 적응 필터(28)의 필터 계수는 리셋된다. Perror/PSin이 리셋 임계치보다 작지만 이득 임계치보다 크거나 같으면, 에러는 (예를 들어, 블록(326)에서의) 이득값에 의해 감쇠된다. 그러나, Perror/PSin이 또한 이득 임계치보다 작으면, 에러는 감쇠되지 않고 남아있게 된다(즉, 에러 신호(47) = 에러 신호(46)). 그러므로, 도 14의 흐름이 시스템의 안정성 유지를 어떻게 돕는지 알 수 있게 된다.
도 15는 적응 필터(28)의 필터계수의 분포를 모니터하기 위한 필터 계수 모니터링 방법의 한 실시예를 나타낸 것으로, 이것은 모니터 및 제어 유닛(30) 내에 있으며 적응 필터(28)에 연결되는 필터 계수 모니터(102)에 의해 실행될 수 있다. 도 15의 방법은 개루프 시스템에서 반향 소거기(20)의 안정성을 보장한다. 모니터링 방법은 비교적 균일한 분포를 갖는 적응 필터(28)의 한 세트의 필터 계수의 형성을 검출한다. 하이브리드(16)에 의한 임펄스 응답이 예상되기 때문에, 적응 필터(28) 계수의 균일 분포는 하이브리드가 존재하지 않는다는 것을 나타내므로, 개루프 상태의 가능성을 나타내고 있다. 그러므로, 적응 필터(28) 계수의 균일 분포를 검출할 때, 필터 계수는 리셋되고, 반향 소거기(20)는 더욱 모니터하기 위한 경보 상태로 놓인다. 필터 계수가 소정의 시간 윈도우동안 반복적으로 리셋될 때, 반향 소거기(20)는 개루프 상태에 있고, 반향 소거기(20)는 바이패스된다고 가정된다. 즉, 적응 필터(28)는 참 하이브리드가 존재하는 경우에만 적응해야 한다. 게다가, Rin 및 Sin과 같은 비제로 신호(예를 들어, 정현파 톤)를 통해 연속적인 정현파 입력을 갖는 개루프 시스템 내의 적응 필터(28)는 특히 빠르게 발산될 수 있으므로, 개루프 시스템 검출의 필요성이 증가한다.
그러므로, 도 15는 도 9의 블록(228) 부분을 나타낸다. 즉, 상술된 도 9의 블록(226)에서 필터 계수를 백업한 후에, 흐름은 블록(228)으로 진행하여, 적응 필터(28)의 계수가 모니터된다. 그러므로, 흐름은 블록(344)으로 진행하여, 적응 필터(28)의 필터 계수가 빈(bin)의 수 B로 나누어진다. (B는 필터계수/16의 수가 되게 선택된다.) 흐름은 블록(346)으로 진행하여, B 빈의 최대 및 최소 계수 전력이 결정된다. 즉, 필터 계수가 B 빈으로 나누어지면, 각 빈은 그것을 그 빈 내의 계수의 전력값(예를 들어, 그 빈 내의 계수들의 평균 전력)과 관련될 수 있고, 블록(346)에서, B 빈의 최대 전력값 및 B 빈의 최소 전력값이 선택된다. 흐름은 판정 다이아몬드(328)로 진행하여, 최대 전력값과 최소 전력값의 비(즉, 최대 전력/최소 전력)가 경보 임계치보다 작은지 판정된다. 필터가 실제 하이브리드쪽으로 적응되면, 최소값 분의 최대값 비는 1보다 훨씬 커야 된다. 한편, 최소값 분의 최대값 비가 1에 근접하면, 필터가 실제 하이브리드에 적응하지 못한다는 것을 명백히 나타낸다. 비는 하이브리드의 결여 가능성을 신호할 수 있는 경보 임계치로서 선택된다. 경보 임계치는 다양한 하이브리드 하의 적응 필터 동작의 통계적 해석에 기반하여 선택된다. 한 실시예에서, 경보 임계치는 8이 되도록 선택된다.
비교 이후에, 흐름은 블록(350)으로 진행하여, 적응 필터(28)의 필터 계수가 0으로 리셋된다(또는, 임의의 다른 소정의 리셋 값 또는 값들로 설정된다). 흐름은 블록(352)으로 진행하여, 경보 상태가 증분된다. (경보 상태는 최대 전력 대 최소 전력의 비가 경보 임계치보다 작은 현재 기간동안 얼마나 많이 필터 계수가 리셋되었는지 나타낸다. 도 12의 블록(310)에서 빠져나와서, 흐름은 도 15에서 설명되고 도 15의 블록(344)에서 시작되는 도 9의 블록(228)으로 진행하기 때문에, 현재의 기간은 도 12와 관련하여 상술된 것과 동일한 J*L이라는 것을 알기바란다. 즉, 도 15는 도 9 및 12에 도시된 바와 같이, 기껏해야 J*L 샘플마다 시작되는 배경 프로세싱의 부분으로 간주된다.) 블록(352) 후에, 흐름은 판정 다이아몬드(354)로 진행하여, 경보 상태가 바이패스 임계치와 동일한지 판정된다. 그러나, 경보 상태가 판단 다이아몬드(354)에서 바이패스 임계치에 도달했으면, 흐름은 블록(356)으로 진행하여, 바이패스 모드가 1로 설정되고, 이것은 개루프 조건이 검출되었으므로(즉, 하이브리드가 존재하지 않으므로), 반향 소거기(20)가 비존재 하이브리드에 적응하지 못하게 하기위해 바이패스될 수 있다는 것을 나타낸다.
판정 다이아몬드(348)에서, 최대 전력 대 최소 전력의 비가 경보 임계치보다작지 않다고 판정되면, 흐름은 블록(358)으로 진행하여, 경보 상태가 0으로 리셋된다. 흐름은 판정 다이아몬드(360)로 진행하여, 바이패스 모드가 1인지 판정되고, 1이면, 블록(362)에서 0으로 리셋된다. 그러므로, 358로의 분기는 적응 필터(28)가 다시 적응하기 시작하는 하이브리드(16)의 재접속을 고려한 것이다.
도 5는 도 2의 비선형 프로세서(32)의 일부분을 도시한 것이다. 상술된 바와 같이, 잔류 반향을 감소 또는 제거하는 것 이외에, 비선형 프로세서(32)는 또한 개선된 통신품질을 허용하는 근단 송화자 신호의 배경 잡음을 보존하거나 매칭시키고자 시도한다. 일반적으로, 비선형 프로세서(32)는 잔류 반향이 소정의 임계치 이하이고, 그것을 침묵상태보다 오히려 위로 잡음으로 대체하는지를 검출하여, 전화선 배경 잡음이 갑자기 사라지는 것을 방지한다. 그러한 배경 잡음의 갑작스러운 사라짐은 전화 접속이 끊어졌다는 인상을 유도할 수 있다.
오늘날 사용되는 한가지 종래의 기술 방법은 합성된 배경 잡음을 사용하지만, 이것은 실제 배경 잡음과 합성된 배경 잡음 사이에 분열적인 스위칭을 초래할 수 있다. 예를 들어, 오늘날 사용되는 한가지 종래 기술 방법은 위로 잡음으로서 백색 잡음을 사용한다. 그러나, 백색 잡음은 자연적인 배경 잡음과는 매우 다르므로, 분열적으로 들린다. 오늘날 이용가능한 대안 솔루션은 배경 잡음과 매칭시키기 위해 사전 저장된 배경 잡음을 반복적으로 출력하는 것이다. 그러나, 이 방법은 추가적인 저장 공간을 요구하며, 또한 통신을 분열시킬 수도 있는 현저한 배경 잡음의 반복을 초래한다.
그러므로, 도 5 및 도 16-19는 앞의 단락에서 설명된 분열적인 아티팩트(artifact)와 같이 반향 소거의 비선형 프로세싱에 의해 야기된 아티팩트를 줄이기 위해 반향 소거기(20) 내의 자연적인 배경 잡음을 보존하거나 매칭시키는 비선형 프로세서(32)의 한 실시예를 제공한다. 비선형 프로세서(32)는 참 배경 잡음 신호의 레벨에 대한 신뢰성있는 추정치를 찾고 그 임계치(후술될 NLP_ON 및 NLP_OFF 임계치)를 조정하기 위해 단기간 레벨 추정기(88) 및 장기간 신호 레벨 추정기(92)를 사용한다. 단기간 추정기는 통화 시작 시에 배경 잡음 신호의 빠른 레벨 추정치를 생성한다. 한편, 장기간 추정기는 시간에 걸쳐 배경 잡음 신호 레벨을 신뢰성있게 추적하는 것을 목표로 자연스럽게 적응하게 된다. 비선형 프로세서(32)를 활성화하는 판정은 원단 신호, 근단 신호 및 배경 잡음 신호의 상대 레벨에 기초하여 이루어진다. 배경 잡음 신호가 두드러지게 될 때, 비선형 프로세서(32)는 그 배경 잡음 신호들을 반향 소거기(20)를 통과하게 함으로써 본래의 배경 잡음 신호를 보존한다. 배경 잡음 신호가 낮고 잔류 반향이 가청될 때, 비선형 프로세서(32)는 잔류 반향을 추정된 배경잡음 신호 레벨보다 낮은 2-3dB 레벨의 위로 잡음 레벨로 대체한다. 생성된 위로 잡음 신호는 또한 전이 가청도를 최소화하기 위해 점차 본래의 배경 잡음 신호와 섞이게 된다. 그러므로, 비선형 프로세서(32)는 가능한 경우에 자연 배경 잡음을 보존하거나 또는 최소 가청 효과를 가지는 배경 잡음을 매칭시킨다.
반향 소거기(20) 내의 자연 배경 잡음의 보존 또는 매칭은 네 개의 기본단계로 실행된다: (1) 배경 잡음 신호, 원단 송화자 신호 및 근단 송화자 신호의 레벨을 추정하는 단계; (2) 비선형 프로세서(32)를 위한 임계치를 판정하는 단계; (3)비선형 프로세서(32)가 필요하게 되면 위로 잡음을 발생하는 단계; 및 (4) 비선형 프로세서(32)가 필요하게 되면 배경 잡음 내로 위로 잡음을 혼합하는 단계.
도 5의 비선형 프로세서(32)는 단기간 배경 레벨 추정기(88), 배경 레벨 추정기 제어기(90), 장기간 배경 레벨 추정기(92) 및 배경 레벨 어댑터(94)를 포함하는 적응 배경 레벨 추정기(96)를 포함한다. 배경 잡음 레벨에 대한 추정은 단기간 배경 레벨 추정기(88) 및 장기간 배경 레벨 추정기(92)에 의해 행해진. 단기간 배경 레벨 추정기(88)는 통화를 개방할 때 초기의 빠른 추정을 제공하며, 장기간 배경 레벨 추정기(92)는 시간에 걸쳐 배경 잡음 신호의 레벨에 점차 적응한다. 보다 높은 잡음 레벨로의 장기간 배경 레벨 추정기(92)의 적응 속도는 배경 잡음 레벨이 변화할 때 낮은 잡음 레벨로의 적응 속도보다 느리다는 것을 알기바란다. 그러므로, 추정기(88 및 92)는 근단 및 원단 송화자 신호 레벨 둘다 소정의 임계치 이하일 때 활성화된다. 즉, 장기간 배경 레벨 추정을 위해 값이 이용가능하면, 추정기(92)만 사용된다. 그러므로, 단기간 배경 레벨 추정기(88)는 일반적으로 장기간 배경 레벨 추정기(92)가 아직 이용가능하지 않을 때 일반적으로 초기에(즉, 통화 초기에) 사용될 뿐이다. (근단 및 원단 송화자 신호 레벨은 근단 신호 레벨 추정기(70) 및 원단 신호 레벨 추정기(72)에 의해 각기 결정된다.)
비선형 프로세서(32)를 온시키는 임계치(비선형 프로세서 온(ON) 제어기(76)에 의해 실행됨)는 작동 오프시키는 임계치(비선형 프로세서 오프(OFF) 제어기(78에) 의해 실행됨)와는 다르다. 비선형 프로세서 온(ON) 제어기(76)는 근단 송화자 신호가 무의미해지고 원단 송화자 신호가 활성화될 때 비선형 프로세서(32)를 인에이블시킨다(또는 온 시킨다). 비선형 프로세서 오프(OFF) 제어기(78)는 근단 송화자 신호가 비교적 높거나 배경 잡음 신호가 매우 두드러질 때 비선형 프로세서(32)를 디스에이블시킨다(또는 오프시킨다). 잔류 반향의 제거와 실제 배경 잡음의 보존 사이의 트레이드 오프(trade-off)는 다음과 같이 이루어진다. 배경 잡음 신호가 비교적 높을 때, 비선형 프로세서(32)는 배경 잡음이 반향 소거기(20)를 통과 할 수 없게 한다. 이 경우에, 무시할만한 잔류 반향이 마스킹 효과에 기인하는 훨씬 더 현저한 배경 잡음 신호에 의해 묻힌다. 배경 잡음 신호가 비교적 낮을 때, 비선형 프로세서(32)는, 매우 조용한 배경 잡음 신호가 제공될 때 잔류 반향이 더욱 가청적이기 때문에, 인에이블된다. 하지만, 두 경우에, 잔류 반향은 적응 필터(28)에 의해 달성된 양호한 수렴 깊이로 인하여 작다.
비선형 프로세서(32)가 인에이블될 때, 위로 잡음은 (위로 잡음 생성기(86)에 의해) 생성되고, 잡음 레벨은 (잡음 레벨 확인회로(82)에 의해) 매칭되어, 인식된 음성에 대한 가청 "잡음 게이팅(gating)"(즉, 한 배경에서 다른 배경으로의, 또는 한 배경에서 정적상태로의 잡음 스위칭)을 최소화한다. 몇가지 유형의 위로 잡음 신호는 자연 배경 잡음 신호에 가깝게 선택될 수 있다. 또한, 위로 잡음은 점차 (출력 신호 믹서(84)에 의해 실행된) 실제 배경 잡음을 대체하여, 전이를 평활하게 하고, 위로 잡음의 레벨은 추정된 배경 잡음 레벨보다 낮은 2-3dB로 설정된다.
도 16은 본 발명의 한 실시예에 따라 적응 배경 레벨 추정을 실행하는 방법을 나타낸 것이다. 일반적으로, 배경 잡음 신호의 레벨은 다음 3가지 조건(즉,(1) 근단 송화자 신호 없음, (2) 원단 송화자 신호 없음(즉, 잔류 반향 없음), 및 (3) 상기 2개의 조건이 소정의 기간동안 부합됨)이 (도 16의 판정 다이아몬드(400, 402, 404)에 대응하여) 부합될 때만 추정될 수 있다. 먼저, 판정 다이아몬드(400)에서, 근단 송화자 신호(Perror)의 레벨이 에러 전력 임계치 이하인지 판정된다. 에러 전력 임계치는 에러 신호가 배경 잡음 신호 또는 근단 송화자 신호로서 간주되는 지를 판정하는 임계치로서 정의된다. 한 실시예에서, 에러 임계치는 -39 dBm0이다. 이러한 확인은, 후술될 배경 에너지 추정치가 근단 송화자 신호를 포함할 수 없기 때문에, 근단 송화자 신호를 배경 잡음 신호와 혼합시킬 가능성을 감소시킨다. Perror가 에러 임계치보다 작으면, 흐름은 판정 다이아몬드(402)로 진행하여, 제2 조건이 확인된다. 판정 다이아몬드(402)에서는, 배경 레벨 추정치 내의 잔류 반향을 제외하기 위해 원단 송화자 신호(PRin)의 레벨이 Rin 임계치보다 작다. Rin 임계치는 비선형 프로세서 전에 현저한 잔류 반향을 생성할 만큼 매우 충분한 Rin 신호 레벨로서 정의된다. 한 실시예에서, Rin 임계치는 -27 dBm0이다. PRin이 Rin 임계치보다 작으면, 흐름은 판정 다이아몬드(404)로 진행하여, 처음 2개의 조건이 소정의 시간 윈도우(즉, 배경 잔류 시간)에 대해 부합되었는지 판정된다. 즉, 배경 잔류 타이머=0이면, 처음 2개의 조건은 배경 잔류 시간에 의해 정해진 시간 윈도우에 대해 부합되었고, 흐름은 블록(408)으로 진행한다. 배경 잔류 시간은 원단 및 근단 송화자 신호가 소정의 시간 윈도우동안 확실하게 없어졌을 수 있도록 하기 위해 사용된다. 한 실시예에서, 배경 잔류 시간은 8 kHz의 샘플링을 가정하면 160샘플, 또는 20 ms이다.
Perror가 판정 다이아몬드(400)에서 에러 임계치보다 작지 않거나 PRin이 판정 다이아몬드(402)에서 Rin 임계치보다 작지 않으면, 흐름은 블록(406)으로 진행하여, 배경 잔류 시간이 소정의 값, 예를 들어 앞 단락에서 설명된 배경 잔류 시간으로 설정된다. 그 다음, 흐름은 C 지점으로 진행한다. (C 지점에서, 흐름은 더욱 후술될 도 18로 계속된다.) 판정 다이아몬드(404)에서, 배경 잔류 시간이 0이 아니면, 배경 잔류 시간은 블록(410)에서 감소되고, 흐름은 C 지점으로 진행한다.
그러나, 판정 다이아몬드(400, 402 및 404)의 3개의 조건이 부합되면, 흐름은 블록(408)으로 진행하여, 배경 레벨(Pbackground)이 나중 단계에서 판정된 바람직한 레벨(Pnew_background)로 적응된다. (Pnew_background는 도 17의 블록(426)과 관련하여 계산되고 설명될 것이므로; 블록(408)을 통한 제1 반복 동안, Pnew_background는 위로 잡음 레벨을 나타내는 초기 값과 같은 임의의 적당한 초기 값을 가질 수 있다는 것을 알기 바란다.) 적응은 샘플마다 행해져서, 위로 잡음 레벨 매칭 시의 한 레벨에서 다른 레벨로의 전이를 평활하게 한다. 그러므로, 적응은 아래 수학식 10으로 표시된 바와 같이 실행된다.
수학식 10에서, Pbackground(n)은 시간 n에서의 추정된 배경 전력 레벨이고,Pnew_background는 적응될(그리고 제4 단계에서 판정되는) 새로운 배경 전력 레벨이며, R은 FAST-RATE 또는 SLOW-RATE로 설정되는 적응 속도를 제어하는 인수이다. (R은 더욱 상세하게 후술될, 도 17의 블록(428) 또는 도 19의 블록(480, 472 또는 476)에서 설정될 수 있다는 것을 알기 바란다. 또한, 한 실시예에서, FAST-RATE의 적응 속도는 29으로 설정되고, SLOW-RATE의 적응 속도는 211으로 설정된다는 것을 알기바란다.)
블록(408) 후에, 배경 잡음 신호의 전력 레벨 추정이 시작되는데, 이것은 3개의 주요 단계를 포함한다. 배경 잡음 신호의 전력 레벨을 추정할 때의 제1 단계는 윈도우 내의 배경 전력 레벨을 계산하는 것이다. 그러므로, 흐름은 블록(412)으로 진행하여, 윈도우화 배경의 전력(Pwindow_background)이 아래 수학식 11에 표시된 바와 같이 계산된다.
수학식 11에서, Pwindow_background는 윈도우화 배경 전력 레벨 추정치이고, 에러 신호(46)는 도 2의 가산기(34)의 출력에서의 반향 추정 신호(48)와 Sin(39)의 차이며, w-size는 평균의 윈도우 크기이다. 한 실시예에서, w-size는 64 샘플이다. 다음에, 흐름은 블록(414)으로 진행하여, 배경 샘플 카운터가 증분된다.
제2 단계는 소정 수의 시간 윈도우 w-count에 관한 최소 Pwindow_background를 찾는 단계를 포함한다. (한 실시예에서, w-count는 128 샘플이지만, 대안적인 실시에서, w-count는 최소 Pwindow_background를 계산하기 위해 요구된 시간 윈도우의 수에 따라 변하는 임의의 값일 수 있다.) 그러므로, (아래 수학식 12에 표시된) 블록(418)의 계산은 w-size 샘플마다 한번씩 실행된다. 제2 단계를 실행하기 위해, 흐름은 판정 다이아몬드(416)로 진행하여, 배경 샘플 카운터가 w-size인지 판정된다. w-size가 아니면, 흐름은 (도 18의) C 지점으로 진행한다. w-size이면, 흐름은 블록(418)으로 진행하여, 윈도우화 배경의 최소 전력이 아래 수학식 12에 표시된 바와 같이 판정된다.
그러므로, Pmin_window_background는 기존의 최소 전력(블록(418)을 통한 이전의 반복동안 판정된 최소 전력)과 블록(412)에서 판정된 Pwindow_background사이에서 최소치를 선택함으로써 결정된다. 그 다음, 흐름은 블록(420)으로 진행하여, Pwindow_background가 0으로 리셋된다. 흐름은 블록(422)으로 진행하여, 배경 샘플 카운터가 0으로 리셋되고, 윈도우 카운터가 증분된다. 그 다음, 흐름은 도 17(판정 다이아몬드(424)에서 시작됨)로 계속되는 A 지점으로 진행한다.
적응 배경 레벨 추정시의 제3 단계는 블록(408)과 관련하여 설명된 배경 레벨 적응을 위한 Pnew_background를 판정하고, 블록(409)에서 사용된 적응 속도를 판정하는 것이다. Pnew_background를 판정하는 것이 처음인지의 여부에 따라 다른 2개의 상이한 방법이 있다. 그러므로, 판정 다이아몬드(424)에서는, 이것이 (통화의 시작시와 같이 이용가능한 장기간 데이터가 없다는 것을 나타내는) 초기 추정인지 판정된다. 초기 추정이면, 흐름은 블록(426)으로 진행하여, Pnew_background가 제1 단계에서 계산된 Pwindow_background로 설정된다. 그 다음, 흐름은 블록(428)으로 진행하여, 적응 속도 R이 FAST-RATE로 설정된다. 그러나, 판정 다이아몬드(424)에서, 이것은 (장기간 데이터, 예를 들어 N개의 이전 샘플이 이용가능하기 때문에, Pnew_background가 이미 이용가능하다는 것을 나타내는) 초기 추정이 아니라는 것이 판정되고, 흐름은 판정 다이아몬드(430)로 진행한다. 초기 추정이 아니면, Pnew_background를 판정하는 프로세스는 w-count 윈도우마다 한번씩 행해진다. 그러므로, 판정 다이아몬드(430)에서는 윈도우 카운터가 w-count에 도달했다고 판정된다. 도달하지 않았으면, 흐름은 (도 18의) C 지점으로 진행한다. 그러나, 도달했으면, 흐름은 블록(432)으로 진행하여, Pnew_background가 계산된다. 그 다음, 흐름은 블록(434)으로 진행하여, 적응 속도 R이 판정된다. (Pnew_background및 R의 판정 상세는 도 19와 관련하여 더욱 설명될 것이다.) 흐름은 블록(436)으로 진행하여, 윈도우 카운터가 0으로 리셋된 다음에, 블록(438)으로 진행하여, Pmin_window_background가 0으로 리셋된다. 그 다음, 흐름은 C 지점으로 진행한다.
도 19는 Pnew_background가 이용가능할 때 Pnew_background및 R을 판정하는 방법을 나타낸 것이다. 도 19의 방법은 Pnew_background가 낮은 레벨에서 높은 레벨로의 큰 점프를 하지 못하게 하지만, 높은 레벨에서 낮은 레벨로 변경되는 경우에는 이러한 변경이 더 빠르기 때문에 그러한 제약을 두지 않는다. 그러므로, 한 실시예에서, Pnew_background는 2배의 Pbackground이하가 되도록 상한이 정해진다. 도 19의 방법은 또한 적응이 높은 레벨에서 낮은 레벨인 경우에 더 빠른 적응 속도(FAST-RATE)를 설정하고, 적응이 낮은 레벨에서 높은 레벨인 경우에 더 느린 적응 속도(SLOW-RATE)를 설정한다. 배경 잡음 레벨의 관점에서, 높은 레벨에서 낮은 레벨로의 다소 빠른 변경보다, 낮은 레벨에서 높은 레벨로의 느린 변경을 갖는 편이 음향이 더 좋기 때문에, 서로다른 속도가 사용된다.
도 17의 블록(432 및 434)의 부분을 나타낸 도 19에서, 흐름은 판정 다이아몬드(466)에서 시작하여, Pmin_window_background가 상수배의 Pbackground보다 큰지, 즉 "Pmin_window_background>상수*Pbackground인지가 판정되고, 한 실시예에서, 상수는 0.5이다. 크다면, 흐름은 블록(478)으로 진행하여, Pnew_background가 "(상수*Pmin_window_background)+위로 잡음 레벨"로 설정된다. 한 실시예에서, 블록(478)에서 상수는 2이다(여기에서 이 2는 앞 문자의 0.5에 대응한다). 흐름은 블록(480)으로 진행하여, 적응 속도가 SLOW-RATE로 설정된다. 그 다음, 흐름은 도 17의 블록(436)으로 진행한다.
판정 다이아몬드(466)에서, Pmin_window_background가 상수*Pbackground보다 크지 않으면, 흐름은 판정 다이아몬드(468)로 진행하여, Pmin_window_background가 Pbackground보다큰지 판정된다. 크다면, 흐름은 블록(474)으로 진행하여, Pnew_background가 Pmin_window_background로 설정된다. 그 다음, 흐름은 블록(476)으로 진행하여, 적응 속도 R이 SLOW-RATE로 설정된다. 그 다음, 흐름은 도 17의 블록(436)으로 진행한다. 그러나, 판정 다이아몬드(468)에서, Pmin_window_background가 Pbackground보다크지 않다고 판정되면, 흐름은 블록(470)으로 진행하여, Pnew_background가 "Pmin_window_background+위로 잡음 레벨"로 설정된다. 그 다음, 흐름은 블록(472)으로 진행하여, 적응 속도 R이 FAST-RATE로 설정된 다음에, 도 17의 블록(436)으로 진행한다.
그러므로, 위로 잡음 레벨(CNL)은 Pbackground또는 Pmin_window_background가 공교롭게 0이 될 때 Pnew_background가 정적상태로 되지 않도록 하기 위해 (블록(478 및 470)에서) 추가된다. 예를 들어, 한 실시예에서, CNL은 -66 dBm0으로 설정된다. 대안적으로, CNL은 -60 내지 -72 dBm0의 범위 내에 있을 수 있다. 또한, 도 19의 흐름이 전력 레벨 추정을 사용하여 실행되었지만, 동일한 흐름은 크기 추정을 사용하여 달성될 수 있다.
도 18은 본 발명의 한 실시예에 따라, 위에서 얻은 모든 레벨 추정치를 사용한 비선형 프로세서 제어 방법을 나타낸 것이다. 즉, 도 18은 비선형 프로세싱이 실행되는 도 9의 블록(230) 부분을 나타낸 것이다. 도 18에서, 흐름은 (예를 들어, 도 16의 블록(406), 블록(410), 또는 판정 다이아몬드(416)로부터, 또는 도 17의 블록(438)으로부터 도달될 수 있는 지점 C에서 시작된다. 지점 C로부터, 흐름은 판정 다이아몬드(440)로 계속되어, Perror가 비선형 프로세서 오프(NLP-OFF) 임계치보다 큰지 판정된다. 크다면, 흐름은 블록(452)으로 진행하여, NLP-OFF가 설정되고(비선형 프로세서(32)가 오프된 것을 나타냄), 그 다음에 블록(454)으로 진행하여, 잡음 램핑(ramping) 인수가 소정의 값으로 리셋된다. 잡음 램핑 인수는 낮은 레벨에서 높은 레벨로의 신호 레벨 전이를 평활하게 하기 위해 사용된다. (블록(454) 후에, 흐름은 도 9의 블록(232)으로 진행한다.) 판정 다이아몬드(440)에서, Perror가 NLP-OFF 임계치보다 크지 않으면, 흐름은 판정 다이아몬드(442)로 진행하여, Pbackground가 배경 임계치보다 큰지 판정된다. 크다면, 흐름은 블록(452)으로 진행하여, 비선형 프로세서(32)가 오프되고, 그 다음에 블록(454)으로 진행한다. 그러므로, 비선형 프로세서(32)는 Perror가 NLP-OFF 임계치보다 클 때 또는 Pbackground가 배경 임계치보다 클 때 오프된다. 한 실시예에서, NLP-OFF 임계치는 -27 dBm0으로 설정되고, 배경 임계치는 -39 dBm0으로 설정된다.
판정 다이아몬드(422)에서, Pbackground가 배경 임계치보다 크지 않다고 판정되면, 흐름은 판정 다이아몬드(444)로 진행하여, Perror가 비선형 프로세서 온(NLP-ON) 임계치보다 작은지 판정된다. 작다면, 흐름은 판정 다이아몬드(446)로 진행하여, AVG RRin이 PRin임계치보다 큰지 판정된다. 크다면, 흐름은 블록(448)으로 진행하여, NLP-ON이 설정된다(비선형 프로세서(32)가 온된 것을 나타냄). 그러므로, 비선형 프로세서(32)는 Perror가 NLP-ON 임계치보다 작고, AVG RRin이 PRin임계치보다 클 때 온된다. AVG RRin이 PRin임계치보다 크다는 조건은 비선형 프로세서가 필요할 때만 확실하게 온되게 한다(왜냐하면, 현저한 반향은 오로지 원단 송화자 신호가 비교적 강한 경우일 수 있기 때문이다). 한편, Perror가 NLP-ON 임계치보다 작다는 조건은 더욱 확실하게, 잔류 반향이 작아지게 하고, 근단 송화자 신호가 제거될 잔류 반향으로 잘못 간주되지 않게 한다. 그러므로, 한 실시예에서, PRin임계치는 -36 dBm0으로 설정되고, NLP-ON 임계치는 -42 dBm0으로 설정된다. 그러나, 대안적인 실시예에서, 그것들은 적절한 값으로 설정될 수 있다.
상술된 실시예에서, NLP-OFF 임계치와 NLP-ON 임계치 사이의 차(한 실시예에서, -15 dBm0)는 NLP-ON과 NLP-OFF 사이의 급격한 스위칭을 방지하는 것을 돕는 비선형 프로세서(32)의 "불변대(dead zone)"이다.
(판정 다이아몬드(444)에서) Perror가 NLP-ON 임계치보다 작지 않거나, (판정 다이아몬드(446)에서) AVG RRin이 PRin임계치보다 크지 않다고 판정되면, 흐름은 판정 다이아몬드(450)로 진행하여, NLP-ON이 설정되는지(즉, 비선형 프로세서(32)가 온인지) 판정된다. NLP-ON이 설정되지 않으면, 흐름은 도 9의 블록(232)으로 진행하지만, 설정되면(또는 현존하는 블록(448)에서 나간 후이면), 흐름은 판정 다이아몬드(456)로 진행하여, 위로 잡음이 온인지 판정된다. 온이 아니면, 흐름은 도 9의 블록(232)으로 진행하지만, 온이면, 흐름은 블록(458)으로 진행하여, 위로 잡음이 생성된다. 블록(458) 후에, 흐름은 블록(460)으로 진행하여, 위로 잡음 레벨이 판정된 다음에, 블록(462)으로 진행하여, 위로 잡음이 배경 잡음과 혼합된다. 그 다음, 흐름은 블록(464)으로 진행하여, 잡음 램핑 인수가 적응되고, 도 9의 블록(232)으로 진행한다.
그러므로, 위로 잡음 신호는 비선형 프로세서(32)가 온일 때 생성될 수 있다. 백색 잡음은 일상적인 수명의 참 배경 잡음 신호와 스펙트럼으로 전혀 다르기 때문에 일반적으로 위로 잡음을 위한 바람직한 선택은 아니다. 그러므로, 본 발명의 몇몇 실시예는 위로 잡음으로서 핑크(pink) 잡음, 브라운(brown) 잡음 또는 호스(Horth) 잡음을 사용한다. 예를 들어, 한 실시예에서, 핑크 잡음은 계산면에서 복잡도가 낮기 때문에 선택된다. 핑크형 잡음은 아래 수학식 13에 표시된 바와 같이 균일하게 분포된 의사 랜덤 변수 X의 2개의 연속적인 실현을 사용함으로써 (예를 들어, 블록(458)에서) 생성된다.
상기 수학식 13에서, X(n)은 시간 n에서 생성된 의사 랜덤 변수(-1≤X(n)<1)이고, C1및 C2는 2개의 랜덤 샘플의 혼합을 변경하는 상수이며, Ypink의 크기 Ypink(n)은 시간 n에서 생성되는 핑크형 잡음 샘플이다. 2개의 상수 C1및 C2는 핑크 잡음 신호의 평균 전력 레벨이 확실하게 Pbackground보다 약 2 dB 낮도록 선택된다. 예를 들어, 한 실시예에서, C1및 C2는 각각 0.75 및 1로 선택된다. 그러므로, 한 실시예에서, 위로 잡음 매칭 레벨은 추정된 배경 잡음 레벨보다 0에서 4 dB까지의 범위에 있다.
그 다음, 생성된 위로 잡음 Ypink는 이 실시예에서, 아래 수학식 14에 표시된 바와 같이 배경 잡음과 혼합된다(도 18의 블록(462)도 참조).
상기 수학식 14에서, A는 (블록(460)에 대응하여) 매칭될 배경 잡음 레벨의 크기이다. 예를 들어, 한 실시예에서, A=(Pbackground)의 제곱근이다. 대안적인 실시예에서, Pbackground가 전력이 아닌 크기로 표시되면, A=Pbackground이다. 수학식 14에서, α(n)은 비선형 프로세서(32)의 온셋(onset) 시에 한 레벨에서 다른 레벨로의 평활화 전이를 고려한 시간 n에서의 잡음 램핑 인수(0≤α<1)이고, Sout(n)은 시간 n에서의 비선형 프로세서(32)의 최종 출력이다(즉, Sout(n)은 도 2의 Sout(42)이다). (블록(464)에서 적응된) 잡음 램핑 인수는 수학식 15에 표시된 바와 같이 샘플마다 계산된다.
α(n)=b*α(n-1)
수학식 15에서, b는 1 미만으로 선택된 램핑 상수이다. 한 실시예에서는, 500 ms에서 대략 절반으로 감쇠하는 대략 0.9986인데, 그것은 0.9986500=0.496이기 때문이다. 이 램핑 프로세스 동안에, Sout(n)은 (도 2에서 Sin(39)-에러 추정 신호(48)인) 에러 신호(46)로부터 시작하여, 램핑 프로세스가 계속되면, α(n)이 1에서 0으로 변경될 때 A*Ypink(n)으로 점차 전환한다. 램핑은 비선형 프로세서(32)의 온셋 및 오프셋 둘다에 적용될 수 있다. 그러나, 한 실시예에서, 램핑은 비선형 프로세서(32)의 온셋에만 적용될 수 있다. 그 이유는 비선형 프로세서(32)가 오프될 때, 통상적으로 중요한 레벨의 근단 송화자 신호를 검출하고, 위로 잡음(한 실시예에서, 핑크 잡음 신호)에서 근단 송화자 신호로 다시 점차 전환하는 것이 바람직하지 않을 수 있기 때문이다. 그러나, 대안적인 실시예는 비선형 프로세서(32)가 온 및 오프될 때 이 램핑을 적용할 수 있다.
도 7은 순수 지연을 추정하는 기능을 하는 모니터 및 제어 유닛(30)의 부분을 도시한 것이다. 순수 지연 추정은 상술된 바와 같이, 적응 필터(28)의 탭의 수를 감소시켜서, 더 작은 계산 노력으로 더 빠르고 더 깊은 수렴을 얻고자 하는 것이다. 즉, 도 7에 도시된 모니터 및 제어 유닛(30)의 부분 및 도 20 내지 24의 흐름도는 순수 지연을 검출하고 스파스 윈도우를 위치설정하는데 사용될 수 있다(도 9의 블록(211)). 한 실시예에서, 순수 지연은 검출되고, 적절한 크기를 갖는 필터링 윈도우(스파스 윈도우)는 적응 필터(28)의 길이(즉, 탭의 수)가 감소되도록 위치설정된다. 그러므로, 도 7은 도 20 내지 24의 흐름과 관련하여 설명될 수 있다.
도 7 및 20 내지 24는 반향 소거기(20) 내의 스파스 윈도우의 동적 위치설정을 위한 반향 신호의 순수 지연(즉, 도 37의 T1)의 추정을 달성하기 위해 사용된 한 실시예를 제공한다. 순수 지연 추정은 후술되는 바와 같이 완전-윈도우 적응 필터를 적절하게 위치설정된 협-윈도우 적응 필터로 대체함으로써 큰 반향 경로 지연 범위를 커버하는 것과 관련된 계산 비용을 줄이기 위해 실행된다. 즉, T1 및 T4+T2를 커버할 만큼 충분히 큰, 도 37의 전체 임펄스 응답을 커버하는 완전-윈도우 적응 필터를 사용하는 것보다, 작은 윈도우(스파스 윈도우)가 사용될 수 있는데, 그것은 순수 지연 부분을 제외하고, 중요한 응답이 발생하는 부분인 T4+T2를 획득하기 위해 위치설정된다. 또한, 순수 지연 추정은 더 짧은 길이의 적응 필터를 사용하여 적응 필터(28)의 깊이 및 수렴 속도를 증가시킨다. 또한, 순수 지연 추정은 (예를 들어, 전화 통화 동안에) 반향의 순수 지연의 변화를 동적으로 모니터하고, 그에 따라 적응 필터 윈도우(예를 들어, 스파스 윈도우)를 조정하기 위해 사용될 수 있다.
여기에서 설명될 실시예는 능동적인 방법(예를 들어, 일반적으로, 300 ms 지속되는 정적상태가 저레벨 프로빙(proving) 신호를 삽입하여 순수 지연을 판정할 만큼 충분히 긴 경우에, 양방향에서 정적상태가 시작되는 통화의 순수 지연을 설정하기 위해 통화 시작시에 짧은 협대역의 매우 낮은 레벨 잡음 펄스를 삽입함과 동시에, 서브-속도 적응을 실행하는 것)뿐만 아니라 수동적인 방법(예를 들어, 속도 신호만을 사용하는 서브-속도 필터 적응)을 포함할 수 있다. 여기에서 설명될 실시예는 또한 순수 지연을 처리하는 2개의 시나리오를 포함한다. 제1 시나리오는 전화 통화의 시작에 관한 것으로, 서비스의 품질(QoS) 원리가 즉시 반향 감소를 요구한다. 제2 시나리오는 전화 통화 도중의 반향 경로의 변경에 관한 것이다. 전형적으로, 스파스 윈도우(및 관련된 순수 지연)은 전화 통화 기간 전체를 통해 변하지 않는다. 그러나, 몇몇 통화(특히, 예를 들어, '통화 전송' 또는 '회의 통화' 특징이 활성화되는 것들)에서, 순수 지연은 상당히 변화할 수 있다. 그러므로, 여기에 설명된 여러 실시예는 초 당 1개까지의 순수 지연의 변화에 대응하는 순수 지연의 원동력을 지원한다. 여기에 설명된 실시예는 전화가 대기중인지 통화중인지 판단해서 통화의 시작 또는 끝을 판단하기 위해 제어 신호부(17)를 통해 제공된 독점적(즉, 비표준) 신호표시를 사용할 수 있다.
도 7 및 도 20 내지 24의 실시예는 계산적으로 효율적인 순수 지연의 추정을 고려한 서브-속도 적응 프로세스를 사용할 수 있다. 그러나, 대안적인 실시예는 서브-속도 프로세스를 사용할 수 없다. 또한, 한 실시예에서, 본래 가변적인 순수 지연의 추정을 처리하기 위해, 순수 지연의 미가공 측정 결과는 적응 필터(28)에 복귀되기 전에 비선형으로 필터될 수 있다(즉, 판정 또는 조건 프로세스를 사용하여 프로세스될 수 있고, 그것의 한 예는 도 23과 관련하여 설명될 것이다). 상술된 서브-속도 프로세스는 NLMS(정규화된 최소 평균 제곱) 적응 필터(도 7의 적응 필터(122))를 사용할 수 있다. 그러나, 적응 필터(122)는 이러한 유형의 적응 필터링에 제한되지 않는다. 예를 들어, PNLMS, RLS 또는 다른 적응 필터가 사용될 수 있다. NLMS 적응 필터링 알고리즘은 일반적으로 간단하고, 수용가능한 수렴 특성을 갖는다는 것을 알기바란다. 다른 적응 필터 알고리즘은 계산적으로 더 많은 것을 요구하고 있다. PNLMS(Proportionate Normalized LMS) 알고리즘은 적당한 계산 비용으로 수렴 특성의 확실한 개선을 제공한다. RLS(Recursive Least Square) 적응 알고리즘은 일반적으로 상당히 빠르다(하지만, 계산 비용은 역시 상당히 비싸다). 그러나, 그것은 수치 에러에 민감하고, 수치 불안정성을 드러낸다. (서브밴드, 유사변환 및 그 변형과 같은) 다른 적응 필터들은 수렴 특성의 관점에서 더욱 매력적일 수 있지만; NLMS와 비교하면, 그들은 계산적으로 더 많은 것을 요구하고 있다. 그러나, 여기에 설명된 실시예는 NLMS 적응 필터링의 사용에 제한되지 않는다. 서브-속도 적응 필터뿐만 아니라 메인-속도 적응 필터는 다른 유형의 적응 필터링 솔루션에 기초하게 될 수 있다.
순수 지연 추정은 (잡음 또는 근단 토크에 의해 영향을 받을 때) 본래 신뢰성이 없게 될 수 있는 측정치의 생성 및 이에 의해 서브-속도 적응 필터(122)의 수렴을 야기할 수 있는 가능성을 방지하기 위해 단기간 서브-속도 신호 전력 추정 및 서브-속도 근단 송화자 신호 검출과 같은 메카니즘에 의해 제어될 수 있다. 잘못된 계수의 전개를 방지하기 위해 Sgen의 검출 시에 적응 프로세스가 정지되는 적응필터(28)와 관련하여 상술된 것과 같이, 동일한 원리가 순수 지연 판정에 사용된 적응 필터(122)에 적용될 수 있다는 것을 알기바란다.
적응 필터 길이의 단축 이외에, 순수 지연의 추정은, 예를 들어, 원단 반향 소거기가 오프될 때, (통화 전송 특징 등을 거치는 것과 같이) 통화가 시내에서 장거리로 전환될 때, 회의 통화 동작이 큰 지역을 통해 분산된 통화하는/통화한 당사자들을 가질 때 등과 같은 다른 상황을 처리하는데 사용될 수 있다.
도 7은 추정된 지연(130)을 제공하기 위해 사용된 모니터 및 제어 유닛(30)의 일부분을 블록도 형태로 도시한 것이다. 적응 필터(122)(서브 프로세싱을 이용하는 한 실시예에서, 서브-속도 적응 필터임)는 전화 통화의 지속시간을 통해 연속적으로 대역-통과 임펄스 응답의 단기간 추정을 제공한다. 임펄스 응답의 순수 지연 측정치는 상술된 바와 같이 비선형 필터일 수 있는 조건 프로세스 또는 판정 블록(예를 들어, 도 23)을 사용하여 계속 필터될 수 있다. 이 필터는 통화 시작 시에 순수 지연의 빠른 판정을 고려하고, 새로운 값의 유효화에 관련된 새로운 순수 지연 값 통과 기준이 제공된 통화 도중에 순수 지연 또는 새로운 순수 지연 선택의 조정을 고려한 것이다. 즉, 반향의 발생을 최소화하기 위해, 통화 도중에 한 순수 지연에서 다른 지연으로의 전환은 순수 지연 측정의 적절한 검증에 기초하게 될 수 있다. 한 실시예에서, 검증은 (서브-속도 임펄스 응답 최대 값의 위치에 관한 3개 이상의 측정 결과를 분석함으로써) 통과 도중에 순수 지연을 변경하는 지속력있는 메카니즘을 제공한다.
선택적 버전에서, 도 24와 관련하여 설명되는 바와 같이, 반향 소거기(20)는모니터링 모드로 동작할 수 있다. 이 모드에서, 도 7의 시스템은 전화 통화 시작시에만 활성화되고(즉, 순수지연이 추정되고), 그 다음에, 소정의 조건이 부합되면, 휴지 상태로 들어간다. 휴지 상태 동안에, ERLE 추정기는 임계치에 대해 적응 필터(28)에 대응하는 ERLE를 연속으로 확인하고, ERLE가 임계치 이하로 떨어져서, 소정의 지속시간 동안 그대로 있으면, 도 7의 시스템은 능동 모드로 되돌아와서 순수 지연을 계속 추정한다.
도 20의 흐름은 순수 지연 추정 옵션이 활성화되는지는 판정되는 판정 다이아몬드(482)에서 시작된다. 이 옵션은 반향 소거기(20) 내에 프로그램되는 세팅에 대응할 수 있다는 것을 알기바란다. 이 경우에, 옵션이 활성화되는 지의 판정은 도 20에 나타낸 바와 같이 샘플마다 행해질 필요가 없다. 대안적인 실시예에서, 판정 다이아몬드(482)의 판정은 전화 통화의 시작 시에 행해질 수 있다. 그러나, 순수 지연 추정 옵션이 활성화되는 경우에만 흐름은 판정 다이아몬드(483)로 진행한다. (통화 시작 시에 판정되든 샘플마다 판정되든) 활성화되지 않으면, 흐름은 순수 지연 추정이 실행될 수 없기 때문에 도 9의 블록(213)으로 진행한다.
판정 다이아몬드(483)는 통화 시작 시의 선택적인 트레이닝이 활성화되는지 판정한다. 순수 지연 추정에서와 같이, 트레이닝 옵션은 반향 소거기(20) 내로 프로그램될 수 있으므로, 도 20에 도시된 바와 같이 각 샘플에서보다 오히려 전화 통화 시작 시에 확인될 수 있다. 선택적 트레이닝이 활성화되지 않으면, 흐름은 판정 다이아몬드(484)로 진행한다. 그러나, 선택적 트레이닝이 활성화되면, 흐름은 판정 다이아몬드(497)로 진행한다. 요약하면, 선택적 트레이닝이 활성화되지 않으면, 도 20의 흐름은 필요하지 않다. 이와 마찬가지로, 순수 지연 추정 옵션이 활성화되지 않으면, 도 20 및 21의 흐름은 필요하지 않다. 그러므로, 반향 소거기(20)는 선택된 옵션 및 세팅에 따라 여러가지 다른 방식으로 동작할 수 있다.
또한, 각 전화 통화의 시작 시에, 다수의 변수는 도 20-24의 흐름에서 사용하기 위해 초기화될 수 있다는 것을 알기바란다. 예를 들어, 한 실시예에서, 트레이닝 바이패스 플래그는 거짓(FALSE)으로 설정되고, 순수 지연 샘플 카운터는 리셋되며, 트레이닝 인덱스는 리셋되고, ERLE 카운터는 리셋된다. 이들 변수는 도 20-24의 흐름을 통해 설명될 것이다. 또한, 몇몇 값들은 반향 소거기(20) 내에 프로그램되거나 설정될 수 있다. 예를 들어, 측정 사이클 N은 각 통화 시작 시에 특정 값으로 초기화되거나 반향 소거기(20) 내에 설정될 수 있다. 이 설명서 전반에서 설명된 다른 변수들은 통화 시작 시에 초기화되거나, 반향 소거기(20) 내에 (영구적으로 또는 비영구적으로) 설정되거나 프로그램될 수 있다는 것을 알기바란다.
판정 다이아몬드(483)에서, 통화 시작 시의 선택적 트레이닝이 활성화되면, 흐름은 판정 다이아몬드(497)로 진행한다. 선택적 트레이닝은 순수 지연이 통화 시작 시에 추정될 수 있게 한다. 통화 시작 직후에는 일반적으로 아직 대화가 없기 때문에, 트레이닝 신호는 Rin(43) 내로 삽입되어, Rout(40)을 생성한다(가산기(36)를 통해 Rin(43)내로 삽입될 수 있는 도 2의 트레이닝 신호(41) 참조). 즉, 적절한 Rin(43) 에너지가 없을 때는 순수 지연을 판정할 수 없으므로; 트레이닝 신호(41)의 삽입은 순수 지연 추정을 판정하기 위해 사용될 수 있다. 일반적으로, 트레이닝 신호(41)는 대화하기 이전에 전화 통화 시작 시에 삽입되는 비교적 낮은에너지의 짧은 버스트(burst)이다. 즉, 트레이닝 신호(41)는, 한 실시예에서 -30 dBm0 내지 -55 dBm0의 범위에 있는 삽입 임계치보다 작다. 그러므로, 선택적 트레이닝이 활성화되면, 흐름은 판정 다이아몬드(497)로 진행하여, 트레이닝 바이패스 플래그가 참(TRUE)인지 판정된다. 참이면, 흐름은 도 21의 판정 다이아몬드(484)로 진행하여, 트레이닝을 모두 함께 바이패스하고, 후술되는 바와 같이 도 21의 순수 지연 추정을 계속한다.
판정 다이아몬드(497)에서, 트레이닝 바이패스 플래그가 참으로 설정되지 않으면, 흐름은 판정 다이아몬드(499)로 진행하여, 트레이닝 인덱스가 2보다 작거나 같은지 판정된다. 트레이닝 인덱스는 트레이닝 신호가 사용되는 경우에 통화 시작 시에만 삽입될 것을 보장한다. 상술된 바와 같이, 트레이닝 인덱스는 통화 시작 시에 리셋될 수 있으므로, 첫번째의 판정 다이아몬드(499) 도달시에, 트레이닝 인덱스는 (원래 0으로 리셋되기 때문에) 1보다 작거나 같아야 된다. 하지만, 후술되는 바와 같이, (한 실시예에서, 300 밀리초인) 제1 측정 사이클 후에, 트레이닝 인덱스는 (예를 들어, 도 21의 블록(505)에서) 1로 증분될 것이다. 이것은 여전히 트레이닝 인덱스가 1보다 작거나 같기 때문에 트레이닝 신호의 삽입을 고려한 것이다. 그러나, 후속 측정 사이클 후, 트레이닝 인덱스는 (예를 들어, 도 21의 블록(505)에서) 2로 증분될 것이고, 이 시점에서부터, 판정 다이아몬드(499)에서, 흐름은 더 이상 트레이닝 신호(41)의 삽입 가능성없이 도 21의 판정 다이아몬드(484)로 진행할 것인데, 그것은 2의 트레이닝 인덱스가 더 이상 통화 시작이 고려되지 않는다는 것을 나타내기 때문이다. 트레이닝 신호가 통화 당사자에게 들릴 수 있기 때문에, 트레이닝 신호를 통화 시작 이외의 다른 시간에 삽입하는 것은 일반적으로 바람직하지 않다.
판정 다이아몬드에서, 트레이닝 인덱스가 1보다 작거나 같으면, 흐름은 블록(489)으로 진행하여, 여전히 통화 시작으로 간주된다는 것을 나타낸다. 블록(489)에서, Sin 및 Rin의 장기간 전력(PSin및 PRin)이 계산된다(상술된 수학식 1, 3 및 4를 사용하여 행해질 수 있다). 그 다음, 흐름은 판정 다이몬드(490)로 진행하여, PSin이 PSin임계치보다 작고 PRin이 PRin임계치보다 작은지 판정된다. (PSin이 PSin임계치보다 작은지의) 제1 확인은 근단 송화자 신호 Sgen이 없다는 것을 보장한다. 한 실시예에서, 이 PSin은 -50 dBm0이다. (PRin이 PRin임계치보다 작은지의) 제2 확인은 원단 송화자 신호가 없다는 것을 보장한다. 한 실시예에서, 이 PRin은 -50 dBm0이다. 2개의 조건이 부합되면, 흐름은 블록(492)로 진행하여, 대화가 아직 시작되지 않았고 트레이닝 신호가 삽입될 수 있다는 것을 나타낸다. 그러므로, 블록(492)에서, 트레이닝 신호가 삽입되거나(예를 들어, 도 2의 트레이닝 신호(41)), 이것이 블록(492)을 통한 제2 과정이면 계속 삽입될 수 있다. 그러나, 판정 다이아몬드(490)에서, 2개의 조건이 부합되지 않으면, 흐름은 블록(495)으로 진행하여, 트레이닝 신호 플래그가 참(TRUE)으로 설정된다. 즉, PSin또는 PRin이 그들 각각의 임계치를 초과하면, 트레이닝은 트레이닝 인덱스에 상관없이 (판정 다이아몬드(497)에서) 바이패스되므로, 트레이닝 신호가 현재 통화 동안에 삽입되지 않게 한다. 블록(495 및 492) 후에, 흐름은 도 21의 판정 다이아몬드(484)로 진행한다.
도 21은 순수 지연 추정을 실행하는 한 실시예를 나타낸 것이다. 도 21의 흐름은 흐름이 D 샘플마다 시작되도록 서브-속도 프로세싱을 사용하고, D는 도 7의 데시메이터(106 및 110)에 대응한다. 예를 들어, 한 실시예에서, D는 8이어서, 단지 Rin(44) 및 Sin(38)의 8번째 샘플마다 프로세스된다. 그러나, 대안적인 실시예에서, D는 (모든 샘플이 프로세스되기 때문에 서브-속도 프로세싱이 사용되지 않는다는 것을 나타내는 1을 포함하여) 임의의 값일 수 있다. 그러므로, D번째마다의 샘플은 서브-속도 샘플로 간주된다. 순수 지연 샘플 카운터는 D번째 마다의 샘플을 획득하기 위해 Rin(44) 및 Sin(38)의 인입 샘플의 추적을 유지하는데 사용된다. 일반적으로, 순수 지연 샘플 카운터는 각 샘플 후에 증분되고, D번째 샘플마다 리셋된다. 순수 지연 샘플 카운터는 또한 상술된 바와 같이 통화 시작 시에 리셋될 수 있다. 또한, 지연 샘플 카운터는 여기에서 설명된 다른 흐름의 샘플 카운터와 공유될 수 있고, 또는 순수 지연을 추정하기 위해서만 사용된 특정 카운터일 수 있다.
판정 다이아몬드(484)에서, 순수 지연 샘플 카운터가 D-1과 같은지 판정된다. 순수 지연 샘플 카운터가 리셋되는(예를 들어, 0으로 설정되는) 실시예에서, D-1의 도달은 D번째 샘플의 도달에 대응한다는 것을 알기바란다. 그러나, 대안적인 실시예에서, 순수 지연 샘플 카운터는 1로 초기화될 수 있고, D-1보다 D에 대해 확인될 수 있다. 또한, 다른 실시예는 순수 지연 샘플 카운터를 D 또는 D-1로 초기화하고, 1 또는 0에 각각 도달할 때까지 감소될 수 있다. 그러므로, 데시메이션필터 및 데시메이터의 여러 실시예는 도 7의 데시메이션 필터(104 및 108) 및 데시메이터(106 및 110)에 사용될 수 있다. 또한, 데시메이터(106)의 출력은 RinSR로서 칭해질 수 있는 Rin(44)의 서브-속도 샘플이고, 데시메이터(110)의 출력은 SinSR로서 칭해질 수 있는 Sin(38)의 서브-속도 샘플이다.
판정 다이아몬드(484)에서, 순수 지연 샘플 카운터가 아직 D-1에 도달하지 않았다고 판정되면, 흐름은 블록(502)으로 진행하여, 순수 지연 샘플 카운터가 1씩 증분되고, 흐름은 도 9의 블록(213)으로 진행한다. 그러나, 순수 지연 샘플 카운터가 D-1에 도달했으면, 흐름은 판정 다이아몬드(484)에서 블록(491)으로 진행하여, 서브-속도 샘플이 도달되었다는 것을 나타낸다. 블록(491)에서, 순수 지연 샘플 카운터는 상술된 바와 같이 다음의 서브-속도 샘플을 검출하기 위해 리셋된다.
흐름은 블록(485)으로 진행하여, 서브-속도 Rin의 전력(PRinSR), 서브-속도 Sin의 전력(PSinSR), 및 서브-속도 근단 송화자 검출 플래그(sr-near-end-detect-flag)가 결정된다. 예를 들어, 다음 수학식은 PRinSR, PSinSR및 PerrorSR(k)를 결정하기 위해 사용될 수 있다.
상기 수학식(16-18)에서, k는 예를 들어, SinSR(k)=Sin(k·D)가 되게 하는 신호 서브-속도 샘플 수이다. 수학식 18은 블록(494)과 관련하여 후술될 수 있고, 도 7의 서브-속도 적응 필터(122)에 의해 판정되는 서브 속도 반향 추정치 y(k)와 SinSR 사이의 차에 대응하는 서브-속도 에러 errorSR에 대응한다. 그러므로, errorSR(k) 및 PerrorSR(k)는 더욱 상세하게 후술될 것이다. 또한, 상기 수학식의 한 실시예에서, α는 전화통신 채널에서 관찰된 인간 음성의 통계치에 대응하는 1/280로 설정되고; 1/280은 필터 대역폭의 관점에서 대략 70 밀리초 슬라이딩 윈도우 평균에 대응한다는 것을 알기바란다. 그러나, 대안적인 실시예는 다른 알파값을 사용할 수 있다. (상기 서브-속도 전력 계산은 도 7의 전력 추정기(118) 및 전력 추정기(120)에 의해 계산될 수 있다는 것을 알기바란다.)
sr-near-end-detect-flag의 결정은 도 1에 관해 상술된 근단 신호 검출과 유사하게 행해질 수 있다. 그러므로, PerrorSR(k)와 PSinSR(k) 중의 최소치는 NESD 서브-속도 임계치(NESD-SR-Threshold)에 비교되어, 근단 송화자 신호(Sgen)가 존재하는지 판정된다. 존재하면, sr-near-end-detect-flag는 참으로 판정되고, 참(TRUE)으로 설정된다. 이 플래그는, 근단 송화자 신호가 존재하면, 상술된 바와 같이, Sin(38)이 더 이상 순수 잔류 반향을 나타내지 않고 그 대신 Sgen과 잔류 반향의 혼합을나타내기 때문에, 서브-속도 필터(122)의 필터 계수 갱신을 바이패스하기 위해 사용된다. 그러므로, 적응 필터(28)와 관련하여 상술된 바와 같이, 서브-속도 적응 필터(122)는 SinSR이 서브-속도 반향만을 포함할 때만(즉, 근단 송화자 신호가 존재하지 않을 때만) 적응해야 한다. 또한, 적응 필터(28)와 관련하여 상술된 바와 같이, 서브-속도 적응 필터(122)는 PRinSR이 채널 잡음에 대한 적응을 방지하기 위해 충분히 높을 때 적응해야 한다.
적응 필터(28)와 관련하여 상술된 바와 같이, 근단 송화자 신호는 단일 토크 및 이중 토크 상황 동안에 검출될 수 있다. 즉, 상기 알고리즘을 사용하여, Sgen은 근단 송화자만 존재하거나, 근단 및 원단 송화자들이 존재할 때 검출될 수 있다. 또한, 대안적인 실시예는 근단 송화자 신호가 존재하는지 판정하기 위해 다른 방법을 사용할 수 있다. 예를 들어, 한 실시예는 근단 송화자 신호를 검출하기 위한 분야에 공지된 Geigel 알고리즘을 사용할 수 있다.
블록(485)에서, 흐름은 판정 다이아몬드(486)로 진행하여, PRinSR이 서브 속도 Rin의 최소 전력 임계치보다 큰지 판정된다. 크지 않으면, 흐름은 도 9의 블록(213)으로 진행하여, 서브-속도 적응 필터(122)의 갱신을 바이패스한다. 상술된 바와 같이, 이것은 서브 속도 적응 필터(28)가 채널 잡음에 적응하지 못하게 한다. 한 실시예에서, 서브-속도 Rin의 최소 전력 임계치는 -45 dBm0으로 설정된다. 최소 임계치가 부합되면, 흐름은 판정 다이아몬드(487)로 진행하여, sr-near-end-detect-flag가 거짓(FALSE)인지 판정된다. 최소 임계치가 부합되지 않으면, 흐름은도 9의 블록(213)으로 진행하여, 앞 단락에서 설명된 바와 같이, 근단 송화자 신호의 존재로 인해 서브-속도 적응 필터(122)의 갱신을 바이패스한다. sr-near-end-detect-flag가 거짓이면, 흐름은 블록(494)으로 진행하여, PRinSR이 충분하고, 근단 송화자 신호가 존재한다는 것을 나타낸다.
블록(494)에서, 서보 속도 반향 추정치 y(k)가 계산된 다음에, 블록(496)에서, 서브 속도 적응 필터(122)의 계수가 갱신된다. 한 실시예에서, 변경된 NLMS 알고리즘(서브-속도 프로세스에서 사용하기 위해 변경됨)은 반향 추정치 y(k)를 계산하여 계수를 갱신하기 위해 사용될 수 있다.
상기 수학식 19는 입력 신호 X의 FIR 필터링을 나타내고, X(k)=[x(k),x(k-1),...,x(k-N+1)]T는 FIR 필터 스팬의 지속시간동안 확장하는 (서브-속도 D에서의) 입력 신호 벡터이다. 그러므로, x(n)=RinSR(n)이다. 또한, 수학식 19에서, H(k)는 k번째 반복에 대한 (서브-속도 샘플링에서의) 필터 계수 벡터이다.
상기 수학식 21은 NLMS 알고리즘에 의한 필터 계수 갱신식을 나타내고, NLMS 서브-속도 step-size는 다음과 같이 표현될 수 있다.
수학식 22에서, β는 적응 상수이고, γ는 PRinSR(k)가 일시적으로 작아질 때 적응 공식 내의 갱신 항이 지나치게 크게 되지 않게 보장하는 '보호' 항이고, PSinSr(k)는 서브-속도 샘플링에서의 입력 신호 전력이다(수학식 16 참조).
상기 수학식에서, RinSR은 필터되고 데시메이트된 원단 신호(도 7의 데시메이터(106)의 출력에 대응함)에 대응하고, SinSR은 (도 7의 데시메이터(110)의 출력에서의) 필터되고 데시메이트된 반향 신호이다. Sen이 존재하지 않는 시간동안, Sin(38)은 잔류 반향만을 포함하므로, 데시메이터(110)에서의 SinSR은 필터되고 데시메이트된 반향 신호로서 사용될 수 있다는 것을 알기바란다. (수학식 19와 관련하여 설명된) 변수 H는 서브-속도 적응 필터(122) 계수 추정치를 나타내는 열 벡터에 대응하고, H 다음의 "T"는 벡터 교차를 나타낸다. 신호 y는 적응 필터(122)에 의해 제공된 SinSR의 추정치를 나타내고, errorSR은 SinSR과 y 사이의 차이다. 또한, 한 실시예에서, β는 2-9*2.5로 설정되고, α는 1/128로 설정된다. 한 실시예에서, γ는 (PRinSR(k)에 비해) 작은 값으로 설정된다. 예를 들어, PRinSR(k)가 16비트 소수로 표시되면, γ의 전형적인 값은 k·2-15이고, k는 작은 정수이다.
그 다음, 흐름은 판정 다이아몬드(498)로 진행하여, n이 N과 같은지 판정되고, 현재 실시예에서, N은 단일 측정 사이클의 지속시간에 대응한다. 한 실시예에서, N은 300ms에 대응하므로, (D=8이라고 하면) 300 서브-속도 샘플에 대응한다. 예를 들어, 신호(예를 들어, Rin(44) 및 Sin(38))가 8 kHz의 비율로 샘플링되고 있으면, 샘플은 125 마이크로초마다 수신된다. 현재의 예에서, D는 8이므로; D번째마다의 샘플은 8*125마이크로초에 대응하고, 이것은 1 밀리초와 같다. 그러므로, N개마다의 서브-속도 샘플에서, 흐름은 블록(503, 500 및 510)으로 진행하고, 현재 실시예에서, N은 300이 되어, 300*1 밀리초가 300 밀리초가 된다. 그러므로, N은 소정의 지속시간을 갖는 시간 윈도우로서, 또는 블록(500 및 501)에서의 추정된 지연을 결정하기 이전에 프로세스되어야 하는 서브-속도 샘플의 소정의 수로서 정의될 수 있다. N 값은 반향 소거기(20) 내에 프로그램되거나 설정될 수 있고, 새로 추정된 지연 값을 계산하는 원하는 빈도에 따라 임의의 다른 값일 수 있다. N은 서브-속도 적응 필터(122)에 대한 수렴 시간(즉, 단기간 수렴 시간)에 대응한다. 예를 들어, (한 실시예에서, 기본 샘플링 비율이 8 kHz라고 하면, 128 밀리초의 윈도우 크기와 같은 1024*125 마이크로초에 대응하는) 1024 샘플의 윈도우가 (도 37에서의 T3과 같은) 임펄스 응답을 획득하기 위해 사용되면, 1024/D 서브-속도 샘플이 취해진다(예를 들어, 현재 실시예에서, 1024/8=128서브-속도 샘플). 즉, 현재실시예는 300 ms의 수렴 시간이 (반향 소거기의 Rin-Sin 종료로부터 알 수 있는) 채널의 서브-속도 임펄스 응답의 128 서브-속도 샘플의 값을 달성하여 그 최대값을 찾을 수 있게 한다. 하지만, 상술된 바와 같이, 대안적인 실시예는 상이한 수렴 시간(즉, 상이한 크기 측정 사이클 N), 상이한 윈도우 크기(즉, 1024 기본 비율 샘플 또는 128 밀리초에 제한되지 않음), 상이한 서브-속도(D가 1을 포함하는 임의의 값일 수 있음), 및 8 kHz 이외의 다른 샘플링 비율을 사용할 수 있다.
판정 다이아몬드(498)에서, (통화 시작 시에 예를 들어 1 또는 0과 같은 개시값으로 초기화될 수 있는) 인덱스 n이 아직 N에 도달하지 않았다고 판정되면, 흐름은 블록(502)으로 진행하여, n이 증분되고, 흐름은 도 9의 블록(213)으로 계속된다. 그러나, 판정 다이아몬드(498)에서, 300 샘플이 (300 밀리초의 지속시간에 대응하여) 프로세스되었다는 것을 나타내는, n이 N과 같다고 판정되면, 흐름은 블록(503)으로 진행하여, n이 1로 초기화되고, 다른 측정 사이클 변수가 또한 초기화된다(예를 들어, PRinSR, PSinSR, sr-near-end-detect-flag 등). 그 다음, 흐름은 판정 다이아몬드(504)로 진행하여, 트레이닝 인덱스가 2인지 판정된다. 그렇다면, 흐름은 블록(500)으로 진행하여, 블럭(505)을 바이패스한다. 그러나, 트레이닝 인덱스가 2가 아니면, 흐름은 블록(505)으로 진행하여, 트레이닝 인덱스가 증분된다. 도 20과 관련하여 상술된 바와 같이, 트레이닝 인덱스는 선택적 트레이닝 모드에 의해 사용되고, 이 트레이닝 모드에서, 트레이닝 신호는 전화 통화 시작시에만 삽입될 수 있다. 그러므로, 트레이닝 인덱스는 통화 시작을 나타내기 위해 사용된다.
흐름은 블록(505) 또는 판정 다이아몬드(504)로부터 블록(500)으로 진행하여, 개별 추정된 순수 지연이 계산된다. 도 22와 관련하여 더욱 상세하게 설명되는 바와 같이, 개별 추정된 순수 지연은 각 측정 사이클동안(즉, 각각의 N 서브-속도 샘플동안) 추정된 순수 지연에 대응한다. 개별 순수 지연이 추정된 후, 흐름은 블록(501)으로 진행하여, 몇개의(통화 단계에 따라서 뿐만 아니라 특정 구현에 따라서, 2, 3 또는 그 이상)의 유효 개별 순수 지연 추정치를 사용하여, 추정된 지연(130)은 도 23과 관련하여 더욱 상세하게 설명되는 바와 같이 결정된다.
도 22는 개별 추정된 지연이 결정되는 도 21의 블록(500)의 한 실시예를 나타낸다. 흐름은 서브-속도 반향 반사 손실 증대치(SR-ERLER)가 결정되는 블록(506)에서 시작된다. 다음 수학식은 SR-ERLE를 결정하기 위해 사용될 수 있다.
그러므로, SR-ERLE는 순수 지연 측정치의 유효화에 사용되는 PSinSR과 PerrorSR사이의 비에 대응한다. SR-ERLE는 서브-속도 적응 필터(122)의 수렴의 "우수성"에 관한(즉, 얼마나 많은 반향이 소거되는 지에 관한) 정보를 제공한다. 즉, 더 높은 SR-ERLE(예를 들어, 5 dB 이상)는 현재의 측정 사이클 내에서, 적응 필터(122)가 충분히 수렴되었다는 것을 나타낸다. (SR-ERLE는 주어진 서브-속도에서 동작하는 ERLE 추정기(116)에 의해 결정될 수 있다. 도 7 참조.) 그러므로, 블록(506) 후에, 흐름은 판정 다이아몬드(508)로 진행하여, SR-ERLE가 서브-속도 ERLE와 비교되어, 이 임계치보다 크지 않으면, 흐름은 블록(514)로 진행하여, 현재의 측정 사이클이 불량 SR-ERLE로 인해 사용되지 않아야 된다는 것을 나타낸다. 그러므로, (현재의 특정 사이클 동안의) 현재의 측정치는 폐기되고, 흐름은 도 21의 블록(501)으로 진행한다. 그러나, SR-ERLE가 서브-속도 ERLE 임계치를 초과하면, 흐름은 블록(510)으로 진행하여, 서브-속도 적응 필터(122)의 수렴에 관한 다른 확인을 실행한다.
블록(510)에서, 서브-속도 적응 필터(122) 계수의 피크 대 평균 비(PAR)가 결정된다. 도 37을 참조하면, 피크는 가장 |h|값에 대응한다(피크가 양 또는 음의 방향으로의 제로 축으로부터의 가장 큰 거리에 있다는 것을 의미한다). 도 37에서, 피크는 표시된 것과 같다. 평균은 서브-속도 적응 필터 계수의 절대값을 사용하여 계산된다. PAR이 PAR-Threshold보다 크지 않으면, 판정 다이아몬드(512)로부터, 흐름은 블록(514)으로 진행하여, 현재의 측정 사이클이 서브-속도 적응 필터(122)의 적절한 수렴을 제공하지 않았기 때문에 현재의 측정치는 폐기된다. 그러나, PAR이 PAR-Threshold보다 크면, 흐름은 블록(516)으로 진행하여, 서브-속도 적응 필터가 현재의 측정 동안에 충분히 수렴되었다는 것을 보장하도록 2개의 조건이 부합되었다는 것을 나타낸다. 블록(516)에서, 서브 속도 적응 필터(122) 계수의 최대값(피크에 대응) 및 그것의 대응하는 시간 값(도 37의 Tpeak)이 위치된다(도 7의 최대값 위치입력기(124)에 의해 실행될 수 있다). 그 다음, 흐름은 도 23과 관련하여 설명되는 도 21의 블록(501)으로 진행한다.
도 23은 순수 지연 추정치(도 7의 지연 판정(126) 및 추정된 지연(130)에 대응)를 결정하는 도 21의 블록(501)의 한 실시예를 나타낸다. 상술된 바와 같이, 순수 지연은 통화 시작 시에 일반적으로 추정되고, 소정의 조건이 부합되면, 통화 도중에 변경될 수 있다. 일반적으로, 통화 도중에 순수 지연 추정을 변경하는 조건은 (a) 순수 지연이 통화 도중에 너무 자주 변경되지 않는다는 것을 전화 통화(PSTN 통화 및 PT 통화)의 통계가 나타내고, (b) (순수 지연 추정을 너무 밀접하게 추적하려고 함으로써) 순수 지연 추정을 너무 자주 변경하는 것은 전화 사용자의 관점에서 파괴적일 수 있기 때문에, 더욱 더 지속된다. 그러므로, 흐름은 흐름을 처음으로 통과하는(즉, 전화 통화의 시작을 나타내는) 것인지 판정되거나, 또는 이전의 추정된 지연이 (0의 이전의 추정된 지연 값을 갖는 통화 시작 또는 통화 도중에 대응할 수 있는) 0과 같았는지 판정된다. 어느 한 경우가 참이면, 흐름은 판정 다이아몬드(529)로 진행하여, 2개의 유효 측정치가 이용가능한지 판정된다. 도 22와 관련하여 상술된 바와 같이, 각각의 개별 추정된 지연이 SR-ERLE 및 PAR을 사용하여 검증되고, 개별 추정된 지연이 검증되는 경우에만 저장된 대응 지연 측정치이다. 그러므로, 측정 사이클마다(현재의 실시예에서 300 밀리초마다), 다른 유효 측정치를 얻을 가능성이 있다. (얻기 위한 최소한 2개의 측정 사이클을 취하는) 최소한 2개의 이용가능 값이 있다고 하면, 흐름은 블록(530)으로 진행하여, 추정된지연의 "빠른 추적" 계산이 블록(530)에서 시작된다.
블록(530)에서, 제1 버퍼는 2개의 연속적인 유효 측정치로 채워진다. 흐름은 블록(532)으로 진행하여, 이 2개의 측정치 간의 분산 및 2개의 측정치의 평균이 취해진다. 예를 들어, 분산은 2개의 측정치 간의 차일 수 있다. 흐름은 판정 다이아몬드(534)로 진행하여, 분산이 분산 임계치 1보다 작고, 평균이 평균 임계치 1보다 큰지 판정된다. 아니오이면, 새로 추정된 지연은 계산되지 않고,흐름은 도 9의 블록(213)으로 진행한다. 그러나, 이들 조건이 부합되면, 흐름은 블록(542)으로 진행하여, 새로 추정된 지연이 계산된다. 그러므로, 분산 임계치 1 및 평균 임계치 1은 2개의 측정치들이 서로 충분히 일치되는 경우에만 새로 추정된 지연이 확실하게 계산된다. 즉, 임펄스 응답이 그 최대값에 도달하는 시간의 후속 측정치가 너무 많이 다르면, 지연의 추정은 후속 측정치가 더 일치될 때까지(즉, 서로 더 가까워질 때까지) 유지상태로 놓인다. 블록(542)에서, 다음 수학식이 새로 추정된 지연을 계산하기 위해 사용될 수 있다.
새로 추정된 지연 = 평균 - 오프셋
상기 수학식에서, 평균은 2개의 측정치의 블록(532)에서 취해진 평균에 대응하고, 오프셋은 실질적인 응답이 시작된 임펄스 응답 내의 피크에 도달하기 전의 시간량에 대응하는 값이다. 즉, 도 37을 참조하면, 피크는 T4의 양만큼 T1(순수 지연)보다 큰 시간에 대응한다. 그러므로, T4는 피크에서의 시간 값(Tpeak)에서 감산되어야 한다. 오프셋은 이 T4 값에 대응하고, 오프셋은 필드 내에 존재하는상이한 더 전형적인 하이브리드 회로들의 임펄스 응답에 관한 통계 정보를 사용하여 결정될 수 있고, 반향 소거기(20) 내에 프로그램될 수 있다. 새로 추정된 지연(추정된 지연(130)에 대응)은 블록(544)에서 적용된다. 예를 들어, 추정된 지연(130)의 적용은 적응 필터 유닛(28)의 한 실시예를 도시한 도 4의 선택적 지연 블록(66)의 인에이블링에 대응할 수 있다. 그러므로, 순수 지연 추정치의 사용을 통해, 적응 필터 유닛(28)에 의해 요구된 필터 탭의 수는 응답의 순수 지연부분의 계수가 0으로 간주될 수 있기 때문에 감소된다.
대안적인 실시예는 판정 다이아몬드(529)에서 2보다 많거나 적은 측정치를 요구하여, "빠른 추적" 계산을 계속할 수 있다. 한 실시예에서, 하나의 유효 측정치만이 요구될 수 있고, 이 경우에, 분산 및 평균은 (하나의 측정치만이 사용되기 때문에) 계산되지 않는다. 또한, 실제 값은 블록(542)으로의 진행 여부를 판정하기 전에 평균 임계치 1에 대해 확인될 수 있고, 분산 비교는 요구되지 않을 것이다. 2개보다 많은 유효 측정치가 요구되는 대안적인 실시예에서, 분산은 유효 측정에 관해 취해진 변이에 대응할 수 있다.
판정 다이아몬드(528)에서, 이것이 통화의 처음 시기가 아니고(즉, 일반적으로, 순수 지연의 추정이 통화 도중에 실행되는 것을 나타냄), 이전의 지연 추정치가 0이 아니었다고 판정되며, 흐름은 판정 다이아몬드(535)로 진행하여, M개의 유효 측정치가 이용가능한지 판정된다. 한 실시예에서, M은 (반향 소거기 설치 프로그램에 의해 선택된 특정 세팅에 따라 다르게) 3 또는 4 또는 5로 선택된다. M 값은 더 많거나 적은 유효 측정치가 현재 추정된 지연 값의 갱신(즉, 변경) 가능성이전에 요구된다. M 값을 더 높게 하면, 흐름은 보다 덜 자주 블록(536)으로 진행할 것이다. 그러므로, M은 임의의 값으로 선택될 수 있고, 3 내지 5로 제한되지 않는다. M개의 유효 측정치가 이용불가능하면, 흐름은 도 9의 블록(213)으로 진행하여, 변경된 추정된 지연 값을 가질 가능성을 바이패스한다. 그러나, M개의 유효 측정치가 이용가능하면, 흐름은 블록(536)으로 진행하여, 제2 버퍼가 M개의 연속 유효 측정치로 채워진다.
블록(538)에서, 분산, 평균, 및 평균과 이전의 평균 사이의 차가 계산된다. 상술된 바와 같이, 분산은 여러 방식으로 계산될 수 있다. 예를 들어, M이 단지 2이면, 분산은 단순히 차일 수 있다. 대안적으로, 분산은 변이로서 계산될 수 있다. 이전의 평균은 블록(538 또는 532)을 통과하는 이전의 과정에서 계산된 평균에 대응한다. 블록(538)의 계산 후에, 흐름은 판정 다이아몬드(540)로 진행하여, 여러 임계치가 사용되어, 추정된 지연의 변경이 가치가 있는지 판정한다. 그러므로, 판정 다이아몬드(540)의 임계치는 통화 도중에 추정된 순수 지연을 변경하는 더 많이 지속되는 기준을 설정하기 위해 사용될 수 있다.
판정 다이아몬드(540)에서, 분산은 분산 임계치 2에 비교되고, 평균은 평군 임계치 2에 비교되며, 평균과 이전 평균의 차는 차 임계치에 비교된다. 분산이 분산 임계치보다 적거나, 평균이 평균 임계치 2보다 크면, 또는 차가 차 임계치보다 작으면, 흐름은 도 9의 블록(213)으로 진행하고, 새로 추정된 지연은 계산되지 않는다(즉, 현재 추정된 지연이 유지된다). 그러나, 이들 모든 조건이 부합되면(분산이 분산 임계치 2보다 적고, 평균이 평균 임계치 2보다 크며, 차가 차 임계치 2보다 크면), 흐름은 블록(542)으로 진행하여, 새로 추정된 지연이 계산되고(도 25와 관련하여 설명됨), 상술된 바와 같이 블록(544)에 적용된다. "빠른 추적"에서와 같이, 분산 임계치 2는 M개의 유효 측정치가 서로로부터 너무 많이 벗어나지 않는다는 것을 보장하고, 평균은 변경의 필요성을 정당화할 수 있을만큼 충분히 크다는 것을 보장한다(예를 들어, 평균이 비교적 작으면, 작은 순수 지연이 적절하게 제공되는 경우에 적응 필터(28)에 의해 수용될 수 있으므로, 반향 소거기의 순수 지연을 변경할 필요가 없을 수 있다). 차 대 차 임계치의 비교는 현재 추정된 지연이 차가 너무 작은 경우에(즉, 차 임계치 미만) 변경되지 않게 하므로, 변경될 가치가 없다.
도 24는 반향 소거기(20)에 의해 MIPS(Million Instructions Per Second, 디지털 신호 프로세서 이용의 일반적인 측정)를 감소시키는데 사용될 수 있는 선택적 모니터링 모드의 한 실시예를 나타낸 것이다. 도 24의 흐름은 도 21의 흐름이 실행되어야 할 때를 결정하기 위해 사용될 수 있는 도 9의 211의 부분이다. 흐름은 반향 반사 손실 증대치(ERLE)가 계산되는 블록(518)에서 시작된다. 이 ERLE는 적응필터(28)의 수렴의 "우수성"에 대응한다(즉, 얼마나 많은 반향이 적응 필터(28)에 의해 실제로 소거되지 않은 지에 관한 정보를 제공한다. 다음 수학식은 ERLE를 계산하기 위해 사용될 수 있다.
그러므로, ERLE는 PSin과 Perror 사이의 비에 대응하고, n은 샘플 수이다. (PSin과 Perror는 상술된 수학식 1 및 2를 사용하여 계산될 수 있다는 것을 알기바란다.) 그러므로, 이 ERLE 값은 도 21의 순수 지연 조정 프로세스로 들어가는 모니터링 모드 동안에 사용된다. 흐름은 판정 다이아몬드(520)로 진행하여, ERLE가 ERLE 임계치에 대해 비교된다. ERLE가 ERLE 임계치보다 크거나 같으면, 적응 필터(28)의 수렴은 충분하고, 순수 지연 추정은 실행될 필요가 없으므로; 흐름은 도 9의 블록(213)으로 진행한다. 그러나, ERLE가 ERLE 임계치보다 작으면, 적응 필터(28)의 수렴은 충분하지 않고, 흐름은 블록(521)으로 진행하여, ERLE 카운터가 증분된다. (이 ERLE 카운터는 각 통화 시작 시에 초기화될 수 있다.) 그 다음, 흐름은 판정 다이아몬드(523)로 진행하여, ERLE 카운터가 ERLE 카운터 임계치에 비교된다. ERLE 카운터가 ERLE 임계치에 도달하지 않았으면, 흐름은 블록(522)(도 21의 흐름에 대응)을 바이패스하고, 도 9의 블록(213)으로 진행한다. 그러나, ERLE 카운터가 ERLE 카운터 임계치에 도달했으면, 흐름은 블록(522)으로 진행하여, (상술된) 도 21의 전체 흐름이 실행된다. 그 다음, 흐름은 블록(524)으로 진행하여, ERLE 카운터가 리셋된 다음에, 도 9의 블록(213)으로 진행한다.
ERLE 카운터 및 ERLE 카운터 임계치는 블록(518)에서 계산된 ERLE가 결정하기 어려우면(ERLE 임계치 이상에서 ERLE 임계치 이하로의 변경이 너무 자주 발생하면), 순수 지연이 재계산 및 갱신이 되지 못하게 하는 것을 보장한다. 즉, ERLE는 도 21의 흐름으로 들어갈 수 있게 되기 전에 (ERLE 카운터 및 ERLE 카운터 임계치에 의해 제어된) 기간동안 ERLE 임계치 이하에 속해야 한다. 이것은 순수 지연 추정의 빠르고 불필요한 변경을 방지하는 것을 돕는다.
도 8 및 25-27은 반향 소거기(20) 내에서 사용될 수 있는 톤 검출의 한 실시예에 관한 것으로, 도 8은 모니터 및 제어 유닛(30)의 부분을 블록도 형태로 도시한 것이고, 도 25-27은 도 9의 블록(209)의 부분을 흐름도 형태로 도시한 것이다. 반향 소거기(20)로의 입력들 중의 최소한 하나(예를 들어, Rin(44) 또는 Sin(38))가 톤일 때, 적응 필터(62)의 안정성은 영향을 받을 수 있어서, 전기통신 네트워크에서 바람직하지 않은 왜곡 저하 서비스 품질을 초래한다. 톤은 소정 기간에 걸쳐 상수 크기, 주파수 및 위상을 갖는 다수의 정현파 성분으로 이루어진 신호이다.
잔류 반향의 평균 전력을 최소화하고자 시도하는 임의의 적응 알고리즘(적응 필터(62)에 의해 사용된 것)은 Rin(44)의 자동-상관 매트릭스에 의존하는 동적 작용을 가질 것이다. 소정 부류의 수신 경로 신호는 이 매트릭스를 유일하게 할 수 있는데, 이것은 적응 프로세스를 일시적으로 혼란케 할 수 있고, 적응 필터(62)의 필터 계수들이 바람직한 값에서 벗어나게 할 수 있다. 정현파 신호(단일-주파수 톤)는 예를 들어, 이러한 조건을 만들어낼 수 있다. 이 경우에, 정현파 신호 Rin(n)=Acos(Ωn+Φ)의 자동 상관 r(k)는 r(k)=A2cos(Ωk)/2에 의해 주어지는데, 이것은 대부분의 실제 경우에(즉, 그 크기가 클 때) 단일 자동-상관 매트릭스를 초래한다. 그러한 일이 발생하면, 적응 알고리즘의 가능한 결과는 실제 하이브리드 회로 임펄스 응답의 부정확한 추정인 정현파를 갖는 (적응 필터(62)에 대한) 한 세트의 필터 계수이고, 그 예는 도 37에 주어진다.
이와 마찬가지로, 다중-주파수 톤은 또한, 성분의 수 M이 충분히 크지 않거나 또는 매트릭스가 큰 크기를 가질 때 그들의 자동 상관이 여전히 단일 자동-상관 매트릭스를 발생시킬 수 있기 때문에 유사한 문제를 발생시킬 수 있다. 매트릭스 크기는 하이브리드 회로의 임펄스 응답을 추정하기 위해 사용되는 필터 계수의 수에 따라 다르다는 것을 알기바란다. 그러므로, 임의의 신호 및 제어 톤의 존재를 검출한 다음에, 적응 필터(62)의 적응 프로세스를 정지하므로, 양호한 세트의 필터 계수로부터의 발산을 방지하는 것이 바람직하다다.
도 25-27과 관련하여 설명될 한 실시예는 임의의 주파수의 정현파 신호의 존재, 소정의 단일-주파수 톤을 식별하는 평활 상관 방식, 및 톤을 신뢰성있게 검출하는 판정 로직을 나타내는 변경된 버전의 Teager-Kaiser 필터와 같은 다항식 필터를 사용한다. 임의의 적절한 다항식 필터가 사용될 수 있다는 것을 알기바란다. 도 8에 도시된 다항식 필터는 한 예일 뿐이다. 여기에 설명된 실시예들이 일반적으로 반향 소거기(20)와 관련되지만, 그들은 톤 표시 및 검출을 요구하는 임의의 장치 또는 전기통신 장치에서 사용될 수 있고, 단지 반향 소거기들에만 제한되지 않는다.
도 8은 변경된 에너지 연산자를 통해 단일주파수 톤을 상수에 맵핑하는 전력 추정기(134)의 한 실시예를 포함한다. 즉, 단일-주파수 톤은 다음과 같이 표현될 수 있다.
x(n) = Acos(Ωn+Φ)
변경된 에너지 연산자 Ψk는 다음과 같이 표현될 수 있다.
상기 수학식에서, x2(n-k)-x(n)x(n-2k)는 도 8의 가산기(144)의 출력에 대응한다(즉, 지연부(136)의 출력은 x(n-k)이고, 지연부(138)의 출력은 x(n-2k)이며, 곱셈기(140)의 출력은 x(n)x(n-2k)이고, 곱셈기(142)의 출력은 x2(n-k)이며, 가산기(144)의 출력은 곱셈기(142)의 출력과 곱셈기(140) 출력의 마이너스의 합이다). 입력 신호 x(n)은 Rin(44) 또는 Sin(38)에 대응할 수 있다는 것을 알기바란다. 더욱이, 수학식 27의 x(n)을 x2(n-k)-x(n)x(n-2k) 내로 대입함으로써, 결과 A2sin2(kΩ)가 얻어진다. 그러므로, Ψ는 톤의 크기 및 정규화 주파수 Ω(Ω=2πf/fs, f는 톤 주파수이고, fs는 한 실시예에서 8 kHz인 샘플링 주파수임)에 따라 변한다는 것을 알기바란다. 이 수학식에서의 파라미터 k는 하위 서브-속도 프로세싱을 정의하고, k는 1을 포함한 임의의 정수일 수 있다. 그러므로, 샘플링 비율 fs에서 Ψk를 적용하는 것은 샘플링 비율 fs/k에서 Ψ1을 적용하는 것과 동등하다. 상술된 바와 같이, 서보속도 프로세싱은 계산 요구사항을 감소시키기 위해 사용될 수 있고, k번째 마다의 샘플만이 프로세스된다. Ψk(x(n))은 초기 위상 φ에 의존하지 않지만, 통신 신호 x(n)의 위상 변경을 검출하기 위해 사용될 수 있는, 갑작스런 위상 변경 시의 단기간 과도현상을 발생시킨다.
x(n)(수학식 27)의 전력은 다음 식을 사용하여 표현될 수 있다.
그러므로, ψk(x(n))은 2sin2(kΩ)에 의해 스케일된 x(n)의 전력을 제공한다.
Powerx(n)을 풀면 ψk(x(n))의 항이므로, 다음 식을 제공한다.
그러나, 실제로, (상술된 바와 같이 도 8에 도시된 실시예에서 Rin(44) 또는 Sin(38)에 대응할 수 있는) 신호 x(n)은 잡음에 의해 손상되어, 잡음성 추정치 ψnoisyk(x(n))을 초래한다. 이때, 임의의 저역 통과 필터는 예를 들어, 단일 폴 저역 통과 필터와 같은 결과를 평활화하기 위해 사용될 수 있다. 그러므로, 도 8에서 알 수 있는 바와 같이, 전력 추정기(134)는 (가산기(144)의 출력의 절대값에 대응하는) 크기(146)의 출력 및 저장장치(150)로부터의 a를 수신하고, ψnoisyk(x(n))의 평활화 추정치 P(n)을 제공한다. P(n)은 다음식으로 표현될 수 있다.
상기 수학식에서, a는 평활화 저역 통과 필터의 대역폭을 제어하는 평활화 파라미터(0<a<1)이다. 고정된 또는 변하는 평활화 파라미터 a가 사용될 수 있다는 것을 알기바란다. 그 다음, P(n)은 도 26과 관련하여 더욱 상세하게 후술되는 바와 같이, 톤이 추정치 P(n)의 변이에 기초하여 존재하는지를 나타내는 도 8의 톤 표시 판정 유닛(166)에 제공된다. 도 26은 전력을 언급하지만, 상관(도 27 참조), 또는 심지어 통신 신호 자체와 같은 통신 신호의 다른 함수가 사용될 수 있다.
일단 톤이 존재하면, 한 실시예는 2100 Hz 신호 톤과 같은 위상이 반전되거나 반전되지 않은 임의의 소정의 단일-주파수 톤을 검출한다. 소정의 톤을 검출하는 한 실시예는 도 27과 관련하여 더욱 상세하게 후술될 것이다. 그러므로, 한 실시예는 도 26의 톤 검출만을 포함할 수 있지만, 다른 실시예는 도 25에 도시된 바와 같이, 도 26 및 27의 알고리즘 사이의 상호작용을 포함한다. 더욱이, 도 26의 실시예는 또한 톤이 수신된 후에 적응 필터(62)의 적응 프로세스를 다시 인에이블시키기 위해 모니터링 모드에서 사용될 수 있다. 즉, 신호 톤과 음성 신호 사이의 전이는 또한 P(n)의 변이(즉, 변이는 변이가 어떤 소정의 임계치보다 클 때 검출됨)를 사용하여 검출될 수 있다.
추정치 P(n)이 주어지면, 톤 표시 판정 유닛(166)은 도 26의 흐름에 따른 톤을 검출하기 위해 사용될 수 있다. 도 26의 흐름은 P(n)의 변이가 작은 시간 간격을 검출한다. P(n)의 작은 변이에 대응하는 P(n)의 일정한 레벨은 단일-주파수 톤이 x(n)에 존재할 때마다 예상된다. 톤이 하나보다 많은 주파수로 구성되면, P(n)의 변이는 증가하겠지만, 평균 레벨은 일정하게 머물 것이다. 그러므로, 변이 레벨에 의존하여, 단일 또는 다중 주파수 톤이 표시될 수 있다. 도 26에서, 흐름은 k, a, m, r, Plow및 Nmin가 바람직한 값으로 설정되는 블록(588)에서 시작된다. 시스템 내에서의 예상된 톤 주파수 범위 및 잡음 레벨에 의존하여, 이들 값은, 예를 들어 k=2, a=0.9, m=1, r=0.95, Plow=2-8이 될 수 있다. Nmin은 검출될 톤의 최소 요구 지속기간 및 샘플링 비율에 의존한다. 흐름은 판정 다이아몬드(590)로 진행하여, P(n)이 Plow보다 큰지 판정되고, Plow는 고려될 최하위 신호 레벨을 나타내는 임계치에 대응한다. 크지 않으면, 흐름은 블록(598)로 진행하여, 판정 카운터가 (0으로) 리셋되고, 그 다음에 블록(604)에서, 톤이 검출되지 않으며, 그 다음 도 25의 블록(554)으로 진행한다. 그러나, P(n)이 적어도 Plow보다 크면, 흐름은 판정 다이아몬드(590)에서 블록(592)으로 진행하여, Pmin및 Pmax가 계산된다. Pmin은 m 샘플에 의해 분리된 P(n)의 2개의 추정치 중의 최소치에 대응하고, Pmax는 m 샘플에 의해 분리된 P(n)의 2개의 추정치 중의 최대치에 대응한다.
변이 레벨은 Pmin및 Pmax를 계산함으로써 추정된다. 그러므로, 흐름은 판정 다이아몬드(594)로 진행하여, Pmin대 Pmax의 비(즉, Pmin/Pmax)가 톤 표시 임계치에 비교된다. 그것이 톤 표시 임계치보다 크지 않으면, 흐름은 블록(598)으로 진행하고, 검출 카운터가 리셋된 다음에, 블록(604)으로 진행하여, 톤이 검출되지 않은 것을 나타내고, 그 다음 도 25의 블록(554)로 진행한다. 그러나, Pmin/Pmax가 톤 표시 임계치보다 크면, P(n)은 충분히 일정한 것으로 고려되어(즉, Pmin및 Pmax가 충분히 가까움), 톤의 존재 가능성을 표시한다. 이 경우에, 흐름은 블록(596)으로 진행하여, 검출 카운터가 증분된다(검출 카운터는 통화 시작 시에 또는 도 26의 흐름으로 들어가기 전의 임의의 적절한 다른 시기에 초가화되거나 리셋될 수 있다는 것을 알기바란다).
흐름은 판정 다이아몬드(600)로 진행하여, 검출 카운터가 Nmin보다 큰지 판정된다. 검출 카운터가 Nmin에 도달하지 않았으면, 흐름은 블록(604)으로 진행하여, 톤이 검출되지 않은 것을 나타내고, 그 다음에 도 25의 블록(554)으로 진행한다. 그러나, 검출 카운터가 Nmin보다 크면, 흐름은 블록(602)로 진행하여, (도 8의 톤표시기 신호(168)의 단정과 대응하는) 톤이 검출된다. 그 다음, 흐름은 도 25의 블록(554)으로 진행한다. 그러므로, 톤은 P(n)이 최소 레벨(Plow)보다 클 때 검출되고, P(n)의 변이는 (톤 표시에 관한) 최소값보다 작고, 검출 카운터는 최소값(Nmin)보다 크다. 검출 카운터는 톤을 검출하고 톤 표시기 신호(168)를 단정하기 전에 톤이 적어도 (Nmin에 대응하는) 소정의 양의 시간동안 존재했다는 것을 보장한다. 이것은 적응 필터(62)의 적응 프로세스를 너무 자주 인에이블 또는 디스에이블하게 할 수 있는 톤의 검출과 톤의 비검출 사이의 급속한 스위칭을 방지하는 것을 돕는다.
도 8은 평활 상관기(152)의 한 실시예를 포함한다. 이 상관기는 임의의 소정의 단일 주파수 톤의 검출, 진폭 변조된 신호의 캐리어의 검출, 주파수가 공칭 주파수에 가까운 다중 성분 톤을 포함하여 여러 방식으로 사용될 수 있다. 평활 상관기(152)는 (상술된 바와 같이, Rin(44) 또는 Sin(38)일 수 있는) 입력 신호 x(n)의 샘플 및 3개의 제어 파라미터(c, b 및 e)를 저장장치(150)로부터 수신하여, 2개의 상관 추정치 R0(n) 및 R1(n)을 생성한다. 이들 상관은 다음과 같이 설명될 수 있는 소정의 톤의 존재를 표시하기 위해 사용될 수 있다. 제어 파라미터 c는 정규화 주파수 Ωd=2πfd/fs를 갖는 소정의 단일 주파수를 생성하는 제2차 디지털 발진기의 계수들 중의 하나를 정의하고, 위와 같이, fs는 입력 샘플링 주파수이다. 발진기는 상태 w(-1)=1, w(-2)=c=cos(Ωd)로 초기화되고, w(n)=2*c*w(n-1)-w(n-2)에의해 주어진 표준 제2차 디지털 발진기를 사용한다. (발진기는 c를 수신하여 곱셈기(156 및 158)에 대한 출력으로서 w(n)을 제공하는 도 8의 발진기(164)에 대응할 수 있다는 것을 알기 바란다.) 입력 신호 x(n) 및 지연된 버전 x(n-e)(즉, 도 8의 지연부(154)의 출력)는 (곱셈기(156 및 158)를 통해) w(n)과 상관된 다음에, 저역 통과 필터를 통과한다(즉, 도 8의 저역 통과 필터(160)는 x(n)w(n)으로 표시될 수 있는 곱셈기(158)의 출력을 수신하고, 도 8의 저역 통과 필터(162)는 x(n-e)w(n)ㅇ로 표시될 수 있는 곱셈기(156)의 출력을 수신한다). 저역 통과 필터(160 및 162)에 대한 입력으로서 제공된 파라미터 b(0<b<1)는 저역 통과 필터의 대역폭을 정의한다. 또한, 평활 상관기(152)의 한 실시예는 저역 통과 필터(160 및 162)용으로 평활화 단일 폴 저역 통과 필터를 사용할 수 있다. 또한, 대안적인 실시예에서, 발진기 신호 w(n) 및 지연된 버전 w(n-e)는 w(n)을 x(n) 및 x(n-e)에 상관하는 것보다는 x(n)과 상관될 수 있다. 또한, 한 실시예에서, e는 다음과 같이 표현된 지연 인수이다.
상기 수학식은 90°에 가까운 위상 차에 대응하고, [x]는 그 인수 x보다 크거나 같은 가장 작은 정수를 나타낸다.
도 8을 다시 참조하면, 저역 통과 필터(160)의 출력은 상관 추정치 R0(n)이고, 저역 통과 필터(162)의 출력은 상관 추정치 R1(n)이며, 이 둘은 톤 표시 판정 유닛(166)에 제공된다. R0(n) 및 R1(n)은 R0(n)=b·R0(n-1)+(1-b)·w(n)·x(n), R1(n)=b·R1(n-1)+(1-b)·w(n)·x(n-e)로 표현될 수 있다. 그러므로, 미지의 톤이 (상술된 도 26의 흐름을 사용하여) 톤 표시 판정 유닛에 의해 표시되어 있다고 하면 R0(n) 및 R1(n)은 (발진기(164)에 대응하는) 소정의 단일-주파수 톤의 존재를 식별하는 도 27의 흐름을 사용하여 분석된다.
도 27의 흐름은 검출된 톤을 소정의 단일 주파수 톤과 상관시켜, 특정 톤을 검출한다. 도 27에서, 흐름은 c, e, b, u, q 및 Mmin이 바람직한 값으로 설정되는 블록(606)에서 시작된다. 파라미터 c는 또한 지연 값 e를 정의하는, 검출될 타겟 톤의 주파수에 직접 관련된다. 시스템 내의 잡음 레벨에 의존하여, 나머지 값들은 예를 들어, b=0.9, u=1, q=0.95, Plow=2-8이 될 수 있다. Mmin은 검출된 타겟 톤의 최소 요구 지속시간 및 샘플링 비율에 의존한다. 그 다음, 흐름은 블록(608)로 진행하여, R(n), Rmin, Rmax가 다음식으로 표시된 바와 같이 추정될 수 있다.
R(n)은 R0(n)과 R1(n) 사이의 피크 크기 상관을 칭하는 것이다. Rmin은 u 샘플에 의해 분리된 R(n)의 2개의 추정치의 최소치에 대응하고, Rmax은 u 샘플에 의해 분리된 R(n)의 2개의 추정치의 최대치에 대응한다. 그 다음, 흐름은 판정 다이아몬드(610)로 진행하여, Rmin대 Rmax의 비(Rmin/Rmax)가 (한 실시예에서, 0.95로 설정되는) 상관 임계치 q에 비교된다. 비가 상관 임계치보다 크지 않으면, 흐름은 블록(616)으로 진행하여, 상관 카운터가 (0으로) 리셋된 다음에, 소정의 주파수가 검출되지 않은 것을 나타내는(Dr=0) 블록(618) 진행하고, 그 다음에, 도 25의 블록(560)으로 진행한다. 그러나, 비가 임계치보다 크면, 흐름은 블록(612)으로 진행하여, 상관 카운터가 증분된다. (상관 카운터는 통화 시작 시에 초기화되거나 리셋될 수 있다.) 흐름은 판정 다이아몬드(614)로 진행하여, 상관 카운터가 Mmin에 대해 확인된다. 상관 카운터가 Mmin보다 크지 않으면, 흐름은 블록(618)으로 진행하여, 소정의 주파수가 검출되지 않은 것을 나타낸다(Dr=0).
그러나, 판정 다이아몬드(614)에서, 상관 카운터가 Mmin보다 크다고 판정되면, 흐름은 판정 다이아몬드(620)로 진행하여, R(n)이 R0(n)의 절대값과 동일한지 판정된다. 동일하면, 흐름은 블록(622)으로 진행하여, 소정의 주파수가 R0(n)의 부호를 갖고, 즉 Dr=sign(R0(n))로 검출된다. 블록(622 또는 624)로부터, 흐름은 도 25의 블록(560)으로 진행한다. 그러므로, 임의의 톤을 검출하기 위한 도 26에 설명된 흐름과 유사하게, 소정의 톤은 R(n)의 변이가 상관 카운터 및 Mmin에 의해 정의된 소정의 양의 시간동안 작을 때 검출된다. 이것은 검출 카운터 및 Nmin에 관해 상술된 바와 같이, 급속 스위치을 방지하는 것을 돕는다.
상기 수학식은 가장 큰 성분을 갖는 크기에 의존하여 R0(n) 또는 R1(n)을 생성한다.
도 26 및 27의 흐름을 포함하는 전체 프로세스 흐름의 한 실시예는 도 25에 도시되는데, 도 25는 한 실시예에 따른 도 9의 블록(209)의 부분을 도시한 것이다. 도 25에서, 흐름은 최소 카운터 값(Lmin-p및 Lmin-n)이 각각 Dpositive(Dp) 및 Dnegative(Dn)에 대해 선택되는 블록(550)에서 시작된다. 이들 값은 포지티브 및 네가티브 위상의 바람직한 최소 지속시간이 부합되도록 선택된다. Dp는 포지티브 위상의 카운터에 대응하고, Dn은 네가티브 위상의 카운터에 대응한다.
그 다음, 흐름은 블록(552)으로 진행하여, 임의의 단일 주파수 톤의 검색이 검출된다. 도 26의 흐름은 임의의 단일 주파수 톤의 존재를 판정하는데 사용될 수 있다. 흐름은 판정 다이아몬드(554)로 진행하고, 톤이 검출되지 않으면, 흐름은블록(558)으로 진행하여, Dp및 Dn카운터가 (0으로) 리셋되고, 흐름은 블록(582)으로 진행하여, 톤이 검출되지 않은 것을 나타낸 다음에, 도 9의 블록(211)으로 진행한다. 그러나, 톤이 검출되면, 흐름은 블록(556)으로 진행하여, 검출된 톤이 소정의 단일 주파수 톤과 상관된다. 그러므로, 도 27의 흐름은 블록(556)을 실행하도록 사용될 수 있다. 흐름은 판정 다이아몬드(560)로 진행하여, Dr이 0인지 판정된다. 0이면, 소정의 주파수는 블록(556)(예를 들어, 도 27의 블록(618))에서 검출되지 않았고, 흐름은 블록(558)으로 진행하여, Dp및 Dr이 릿세된다. 그러나, 0이 아니면, 흐름은 판정 다이아몬드(562)로 진행하여, Dr이 0보다 큰지 판정된다. 크다면, 흐름은 블록(564)으로 진행하여, 포지티브 위상 카운터가 증분되고; 그렇지 않으면 흐름은 블록(556)으로 진행하여, 네가티브 위상 카운터가 증분된다.
블록(564 또는 566) 후에, 흐름은 지점 G을 거쳐 블록(568)으로 진행하여, Flagpositive(Fp) 및 Flagnegative(Fn)이 (0으로) 리셋된다. 흐름은 판정 다이아몬드(570)로 진행하여, Dp가 Lmin-p보다 크면, Fp가 블록(572)에서 1로 설정되고, 그렇지 않으면, 흐름은 판정 다이아몬드(574)로 진행하여, 블록(572)을 바이패스한다. 판정 다이아몬드(574)에서, Dn이 Lmin-n보다 큰지 판정되고, 크다면, Fn은 블록(576)에서 1로 설정된다. 크지 않으면, 흐름은 판정 다이아몬드(578)로 진행하여, 블록(576)을 바이패스한다. 판정 다이아몬드(578)에서, Fp및 Fn이 0이면(즉, Fp+Fn이 0이면), 흐름은 블록(582)로 진행하여, 톤이 검출되지 않았음을 나타낸다. 즉, 카운터(Dn또는 Dp)의 어느것도 어떤 최소값(예를 들어, 각각 Lmin-p또는 Lmin-n)보다 크지 않으면, 원하는 톤이 검출되지 않는다.
그러나, Fp+Fn이 0이 아니면, 흐름은 판정 다이아몬드(580)로 진행하여, 톤이 검출된 것을 나타낸다. 한 카운터만이 Lmin(Dp또는 Dn)보다 크면, Fp+Fn은 1보다 크지 않고, 흐름은 블록(584)으로 진행하여, 상관 부호 반전없이 바람직한 톤이 검출된 것을 나타낸다. Dp및 Dn이 그들 각각의 Lmin보다 크면, 흐름은 블록(586)으로 진행하여, 바람직한 톤이 상관 부호가 반전되어 검출된 것을 나타낸다. R(n)의 평균 레벨이 상관 부호 반전 동안에 동일하면, 위상 반전이 표시된다. 그러므로, 도 25의 흐름은 도 26과 27의 흐름을 결합하여, 위상 반전을 검출한다. 대안적인 실시예는 P(n)의 갑작스런 변경을 검출함으로써 주어진 단일 주파수 톤 내의 위상 변경(반드시 180도인것은 아님)을 식별한다.
지금까지의 설명은 적응 필터 유닛(28) 내의 선택적 비적응 필터(64)가 존재하지 않은 것(도 4 참조)으로 가정했으므로, 적응 필터(28)의 계수 또는 탭에 대한 임의의 언급은 적응 필터 유닛(28) 내의 적응 필터(62)의 계수 또는 탭을 언급하는 것과 유사하다. 그러므로, 앞의 설명에서, 적응 필터 유닛(28)으로부터 적응 필터(62)를 따로 언급할 필요는 없었다. 그러나, 다음의 도 28-36의 설명에서, 비적응 필터(64)가 존재할 수 있고, 적응 필터 유닛(28)의 일부분으로 고려될 수 있다. 그러므로, 상기 설명을 통해 사용된 적응 필터(62)의 계수는 적응 필터 유닛(28)이 적응 필터(62)와 비적응 필터(64)와 같은 여러 다른 필터들의 조합을 포함할 수 있기 때문에, 적응 필터(62)의 계수 또는 탭으로서 이제 더욱 구체적으로 언급될 것이다.
상술된 바와 같이, 적응 필터(62)는 하이브리드(16)에 의해 도입된 반향을 추적하므로, 일반적으로 다수의 탭을 필요로 한다. 예를 들어, 도 37의 전체 임펄스 응답을 추적하기 위해, 적응 필터 유닛(28) 내의 적응 필터(62)(8 kHz의 샘플링 비율을 가정)는 32 밀리초를 스팬하는 256 탭을 필요로 하므로, 전체 임펄스 응답을 커버한다. 적응 필터(62)의 탭의 수가 증가함에 따라, 계산 복잡도는 증가하고, 통상적으로 수렴 속도를 저하시킨다. 도 20-24에 관한 상술된 방법은 적응 필터(62)가 순수 지연 후에 임펄스 응답을 커버하는 스파스 윈도우를 사용할 수 있게 하기 위해 순수 지연의 검출을 고려한 것이다. 도 28-36과 관련하여 후술될 방법은 반향 경로 스팬을 단축하는 메카니즘에 관한 것이다. 즉, 미세하게 조정된 순수 지연을 검출하는 것 이외에, 분산 시간은 임펄스 응답의 반향 경로 스팬을 단축시키기 위해 검출되어 압축된다. 설명되는 바와 같이, 한 실시예는 잔류 반향을 최소화하는데 요구된 효과적인 탭의 수를 단축할 목적으로 고정 또는 적응 필터를 추가한다.
임펄스 응답에는 도 37에 도시된 바와 같이 본래 제로와 폴(pole)이 있다. 제로는 대응하는 주파수에서의 응답을 방지하지만, 폴은 대응하는 주파수에서의 응답을 증대시킨다. 그러므로, 폴을 보상하기 위한 필터 또는 필터들을 추가함으로써, 임펄스 응답은 압축될 수 있어서, 더 적은 수의 탭을 필요로 한다. 예를 들어, IIR 필터가 비 B(z)/A(z)로 표시된 전달 함수(H)를 갖는다고 하면, 필터 A'(z)는 H(z)*A'(z)B(z)가 되게 H(z)의 폴을 보상하도록 설계될 수 있다. 도 2에 도시된 한 실시예는 비적응 필터(31)의 출력(즉, Sin(39))이 비적응 필터(31)와 관련된 반향과 동등해지도록 선택적 비적응 필터(31 및 35)를 사용한다. 그러나, DC 노치 필터(45) 다음의 비적응 필터(31)의 존재는 보상될 필요가 있는 왜곡을 Sin(37) 내로 도입한다. 그러므로, 비적응 필터(35)는 에러 신호(46)를 수신하고 필터된 에러 신호(47)를 생성하도록 도입될 수 있다. 비적응 필터(31)가 전달 함수 A'(z)를 갖는 FIR 필터라고 하면, 비적응 필터(35)는 전달 함수 1/A'(z)를 갖는 역 IIR 필터이다. 그러나, FIR 필터(31)의 A'(z)의 제로가 역 IIR 필터(35)의 1/A'(z)의 폴이 되기 때문에 A'(z)에 제한이 필요하다. A'(z)의 제로 상의 제한은 아래 설명될 것이고, 비적응 IIR 필터(35)의 폴이 에러 신호(37)를 확대되지 못하게 한다.
대안적인 실시예는 상이한 구성의 비적응 필터를 사용할 수 있다. 예를 들어, 비적응 필터(35)는 가산기(34)의 출력에 배치되지 않고, (동일한 네트 효과를 초래할 수 있는) 비적응 필터(31) 및 적응 필터(62)의 출력에서 가산기(34) 이전에배치될 수 있다. 이 실시예에서, 비적응 필터(31) 바로 다음의 비적응 필터(35)는 Sin(38) 및 Sin(39) 사이에 어떤 필터도 요구하지 않기 위해 서로 상쇄될 수 있다(즉, Sin(39) 및 Sin(38)은 동등해질 수 있다). 그러므로, 이 실시예에서, 단 하나의 추가 필터만이 요구된다. 그러나, IIR 필터가 비적응 필터(64)에 사용되면, 안정성에 관한 제한은 여전이 요구된다. 즉, 필터(64)의 계수에 의해 정의된 다항식의 모든 루트는 상세하게 후술되는 바와 같이 1보다 작게 되어야 한다(즉, 단위 원내에 있음). 전달함수 H(z)=W에 대해, W의 루트는 H(z)의 폴에 대응한다. 선택적 필터(31, 35 및 64)는 그들의 계수가 메인 적응 필터(62)의 계수와 같이 주기적으로 적응되지 않는다는 점에서 비적응이다. 일반적으로, 그들은 적응 비율이 수행된 이벤트인 적응 필터로서 간주될 수 있다.
도 28은 본 발명의 한 실시예에 따른 도 9의 블록(213)의 부분을 나타낸 것이다. 흐름은 적응 필터 단축 추정 옵션이 인에이블되는지 판정되는 판정 다이아몬드(626)에서 시작된다. 인에이블되지 않으면, 흐름은 판정 다이아몬드(628)로 진행한다. 적응 필터 단축 추정 옵션은 여러가지 다른 방식으로 인에이블될 수 있다. 예를 들어, 그것은 시스템 리셋에 응답하는 것과 같이 스스로 인에이블될 수 있다. 대안적으로, 그것은 상이한 지연이 도 4의 지연 유닛(66)(존재하는 경우) 내에서 검출되는 임의의 시간, 또는 새로운 하이브리드가 검출될 때마다 인에이블될 수 있다. 비적응 필터(64) 또는 비적응 필터(31 및 35)를 위해 선택된 계수는 각각의 상이한 하이브리드가 상이한 순수 지연 또는 상이한 분산 시간을 갖는 상이한 임펄스 응답을 가질 수 있기 때문에 특정 하이브리드(16)에 따라 다르다.
한 실시예에서, 도 20-24와 관련하여 상술된 순수 지연 추정은 (예를 들어, 통화 전송시에) 하이브리드에 영향을 미치는 변경 시에 또는 통화 시작 시에, 서브-속도 프로세싱을 사용하여 추정된 순수 지연을 빠르게 검출한다. 도 28과 관련하여 설명된 방법은 비적응 필터(64) 및 비적응 필터(31 및 35)의 필터 계수를 얻기 위해 순수 지연 및 분산을 결정한다. 도 28의 순수 지연 계산은 일반적으로 더욱 정밀하지만, 결정하는데 더 오랜 시간이 걸린다. 그러므로, 도 28의 방법은 적응필터(62)에 의해 요구된 효과적인 필터 수를 감소시키는 것 이외에 도 20-24에 의해 제공된 순수 지연 추정을 "미세 조정"할 수 있다. 도 28의 방법은 추가된 필터(64 또는 필터(31 및 35)를 보상하기 위해 지연 유닛(66)에 추가될 필요가 있는 임의의 추가 순수 지연을 결정한다. 즉, 후술되는 바와 같이, 분산 시간을 단축하기 위한 필터의 추가는 또한 지연량을 조금 증가시키는 경향이 있으므로, (원래 도 20-24의 방법으로 결정된) 지연 유닛(66)의 지연은 그에 따라 갱신될 수 있다. 도 24의 모니터링 모드가 사용되면, ERLE가 ERLE 임계치 이하로 떨어질 때마다, 새로운 순수 지연이 지연 유닛(66)에 대해 결정된다. 더욱이, 도 28의 적응 필터 단축 추정 옵션은 ERLE 임계치 이하에 속하는 ERLE에 응답하여(즉, 도 21의 흐름에 의해 지연 유닛(66)에서 결정되는 새로운 순수 지연에 응답하여) 인에이블될 수 있다.
대안적인 실시예에서, 도 20-24의 흐름은 적응 필터 단축 추정 옵션 없이 사용될 수 있고, 또는 이와 유사하게 적응 필터 단축 추정 옵션은 도 20-24의 순수 지연 추정 방법없이 반향 소거기 내에 존재할 수 있다. 대안적으로, 도 20-24의 방법을 갖는 반향 소거기에 있어서, 적응 필터 단축 추정 옵션은 도 20-24의 방법에 관계없이 인에이블될 수 있다. 또한, 옵션이 인에이블되지 않으면, (또는, 옵션이 여전히 추가 비적응 필터(64) 또는 추가 비적응 필터(31 및 35)의 계수뿐만 아니라 적응 필터(62)의 새로운 계수를 결정하는 기능을 하고 있으면), 추가 필터 또는 필터들은 단순히 바이패스될 수 있다(또는 그들은 필터되지 않은 신호를 통과시킬 수 있다).
옵션이 판정 다이아몬드(626)에서 인에이블되면, 흐름은 판정 다이몬드(628)로 진행하여, ERLE가 충분히 양호한지 판정된다. (ERLE는 수학식 26에 표시된 바와 같이 계산될 수 있는데, ERLE는 PSin과 Perror사이의 비에 대응하고, PSin과 Perror는 상술된 수학식 1 및 2를 사용하여 계산될 수 있다.) ERLE가 충분히 양호하다고 결정되면, 임계치에 비교된다. 예를 들어, 임계치는 20 dB보다 큰 값으로 설정될 수 있고, 또는 대안적으로 30 내지 40 dB의 범위 내에서 설정될 수 있다. 일반적으로, ERLE를 더 높게 하면, (에러 Perror가 더 낮아지기 때문에) 신호가 더 양호하다. 충분히 높은 ERLE는 Sgen(근단 송화자 신호)가 없을 때 발생하는데, 그것은 그렇지 않으면 ERLE가 떨어지기 때문이다. 대안적으로, 상술된 근단 신호 검출기(26)로부터 근단 송화자 신호가 ERLE를 결정하여 임계치와 비교하는 것으로 계속되기 전에 존재하는지 판정될 수 있다. 근단 송화자 신호가 존재하면, 또는 ERLE가 충분히 양호하지 않으면, 흐름은 도 9의 블록(212)으로 계속되어, 도 28의 나머지를 바이패스한다. 그러나, ERLE가 충분히 양호하면(임계치보다 크면), 흐름은 블록(630)으로 진행한다. 즉, 적응 필터 단축 추정 옵션은 양호한 신호가 존재하고, 에러 신호(46)가 양호한 반향 추정(48)로부터 얻어질 때 실행되어야 한다. 대안적인 실시예에서, 시스템 내의 다수의 신호들은 양호한 신호가 옵션을 실행하기 위해 존재하는지 판정하기 위해 사용될 수 있다.
블록(630)에서, 적응 필터(62)의 현재 계수에 기초하여 순수 지연 및 분산이 결정된다. (블록(630)의 상세는 도 29와 관련하여 설명될 것이다.) 블록(630) 후에, 흐름은 블록(632)으로 진행하여, 블록(630)에서 결정된 순수 지연 및 분산에기초하여, 새로 단축된 버전의 적응 필터(62)에 대응하는 적응 필터(62)의 새로운 계수뿐만 아니라 추가 비적응 필터(64) 또는 필터(31 및 35)의 계수 W가 결정된다. (블록(632)의 상세는 도 30과 관련하여 설명될 것이다.) 그 다음, 흐름은 판정 다이아몬드(634)로 진행하여, 새로운 구성이 충분히 양호한지 판정된다. 즉, 새로운 구성이 만족스러운지 판정하기 위해 상이한 기준이 사용될 수 있다. 예를 들어, 한 실시예에서, 새로운 구성의 감소된 계수의 수가 여전히 감소된 계수의 바람직한 수보다 크면, 블록(632)의 프로세스는 더욱 감소된 계수의 수를 얻기 위해 반복될 수 있다. 대안적으로, 하나의 반복만이 실행되어, 블록(632)의 결과가 충분히 고려되도록 판정 다이아몬드(634)가 없을 수 있다.
새로운 구성이 판정 다이아몬드(634)에서 충분히 양호하다면, 흐름은 블록(636)으로 계속되어, 적응 필터(62)가 재구성된다. 즉, 적응 필터(62)의 새로운 계수는 블록(632)에서 결정되고, 적응 필터(62) 내로 로드되며, 적응 필터(62)는 비적응 필터(64)와 조합하거나 비적응 필터(31 및 35)와 조합하여 사용된다. (블록(636)의 상세는 도 31과 관련하여 설명될 것이다.) 또한, 블록(636)에서, 지연 유닛(66) 내의 지연 값은 지연부(66) 내의 현존하는 지연 값에 대한 비적응 필터의 추가로 비롯된 임의의 필요한 지연을 추가함으로써 갱신될 수 있다. 그 다음, 흐름은 블록(638)으로 진행하여, 필터 단축 추정 옵션이 디스에이블된다. 즉, 도 28의 흐름은 대체로 샘플마다 실행이 되지 않는다. 적응 필터 단축 추정 옵션을 인에이블링하는 예와 관련하여 상술된 상황에서와 같이 필요할 때만 실행된다. 그러나, 대안적인 실시예에서, 도 28의 흐름은 샘플마다 실행될 수 있다.
도 28에 도시된 실시예에서, 블록(630-638)은 ERLE가 충분히 양호하다고 판정한 후에 순차적으로 실행된다. 그러나, 대안적인 실시예에서, 블록(630-638)(또는 블록(630-638)의 서브셋)은 반향 소거기(20)의 다른 태스크와 나란히 실행된 분리된 스레드로서 시작될 수 있다. 도 28의 흐름의 완료 시에, 도 28의 방법은 적응 필터(62)가 갱신될 수 있도록 결과들이 준비되었다는 것을 반향 소거기(20)에 경보할 수 있다. 대안적으로, 반향 소거기(20)는 전체 필터 단축이 완료되었다는 것을 경보받을 수 있다. 예를 들어, 신호 또는 인터럽트는 블록(630-638)(또는 블록(630-638)의 서브셋)의 완료를 나타내기 위해 반향 소거기(20)에 제공될 수 있다.
도 29는 도 28의 블록(630)의 부분을 나타낸 것이다. 즉, 도 29의 흐름은 적응 필터(62)의 현재 계수로부터 순수 지연 및 분산을 결정하는 한 실시예를 나타낸 것이다. 흐름은 적응 필터(62)의 계수의 크기가 원형 버퍼로 이동되는 블록(640)에서 시작된다. 즉, 적응 필터(62)의 필터 계수의 스냅샷이 취해지고, 0 내지 N-1의 위치를 크기 N의 원형 버퍼 내에 저장된다. 적응 필터(62)의 현재의 계수 H는 H=[h0,...,hN-1]로서 표시될 수 있고, h0,...,hN-1은 계수에 대응하고, N은 적응 필터(62)의 계수 또는 탭의 수에 대응한다. 그러므로, |hn|에 대응하는 값은 위치 "nMOD N"에서 원형 버퍼 내에 저장되고, n은 샘플 수에 대응하며, "|x|"는 "x의 크기"를 나타낸다(그리고 양의 값에 대응한다). 표현 "nMOD N"은 연산 n/N의 나머지를 일컫는 n의 모듈러스에 대응한다. 예를 들어, N이 256이고 n의 값이 270이면, nMOD N은 14를 나타내고, |h270|는 원형 버퍼의 위치 14에 대해 (크기 N의 원형 버퍼의 범위를 초과하는) "위치 270" 주위로 래핑된다. 그러므로, n의 값이 N보다 크면, N의 값은 n이 0 내지 N-1의 범위에 속할 때까지 연속 N에서 감산될 수 있다. 이와 마찬가지로, n의 값이 0 미만이면, N의 값은 n이 0 내지 N-1에 속할 때까지 연속 n에 더해질 수 있다.
그 다음, 흐름은 블록(642)으로 진행하여, 모든 계수 h에 대해, 에너지 E(n)(n=0 내지 N-1)은 크기 LW의 슬라이딩 윈도우 내의 크기 값의 합으로서 계산될 수 있다. 한 실시예에서, LW는 타겟 윈도우 크기의 길이, 즉 적응 필터(62)의 효과적인 계수의 수를 감소시킨 후의 탭 또는 계수의 타겟 수에 관련된다. 예를 들어, 한 실시예에서, LW는 크기 10 샘플의 슬라이딩 윈도우에 대응할 수 있고, 10 탭은 바람직한 필터 길이이다. 그러므로, N이 256(적응 필터(62)의 256개의 계수 h를 나타냄)이면, E(n)의 256 값이 판정되는데, 각각의 E(n)의 256 값은 (LW 내의 10 샘플에 대응하는) 10개의 크기의 합이다. 그러므로, E(n)은 아래 수학식 40에 표시된 바와 같이 표현될 수 있다.
상기 수학식(및 여기에서 설명된 다른 수학식)에서, 표시 [X]N은 X MOD N에 대응한다. 그 다음, 흐름은 블록(642)에서 블록(644)으로 진행하여, 지연 D가 에너지 피크의 위치 마이너스 LW로서 설정된다. 즉, E(슬라이딩 윈도우 LW내의 에너지)의 N 값이 결정된 후에, 최대 E가 발생하는 시점(샘플 시간) 마이너스 LW가 임펄스 응답의 순수 지연에 대응한다. 그러므로, D는 아래 수학식 41에 표시된 바와 같이 표현될 수 있다.
D = arg(max E(n))-LW (n=0, 1, ..., N-1)
상기 수학식에서, max E(n)은 취해진 E의 N 값의 최대 E 값을 일컫는 것이고, arg(max E(n))은 최대 E가 발생하는 시점 또는 인수를 일컫는 것이고, "인수"는 샘플 시간에 대응한다. 그러므로, D는 순수 지연에 대응한다.
그 다음, 흐름이 블록(646)으로 진행하여, 에너지 E가 소정의 임계치보다 작은 다음 위치와 D 사이의 샘플 수에 분산 시간이 대응한다. 즉, n=0,1,...,N-1의 범위에 걸쳐 (임펄스 응답의 크기에 대응하는) E(n)의 일반적인 경향은 일반적으로 최대 피크를 증가시킨 다음에 다시 감소시킴으로써 설명될 수 있다. 그러므로, 최대값에 도달한 후에, E(n)은 감소하고, 그것이 소정의 임계치를 초과하여 감소하는 시점은 분산 시간의 끝에 대응하고, 그러므로 분산 시간은 E(n)이 피크 값에 도달한 후에 소정의 임계치에 도달하는 시점(샘플 시간)과 D 사이의 샘플 수이다. 소정의 값은 분산 시간의 끝을 나타낼 수 있는 임의의 값으로 설정될 수 있다. 예를 들어, 한 실시예에서, 그것은 192 샘플(즉, 8 kHz 샘플링 비율에서 24 밀리초)로 설정될 수 있다.
도 30은 도 28의 블록(632) 부분의 한 실시예를 나타낸 것으로, (1) (비적응 필터(64) 또는 비적응 필터(31 및 35)의) 비적응 필터 계수 W, 및 (2) 적응 필터(62)의 단축된 버전의 계수가 결정된다. 흐름은 (비적응 필터(64) 또는 비적응 필터(31 및 35)의) 비적응 필터 계수 W가 결정되는 블록(648)에서 시작된다(블록(648)의 상세는 도 32-36과 관련하여 설명될 것이다). 그 다음, 흐름은 블록(650)으로 진행하여, 계수 W가 단축된 필터 계수 B를 결정하기 위해 현재의 적응 필터(62) 계수와(즉, 도 29의 블록(640)에서 취해진 스냅샷과) 관련되고, B는 비적응 필터(64 또는 31 및 35)의 추가 후의 적응 필터(62)의 새로운 계수를 포함한다. 흐름은 블록(652)으로 진행하여, 단축된 필터 계수 B의 분산 시간 및 새로운 지연 D가 결정된다. 그러므로, 도 29의 흐름 및 수학식 40 및 41은 블록(652)을 달성하기 위해 사용될 수 있다. 그 다음, 흐름은 블록(654)으로 진행하여, 적응 필터(62)의 새로운 적응 필터 계수가 B(즉, 소정의 길이를 갖는 B의 부분)로부터 결정되고, 적응될 필터 계수의 최대 수(즉, B의 선택된 부분 내의 샘플의 수)가 선택된다.
도 31은 도 28의 블록(636) 부분의 한 실시예를 나타낸 것으로, 적응 필터(62)가 재구성된다. 흐름은 현재의 적응 필터 계수 H가 도 30의 블록(654)에서 미리 결정된 단축된 계수로 대체되는 블록(656)에서 시작된다. 흐름은 블록(658)으로 진행하여, 새로운 계수 W(도 30의 블록(648)에서 결정된)가 비적응 필터(64 또는 31 및 35) 내로 로드된다. 그러므로, W를 비적응 필터 또는 필터들 내로 로드함으로써, 그들은 인에이블되어, 적응 필터(62)가 감소된 필터 길이를 가질 수 있게 한다. 그 다음, 흐름은 블록(660)으로 진행하여, 적응 필터(28) 내의 지연 유닛(66)이 새로운 지연으로 갱신된다. 예를 들어, 한 실시예는 단순히, 새로 결정된 순수 지연 D로 지연 유닛(66)을 갱신할 수 있다. 대안적인 실시예는 지연 유닛(66) 내에 현재 저장된 지연을 결정할 수 있고, 현존하는 값을 필요할 때 갱신할 수 있다. 대안적으로, 새로운 지연이 지연 유닛(66) 내의 현존하는 지연으로부터 많이 변화하지 않으면, 지연 유닛(66)은 전혀 갱신되지 않을 수 있다. 또한, 블록(660)에서, 일단 적응 필터(62)가 블록(656) 내의 새로운 계수로 로드되면, 그것은 새로운 계수의 수를 적응하도록 구성되어야 한다.
도 32는 도 30의 블록(648)의 한 실시예를 나타낸 것으로, 새로운 필터 계수 W는 (필터(64 또는 31 및 35)에 대응하여) 결정된다. 흐름은 임의의 미리 계산된 필터 계수 W가 존재하는지 판정되는 판정 다이아몬드(662)에서 시작된다. 예를 들어, 미리 계산되어 있는, 상이한 하이브리드 및 채널 조건에 대응하는 여러가지 서로다른 가능한 W 세트를 포함하는 라이브러리가 존재할 수 있고, 그러므로 새로운 W는 단순히 라이브러리로부터 선택될 수 있고, 흐름은 도 30의 블록(650)으로 진행하여, 적응 필터 계수를 라이브러리로부터의 모든 현존하는 W와 관련시키고, 최상의 성능을 제공하는 것을 선택한다. 대안적으로, 가장 상이한 시나리오를 나타내는 하나의 미리 계산된 W가 사용될 수 있다. 그러므로, W는 여러가지 상이한 방식으로 오프라인 계산될 수 있고, 그 중의 하나는 도 36과 관련하여 설명될 수 있고, 그러므로, 미리 계산된 W가 사용될 수 있다. 필터 계수 W가 미리 계산되지 않으면, 흐름은 블록(664)으로 진행하여, 새로운 필터 후보를 결정하는 임의의 방법이 W를 찾기 위해 사용될 수 있다. W를 결정하는 여러가지 실시예는 더 33-35를 참조하여 상세하게 설명될 것이다.
그 다음, 흐름은 블록(666)으로 진행하여, W의 루트가 결정된다. 예를 들어. W는 W=[w0,w1,...,wM-1]로 표현될 수 있고, w0,w1,...,wM-1은 필터 계수에 대응하고, M은 필터 계수의 수에 대응하여, W(z)가 아래 수학식 42로 표시된 바와 같이 표현될 수 있다.
W의 루트를 결정하기 위해, W(z)는 0으로 설정되어 z에 대해 풀이되며, z는 M-1개의 해를 갖는다. 그러므로, W(z)의 루트 R은 R=[r0, r1,...,rM-1]로 표현될 수 있고, 루트는 복소수 및 그 공액을 포함한다. 그러므로, W(z)=0은 아래 수학식 43에 표시된 바와 같이 표현될 수 있다.
그 다음, 흐름은 블록(668)으로 진행하여, 루트에 추가제한이 부가되어, W가 FIR 또는 IIR 프로세싱 모드에서 사용되어 안정한 상태로 있을 수 있다. 예를 들어, W가 FIR 구현에서 사용되면, 안전성을 보장하기 위해 제한이 부가될 필요가 없지만, IIR 구현의 경우, 루트는 단위 원 내에 있어야 된다. 단위 원은 실수에 대응하는 x축 및 허수에 대응하는 y축에 의해 정해진 평면 내의 한 원을 칭하는 것이다. 단위 원은 원점(x와 y축 상의 0에 대응하는 x와 y축의 교점) 주위에 그려지고, 반경 1을 갖는다. 단위 원 내에 있지 않은 W(z)의 각 루트 rk에 대해, rk는 단위 원 내에 놓이도록 위치변환된다. 대안적으로, 루트가 단위원 내에 있게 하는 것보다, W(z)의 루트가 반경 ρ를 갖는 원점 주위에 중심이 있는 원 내에 있도록 제한이 부가될 수 있고, ρ는 1보다 작다. 그러므로, 이 실시예에서, 반경 ρ인 원 내에 있지 않은 W(z)의 각 루트 rk에 대해, 루트 rk는 반경 ρ인 원 내에 있도록 위치변환된다. 그러므로, |rk|(즉, rk의 크기)가 ρ보다 크면, 위치변환은 수학식 44에 표시된 바와 같이 표현될 수 있다.
상기 수학식에서, rk *는 rk의 복소 공액을 나타낸다. 그 다음, 흐름은 블록(670)으로 진행하여, 새로운 필터 계수 Wnew가 변경된 루트로부터 구성된다. 즉, 임의의 루트가 블록(668)에서 부가된 제한으로 인해 변경될 필요가 있었다면, Wnew는 변경된 루트를 사용하여 결정된다. 새로운 루트는 r0,...,rM-1에 대해 상기 수학식 43 내로 대입되어 새로운 W(z)(즉, Wnew)를 제공할 수 있다. 그 다음, Wnew는 (도 30의 블록(650)으로 계속되는) 나머지 흐름에서 필터 계수 W로서 사용된다. 그러므로, 도 32는 W의 루트를 조건결정하거나 투영하는데 사용될 수 있다.
도 36은 임펄스 응답 추정의 트레이닝 세트가 주어진 오프라인의 필터 계수W를 설계하는데 사용된 방법의 한 실시예를 나타낸다. 흐름은 모든 설계 방법에 대해, 솔루션 W가 트레이닝 세트 내의 모든 채널 임펄스 응답에 대해 결정되는 블록(704)에서 시작된다. 그러므로, 2가지 설계 방법이 트레이닝 세트 내의 8개의 채널 임펄스 응답에 사용되면, 총 16개의 솔루션(W0-W15)이 결정된다. 예를 들어, 도 36의 방법은 W를 결정하는 임의의 특정 방법에 제한되지 않는다. 그 다음, 흐름은 블록(706)으로 진행하여, 모든 솔루션 W에 대해, W의 컨벌루션 Bk및 트레이닝 세트 내의 모든 임펄스 응답이 추정된다. 그러므로, 16개의 솔루션(W0-W15) 및 트레이닝 세트 내의 8개의 임펄스 응답이 있는 현재 예에서, 총 128개의 컨벌루션이 추정된다. 임의의 솔루션 W에 대해, 각각의 Bk는 Bk=[bk,0,bk,1,...,bk,N-1]로 표현될 수 있는데, bk,0,bk,1,...,bk,N-1는 계수이고, N은 Bk의 길이이다. [k]8은 트레이닝 세트 내의 채널 수를 나타낸다.
그 다음, 흐름은 블록(708)으로 진행하여, 모든 Bk에 대해, 최대 에너지를 갖는 바람직한 길이(즉, 타겟 필터 길이)의 분산 영역이 위치된다. 즉, 최대 에너지의 분산 영역은 상기 수학식 40 및 41을 사용하여 위치될 수 있는데, LW는 분산 영역의 바람직한 길이에 대응한다. 그러므로, 블록(708)의 수학식은 다음과 같이 표현될 수 있다.
상기 수학식은 상술된 수학식 40과 유사하다. 수학식 45에서, N은 특정 Bk의 길이이고, Ek(n)은 (분산 영역의 바람직한 길이에 대응하는) 슬라이딩 윈도우 LW 내의 에너지에 대응한다. 그러므로, N개의 에너지 값(Ek(0),...Ek(N-1))은 각 Bk에 대해 결정된다. 그러므로, 각각의 Bk에 대한 최대 에너지를 갖는 분산 영역은 다음 수학식을 사용하여 결정될 수 있다.
수학식 46은 상술된 수학식 41과 유사하다. 수학식 46에서, Dk는 최대 에너지에서의 순수 지연에 대응하고, 그러므로 분산 영역은 Dk에서 시작되고 Dk+LW에서 끝나며 최대 에너지를 갖는 영역이다. (대안적으로, 수학식 41과 관련하여 상술된 바와 같이, 분산 영역의 끝은 에너지 Ek(n)이 소정의 임계치에 속하는 시점에서 정해질수 있다.) 그러므로, 각각의 Bk에 대해, 최대 에너지의 분산 영역이 결정된다. 그 다음, 프로세스는 블록(710)으로 진행하여, 모든 Bk에 대해, 성능 지수 FMk가 결정된다. 성능 지수는 (블록(708)로부터) maxEk(n)인 최대 에너지의 비와 Bk의 총에너지 Ek로 정해진다. 그러므로, Ek는 다음 수학식을 사용하여 결정될 수 있다.
상기 수학식에서, N은 Bk의 길이를 칭한다. 그러므로, 성능 지수는 다음과 같이 표현될 수 있다.
상기 수학식에서, N은 Bk의 길이를 칭한다. 흐름은 블록(712)으로 진행하여, 모든 채널 임펄스 응답에 대한 평균 성능 지수 FMAVG가 결정된다. 모든 솔루션 Wk(상기 예에서, k=0,1,...,15)는 자신의 평균 성능지수 FMAVG를 가질 것이다. 흐름은 블록(714)으로 진행하여, 최적 필터 W가 선택되게 되어, FMAVG가 모든 가능한 설계 방법 중에서 최대화된다. 도 36의 방법은 오프라인 실행될 수 있고, 최종 선택된 W는 반향 소거기(20) 내에 저장되고, 필요할 때 비적응 필터(64, 31 또는 35) 내로 로드될 수 있다.
W의 상기 설명은 추가 필터가 비적응 필터인 것으로 가정했지만, 적응 필터가 비적응 필터(64, 31 및 35) 대신에 사용될 수 있다. 그러나, 안정성을 보장하기 위해 상술된 바와 같이, 제한이 W에 부가될 필요가 있으며, 필터가 적응필터이면, 필터 적응화가 불안정한 필터를 초래할 수 있기 때문에, 안정성 제한은 샘플마다 부가될 필요가 있다.
도 33-35는 W를 결정하는 가능한 설계 방법을 제공한다. 예를 들어, 도 33-35는 도 36의 블록(704)에서 사용된 3개의 설계 방법에 대응할 수 있다. 대안적으로, 도 33-35의 임의의 또는 모든 방법은 그 동작 동안에 반향 소거기(20)에 의해 실행될 수 있다. 한 실시예에서, 반향 소거기(20)는 (예를 들어, 도 32의 블록(664)에서) W를 결정하기 위해 3개 모두의 설계 방법을 실행할 수 있고, 최상의 솔루션을 제공하는 최종(도 28의 블록(632) 후) 결정시에 실행할 수 있다. 상이한 방법은 변경된 루트로부터 새로운 필터 계수를 재구성한 후의 최상의 솔루션에 비교하여 루트 또는 W를 변경하기 이전에(도 32의 블록(668) 최상의 솔루션을 제공할 수 있다. 그러므로, 상이한 방법은 실시예에 따라 반향 소거기(20)에 의해 상이한 시간에 분석되거나 선택될 수 있다. 대안적으로, 단일 설계 방법이 반향 소거기(20)에 의해 사용될 수 있다.
도 33은 본 발명의 한 실시예에 따라, 새로운 필터 계수 W를 결정하는 하나의 설계 방법에 대응하는 도 32의 블록(664) 부분을 나타낸다. 흐름은 적응 필터(62) 계수의 분산 영역이 원형 버퍼로 이동되게 되어 지연 D(블록(644)에서 계산)가 보상되는 블록(672)에서 시작된다. 그러므로, 지연 보상된 계수 G는 G=[g0,g1,...,gN-1]로 표현될 수 있고, g0,g1,...,gN-1은 지연 보상된 계수 G의 계수이고, N은 적응 필터(62)의 길이이다. 그러므로, H(도 29의 블록(640)에서 취해진원래의 스냅샷에 대응하는 적응 필터(62)의 보상되지 않은 계수)와 G 사이의 관계는 다음과 같이 표현될 수 있다.
수학식 49에서, gi는 대응하는 원형 버퍼의 i번째 위치에 저장되는 지연 보상된 계수이다. 도 38은 임펄스 응답이 (도 37에서 T4+T2로 정의된) 분산 시간에서부터 시작하도록 (도 37의 T1에 대응하는) 지연 D에 의해 시간 보상되어있는 도 37의 예시적인 임펄스 응답의 한 실시예를 도시한 것이다. 그러므로, H 계수는 도 37의 임펄스 응답을 나타내는 반면, 계수 G는 도 38의 시간 보상된 임펄스 응답을 나타낸다. 흐름은 블록(674)로 진행하여, 바람직한 필터 길이가 정해진다. 예를 들어, 한 실시예에서, 상술된 바와 같이, 바람직한 필터 길이는 (임펄스 응답의 분산 시간이 10 샘플로 압축될 필요가 있는 경우) 10으로 정해진다. 도 38의 예를 참조하면, 바람직한 필터 길이는 0과 S1 사이의 시간인 T5에 대응하는데, 0은 분산 시간의 시작을 정의하고(그리고, G가 지연 보상되었기 때문에, G의 제1 계수에 대응하고), S1은 바람직한 길이의 끝을 정의한다.
일단 바람직한 필터 길이가 결정되면, 바람직한 필터 길이 내의 분산 영역의 계수는 잔류 계수 V를 정하하기 위해 소거된다. 그러므로, V는 V=[0,...,0,v0,v1,...,vK-1]로 표현될 수 있는데, K는 V의 비제로 성분의 수이고, V의 각각의 비제로 계수는 다음과 같이 정해진다.
그러므로, 도 38의 예를 참조하면, 시간 T5에 대응하는 G의 계수는 0으로 설정되고, V의 계수는 잔류 왜곡, 즉 시간 T6에 대응하는 임펄스 응답 부분을 나타낸다. 흐름은 잔류 왜곡 V를 등화시키기 위해 동작하는 블록(676-680)으로 진행한다.
블록(676)에서, V의 고속 푸리에 변환(FFT)이 계산된다. 흐름은 블록(678)으로 진행하여, FFT(V)의 역 I가 계산되는데, I=1/FFT(v)이다. 흐름은 블록(680)으로 진행하여, W1이 I의 역 FFT(IFFT)로서 계산되는데, W1=IFFT(I)이다. 그러므로, W1은 V의 역이고, 잔류 왜곡 V를 등화시키기 위해 사용될 수 있다. 흐름은 블록(682)로 진행하여, W가 (도 29에서의 채널 분산의 추정와 유사하게) 소정의 길이가 최대 에너지를 갖는 W1의 윈도우로부터 결정되고, 소정의 길이는 적응 필터 탭의 바람직한 수이다. 그 다음, 흐름은 블록(684)으로 진행하여, 필터 계수 W가 예를 들어 W의 유클리드 크기(즉, L2norm)에 의해 정규화된다.
도 34는 본 발명의 실시예에 따라 계수 W를 결정하는 대안적인 방법을 나타낸다. 흐름은 (블록(672) 및 수학식 49로부터) 지연 보상된 필터 계수를 사용하여, 바람직한 필터 길이가 상술된 바와 같이 정해지고, 컨벌루션 매트릭스 C가 결정되는 블록(686)에서 시작된다. 컨벌루션 매트릭스 C는 다음과 같이 정의될 수있다.
SL은 다음과 같이 표현될 수 있는 선택 매트릭스에 대응한다.
수학식 52에서, 0은 (N+M-L-1) x L 제로 매트릭스이고, I는 (N+M-L-1) x (N+M-L-1) 단위 매트릭스이다. 이 수학식에서, N은 G의 길이에 대응하고, M은 W(바람직한 적응 필터 길이를 달성하기 위한 비적응 필터 탭의 수)의 길이에 대응하며, L은 바람직한 적응 필터 길이에 대응한다. ConG는 G의 컨벌루션 매트릭스에 대응하고, 다음과 같이 표현될 수 있다.
그러므로, 매트릭스 C는 이 설계 프로세스의 종료에 의해 단축된 채널의 계수를 정의할 수 있는 초기 L 행을 무시함으로써 지연 보상된 필터 계수 G의 컨벌루션 매트릭스 ConG로부터 얻어진다.
흐름은 블록(688)으로 진행하여, bw가 열 벡터로서 배치된 수학식 51의 매트릭스 C의 제1 행으로서 정의된다. 흐름은 블록(690)으로 진행하여, 매트릭스 A가 계산된다.
수학식 54에서, 표기 CT는 매트릭스의 치환을 칭하는 것이다. 흐름은 블록(692)으로 진행하여, AW=bw에 의해 주어진 수학식의 시스템이 W에 대해 풀이된다. 그 다음, 흐름은 블록(694)로 진행하여, 필터 계수 W가 정규화된다. 본 분야에 숙련된 기술자는 상기 솔루션이, W와 적응 필터(62) 계수의 전체 컨벌루션을 고려함으로써 왜곡을 등화시키고자 시도하는 시스템 CW=[1,0,...,0]T의 최소 평균 제곱 에러 솔루션에 대응한다는 것을 바로 알 수 있을 것이다.
도 35는 본 발명의 다른 실시예에 따라 계수 Win을 결정하는 대안 방법을 나타낸다. 흐름은 (블록(672) 및 수학식 49로부터) 지연 보상된 필터 계수 G를 사용하여, 바람직한 필터 길이가 상술된 바와 같이 정의되고 컨벌루션 매트릭스 C가 결정되는 블록(696)에서 시작된다. 그러므로, 수학식 51에서 정의된 것과 동일한 C 매트릭스는 도 35에서 사용된다. 그 다음, 흐름은 블록(698)으로 진행하여, 도 34의 블록(690)에서와 같이, 매트릭스 A가 계산된다(수학식 54 참조). 흐름은 블록(700)으로 진행하여, WTW/WTAW의 최대 솔루션이 추정된다. WTW/WTAW는 매트릭스 A에의해 가중된 W의 정구화된 탭들의 에너지의 비를 제공하므로, WTW/WTAW의 최대 솔루션은 WTW=1로 조건이 맞춰진 에너지 WTAW를 최소화한다. 또한, WTW/WTAW는 WTIW/WTAW와 대등하고, I는 단위 매트릭스이어서, 솔루션 W는 고유벡터를 추정하는 임의의 즉시 이용가능한 알고리즘을 사용하여 계산될 수 있는 쌍(I, A)의 가장 큰 고유값에 대응하는 일반화된 고유벡터이다. 그 다음, 흐름은 블록(702)으로 진행하여, 블록(700)에서 결정된 필터 계수 W가 정규화된다.
그러므로, 도 33-35는 필터 계수 W를 결정하기 위해 사용될 수 있는 3가지 설계 방법을 제공했다. 도 33의 방법은 바람직한 (타겟) 필터 길이를 벗어난 잔류 왜곡을 등화시키고자 하는 것이다. 도 34의 방법은 W와의 적응 필터(62) 계수의 전체 컨벌루션을 고려하면서 왜곡을 등화시키고자 하는 더욱 포괄적인 것이다. 그러나, 도 34는 더욱 복잡한 수학식을 초래한다. 도 35의 방법은 W와의 적응 필터(62)의 계수의 컨벌루션 후에 잔류 왜곡의 에너지를 실제로 최소화하고자 하는 것이다. 상술된 바와 같이, 모든 방법은 반향 소거기(20)에 의해 구현될 수 있고, 최상의 솔루션은 W의 루트를 변경하기 이전이나 변경된 루트로부터 새로운 필터 계수를 재구성한 후에 선택된다.
앞의 설명에서, 본 발명은 특정 실시예와 관련하여 설명되었다. 그러나, 본 분야에 숙련된 기술자는 첨부된 청구범위에서 설명되는 본 발명의 범위를 벗어나지 않고서 여러가지 변형 및 변경이 가능하다는 것을 알 수 있을 것이다. 예를 들어, 교시된 임의의 방법은 하나 이상의 컴퓨터 하드 디스크, 플로피 디스크, 3.5" 디스크, 컴퓨터 저장 테이프, 자기 드럼, SRAM 셀, DRAM 셀, 전기적으로 소거가능한(EEPROM, EPROM, 플래시) 셀, 비휘발성 셀, 강유전성 또는 강자성 메모리, 컴팩트 디스크, 레이저 디스크, 광학 디스크, 및 소정의 유형의 컴퓨터 판독가능 매체 상에 소프트웨어로서 구현될 수 있다. 또한, 블록도는 도시된 것과 다른 블록일 수 있고, 더 많거나 적은 블록을 가질 수 있고, 또는 다르게 배열될 수 있다. 또한, 흐름도는 더 많거나 적은 단계를 포함하여 다르게 배열되거나, 또는 서로 동시에 실행될 수 있는 다수의 단계들로 분리될 수 있는 단계들을 가질 수 있다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 하고, 이러한 모든 변경은 본 발명의 범위 내에 포함되어야 한다.
이점, 장점 및 문제에 대한 솔루션은 특정 실시예와 관련하여 상술되었다. 그러나, 이점, 장점, 문제에 대한 솔루션, 및 이러한 이점, 장점 또는 솔루션이 생기게 하거나 표명될 수 있는 임의의 구성요소(들)은 청구범위의 임의의 또는 모든 중대하거나, 요구되거나, 본질적인 특징 또는 구성요소로 구성되는 것은 아니다. 여기서 사용된 바와 같이 "포함하다(comprises, comprising)" 또는 임의의 다른 변형은 엘리먼트의 리스트를 포함하는 프로세스, 방법, 아티클(article), 또는 장치가 이들 요소만을 포함하는 것이 아니라 이러한 프로세스, 방법, 아티클 또는 장치에 고유한 또는 열거되지 않은 다른 엘리먼트를 포함할 수 있도록 비배타적 포함을 포함하는 것으로 의도된다.

Claims (16)

  1. 선택적으로 배경 잡음을 취하기 위해 오디오 신호에 대해 비선형 프로세싱을 실행하는 방법으로서,
    배경 잡음을 선택적으로 추정하여 추정된 배경 잡음 레벨을 생성하는 단계;
    상기 추정된 배경 잡음 레벨이 소정의 기준(criteria)을 초과하는지 판정하는 단계; 및
    소정의 배경 잡음을 오디오 신호 내로 선택적으로 삽입하는 단계
    를 포함하는 방법.
  2. 반향 소거기로서,
    적응 필터;
    상기 적응 필터에 연결된 제어 회로; 및
    상기 제어 회로에 연결되어, 배경 잡음을 선택적으로 추정하며, 근단(near-end) 신호 및 원단(far-end) 신호 중의 최소한 하나가 검출되면 배경 잡음의 추정을 정지하는 비선형 프로세서
    를 포함하는 반향 소거기.
  3. 근단 신호 검출을 실행하는 방법으로서,
    수신 경로의 출력의 전력을 판정하는 단계;
    에러 신호의 전력을 판정하는 단계; 및
    상기 수신 경로의 출력의 전력 및 상기 에러 신호의 전력을 사용하여 상기 근단 신호가 존재하는지 검출하는 단계
    를 포함하는 방법.
  4. 반향 소거기로서,
    수신 경로의 출력의 전력 및 에러 신호의 전력을 판정하여 근단 신호가 존재하는지 검출하는 근단 신호 검출기;
    상기 근단 신호 검출기에 연결된 적응 필터;
    상기 적응 필터에 연결된 제어 회로; 및
    상기 제어 회로에 연결된 비선형 프로세서
    를 포함하는 반향 소거기.
  5. 반향 소거를 실행하는 방법으로서,
    반향 제거의 목적으로 적응 필터링을 실행하는 단계;
    상기 적응 필터링을 실행하는 단계와 동시에 순수 지연(pure delay)을 추정하는 단계; 및
    상기 순수 지연을 선택적으로 사용하여 적응 필터 윈도우의 위치를 조정하는 단계
    를 포함하는 방법.
  6. 반향 소거를 실행하는 방법으로서,
    개별 추정된 지연 값들을 판정하는 단계;
    상기 개별 추정된 지연 값들에 대해 비선형 필터링을 실행하여 순수 지연을 생성하는 단계;
    상기 순수 지연을 선택적으로 사용하여 적응 필터 윈도우의 위치를 조정하는 단계; 및
    반향 제거의 목적으로 적응 필터링을 실행하는 단계
    를 포함하는 방법.
  7. 반향 소거기로서,
    반향을 제거하기 위한 제1 적응 필터; 및
    상기 제1 적응 필터에 연결된 모니터 및 제어 유닛
    을 포함하고,
    상기 모니터 및 제어 유닛은 순수 지연을 추정하기 위한 제2 적응 필터를 포함하며, 상기 순수 지연은 제1 적응 필터의 적응 필터 윈도우의 위치를 조정하기 위해 사용되고,
    상기 제2 적응 필터는 개별 추정된 지연 값들을 필터링하여 상기 순수 지연을 생성하는 비선형 필터를 포함하는 반향 소거기.
  8. 통신 신호 내에 톤(tone)이 존재하는 지를 나타내는 방법으로서,
    상기 통신 신호를 소정의 제1 지연만큼 지연시켜 제1 지연 신호를 생성하는 단계;
    상기 통신 신호를 소정의 제2 지연만큼 지연시켜 제2 지연 신호를 생성하는 단계;
    상기 제1 지연 신호, 상기 제2 지연 신호 및 상기 통신 신호를 결합하여 추정 신호를 생성하는 단계; 및
    상기 추정 신호를 사용하여 톤이 존재하는지 나타내는 단계
    를 포함하는 방법.
  9. 통신 신호 내의 톤을 검출하는 톤 검출기로서,
    제1 지연 신호를 제공하는 제1 회로;
    제2 지연 신호를 제공하는 제2 회로;
    상기 제1 지연 신호, 상기 제2 지연 신호 및 상기 통신 신호를 결합하여 추정 신호를 생성하는 추정기 회로; 및
    상기 추정 신호를 사용하여 톤이 존재하는지 나타내는 톤 표시 회로
    를 포함하는 톤 검출기.
  10. 다수의 필터 계수들을 갖는 필터의 발산을 감소시키는 방법으로서,
    근단 신호의 파라미터가 소정의 제1 임계치보다 작고, 원단 신호의 파라미터가 소정의 제2 임계치보다 작을 때 상기 다수의 필터 계수들 중의 적어도 일부분의 적응을 정지하는 단계를 포함하는 방법.
  11. 다수의 필터 계수들을 갖는 필터 -상기 필터는 제1 상태 및 제2 상태를 포함하는 다수의 상태들을 가짐- 의 발산을 감소시키는 방법으로서,
    적응 필터의 현재 상태를 판정하는 단계;
    상기 적응 필터의 현재 상태가 상기 제1 상태일 때 상기 다수의 필터 계수들을 저장하는 단계; 및
    상기 적응 필터의 현재 상태가 상기 제2 상태일 때 상기 다수의 필터 계수들의 저장 금지를 실행하는 단계
    를 포함하는 방법.
  12. 통신 시스템에서 사용하기 위한 적응 필터의 안정성을 개선하는 방법에 있어서,
    에러 신호의 이득을 선택적으로 조정하는 단계; 및
    상기 에러 신호 이득의 선택적 조정에 응답하여, 상기 통신 시스템의 이득이 1보다 크지 않게 보장하는 단계
    를 포함하는 방법.
  13. 통신 신호 내에 톤이 존재하는 지를 나타내는 방법에 있어서,
    상기 통신 신호를 소정의 지연만큼 지연시켜 지연 신호를 생성하는 단계;
    생성 정현파 신호를 생성하는 단계;
    상기 지연 신호, 상기 생성 정현파 신호 및 상기 통신 신호를 결합하여 제1 상관 신호 및 제2 상관 신호를 생성하는 단계; 및
    상기 제1 상관 신호 및 상기 제2 상관 신호를 사용하여 톤이 검출되었는지 나타내는 단계
    를 포함하는 방법.
  14. 신호를 필터링하는 필터로서,
    신호를 제1 적응 속도로 필터링하는 제1 적응 필터; 및
    상기 제1 적응 필터에 연결되어, 상기 신호를 제2 적응 속도로 필터링하는 제2 적응 필터
    를 포함하고, 상기 제1 적응 속도는 상기 제2 적응 속도보다 작은 필터.
  15. 신호에 대해 적응 필터링을 실행하는 방법으로서,
    신호를 제1 적응 속도로 필터링하여 제1 필터링된 출력을 생성하는 단계; 및
    상기 제1 필터링된 출력을 제2 적응 속도로 필터링하여 제2 필터링된 출력을 생성하는 단계
    를 포함하고, 상기 제1 적응 속도는 상기 제2 적응 속도보다 작은 방법.
  16. 적응 필터의 안정성을 개선하는 방법으로서,
    상기 적응 필터 내의 다수의 필터 계수들을 모니터하는 단계;
    상기 다수의 필터 계수들 내의 소정의 패턴을 검출하는 단계; 및
    상기 소정의 패턴이 검출되면, 상이한 다수의 필터 계수들을 상기 적응 필터 내로 로드하는 단계
    를 포함하는 방법.
KR10-2004-7020998A 2002-06-24 2003-04-24 통신 시스템 및 그것을 위한 방법 KR20050012826A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/178,560 2002-06-24
US10/178,560 US7388954B2 (en) 2002-06-24 2002-06-24 Method and apparatus for tone indication
PCT/US2003/013398 WO2004002002A1 (en) 2002-06-24 2003-04-24 Communication system and method therefor

Publications (1)

Publication Number Publication Date
KR20050012826A true KR20050012826A (ko) 2005-02-02

Family

ID=29734719

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7020998A KR20050012826A (ko) 2002-06-24 2003-04-24 통신 시스템 및 그것을 위한 방법

Country Status (7)

Country Link
US (1) US7388954B2 (ko)
EP (1) EP1516437A1 (ko)
JP (1) JP2005531200A (ko)
KR (1) KR20050012826A (ko)
CN (1) CN1672341B (ko)
AU (1) AU2003234297A1 (ko)
WO (1) WO2004002002A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857976B1 (ko) * 2008-01-25 2008-09-10 용 이 폐수용 열교환장치

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107303B2 (en) * 2002-05-23 2006-09-12 Analog Devices, Inc. Sparse echo canceller
DE10350700A1 (de) * 2002-10-31 2004-05-19 Imra Europe S.A.S. Verbesserungen beim Unterdrücken von Störungen für drahtlosen Empfang und Verbesserungen bei der Verarbeitung eines Frequenzumtastungssignals
US7313233B2 (en) * 2003-06-10 2007-12-25 Intel Corporation Tone clamping and replacement
GB2410661A (en) * 2004-01-30 2005-08-03 Mitel Networks Corp Narrow band tone detection in echo cancelling system
JP4576847B2 (ja) * 2004-02-26 2010-11-10 沖電気工業株式会社 エコーキャンセラ制御装置及び音声通信装置
US7844048B2 (en) * 2004-03-08 2010-11-30 Freescale Semiconductor, Inc. Selective tone event detector and method therefor
GB2416971A (en) * 2004-08-04 2006-02-08 Mitel Networks Corp Calculating an expected echo return loss enhancement (erle) in an echo canceller
GB2417391B (en) 2004-08-18 2007-04-18 Wecomm Ltd Transmitting data over a network
US9621473B2 (en) 2004-08-18 2017-04-11 Open Text Sa Ulc Method and system for sending data
US8457614B2 (en) 2005-04-07 2013-06-04 Clearone Communications, Inc. Wireless multi-unit conference phone
JP4613705B2 (ja) * 2005-06-15 2011-01-19 沖電気工業株式会社 エコーキャンセラ
EP1855456B1 (en) * 2006-05-08 2009-10-14 Harman/Becker Automotive Systems GmbH Echo reduction in time-variant systems
US7590419B2 (en) * 2006-05-12 2009-09-15 Freescale Semiconductor, Inc. Frequency correction channel burst detector in a GSM/EDGE communication system
US7856087B2 (en) * 2006-08-29 2010-12-21 Audiocodes Ltd. Circuit method and system for transmitting information
JP4509126B2 (ja) * 2007-01-24 2010-07-21 沖電気工業株式会社 エコーキャンセラ及びエコーキャンセル方法
US20080273480A1 (en) * 2007-05-02 2008-11-06 Mediaphy Corporation Dynamic adjustment of training time for wireless receiver
US8374851B2 (en) * 2007-07-30 2013-02-12 Texas Instruments Incorporated Voice activity detector and method
EP2116999B1 (en) * 2007-09-11 2015-04-08 Panasonic Corporation Sound determination device, sound determination method and program therefor
US8199927B1 (en) 2007-10-31 2012-06-12 ClearOnce Communications, Inc. Conferencing system implementing echo cancellation and push-to-talk microphone detection using two-stage frequency filter
US8050398B1 (en) 2007-10-31 2011-11-01 Clearone Communications, Inc. Adaptive conferencing pod sidetone compensator connecting to a telephonic device having intermittent sidetone
JP4547042B2 (ja) * 2008-09-30 2010-09-22 パナソニック株式会社 音判定装置、音検知装置及び音判定方法
US8380497B2 (en) 2008-10-15 2013-02-19 Qualcomm Incorporated Methods and apparatus for noise estimation
US20110013766A1 (en) * 2009-07-15 2011-01-20 Dyba Roman A Method and apparatus having echo cancellation and tone detection for a voice/tone composite signal
US8406431B2 (en) * 2009-07-23 2013-03-26 Sling Media Pvt. Ltd. Adaptive gain control for digital audio samples in a media stream
US20110103500A1 (en) * 2009-10-30 2011-05-05 Qualcomm Incorporated Methods and apparatus for estimating a sparse channel
CN101924717B (zh) * 2010-04-27 2012-12-05 三维通信股份有限公司 一种基于信道初估计的变步长自适应回波干扰抵消方法
US8447595B2 (en) * 2010-06-03 2013-05-21 Apple Inc. Echo-related decisions on automatic gain control of uplink speech signal in a communications device
US9065690B2 (en) * 2011-05-02 2015-06-23 Mediatek Inc. Method and apparatus for performing channel shortening equalization with frequency notch mitigation
US9386127B2 (en) 2011-09-28 2016-07-05 Open Text S.A. System and method for data transfer, including protocols for use in data transfer
CN103259563B (zh) * 2012-02-16 2015-11-25 联芯科技有限公司 自适应滤波器发散检测方法及回声消除系统
GB201309773D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309771D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB201309777D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo suppression
GB201309779D0 (en) 2013-05-31 2013-07-17 Microsoft Corp Echo removal
GB2521881B (en) * 2014-04-02 2016-02-10 Imagination Tech Ltd Auto-tuning of non-linear processor threshold
US20150327035A1 (en) * 2014-05-12 2015-11-12 Intel Corporation Far-end context dependent pre-processing
US9837065B2 (en) * 2014-12-08 2017-12-05 Ford Global Technologies, Llc Variable bandwidth delayless subband algorithm for broadband active noise control system
CN105744009B (zh) * 2014-12-08 2018-12-14 上海航天有线电厂有限公司 一种用于电台通信系统的短波中继接口装置
US20170019240A1 (en) * 2015-07-16 2017-01-19 LGS Innovations LLC Tone based in-phase and quadrature-phase (iq) compensation
US9691413B2 (en) * 2015-10-06 2017-06-27 Microsoft Technology Licensing, Llc Identifying sound from a source of interest based on multiple audio feeds
US10367948B2 (en) * 2017-01-13 2019-07-30 Shure Acquisition Holdings, Inc. Post-mixing acoustic echo cancellation systems and methods
CN106931993B (zh) * 2017-03-02 2019-06-07 西北工业大学 一种量测窗长自适应滑动的时变参数估计方法
US10652398B2 (en) * 2017-08-28 2020-05-12 Theater Ears, LLC Systems and methods to disrupt phase cancellation effects when using headset devices
US20230412727A1 (en) * 2022-06-20 2023-12-21 Motorola Mobility Llc Adjusting Transmit Audio at Near-end Device Based on Background Noise at Far-end Device

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL256049A (ko) * 1959-09-22
NL140242B (nl) * 1963-03-01 1973-11-15 Wander Ag Dr A Werkwijze voor het bereiden van op de 11-plaats door een basische groep gesubstitueerde dibenz (b.f.)(1.4) oxazepinen.
GB1060786A (en) * 1963-10-09 1967-03-08 Wander Ag Dr A Process for the preparation of lactams
US3412193A (en) * 1965-12-13 1968-11-19 American Cyanamid Co 11-(4-methyl-1-piperazinyl)dibenz[b, f][1, 4]oxazepines or thiazepines for controlling fertility
AT278805B (de) * 1966-01-17 1970-02-10 American Cyanamid Co Verfahren zur herstellung von oxazepinen und thiazepinen
GB1192812A (en) * 1966-05-20 1970-05-20 American Cyanamid Co 2-Chloro-11-(1-Piperazinyl)Dibenz[b,f]-[1,4]Oxazepine, Non-Toxic Acid Addition Salts thereof, and Therapeutic Compositions containing said Oxazepine or Salts
US3539573A (en) * 1967-03-22 1970-11-10 Jean Schmutz 11-basic substituted dibenzodiazepines and dibenzothiazepines
US4363100A (en) * 1980-10-28 1982-12-07 Northern Telecom Limited Detection of tones in sampled signals
JPS60121856A (ja) 1983-12-06 1985-06-29 Nec Corp 単一周波数信号検出回路
GB8406846D0 (en) 1984-03-16 1984-04-18 British Telecomm Digital filters
US4645883A (en) 1984-05-09 1987-02-24 Communications Satellite Corporation Double talk and line noise detector for a echo canceller
US4712235A (en) * 1984-11-19 1987-12-08 International Business Machines Corporation Method and apparatus for improved control and time sharing of an echo canceller
JPS61135239A (ja) * 1984-12-06 1986-06-23 Matsushita Electric Ind Co Ltd エコ−キヤンセラ
DE3576772D1 (de) 1985-04-30 1990-04-26 Ibm Verfahren und vorrichtung zur echoannullierung in einem uebertragungsnetzwerk.
FR2597690B1 (fr) 1986-04-22 1988-06-10 Trt Telecom Radio Electr Appareil de detection et de discrimination de sauts de phase dans un signal periodique et application a un signal telephonique de tonalite avec inversions de phase.
US5042026A (en) 1987-03-03 1991-08-20 Nec Corporation Circuit for cancelling whole or part of a waveform using nonrecursive and recursive filters
US4894820A (en) 1987-03-24 1990-01-16 Oki Electric Industry Co., Ltd. Double-talk detection in an echo canceller
US4839842A (en) 1987-07-24 1989-06-13 Advanced Micro Devices Digital tone detection and generation
US5029204A (en) 1989-10-26 1991-07-02 Dsc Communications Corporation Operational status controller for echo canceling
JPH03171810A (ja) * 1989-11-29 1991-07-25 Fujitsu Ltd エコーキャンセラ
JPH0421207A (ja) 1990-05-16 1992-01-24 Oki Electric Ind Co Ltd 適応等化器
US5157653A (en) 1990-08-03 1992-10-20 Coherent Communications Systems Corp. Residual echo elimination with proportionate noise injection
US5164989A (en) 1990-12-11 1992-11-17 Octel Communications Corporation Echo cancellation methods and apparatus for voice processing systems
NL9002790A (nl) 1990-12-18 1992-07-16 Philips Nv Echocompensator met verbeterde dubbelspraak detectie.
US5274705A (en) 1991-09-24 1993-12-28 Tellabs Inc. Nonlinear processor for an echo canceller and method
FI89659C (fi) 1991-11-04 1993-10-25 Nokia Telecommunications Oy Foerfarande foer identifiering av en spaerrsignal hos en ekoslaeckare
US5214708A (en) 1991-12-16 1993-05-25 Mceachern Robert H Speech information extractor
JP3027047B2 (ja) * 1992-01-29 2000-03-27 キヤノン株式会社 Dtmf信号検出装置及び方法
CA2060667C (en) 1992-02-05 1998-12-08 Paul Marc Yatrou Adaptive sparse echo canceller using a sub-rate filter for active tap selection
US5392347A (en) 1992-02-19 1995-02-21 Nec Corporation Ringing tone signal detecting circuit
SE470119B (sv) 1992-04-09 1993-11-08 Ericsson Telefon Ab L M Metod för att undvika självsvängning i en fyrtrådsslinga i samband med ekosläckning
US5393752A (en) * 1992-05-26 1995-02-28 Therabel Research S.A./N.V. Methylpiperazinoazepine compounds, preparation and use thereof
US5307405A (en) 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
US5353346A (en) 1992-12-22 1994-10-04 Mpr Teltech, Limited Multi-frequency signal detector and classifier
JP2959353B2 (ja) * 1993-09-07 1999-10-06 三菱電機株式会社 エコーキャンセラ装置
US5485522A (en) 1993-09-29 1996-01-16 Ericsson Ge Mobile Communications, Inc. System for adaptively reducing noise in speech signals
FI935834A (fi) 1993-12-23 1995-06-24 Nokia Telecommunications Oy Menetelmä kaikukohtaan sovittautumiseksi kaiunpoistajassa
JPH07250010A (ja) * 1994-03-10 1995-09-26 Fujitsu Ltd ノンリニア・プロセッサ
US5602120A (en) * 1994-12-12 1997-02-11 Allelix Biopharmaceuticals, Inc. Benzyl-substituted compounds having dopamine receptor affinity
JPH08213965A (ja) 1995-02-02 1996-08-20 Fujitsu Ltd Sdhネットワークにおける無線回線の救済方法及び無線装置
US5521908A (en) 1995-04-20 1996-05-28 Tellabs Operations Inc. Method and apparatus for providing reduced complexity echo cancellation in a multicarrier communication system
US5631899A (en) 1995-05-31 1997-05-20 Lucent Technologies Inc. Acoustic echo canceler
US5561668A (en) * 1995-07-06 1996-10-01 Coherent Communications Systems Corp. Echo canceler with subband attenuation and noise injection control
US5664011A (en) 1995-08-25 1997-09-02 Lucent Technologies Inc. Echo canceller with adaptive and non-adaptive filters
US5949888A (en) 1995-09-15 1999-09-07 Hughes Electronics Corporaton Comfort noise generator for echo cancelers
US5689556A (en) 1995-09-15 1997-11-18 Hughes Electronics Method of detecting narrow-band signals in an echo canceller
RU2142670C1 (ru) * 1995-11-16 1999-12-10 Самсунг Электроникс Ко., Лтд. Устройство линейного усиления мощности
SE505692C2 (sv) 1995-12-18 1997-09-29 Ericsson Telefon Ab L M Förfarande och anordning för ekosläckning genom skattning av effekt hos residualsignal
US5978473A (en) 1995-12-27 1999-11-02 Ericsson Inc. Gauging convergence of adaptive filters
US5815568A (en) 1996-01-31 1998-09-29 Telefoanktiebolaget Lm Ericsson Disabling tone detector for network echo canceller
US5668865A (en) 1996-02-26 1997-09-16 Lucent Technologies Inc. Echo canceler E-side speech detector
US5721782A (en) 1996-03-25 1998-02-24 Motorola, Inc. Partitioned echo canceler utilizing decimation echo location
FI106489B (fi) 1996-06-19 2001-02-15 Nokia Networks Oy Kaikusalpa ja kaiunpoistajan epälineaarinen prosessori
US5920548A (en) 1996-10-01 1999-07-06 Telefonaktiebolaget L M Ericsson Echo path delay estimation
US6044068A (en) 1996-10-01 2000-03-28 Telefonaktiebolaget Lm Ericsson Silence-improved echo canceller
US5920834A (en) 1997-01-31 1999-07-06 Qualcomm Incorporated Echo canceller with talk state determination to control speech processor functional elements in a digital telephone system
FI104524B (fi) 1997-04-18 2000-02-15 Nokia Mobile Phones Ltd Kaiunpoistojärjestelmä ja -menetelmä sekä matkaviestin
US6185195B1 (en) 1997-05-16 2001-02-06 Qualcomm Incorporated Methods for preventing and detecting message collisions in a half-duplex communication system
US6006083A (en) * 1997-09-11 1999-12-21 Nortel Networks Corporation Tone detection
GB2330745B (en) 1997-10-24 2002-08-21 Mitel Corp Nonlinear processor for acoustic echo canceller
JPH11163748A (ja) * 1997-11-26 1999-06-18 Oki Electric Ind Co Ltd トーン信号検出回路
US6563803B1 (en) 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6055310A (en) 1997-12-17 2000-04-25 Nortel Networks Corporation Phase reversal tone detector using DSP
US6163608A (en) 1998-01-09 2000-12-19 Ericsson Inc. Methods and apparatus for providing comfort noise in communications systems
US6266367B1 (en) 1998-05-28 2001-07-24 3Com Corporation Combined echo canceller and time domain equalizer
AU2443399A (en) 1998-10-30 2000-06-05 Northern Telecom Limited Method and apparatus for detecting signalling tones
US6068437A (en) * 1998-11-24 2000-05-30 Lab-Interlink Automated laboratory specimen organizer and storage unit
US6263078B1 (en) 1999-01-07 2001-07-17 Signalworks, Inc. Acoustic echo canceller with fast volume control compensation
JP2000224081A (ja) * 1999-02-04 2000-08-11 Nec Corp エコーキャンセラ装置
SE516143C2 (sv) 1999-05-10 2001-11-26 Ericsson Telefon Ab L M Skattning av ren fördröjning
US6654463B1 (en) 1999-05-28 2003-11-25 3Com Corporation Round trip delay estimator and compensator for the echo canceller
US6321200B1 (en) 1999-07-02 2001-11-20 Mitsubish Electric Research Laboratories, Inc Method for extracting features from a mixture of signals
JP3640576B2 (ja) * 1999-09-07 2005-04-20 沖電気工業株式会社 エコーキャンセラ、及びその動作方法
US6738358B2 (en) 2000-09-09 2004-05-18 Intel Corporation Network echo canceller for integrated telecommunications processing
GB2367467B (en) 2000-09-30 2004-12-15 Mitel Corp Noise level calculator for echo canceller
US6768796B2 (en) 2001-02-05 2004-07-27 3Com Corporation System and method for echo cancellation
JP2002280938A (ja) * 2001-03-21 2002-09-27 Oki Electric Ind Co Ltd エコーキャンセラ装置
US6987782B2 (en) 2001-04-06 2006-01-17 Agere Systems, Inc. Method and apparatus for detecting robbed bit location in PCM modems and the like
US7035293B2 (en) * 2001-04-18 2006-04-25 Broadcom Corporation Tone relay
US6914979B2 (en) * 2001-04-25 2005-07-05 Adaptive Digital Technologies, Inc. Tone detection
US20030133565A1 (en) 2002-01-15 2003-07-17 Chienchung Chang Echo cancellation system method and apparatus
US20030185292A1 (en) 2002-04-02 2003-10-02 Fernandez-Corbaton Ivan Jesus Adaptive filtering with DC bias compensation
US7844048B2 (en) * 2004-03-08 2010-11-30 Freescale Semiconductor, Inc. Selective tone event detector and method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857976B1 (ko) * 2008-01-25 2008-09-10 용 이 폐수용 열교환장치

Also Published As

Publication number Publication date
US20030235312A1 (en) 2003-12-25
EP1516437A1 (en) 2005-03-23
JP2005531200A (ja) 2005-10-13
US7388954B2 (en) 2008-06-17
CN1672341B (zh) 2011-07-06
WO2004002002A1 (en) 2003-12-31
AU2003234297A1 (en) 2004-01-06
CN1672341A (zh) 2005-09-21

Similar Documents

Publication Publication Date Title
KR20050012826A (ko) 통신 시스템 및 그것을 위한 방법
US6961423B2 (en) Method and apparatus for performing adaptive filtering
US7242762B2 (en) Monitoring and control of an adaptive filter in a communication system
US7215765B2 (en) Method and apparatus for pure delay estimation in a communication system
US5631900A (en) Double-Talk detector for echo canceller
US5668794A (en) Variable gain echo suppressor
US5587998A (en) Method and apparatus for reducing residual far-end echo in voice communication networks
JP3936228B2 (ja) 時間領域エコー消去処理においてトーンの存在に起因する誤収束を回避するためのシステム及び方法
US7092516B2 (en) Echo processor generating pseudo background noise with high naturalness
JP3567242B2 (ja) 拡声器と送話器の間の帰環レベルエスティメター
EP0648397B1 (en) Method for fail-safe operation in a speaker phone system
JP3032811B2 (ja) 音声品質向上システムおよび方法
US5764753A (en) Half-duplex controller
US8290141B2 (en) Techniques for comfort noise generation in a communication system
JP2000512466A (ja) エコー抑制装置及びエコー打消装置の非直線的プロセッサ
JP2006191650A (ja) エコー打消装置においてエコーの位置を決定する方法
US5675644A (en) Method and apparatus for canceling echo accounting for delay variations
US7016488B2 (en) Method and apparatus for non-linear processing of an audio signal
JPH08331021A (ja) エコー抑制器コントローラ装置、ならびにハイブリッドエコーおよびネットワークエコーを減少する方法
US6694019B1 (en) Method and apparatus for infinite return loss handler for network echo canceller
US6771701B1 (en) Adaptive filter divergence control in echo cancelers by means of amplitude distribution evaluation with configurable hysteresis
KR101045472B1 (ko) 적응 필터 시스템에 동적으로 이득을 삽입하기 위한 방법및 장치
JPS6050092B2 (ja) 適応制御型反響阻止装置
WO1998028893A1 (en) Method and apparatus for suppressing echo in telephony
TW200417167A (en) Communication system and method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application