KR100796910B1 - 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법 - Google Patents

에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법 Download PDF

Info

Publication number
KR100796910B1
KR100796910B1 KR1020060025996A KR20060025996A KR100796910B1 KR 100796910 B1 KR100796910 B1 KR 100796910B1 KR 1020060025996 A KR1020060025996 A KR 1020060025996A KR 20060025996 A KR20060025996 A KR 20060025996A KR 100796910 B1 KR100796910 B1 KR 100796910B1
Authority
KR
South Korea
Prior art keywords
signal
input
output
circuit
filter
Prior art date
Application number
KR1020060025996A
Other languages
English (en)
Other versions
KR20060103134A (ko
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 KR20060103134A publication Critical patent/KR20060103134A/ko
Application granted granted Critical
Publication of KR100796910B1 publication Critical patent/KR100796910B1/ko

Links

Images

Classifications

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

Landscapes

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

Abstract

본 발명은, 효과적으로 에코를 방지하는 것을 목적으로 한다. 입력 단자와, 입력 단자로부터의 제1 입력 신호가 입력되는 제1, 제2 FIR과, 제1 FIR의 출력 신호가 출력되거나, 이 출력된 출력 신호가 반사되어 입력되거나, 또는 제2 입력 신호가 입력되는 입출력 단자와, 제1 FIR의 출력 신호와 제2 입력 신호를 합한 신호로부터 제2 FIR의 출력 신호를 감산하는 제1 감산 회로와, 제1 FIR의 출력 신호가 입력되는 적응 디지털 필터와, 제1 감산 회로의 출력 신호로부터 적응 디지털 필터의 출력 신호를 감산하는 제2 감산 회로와, 제2 감산 회로의 출력 신호가 출력되는 출력 단자를 구비하고, 적응 디지털 필터는, 출력 단자로부터의 출력 신호가 제1 감산 회로의 출력 신호로부터 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 한다.
입력 단자, FIR 필터, 감산 회로, 디지털 필터, 입출력 단자, 임펄스 응답, DA 컨버터, AD 컨버터, DSP, 이어폰 마이크

Description

에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법{ECHO PREVENTING CIRCUIT, DIGITAL SIGNAL PROCESSING CIRCUIT, MEHTOD FOR SETTING FILTER COEFFICIENTS OF ECHO PREVENTING CIRCUIT, AND MEHTOD FOR SETTING FILTER COEFFICIENTS OF DIGITAL SIGNAL PROCESSING CIRCUIT}
도 1은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 제1 실시 형태를 도시하는 블록도.
도 2는 도 1에 도시한 에코 방지 회로의 경로A, B를 도시하는 도면.
도 3은 도 2에 도시한 경로A에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 4는 도 2 또는 도 3에 도시하는 경로A, B의 임펄스 응답을 도시하는 도면.
도 5는 DSP(2)의 구성의 일부를 도시하는 도면.
도 6은 DSP(2)의 구성의 다른 일부를 도시하는 도면.
도 7은 FIR 필터(4, 11)의 그 밖의 일례를 도시하는 도면.
도 8은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 처리 동작을 도시하는 플로우차트.
도 9는 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 제2 실시 형태를 도시하는 블록도.
도 10은 도 9에 도시한 에코 방지 회로의 경로C, D를 도시한 도면.
도 11은 도 10에 도시한 경로C에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면.
도 12는 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 제3 실시 형태를 도시하는 블록도.
도 13은 도 12에 도시한 에코 방지 회로의 경로E, F를 도시하는 도면.
도 14는 도 13에 도시한 경로E에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 15는 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 제4 실시 형태를 도시하는 블록도.
도 16은 도 15에 도시한 에코 방지 회로의 경로 G, H를 도시하는 도면.
도 17은 도 16에 도시한 경로G에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 18은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 제5 실시 형태를 도시하는 블록도.
도 19는 도 18에 도시하는 ADF(76)의 상세도.
도 20은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 처리 동작을 도시하는 플로우차트.
도 21은 제6 실시 형태를 도시하는 블록도.
도 22는 도 21에 도시하는 제6 실시 형태의 경로I, J를 도시하는 도면.
도 23은 도 22에 도시한 경로I에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 24는 도 22 또는 도 23에 도시한 경로I, J의 임펄스 응답을 도시하는 도면.
도 25는 DSP(202)의 구성의 일부를 도시하는 도면.
도 26은 디지털 필터(211)의 일례로서 도시한 ARMA 필터(300)의 구성을 도시하는 블록도.
도 27은 제6 실시 형태에서의 처리 동작을 도시하는 플로우차트.
도 28은 FIR 필터(303)를 사용한 경우의, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 일례를 도시하는 블록도.
도 29는 제7 실시 형태를 도시하는 블록도.
도 30은 도 29에 도시한 ADF(284)의 상세도.
도 31은 DSP(202)의 구성의 일부를 도시하는 도면.
도 32는 FIR 필터(303)의 그 밖의 일례를 도시하는 도면.
도 33은 제7 실시 형태에서의 처리 동작을 도시하는 플로우차트.
도 34는 제8 실시 형태를 도시하는 블록도.
도 35는 도 34에 도시하는 제8 실시 형태의 경로K, L을 도시하는 도면.
도 36은 도 35에 도시한 경로K에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 37은 제9 실시 형태를 도시하는 블록도.
도 38은 도 37에 도시한 제9 실시 형태의 경로M, N을 도시하는 도면.
도 39는 도 38에 도시한 경로M에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 40은 제10 실시 형태를 도시하는 블록도.
도 41은 도 40에 도시한 제10 실시 형태의 경로O, P를 도시하는 도면.
도 42는 도 41에 도시한 경로O에 이어폰 마이크(18)가 포함되는 경우를 도시하는 도면.
도 43은 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 제11 실시 형태를 도시하는 블록도.
도 44는 도 43에 도시하는 ADF(276)의 상세도.
도 45는 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 처리 동작을 도시하는 플로우차트.
도 46은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로를 적용하는 휴대 전화기(19)의 모식도.
도 47은 도 46에 도시한 휴대 전화기(19)의 구성의 일례를 도시하는 블록도.
도 48은 종래의 에코 방지 회로를 도시하는 도면.
<도면의 주요부분에 대한 부호의 설명>
1, 24, 201 : CPU
2, 64, 83, 202, 264, 283, 295 : DSP
3, 14, 26, 66, 70 : AD 컨버터
203, 214, 266, 270 : AD 컨버터
4, 11, 286, 287, 303 : FIR 필터
5, 12, 15, 27, 67, 71, 73 : DA 컨버터
205, 212, 215, 267, 271, 273 : DA 컨버터
6, 10, 13, 101, 105, 206, 210, 213 : 증폭 회로
7, 207 : 입출력 단자
9, 209 : 차동 증폭 회로
18 : 이어폰 마이크
19 : 휴대 전화기
20 : 안테나
21 : RF부
22 : 베이스 밴드 처리부
23 : 표시부
25 : 입력부
28 : 마이크
29 : 스피커
30, 33, 65, 69 : 입력 단자
230, 233, 265, 269, 296, 297 : 입력 단자
31, 32, 34, 68, 72, 74 : 출력 단자
231, 232, 234, 268, 272, 274, 298 : 출력 단자
35, 235, 335 : 지연 회로
36, 51, 58, 236, 251, 258, 301, 336 : 승산 회로
37, 63, 237, 263, 302, 337 : 가산 회로
41 : 에코 방지 회로
42, 54, 242 : 디지털 신호용 메모리
43, 55, 243, 255 : 임펄스 응답 저장 메모리
44, 45, 244, 245 : 임펄스용 메모리
46, 48, 49, 50, 57 : 레지스터
246, 248, 249, 250, 257, 294 : 레지스터
47, 56, 247 : 필터 계수 저장 메모리
52, 252 : ADD
53, 253 : ACC
60, 260 : 스위치 회로
61, 107, 261 : 반전 증폭 회로
75, 108, 275 : 이득 위상 조정 회로
76, 276, 284 : ADF
77, 277, 288 : 감산 회로
78, 278, 289 : 참조 신호 입출력부
79, 279, 290 : 필터 계수부
80, 280, 291 : 승산부
81, 281, 292 : 필터 계수 갱신부
82, 282, 293 : 가산부
104 : 마이크
106 : 스피커
211 : 디지털 필터
287 : 백색 노이즈 생성 회로
300 : ARMA 필터
[특허 문헌 1] 일본 특허 제3293029호 공보
본 발명은, 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법에 관한 것이다.
최근, 예를 들면 이어폰 마이크가 접속되는 휴대 전화기나 핸즈프리 전화기 등의 통신 기기에서는, 스피커로부터 마이크에 돌아 들어가는 음향 결합이나 회로 상의 전기적 반사 등에 의해 발생하는 에코를 방지하기 위한 에코 방지 회로가 내장되어 있는 것이 있다.
도 48은, 에코 방지 회로가 내장된, 예를 들면 2선 4선 변환 회로를 도시한 도면이다. 마이크(104)로부터의 입력 신호는, 증폭 회로(101)를 통해 전화 회선에 출력된다. 그리고, 전화 회선을 통해 상대측에 입력 신호가 송신됨으로써 음성을 전달하는 것이 가능하게 된다. 그러나, 증폭 회로(101)를 통해 전달되는 입력 신호는, 전화 회선에 출력되는 것 외에, 도 48의 파선으로 나타낸 바와 같이 2선 4선 회로 변환 회로의 전기적 반사 등에 의해 증폭 회로(105)를 통해 스피커(106)에 출력되는 경우가 있다. 그 결과, 입력 신호에 의한 에코가 스피커(106)로부터 발생하게 된다. 따라서, 이와 같은 에코를 캔슬하기 위해서 에코 방지 회로가 설치된다. 에코 방지 회로에서는, 도 48의 실선으로 나타낸 바와 같이, 마이크(104)로부터의 입력 신호가 증폭 회로(101)의 전단에서 분기된다. 그리고, 입력 신호는 반전 증폭 회로(107)에서 반전 증폭된다. 반전 증폭 회로(107)로부터의 신호는, 이득 위상 조정 회로(G/P)(108)에서 이득 및 위상의 조정이 실시된다. 즉, 도 48의 파선으로 나타낸 바와 같이 전달되는 입력 신호와는 역 위상이며, 진폭 레벨이 동일한 신호가 생성되게 된다. 그 결과, 도 48의 파선으로 나타낸 바와 같이 전달되는 입력 신호와, 도 48의 실선으로 나타낸 바와 같이 전달되는 신호가 서로 상쇄됨 으로써 에코를 방지하는 것이 가능하게 된다.
그러나, 전술한 에코 방지 회로에 의한 에코의 캔슬량은 -30㏈ 정도였다. 왜냐하면, 전술한 에코 방지 회로에서 에코를 고정밀도로 캔슬하기 위해서는, 각 회로 소자의 회로 상수를 고정밀도로 설정할 필요가 있다. 그러나, 실제로 각 회로 소자의 회로 상수를 고정밀도로 설정하는 것은 용이하지 않고, 이들 회로 상수가 상수값으로부터 변화되면, 에코의 캔슬량이 저하된다고 하는 문제가 있었다. 또한, 이득 위상 조정 회로(108)에 의한 이득 및 위상의 조정 오차 등에 의해, 도 48의 파선으로 나타낸 바와 같이 전달되는 입력 신호와, 정확하게 상쇄하는 것이 가능한 신호를 생성하는 것이 어렵다고 하는 문제가 있었다. 그 결과, 전술한 에코 방지 회로에 의한 에코의 캔슬량은 -30㏈ 정도로 되어 있었다.
또한, 도 48의 증폭 회로(105)는, 전화 회선으로부터의 음성 신호가 예를 들면 미약한 음성 신호인 경우이더라도, 그 미약한 음성 신호에 기초하는 음성을 청각 가능하게 하기 위해서, 소정의 진폭 레벨까지 증폭하는 것이다. 그러나, 이 증폭 회로(105)를 설치하였기 때문에, 이 증폭 회로(105)의 증폭 출력에 기인하는 에코를 방지할 수 없다고 하는 문제가 있었다. 따라서, 이 에코를 더 효과적으로 방지하는 것이 가능한 에코 방지 회로가 요구되고 있었다.
따라서, 본 발명은, 효과적으로 에코를 방지하는 것이 가능한 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 디지털 신호 처리 회로의 필터 계수 설정 방법, 에코 방지 회로의 필터 계수를 설정하기 위한 프로그램, 디지털 신호 처리 회로의 필터 계수를 설정하기 위한 프로그램을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위한 본 발명의 에코 방지 회로는, 제1 입력 신호가 입력되는 입력 단자와, 상기 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와, 상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와, 상기 제1 FIR 필터의 출력 신호가 출력되거나 또는 제2 입력 신호가 입력되는 입출력 단자와, 상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호로부터, 상기 제2 FIR 필터의 출력 신호를 감산하는 제1 감산 회로와, 상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와, 상기 제1 감산 회로의 출력 신호로부터 상기 적응 디지털 필터의 출력 신호를 감산하는 제2 감산 회로와, 상기 제2 감산 회로의 출력 신호가 출력되는 출력 단자를 구비하고, 상기 적응 디지털 필터는, 상기 제2 감산 회로의 출력 신호에 기초하여, 상기 출력 단자로부터의 출력 신호가 상기 제1 감산 회로의 출력 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 한다.
또한, 본 발명의 디지털 신호 처리 회로는, 제1 입력 신호가 입력되는 제1 입력 단자와, 상기 제1 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와, 상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와, 상기 제1 FIR 필터의 출력 신호가 출력되는 제1 출력 단자와, 상기 제2 FIR 필터의 출력 신호가 출력되는 제2 출력 단자와, 입출력 신호 공용 라인 상에서 상기 제1 출력 단자로부터의 출력 신호와 제2 입력 신호를 합한 신호로부터, 상기 제2 출력 단자로부터의 출력 신호를 감산한 신호가 입력되는 제2 입력 단자와, 상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와, 상기 제2 입력 단자의 신호로부터, 상기 적응 디지털 필터의 출력 신호를 감산하는 감산 회로와, 상기 감산 회로의 출력 신호가 출력되는 제3 출력 단자를 구비하고, 상기 적응 디지털 필터는, 상기 감산 회로의 출력 신호에 기초하여, 상기 제3 출력 단자로부터의 출력 신호가 상기 감산한 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 한다.
또한, 본 발명의 에코 방지 회로의 필터 계수 설정 방법은, 제1 입력 신호가 입력되는 입력 단자와, 상기 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와, 상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와, 상기 제1 FIR 필터의 출력 신호가 출력되거나, 이 출력된 출력 신호가 반사되어 입력되거나, 또는 제2 입력 신호가 입력되는 입출력 단자와, 상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호로부터, 상기 제2 FIR 필터의 출력 신호를 감산하는 제1 감산 회로와, 상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와, 상기 제1 감산 회로의 출력 신호로부터 상기 적응 디지털 필터의 출력 신호를 감산하는 제2 감산 회로와, 상기 제2 감산 회로의 출력 신호가 출력되는 출력 단자를 구비한 에코 방지 회로의 필터 계수 설정 방법으로서, 상기 적응 디지털 필터에 대하여, 상기 제2 감산 회로의 출력 신호에 기초하여, 상기 출력 단자로부터의 출력 신호가 상기 제1 감산 회로의 출력 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 것을 특징으로 한다.
또한, 본 발명의 디지털 신호 처리 회로의 필터 계수 설정 방법은, 제1 입력 신호가 입력되는 제1 입력 단자와, 상기 제1 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와, 상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와, 상기 제1 FIR 필터의 출력 신호가 출력되는 제1 출력 단자와, 상기 제2 FIR 필터의 출력 신호가 출력되는 제2 출력 단자와, 입출력 신호 공용 라인 상에서 상기 제1 출력 단자로부터의 출력 신호와 제2 입력 신호를 합한 신호로부터, 상기 제2 출력 단자로부터의 출력 신호를 감산한 신호가 입력되는 제2 입력 단자와, 상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와, 상기 제2 입력 단자의 신호로부터, 상기 적응 디지털 필터의 출력 신호를 감산하는 감산 회로와, 상기 감산 회로의 출력 신호가 출력되는 제3 출력 단자를 구비한 디지털 신호 처리 회로의 필터 계수 설정 방법으로서, 상기 적응 디지털 필터에 대하여, 상기 감산 회로의 출력 신호에 기초하여, 상기 제3 출력 단자로부터의 출력 신호가 상기 감산한 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 것을 특징으로 한다.
또한, 본 발명의 에코 방지 회로의 필터 계수를 설정하기 위한 프로그램은, 프로세서와, 제1 입력 신호가 입력되는 입력 단자와, 상기 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와, 상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와, 상기 제1 FIR 필터의 출력 신호가 출력되거나 또는 제2 입력 신호가 입력되는 입출력 단자와, 상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호로부터, 상기 제2 FIR 필터의 출력 신호를 감산하는 제1 감산 회로와, 상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와, 상기 제1 감산 회로의 출력 신호로부터 상기 적응 디지털 필터의 출력 신호를 감산하는 제2 감산 회로와, 상기 제2 감산 회로의 출력 신호가 출력되는 출력 단자를 구비한 에코 방지 회로의 필터 계수를 설정하기 위한 프로그램으로서, 상기 프로세서에, 상기 적응 디지털 필터에 대하여, 상기 제2 감산 회로의 출력 신호에 기초하여, 상기 출력 단자로부터의 출력 신호가 상기 제1 감산 회로의 출력 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 기능을 실현시키는 것을 특징으로 한다.
또한, 본 발명의 디지털 신호 처리 회로의 필터 계수를 설정하기 위한 프로그램은, 프로세서와, 제1 입력 신호가 입력되는 제1 입력 단자와, 상기 제1 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와, 상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와, 상기 제1 FIR 필터의 출력 신호가 출력되는 제1 출력 단자와, 상기 제2 FIR 필터의 출력 신호가 출력되는 제2 출력 단자와, 입출력 신호 공용 라인 상에서 상기 제1 출력 단자로부터의 출력 신호와 제2 입력 신호를 합한 신호로부터, 상기 제2 출력 단자로부터의 출력 신호를 감산한 신호가 입력되는 제2 입력 단자와, 상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와, 상기 제2 입력 단자의 신호로부터, 상기 적응 디지털 필터의 출력 신호를 감산하는 감산 회로와, 상기 감산 회로의 출력 신호가 출력되는 제 3 출력 단자를 구비한 디지털 신호 처리 회로의 필터 계수를 설정하기 위한 프로그램으로서, 상기 프로세서에, 상기 적응 디지털 필터에 대하여, 상기 감산 회로의 출력 신호에 기초하여, 상기 제3 출력 단자로부터의 출력 신호가 상기 감산한 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 기능을 실현시키는 것을 특징으로 한다.
<<제1 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 1를 참조하면서 본 발명에 따른 에코 방지 회로, 디지털 신호 처리 회로에 대하여 설명한다. 도 1은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DSP(Digital Signal Processor)(2))의 일례를 도시하는 블록도이다.
에코 방지 회로는, CPU(Central Processing Unit)(1), DSP(2), AD 컨버터(3), DA 컨버터(5)(제1 DA 컨버터), 증폭 회로(6), 입출력 단자(7), 차동 증폭 회로(9)(제1 감산 회로), 증폭 회로(10), AD 컨버터(14), DA 컨버터(15), DA 컨버터(12)(제2 DA 컨버터), 증폭 회로(13)를 갖고 있다. 또한, 본 실시 형태에서는 CPU(1)를 구성 요건으로 하고 있지만, CPU(1)를 구성 요건으로 하지 않는 것도 가능하다.
또한, DSP(2)는, 입력 단자(30)(제1 입력 단자), FIR(Finite Impulse Response) 필터(4)(제1 FIR 필터), 출력 단자(31)(제1 출력 단자), FIR 필터(11)(제2 FIR 필터), 출력 단자(32)(제2 출력 단자), 입력 단자(33)(제2 입력 단자), 출 력 단자(34)(제3 출력 단자)를 갖고 있다.
AD 컨버터(3)에는, 예를 들면 음성 신호(제1 입력 신호)가 입력된다. 그리고, AD 컨버터(3)는, 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, 입력 단자(30)를 통해 DSP(2)에 입력시킨다.
DSP(2)에 입력된 디지털 신호는, FIR 필터(4, 11)에 각각 입력된다. FIR 필터(4)는 디지털 신호에 대하여, 이 FIR 필터(4)의 필터 계수에 기초하여 후술하는 컨볼루션 연산 처리를 실시하여 출력 단자(31)에 출력한다. 또한 동시에, FIR 필터(11)는 디지털 신호에 대하여, 이 FIR 필터(11)의 필터 계수에 기초하여 후술하는 컨볼루션 연산 처리를 실시하여 출력 단자(32)에 출력한다.
DA 컨버터(5)는, 출력 단자(31)를 통해, FIR 필터(4)로부터의 출력 신호가 입력된다. 그리고, DA 컨버터(5)는, FIR 필터(4)로부터의 출력 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 증폭 회로(6)에 출력한다. 증폭 회로(6)는, 소정의 증폭률로 아날로그 신호를 증폭하여 출력한다.
입출력 단자(7)에는, 예를 들면 아날로그 신호에 기초하여 음성을 발생시키는 기기(예를 들면 이어폰 마이크, 스피커 등)가 접속된다. 그리고, 입출력 단자(7)를 통해, 증폭 회로(6)로부터의 아날로그 신호가 접속된 기기에 대하여 출력된다. 또한, 입출력 단자(7)에는, 예를 들면 음성을 음성 신호로 변환하여 출력하는 기기(예를 들면 이어폰 마이크, 마이크 등)가 접속된다. 이 때문에, 입출력 단자(7)에는, 접속된 기기로부터의 음성 신호가 입력된다. 그리고, 입출력 단자(7)를 통해, 음성 신호가 차동 증폭 회로(9)의 + 입력 단자에 입력된다. 또한, 입출력 단자(7)를 통해 출력된 신호는, 접속된 기기를 통해 반사되어 입출력 단자(7)로부터 입력되어, 차동 증폭 회로(9)의 + 입력 단자에 입력된다. 여기서, 반사되어 오는 신호란, 예를 들면, 이어폰 마이크 등을 통해 되돌아오는 신호나, 이어폰 마이크로부터 출력된 소리가 귓속에서 반사하고, 그 반사음이 이어폰 마이크에 의해서 음성 신호로 변환된 신호 등이다. 또한, 입출력 단자(7)는, 출력 신호(예를 들면 아날로그 신호)와 입력 신호(예를 들면 음성 신호)가 배타적으로 입출력되는 것은 아니다. 예를 들면, 입출력 단자(7)는, 출력 신호와 입력 신호가 동시에 입출력되는 경우도 있다. 또한, 입출력 신호 공용 라인이란, 입출력 단자(7)에 접속되는 라인이다.
DA 컨버터(12)는, 출력 단자(32)를 통해, FIR 필터(11)로부터의 출력 신호가 입력된다. 그리고, DA 컨버터(12)는, FIR 필터(11)로부터의 출력 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 증폭 회로(13)에 출력한다. 증폭 회로(13)는, 소정의 증폭률로 아날로그 신호를 증폭하여 차동 증폭 회로(9)의 - 입력 단자에 출력한다.
차동 증폭 회로(9)는, 입출력 단자(7)로부터의 음성 신호를 증폭 회로(10)에 출력한다. 증폭 회로(10)는, 음성 신호를 소정의 증폭률로 증폭하여 AD 컨버터(14)에 출력한다. 또한, 차동 증폭 회로(9)의 + 입력 단자에는, 증폭 회로(6)로부터의 아날로그 신호가 입력된다. 그리고, 차동 증폭 회로(9)는, + 입력 단자에 입력된 증폭 회로(6)로부터의 아날로그 신호와, - 입력 단자에 입력된 증폭 회로(13)로부터의 아날로그 신호의 차분을 증폭하여 출력한다.
AD 컨버터(14)는, 증폭 회로(10)로부터의 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, 입력 단자(33)를 통해 DSP(2)에 입력시킨다. 입력 단자(33)에 입력된 디지털 신호는, 출력 단자(34)로부터 출력된다. DA 컨버터(15)는, 출력 단자(34)를 통해 DSP(2)로부터의 디지털 신호가 입력된다. 그리고, DA 컨버터(15)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 출력한다.
CPU(1)는, 에코 방지 회로를 통괄 제어한다. CPU(1)는, 예를 들면 에코 방지 회로를 리세트하기 위한 리세트 신호가 입력되면, 후술하는 임펄스 응답 취득 처리를 DSP(2)에서 실행시키기 위해서 지시 신호를, DSP(2)에 출력한다. 또한, CPU(1)는, 임펄스 응답 취득 처리의 초기 동작으로서, 예를 들면 다른쪽의 논리값 '0'을 DSP(2)에 출력한다. 또한, 본 실시 형태에서 CPU(1)는, 리세트 신호가 입력됨으로써, 임펄스 응답 취득 처리를 DSP(2)에서 실행시키기 위한 지시 신호를 출력하고 있지만 이에 한정되는 것은 아니다. 예를 들면, 에코 방지 회로, DSP(2)를 동작시키기 위한 전원 투입을 CPU(1)가 검출했을 때, 전술한 지시 신호를 DSP(2)에 출력하도록 설치하여도 된다. 또한, CPU(1)는, 아날로그 회로의 전기적 변화(예를 들면 증폭 회로(10)의 출력의 진폭 변화)를 검출했을 때, 전술한 지시 신호를 DSP(2)에 출력하도록 설치하여도 된다.
===DSP(2) 및 FIR 필터(4, 11)의 구성의 상세===
이하, 도 1∼도 7을 참조하면서 DSP(2) 및 DSP(2)의 구성 요건인 FIR 필터(4, 11)의 구성에 대하여 상세하게 설명한다. 도 2는 도 1에 도시한 에코 방지 회 로의 경로A, B를 도시한 도면이다. 도 3은 경로A에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다. 도 4의 (a)는 도 2 또는 도 3에 도시한 경로A의 임펄스 응답 IR1'(Z)을 도시하는 도면이다. 도 4의 (b)는 도 2 또는 도 3에 도시한 경로B의 임펄스 응답 IR2'(Z)를 도시한 도면이다. 도 5는, DSP(2)의 구성의 일부를 도시한 블록도이다. 상세하게 설명하면, 경로A의 임펄스 응답 IR1'(Z)에 기초하여 FIR 필터(11)의 필터 계수를 설정하기 위한, DSP(2)의 구성의 일부를 도시한 블록도이다. 도 6은 DSP(2)의 다른 구성의 일부를 도시하는 블록도이다. 상세하게 설명하면, 경로B의 임펄스 응답 IR2'(Z)에 기초하여 FIR 필터(4)의 필터 계수를 설정하기 위한, DSP(2)의 다른 구성의 일부를 도시하는 블록도이다. 도 7은 FIR 필터(4, 11)의 그 밖의 일례를 도시하는 블록도이다.
우선, 도 5를 참조하면서 DSP(2) 및 FIR 필터(11)의 구성에 대하여 상세하게 설명한다.
DSP(2)는, 도 1에 도시한 FIR 필터(11) 등과 함께, 임펄스 응답 저장 메모리(43)(필터 계수 설정부), 임펄스용 메모리(44, 45), 필터 계수 저장 메모리(47), 레지스터(46, 48, 49, 50)(필터 계수 설정부), 스위치 회로(60A∼60E, 60G∼60I(필터 계수 설정부), 60N, 60Q)를 갖고 있다.
또한, FIR 필터(11)는, 도 5의 일점쇄선 내에 도시한 디지털 신호용 메모리(42), 승산 회로(51), ADD(가산기)(52), ACC(Accumulator)(53), 스위치 회로(60M)를 갖고 있다.
레지스터(48, 49)에는, CPU(1)로부터의 전술한 다른쪽의 논리값 '0'이 입력 된다.
임펄스용 메모리(44, 45)는 각각, N개의 레지스터0∼N-1로 구성되어 있다. 그리고, 후술하는 임펄스 응답 취득 처리에서 도 2 또는 도 3의 실선으로 나타낸 경로A의 임펄스 응답 IR1'(Z)을 취득하는 경우, 임펄스용 메모리(45)의 레지스터0에는, 예를 들면 한쪽의 논리값 '1'이 기억된다. 그리고, 임펄스용 메모리(45)의 다른 레지스터1∼N-1에는, 다른쪽의 논리값 '0'이 기억된다. 또한, 레지스터(46), 임펄스용 메모리(44)의 레지스터0∼N-1에는, 다른쪽의 논리값 '0'이 기억된다.
또한, 후술하는 임펄스 응답 취득 처리에서 도 2 또는 도 3의 실선으로 나타낸 경로B의 임펄스 응답 IR2'(Z)를 취득하는 경우, 임펄스용 메모리(44)의 레지스터0에는, 예를 들면 한쪽의 논리값 '1'이 기억된다. 그리고, 임펄스용 메모리(44)의 다른 레지스터1∼N-1에는, 다른쪽의 논리값 '0'이 기억된다. 또한, 레지스터(46), 임펄스용 메모리(45)의 레지스터0∼N-1에는, 다른쪽의 논리값 '0'이 기억된다.
임펄스 응답 저장 메모리(43)는, N개의 레지스터0∼N-1로 구성되어 있다. 임펄스 응답 저장 메모리(43)의 레지스터0∼N-1에는, DSP(2)가 스위치 회로(60E)를 입력 단자(33)측으로 절환함으로써, 입력 단자(33)를 통해 경로A에서의 샘플링 주기 단위마다의 임펄스 응답 imp(0)∼(N-1)(=IR1'(Z))이 기억된다. 예를 들면, 우선 입력 단자(33)를 통해 임펄스 응답 imp(0)이 레지스터N-1에 기억된다. 그리고, 다음 임펄스 응답 imp(1)은 레지스터N-1에 기억되고, 레지스터0에 기억되어 있었던 임펄스 응답 imp(0)은 레지스터N-2에 기억된다. 그리고, 이 처리가 반복됨으로써, 임펄스 응답 저장 메모리(43)의 레지스터0∼N-1에는, 임펄스 응답 imp(0)∼(N-1)(=IR1'(Z))이 기억되게 된다. 또한, 샘플링 주기란, 도 4의 (a)에 나타낸 각 임펄스 응답 imp(0)∼(N-1) 사이의 시간 간격이다. 또한, 임펄스 응답 저장 메모리(43)는, DSP(2)가 스위치 회로(60H)를 레지스터(49)측으로 절환하고, 스위치(60G)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(49)에 기억된 다른쪽의 논리값 '0'에 의해서 클리어된다.
필터 계수 저장 메모리(47)는, N개의 어드레스0∼N-1로 구성되어 있다. 그리고, 필터 계수 저장 메모리(47)의 어드레스0∼N-1에는, 스위치 회로(60G, 60I)를 순차적으로 절환함으로써, 레지스터(50)를 통한 임펄스 응답 저장 메모리(43)의 레지스터0∼N-1에 기억된 임펄스 응답 imp(0)∼(N-1)이 순차적으로 기억된다. 그 결과, FIR 필터(11)의 필터 계수에, 경로A의 임펄스 응답 imp(0)∼(N-1)(=IR1'(Z))이 설정되게 된다. 또한, FIR 필터(11)의 필터 계수에, 경로A에서의 임펄스 응답 imp(0)∼(N-1)을 설정하는 이유에 대해서는, 후술하는 FIR 필터(4, 11)의 필터 계수에서 설명한다.
레지스터(50)는, 임펄스 응답 저장 메모리(43)로부터의 임펄스 응답 imp(0)∼(N-1)이, 필터 계수 저장 메모리(47)의 어드레스0∼N-1에 순차적으로 기억되도록, 이 임펄스 응답 imp(0)∼(N-1)이 일시 기억된다.
디지털 신호용 메모리(42)는, N개의 레지스터0∼N-1로 구성되어 있다. 그리고, 디지털 신호용 메모리(42)에는, 입력 단자(30)를 통해 AD 컨버터(3)로부터의 디지털 신호가 순차적으로 입력된다. 그리고, 레지스터0∼N-1에 디지털 신호가 순 차적으로 입력됨으로써, 디지털 신호는 1샘플링 주기 단위씩 지연되게 된다. 예를 들면 디지털 신호를 Xn으로 하면, 레지스터0은 Xn을 1샘플링 주기 지연시킨 Xn-1을 레지스터1에 출력하고, 레지스터N-2는 Xn-(N-1)을 출력한다. 또한, 디지털 신호용 메모리(42)는, DSP(2)가 스위치 회로(60Q)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(48)에 기억된 다른쪽의 논리값 '0'에 의해서 클리어된다.
승산 회로(51)는, DSP(2)가 스위치 회로(60M, 60N)를 각각, 레지스터0, 어드레스0으로부터 순차적으로 절환함으로써, 디지털 신호용 메모리(42)로부터의 디지털 신호 Xn, …, Xn-(N-1)과, 필터 계수 저장 메모리(47)로부터의 필터 계수 imp(0), …, (N-1)이 순차적으로 입력된다. 그리고, 승산 회로(51)는, 디지털 신호 Xn, …, Xn-(N-1)과 필터 계수 imp(0), …, (N-1)을 순차적으로 승산한 승산 결과를 ADD(52)에 출력한다. 예를 들면, 승산 회로(51)는, 디지털 신호용 메모리(42)로부터의 Xn과 필터 계수 저장 메모리(47)로부터의 imp(0)을 승산한 승산 결과를 ADD(52)에 출력한다. 다음으로, 승산 회로(51)는, 디지털 신호용 메모리(42)로부터의 Xn-1과 필터 계수 저장 메모리(47)로부터의 imp(1)을 승산한 승산 결과를 ADD(52)에 출력한다. 그리고, 이 처리가 반복됨으로써, 디지털 신호 Xn, …, Xn-(N-1)과 필터 계수 imp(0), …, (N-1)이 승산되게 된다.
ACC(53)는, ADD(52)로부터의 가산 결과가 입력되며, 그 가산 결과를 유지한다. ADD(52)는, 승산 회로(51)로부터의 승산 결과와, ACC(53)에 기억되어 있는 전회의 ADD(52)의 가산 결과를 가산한 결과를 ACC(53)에 출력한다. 그 결과, ACC(53)에는 Xn·imp(0)+…+Xn-(N-1)·imp(N-1)이 기억되게 된다. 그 결과, FIR 필터(11)는, 필터 계수 저장 메모리(47)에 기억된 필터 계수에 기초하여, 디지털 신호에 대하여 컨볼루션 연산 처리를 실시하게 된다. 그리고, FIR 필터(11)는, 컨볼루션 연산 처리를 실시한 디지털 신호를, 출력 단자(32)에 출력한다.
다음으로, 도 6을 참조하면서 DSP(2) 및 FIR 필터(4)의 구성에 대하여 설명한다. 또한, 전술한 DSP(2) 및 FIR 필터(11)와 동일한 구성에 대해서는, 동일한 부호를 붙이고 설명을 생략한다.
DSP(2)는, 도 1에 도시한 FIR 필터(4) 등과 함께, 임펄스 응답 저장 메모리(55)(필터 계수 설정부), 임펄스용 메모리(44, 45), 필터 계수 저장 메모리(56), 레지스터(46, 48∼50, 57)(필터 계수 설정부), 승산 회로(58)(필터 계수 설정부), 스위치 회로(60A∼60D, 60F, 60J∼60L(필터 계수 설정부), 60P, 60R)를 갖고 있다.
또한, FIR 필터(4)는, 도 6의 일점쇄선 내에 도시한 디지털 신호용 메모리(54), 승산 회로(51), ADD(52), ACC(53), 스위치 회로(60O)를 갖고 있다. 또한, 승산 회로(51), ADD(52), ACC(53)는, FIR 필터(4)와 공용하여 사용된다.
임펄스 응답 저장 메모리(55)는, N개의 레지스터0∼N-1로 구성되어 있다. 임펄스 응답 저장 메모리(55)의 레지스터0∼N-1에는, DSP(2)가 스위치 회로(60F)를 입력 단자(33)측으로 절환함으로써, 입력 단자(33)를 통해 경로B에서의 샘플링 주기 단위마다의 임펄스 응답 imp(0)∼(N-1)(=IR2'(Z))이 기억된다. 또한, 임펄스 응답 저장 메모리(55)의 레지스터0∼N-1로의 임펄스 응답 imp(0)∼(N-1)의 기억은, 전술한 임펄스 응답 저장 메모리(43)와 마찬가지이다. 또한, 임펄스 응답 저장 메 모리(55)는, DSP(2)가 스위치 회로(60K)를 레지스터(49)측으로 절환하고, 스위치(60J)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(49)에 기억된 다른쪽의 논리값 '0'에 의해서 클리어된다.
레지스터(57)에는, 임펄스 응답 저장 메모리(55)에 기억된 임펄스 응답 imp(0)∼(N-1)을, 승산 회로(58)에서 위상 반전시키기 위해서 -1을 나타내는 바이너리 데이터가 미리 기억되어 있다.
승산 회로(58)는, 레지스터(50)의 값과 레지스터(57)의 값을 승산한 승산 결과를 임펄스 응답 저장 메모리(56)에 출력한다. 상세하게 설명하면, DSP(2)가 스위치 회로(60K)를 레지스터(50)측으로 절환하고, 스위치 회로(60J)를 레지스터0으로부터 순차적으로 절환함으로써, 레지스터(50)에 임펄스 응답 저장 메모리(55)의 레지스터0∼N-1로부터의 임펄스 응답 imp(0)∼(N-1)이 순차적으로 입력된다. 그리고, 승산 회로(58)가, 레지스터(50)의 값과 레지스터(57)의 값을 순차적으로 승산함으로써, 위상 반전된 임펄스 응답 imp(0)∼(N-1)을 나타내는 승산 결과가 필터 계수 저장 메모리(56)에 출력되게 된다.
필터 계수 저장 메모리(56)는, N개의 어드레스0∼N-1로 구성되어 있다. 그리고, 필터 계수 저장 메모리(56)의 어드레스0∼N-1에는, 스위치 회로(60L)를 순차적으로 절환함으로써, 승산 회로(58)에서 위상 반전된 임펄스 응답 imp(0)∼(N-1)이 순차적으로 기억된다. 그 결과, FIR 필터(4)의 필터 계수로서, 위상 반전된 경로B의 임펄스 응답 imp(0)∼(N-1)(=IR2'(Z))이 설정되게 된다. 또한, FIR 필터(4)의 필터 계수에, 위상 반전한 경로B의 임펄스 응답 imp(0)∼(N-1)을 설정하는 이유 에 대해서는, 후술하는 FIR 필터(4, 11)의 필터 계수에서 설명한다.
디지털 신호용 메모리(54)는, N개의 레지스터0∼N-1로 구성되어 있다. 그리고, 디지털 신호용 메모리(54)에는, 입력 단자(30)를 통해 AD 컨버터(3)로부터의 디지털 신호가 순차적으로 입력된다. 그리고, 레지스터0∼N-1에 디지털 신호가 순차적으로 입력됨으로써, 디지털 신호는 1샘플링 주기 단위씩 지연되게 된다. 예를 들면 디지털 신호를 Xn으로 하면, 레지스터0은 Xn을 1샘플링 주기 지연시킨 Xn-1을 레지스터1에 출력하고, 레지스터N-2는 Xn-(N-1)을 출력한다. 또한, 디지털 신호용 메모리(54)는, DSP(2)가 스위치 회로(60R)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(48)에 기억된 다른쪽의 논리값 '0'에 의해서 클리어된다.
그리고, 전술한 FIR 필터(11)와 마찬가지의 승산 회로(51), ADD(52)에 의한 처리가 행하여진다. 그 결과, FIR 필터(4)는, 필터 계수 저장 메모리(56)에 기억된 필터 계수에 기초하여, 디지털 신호에 대하여 컨볼루션 연산 처리를 실시한 것으로 된다. 그리고, FIR 필터(4)는, 컨볼루션 연산 처리를 실시한 디지털 신호를, 출력 단자(31)에 출력한다.
또한, 본 실시 형태에서는, FIR 필터(4, 11)를 전술한 구성에서 기술하고 있지만 이에 한정되는 것은 아니다. 예를 들면, 도 7에 도시한 구성으로 하여도 된다. 이 경우, 디지털 신호용 메모리(42, 54)에 대응한 지연 회로(35a1∼35aN-1), 승산 회로(51)에 대응한 승산 회로(36a0∼36aN-1), ADD(52), ACC(53)에 대응한 가산 회로(37)를 설치하여도 된다. 이하, 예를 들면 FIR 필터(4)가 도 7에 도시한 구성으로 설치된 경우에 대하여 설명한다. 도 7에 도시한 바와 같이, FIR 필터(4)는, 종속 접속된 N-1개의 지연 회로(35a1∼35aN-1)와, 입력되는 디지털 신호를 각각 승산하는 N개의 승산 회로(36a0∼36aN-1)와, 승산 회로(36a0∼36aN-1)로부터의 출력을 합산하는 가산 회로(37)를 갖고 있다.
지연 회로(35a1∼35aN-1)는, 입력 단자(30)를 통해 입력되는 디지털 신호 Xn을, 샘플링의 주기 단위마다 지연하여 출력한다. 예를 들면, 지연 회로(35a1)는 디지털 신호 Xn을 1샘플링 주기 위상 지연시킨 디지털 신호 Xn-1을 출력하고, 지연 회로(35aN-1)는 디지털 신호 Xn-(N-1)을 출력한다.
승산 회로(36a0∼36aN-1)는, 스위치 회로(60P, 60S)가 순차적으로 절환됨으로써, 필터 계수 저장 메모리(56)에 기억된 임펄스 응답 imp(0)∼(N-1)이 승산 계수로서 각각 설정된다. 그리고, 승산 회로(36a0∼36aN-1)는, 입력되는 디지털 신호에 대하여 설정된 승산 계수로 승산한 승산 결과를 출력한다.
가산 회로(37)는, 승산 회로(36a0∼36aN-1)로부터의 출력을 합산한다. 그 결과, 전술한 FIR 필터(4)와 마찬가지의 컨볼루션 연산을 실시하는 것이 가능하게 된다.
===FIR 필터(4, 11)의 필터 계수===
도 2 및 도 3을 참조하면서 FIR 필터(4, 11)의 필터 계수에 대하여 상세하게 설명한다. 또한, 이어폰 마이크(18)는 입출력 단자(7)에 접속할 수 있다. 그리고, 입출력 단자(7)로부터 출력되는 아날로그 신호가 이어폰 마이크(18)에 입력되면, 이어폰 마이크(18)는 그 아날로그 신호에 기초하여 진동판(도시 생략)을 진동 시킴으로써 음성을 출력한다. 또한, 이어폰 마이크(18)는, 이어폰 마이크(18)를 귀에 장착하고 있는 사람이 음성을 발했을 때의 고막의 진동을 진동판으로 포착함으로써 아날로그 신호를 생성하여 출력한다. 그리고, 이어폰 마이크(18)로부터 출력되는 아날로그 신호가 입출력 단자(7)로부터 입력된다.
전술한 바와 같이 증폭 회로(6)로부터의 아날로그 신호는, 입출력 단자(7)로부터의 출력뿐만 아니라, 차동 증폭 회로(9)의 + 입력 단자에도 입력되는 경우가 있다. 즉, 차동 증폭 회로(9)의 + 입력 단자에는, 증폭 회로(6)로부터의 아날로그 신호와, 입출력 단자(7)에 입력된 신호를 합한 신호가 입력된다. 또한, 입출력 단자(7)에 입력되는 신호(제2 입력 신호)란, 음성 신호뿐만 아니라, 예를 들면 전기적 노이즈 신호나 환경 노이즈 등의 신호도 포함되는 것으로 하여 이하 설명한다. 그리고, 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(7)로부터 입력되는 음성 신호와 증폭 회로(6)로부터의 아날로그 신호가 중첩되어 차동 증폭 회로(9)의 + 입력 단자에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 FIR 필터(4, 11)의 필터 계수를 설정한다.
따라서, 도 2 또는 도 3의 파선으로 나타낸 출력 단자(31)로부터 차동 증폭 회로(9)의 + 입력 단자까지의 임펄스 응답(전달 함수)을 IR1(Z)로 한다. 또한, 도 2 또는 도 3의 파선으로 나타낸 출력 단자(32)로부터 차동 증폭 회로(9)의 - 입력 단자까지의 임펄스 응답(전달 함수)을 IR2(Z)로 한다. 또한, 도 2 또는 도 3의 파선으로 나타낸 차동 증폭 회로(9)에서의 ± 입력 단자의 후단으로부터 입력 단자(33)까지의 임펄스 응답(전달 함수)을 W(Z)로 한다.
이 때, 도 2 또는 도 3의 실선으로 나타낸 경로A의 임펄스 응답(전달 함수) IR'(Z)은, IR1'(Z)=IR1(Z)·W(Z)로 된다. 또한, 도 2 또는 도 3의 실선으로 나타낸 경로B의 임펄스 응답(전달 함수) IR2'(Z)는, IR2'(Z)=-IR2(Z)·W(Z)로 된다. 또한, IR2(Z)가 위상 반전하고 있는 것은, 차동 증폭 회로(9)의 - 입력 단자에 입력되어 있기 때문이다.
지금, FIR 필터(4)의 필터 계수를, IR2'(Z)를 위상 반전한 -IR2'(Z)로 하면, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_1(Z)은,
I Rall_1(Z)=-IR2'(Z)·IR1'(Z)
=(-(-IR2(Z)·W(Z)))·(IR1(Z)·W(Z))
=IR2(Z)·W(Z)·IR1(Z)·W(Z)
로 된다. 또한, FIR 필터(11)의 필터 계수를 IR1'(Z)로 하면, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_2(Z)는,
I Rall_2(Z)=IR1'(Z)·IR2'(Z)
=IR1(Z)·W(Z)·(-IR2(Z)·W(Z))
=IR1(Z)·W(Z)·(-IR2(Z))·W(Z)
=-I Rall_1(Z)
로 된다.
즉, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_1(Z)과, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_2(Z)는 상호 상쇄하는 특성으로 됨을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를, IR2'(Z)를 위상 반전한 -IR2'(Z)로 하고, FIR 필터(11)의 필터 계수를 IR1'(Z)로 설정하면 됨을 알 수 있다.
혹은, FIR 필터(4)의 필터 계수를 IR2'(Z)로 하면, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_1(Z)은,
I Rall_1(Z)=IR2'(Z)·IR1'(Z)
=(-IR2(Z)·W(Z))·(IR1(Z)·W(Z))
=-IR2(Z)·W(Z)·IR1(Z)·W(Z)
로 된다. 또한, FIR 필터(11)의 필터 계수를, IR1'(Z)을 위상 반전한 -IR1'(Z)로 하면, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_2(Z)는,
I Rall_2(Z)=-IR1'(Z)·IR2'(Z)
=(-(IR1(Z)·W(Z)))·(-IR2(Z)·W(Z))
=IR1(Z)·W(Z)·IR2(Z)·W(Z)
=-I Rall_1(Z)
로 된다.
즉, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_1(Z)과, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_2(Z)는 상호 상쇄하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR2'(Z)로 하고, FIR 필터(11)의 필터 계수를, IR1'(Z)을 위상 반전한 -IR1'(Z)로 설정하면 되는 것을 알 수 있다.
그리고, 이와 같이 FIR 필터(4, 11)의 필터 계수를 설정함으로써, 차동 증폭 회로(9)에서 경로A를 전달하는 신호를, 경로B를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(30)에 디지털 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 3에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR1'(Z)을 취득하고, 이 IR1'(Z)을 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR1'(Z)을 취득하고, 이 IR1'(Z)을 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
===임펄스 응답 취득 처리에 의한 FIR 필터(4, 11)의 필터 계수 설정===
이하, 도 1∼도 6, 도 8을 참조하면서 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로에 의한 임펄스 응답 취득 처리, FIR 필터(4, 11)의 필터 계수 설정의 동작에 대하여 설명한다. 도 8은 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 동작의 일례를 도시한 플로우차트이다.
CPU(1)는, 예를 들면, 에코 방지 회로를 리세트하기 위한 리세트 신호가 입력되면, 임펄스 응답 취득 처리를 DSP(2)에서 실행시키기 위해서 지시 신호를, DSP(2)에 출력한다. 또한, CPU(1)는, 임펄스 응답 취득 처리의 초기 동작으로서, 다른쪽의 논리값 '0'을 DSP(2)에 출력한다. DSP(2)에 입력된 다른쪽의 논리값 '0'은, 레지스터(48, 49)에 입력된다.
DSP(2)는, 스위치 회로(60R)를 디지털 신호용 메모리(54)의 레지스터0∼레지스터N-1로 순차적으로 절환한다. 그 결과, 레지스터(48)에 기억된 다른쪽의 논리값 '0'에 의해서, 디지털 신호용 메모리(54)의 레지스터0∼N-1의 내용이 클리어된다(S101). 마찬가지로, DSP(2)는, 스위치 회로(60Q)를 디지털 신호용 메모리(42)의 레지스터0∼레지스터N-1로 순차적으로 절환한다. 그 결과, 레지스터(48)에 기억된 다른쪽의 논리값 '0'에 의해서, 디지털 신호용 메모리(42)의 레지스터0∼N-1이 클리어된다(S102). 그리고, DSP(2)는, CPU(1)로부터의 전술한 지시 신호가 입력되었는지의 여부를 판별한다(S103).
DSP(2)는, CPU(1)로부터의 지시 신호가 입력되었다고 판별하면(S103·예), 우선 스위치 회로(60H)를 레지스터(49)측으로 절환하고, 스위치 회로(60G)를 레지스터0∼레지스터N-1에 순차적으로 절환한다. 그 결과, 레지스터(49)에 기억된 다른쪽의 논리값 '0'에 의해서, 임펄스 응답 저장 메모리(43)의 레지스터0∼레지스터N-1의 내용이 클리어된다(S104). 이하, 임펄스 응답 저장 메모리(43)에 기억시키는 i번째의 임펄스 응답을 imp(i)(i=0, …, N-1)로 나타내어 설명한다. 그리고, DSP(2)는, 임펄스 응답 저장 메모리(43)의 레지스터N-1에 기억시키는 임펄스 응답 imp(0)을 취득하기 위해서 i=0으로 하고(S105), 입력 단자(30)를 하이 임피던스로 한 후에, 이하의 처리를 실행한다.
DSP(2)는, 도 2 또는 도 3에 도시한 경로A의 임펄스 응답 imp(0)을 취득하기 위해서, 이 경로A에 출력 단자(31)로부터의 임펄스 출력이 가능한지의 여부를 판별한다(S106). 예를 들면, 이 DSP(2)에 의한 판별로서는, 출력 단자(31)로부터의 신호의 출력이나 입력 단자(33)에의 신호의 입력이 되어 있는 상태인지의 여부를 판별함으로써 행한다. 만약, 출력 단자(31)로부터의 신호의 출력이나 입력 단자(33)에의 신호의 입력이 되어 있는 상태에서 임펄스를 출력하면, 정확한 임펄스 응답 imp(0)을 취득할 수 없을 가능성이 있기 때문이다.
그리고, DSP(2)는, 경로A에의 임펄스 출력이 가능하다고 판별하면(S106·예), i=0인지의 여부를 판별한다(S107). S105에서 i=0이기 때문에, DSP(2)는 i=0이다라고 판별하게 된다(S107·예). 그리고, DSP(2)는, 임펄스용 메모리(45)의 레지스터0에 한쪽의 논리값 '1'을 기억시킨다. 또한, DSP(2)는, 임펄스용 메모리(45)의 다른 레지스터1∼N-1, 레지스터(46), 임펄스용 메모리(44)의 레지스터0∼N-1에, 다른쪽의 논리값 '0'을 기억시킨다. 그리고, DSP(2)는, 스위치 회로(60C)를 임펄스용 메모리(45)측으로 절환하고, 스위치 회로(60A)를 임펄스용 메모리(44)측으로 절환하며, 스위치 회로(60T)를 레지스터(46)측으로 절환한다. 또한, DSP(2)는, 스위치 회로(60E)를 입력 단자(33)측으로 절환한다. 다음으로, DSP(2)는, 스위치 회로(60D, 60B)를 각각, 레지스터0으로 절환한다. 그 결과, 임펄스용 메모리(45)의 레지스터0에 기억된 한쪽의 논리값 '1'에 의한 임펄스가 출력 단자(31)로부터 출력되게 된다(S108). 출력 단자(31)로부터 출력된 임펄스는, 경로A를 전달하여 입력 단자(33)에 입력된다(S109). 그 결과, 임펄스 응답 imp(0)을 취득할 수 있었던 것으로 된다(도 4의 (a)·imp(0)). 그리고, 이 임펄스 응답 imp(0)은, 우선 임펄스 응답 저장 메모리(43)의 레지스터N-1에 기억된다.
다음으로, 임펄스 응답 imp(1)을 취득하기 위해서, DSP(2)는 i를 인크리먼트하여 i=i+1=1로 한다(S110). 그리고, DSP(2)는, 취득한 임펄스 응답이 아직 imp(N-1)까지 도달하고 있지 않기 때문에 i≥N이 아니다라고 판별하고(S111·아니오), 전술한 S106의 처리를 다시 반복하게 된다. 또한, S110에서 i=1≠0으로 되어 있기 때문에(S107·아니오), DSP(2)는, 스위치 회로(60D, 60B)를 각각 레지스터1로 절환한다. 그 결과, 출력 단자(31)로부터는 임펄스가 출력되지 않는다(S112). 이 때문에, 입력 단자(33)에는, S108에서 출력된 임펄스의 1샘플링 주기 위상 지연한 임펄스 imp(1)이 입력된다. 그리고, 이 임펄스 응답 imp(1)은 임펄스 응답 저장 메모리(43)의 레지스터N-1에 기억되고, 레지스터N-1에 기억되어 있던 임펄스 응답 imp(0)은 레지스터N-2에 기억되게 된다. 이와 같이, S106부터 S111의 처리를 i≥N까지 반복함으로써(S111·예), 임펄스 응답 imp(0)∼imp(N-1)(=IR1'(Z))이 취득된다. 그 결과, 임펄스 응답 저장 메모리(43)의 레지스터0∼N-1에, 임펄스 응답 imp(0)∼imp(N-1)이 기억된 것으로 된다.
DSP(2)는, 임펄스 응답 저장 메모리(43)의 레지스터0∼N-1에 기억되어 있는 임펄스 응답 imp(0)∼imp(N-1)을, 필터 계수 저장 메모리(47)의 어드레스0∼N-1에 기억시키기 위해서, 스위치 회로(60H)를 레지스터(50)측으로 절환하고, 스위치 회로(60G, 60I)를 각각 레지스터0, 어드레스0으로부터 순차적으로 절환한다. 상세하게 설명하면, DSP(2)는, 우선 임펄스 응답 imp(0)을 어드레스0에 기억시키기 위해서 i=0으로 한다(S113). 그리고, DSP(2)는, 스위치 회로(60G)를 레지스터0으로 절 환하고, 스위치 회로(60I)를 어드레스0으로 절환한다. 그 결과, 필터 계수 저장 메모리(47)의 어드레스0에 임펄스 응답 imp(0)이 기억되게 된다(S114). 다음으로, DSP(2)는, 필터 계수 저장 메모리(47)의 어드레스1에 임펄스 응답 imp(1)을 기억시키기 위해서, i=i+1=1로 한다(S115). 그리고, DSP(2)는, 필터 계수 저장 메모리(47)의 어드레스N-1까지 임펄스 응답이 기억되어 있지 않기 때문에 i≥N이 아니다라고 판별하고(S116·아니오), 전술한 S114의 처리를 다시 반복하게 된다. 즉, DSP(2)는, 스위치 회로(60G)를 레지스터1로 절환하고, 스위치 회로(60I)를 어드레스1로 절환한다. 그 결과, 어드레스1에 임펄스 응답 imp(1)이 기억되게 된다(S114). 그리고, 전술한 S114부터 S116의 처리를 i≥N까지 반복함으로써(S116·예), 필터 계수 저장 메모리(47)의 어드레스0∼N-1에 임펄스 응답 imp(0)∼imp(N-1)이 기억되게 된다. 즉, FIR 필터(11)의 필터 계수가 설정되게 된다.
다음으로, DSP(2)는, 스위치 회로(60K)를 레지스터(49)측으로 절환하고, 스위치 회로(60J)를 레지스터0∼레지스터N-1로 순차적으로 절환한다. 그 결과, 레지스터(49)에 기억된 다른쪽의 논리값 '0'에 의해서, 임펄스 응답 저장 메모리(55)의 레지스터0∼레지스터N-1이 클리어된다(S117). 이하, 임펄스 응답 저장 메모리(55)에 기억시키는 j번째의 임펄스 응답을 imp(j)(j=0, …, N-1)로 나타내어 설명한다. 그리고, DSP(2)는, 임펄스 응답 저장 메모리(55)의 레지스터N-1에 기억시키는 임펄스 응답 imp(0)을 취득하기 위해서 j=0으로 하고(S118), 이하의 처리를 실행한다.
DSP(2)는, 도 2 또는 도 3에 도시한 경로B의 임펄스 응답 imp(0)을 취득하기 위해서, 이 경로B에 임펄스 출력이 가능한지의 여부를 판별한다(S119). 이 DSP(2)에 의한 판별은, 전술한 S106과 마찬가지이다.
그리고, DSP(2)는, 경로B에의 임펄스 출력이 가능하다고 판별하면(S119·예), j=0인지의 여부를 판별한다(S120). S118에서 j=0이기 때문에, DSP(2)는 j=0이다라고 판별하게 된다(S120·예). 그리고, DSP(2)는, 임펄스용 메모리(44)의 레지스터0에 한쪽의 논리값 '1'을 기억시킨다. 또한, DSP(2)는, 임펄스용 메모리(44)의 다른 레지스터1∼N-1, 레지스터(46), 임펄스용 메모리(45)의 레지스터0∼N-1에, 다른쪽의 논리값 '0'을 기억시킨다. 그리고, DSP(2)는, 스위치 회로(60F)를 입력 단자(33)측으로 절환한다. 다음으로, DSP(2)는, 스위치 회로(60D, 60B)를 각각, 레지스터0으로 절환한다. 그 결과, 임펄스용 메모리(44)의 레지스터0에 기억된 한쪽의 논리값 '1'에 의한 임펄스가 출력 단자(32)로부터 출력되게 된다(S121). 출력 단자(32)로부터 출력된 임펄스는, 경로B를 전달하여 입력 단자(33)에 입력된다(S122). 그 결과, 임펄스 응답 imp(0)을 취득할 수 있었던 것으로 된다(도 4의 (b)·imp(0)). 그리고, 이 임펄스 응답 imp(0)은, 우선 임펄스 응답 저장 메모리(55)의 레지스터N-1에 기억된다.
다음으로, 임펄스 응답 imp(1)을 취득하기 위해서, DSP(2)는 j를 인크리먼트하여 j=j+1=1로 한다(S123). 그리고, DSP(2)는, 취득한 임펄스 응답이 아직 imp(N-1)까지 도달하지 않았기 때문에 j≥N이 아니다라고 판별하고(S124·아니오), 전술한 S119의 처리를 다시 반복하게 된다. 또한, S123에서 j=1≠0으로 되어 있기 때문에(S120·아니오), DSP(2)는, 스위치 회로(60D, 60B)를 각각 레지스터1로 절환한다. 그 결과, 출력 단자(32)로부터는 임펄스가 출력되지 않는다(S125). 그 때 문에, 입력 단자(33)에는, S121에서 출력된 임펄스의 1샘플링 주기 위상 지연한 임펄스 imp(1)이 입력된다. 그리고, 이 임펄스 응답 imp(1)은 임펄스 응답 저장 메모리(55)의 레지스터N-1에 기억되고, 레지스터N-1에 기억되어 있었던 임펄스 응답 imp(0)은 레지스터N-2에 기억되게 된다. 이와 같이, S119부터 S124의 처리를 j≥N까지 반복함으로써(S124·예), 임펄스 응답 imp(0)∼imp(N-1)(=IR2'(Z))이 취득된다. 그 결과, 임펄스 응답 저장 메모리(55)의 레지스터0∼N-1에, 임펄스 응답 imp(0)∼imp(N-1)이 기억된 것으로 된다.
DSP(2)는, 임펄스 응답 저장 메모리(55)의 레지스터0∼N-1에 기억되어 있는 임펄스 응답 imp(0)∼imp(N-1)을, 위상 반전시켜 필터 계수 저장 메모리(56)의 어드레스0∼N-1에 기억시키기 위해서, 스위치 회로(60K)를 레지스터(50)측으로 절환하고, 스위치 회로(60J, 60L)를 각각 레지스터0, 어드레스0으로부터 순차적으로 절환한다. DSP(2)는, 우선 위상 반전된 임펄스 응답 imp(0)을 어드레스0에 기억시키기 위해서 j=0으로 한다(S126). 그리고, DSP(2)는, 스위치 회로(60J)를 레지스터0으로 절환하고, 스위치 회로(60L)를 어드레스0으로 절환한다. 이 때 레지스터0으로부터의 imp(0)은, 승산 회로(58)에서 레지스터(57)의 값과 승산됨으로써 위상 반전된다. 그 결과, 필터 계수 저장 메모리(47)의 어드레스0에는, 위상 반전된 임펄스 응답 imp(0)이 기억되게 된다(S127). 다음으로, DSP(2)는, 필터 계수 저장 메모리(47)의 어드레스1에 임펄스 응답 imp(1)을 기억시키기 위해서, j=j+1=1로 한다(S128). 그리고, DSP(2)는, 필터 계수 저장 메모리(56)의 어드레스N-1까지 임펄스 응답이 기억되어 있지 않기 때문에 j≥N이 아니다라고 판별하고(S129·아니오), 전술한 S127의 처리를 다시 반복하게 된다. 즉, DSP(2)는, 스위치 회로(60J)를 레지스터1로 절환하고, 스위치 회로(60L)를 어드레스1로 절환한다. 그리고, 레지스터1로부터의 imp(1)은, 승산 회로(58)에서 레지스터(57)의 값과 승산됨으로써 위상 반전된다. 그 결과, 어드레스1에 위상 반전된 임펄스 응답 imp(1)이 기억되게 된다(S127). 그리고, 전술한 S127부터 S129의 처리를 j≥N까지 반복함으로써(S129·예), 필터 계수 저장 메모리(56)의 어드레스0∼N-1에, 위상 반전된 임펄스 응답 imp(0)∼imp(N-1)이 기억되게 된다. 즉, FIR 필터(4)의 필터 계수가 설정되게 된다.
또한, 전술한 실시 형태에 따르면, 전술한 처리에 대하여 하드웨어(예를 들면 스위치 회로(60) 등)를 이용하여 설명했지만, 이에 한정되는 것은 아니다. 예를 들면, 전술한 처리를 프로그램 데이터로서 ROM(Read 0nly Memory) 등에 미리 기억시켜 두고, DSP(2)가 구비하는 프로세서가 이 프로그램 데이터를 판독하여 처리함으로써 소프트웨어 처리하는 것도 가능하다.
<<제2 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 9는, 제2 실시 형태를 도시한 도면이다. 도 9는, 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 일례를 도시한 블록도이다. 또한, 도 9에 도시한 에코 방지 회로에서, 전술한 제1 실시 형태와 동일한 구성 요건에 대해서는, 동일한 번호를 붙이고 설명을 생략한다.
에코 방지 회로는, CPU(1), DSP(2), AD 컨버터(3), DA 컨버터(5), 증폭 회로 (6), 입출력 단자(7), 가산 회로(63), 증폭 회로(10), AD 컨버터(14), DA 컨버터(15), DA 컨버터(12), 반전 증폭 회로(61)(반전 회로), 이득 위상 조정 회로(G/P)(75)를 갖고 있다.
즉, 본 실시 형태는, 제1 실시 형태에서의 차동 증폭 회로(9), 증폭 회로(13) 대신에, 반전 증폭 회로(61), 이득 위상 조정 회로(75), 가산 회로(63)를 설치한 구성으로 되어 있다. 또한, 본 실시 형태에서도 CPU(1)를 구성 요건으로 하고 있지만, CPU(1)를 구성 요건으로 하지 않는 것도 가능하다.
또한, DSP(2)는, 입력 단자(30), FIR 필터(4), 출력 단자(31), FIR 필터(11), 출력 단자(32), 입력 단자(33), 출력 단자(34)를 갖고 있다.
반전 증폭 회로(61)는, DA 컨버터(12)로부터의 아날로그 신호를, 소정의 증폭률로 반전 증폭하여 이득 위상 조정 회로(75)에 출력한다.
이득 위상 조정 회로(75)는, 반전 증폭 회로(61)로부터의 아날로그 신호에 대하여, 이득 및 위상의 조정을 실시하여 가산 회로(63)에 출력한다. 또한, 이 이득 위상 조정 회로(75)에 의한 아날로그 신호의 이득 및 위상의 조정은, 입력 단자(30)에 디지털 신호가 입력되었을 때의 후술하는 가산 회로(63)의 출력을 제로로 하기 위해서, 증폭 회로(6)로부터의 아날로그 신호와는 위상 반전한 아날로그 신호를 생성하기 위해서 행해진다.
가산 회로(63)는, 증폭 회로(6)로부터의 아날로그 신호가 입력된다. 그리고, 가산 회로(63)는, 증폭 회로(6)로부터의 아날로그 신호와, 이득 위상 조정 회로(75)로부터의 아날로그 신호를 가산한 가산 결과를 증폭 회로(10)에 출력한다. 또한, 가산 회로(63)는, 입출력 단자(7)로부터의 음성 신호를 증폭 회로(10)에 출력한다.
===FIR 필터(4, 11)의 필터 계수===
도 10 및 도 11을 참조하면서 FIR 필터(4, 11)의 필터 계수에 대하여 상세하게 설명한다. 도 10은, 도 9에 도시한 에코 방지 회로의 경로C, D를 도시한 도면이다. 또한, 도 11은, 경로C에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다.
증폭 회로(6)로부터의 아날로그 신호는, 입출력 단자(7)로부터의 출력뿐만 아니라, 가산 회로(63)에 입력되는 경우가 있다. 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(7)로부터 입력되는 음성 신호와 증폭 회로(6)로부터의 아날로그 신호가 중첩되어 가산 회로(63)에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 FIR 필터(4, 11)의 필터 계수를 설정한다.
따라서, 도 10 또는 도 11의 파선으로 나타낸 출력 단자(31)로부터 가산 회로(63)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR3(Z)으로 한다. 또한, 도 10 또는 도 11의 일점쇄선으로 나타낸 출력 단자(32)로부터 반전 증폭 회로(61)의 입력까지의 임펄스 응답(전달 함수)을 IR4_1(Z)로 한다. 또한, 도 10 또는 도 11의 이점쇄선으로 나타낸 반전 증폭 회로(61)의 입력으로부터 가산 회로(63)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR4_2(Z)로 한다. 또한, 도 10 또는 도 11의 파선으로 나타낸 가산 회로(63)에서의 각 입력 단자의 후단으로부터 입력 단자 (33)까지의 임펄스 응답(전달 함수)을 W2(Z)로 한다.
이 때, 도 10 또는 도 11의 실선으로 나타낸 경로C의 임펄스 응답(전달 함수) IR3'(Z)은, IR3'(Z)=IR3(Z)·W2(Z)로 된다. 또한, 도 10 또는 도 11의 실선으로 나타낸 경로D의 임펄스 응답(전달 함수) IR4'(Z)는, IR4'(Z)=-IR4_1(Z)·IR4_2(Z)·W2(Z)로 된다. 또한, IR4_1(Z)이 위상 반전하고 있는 것은, 반전 증폭 회로(61)에서 반전되기 때문이다.
지금, FIR 필터(4)의 필터 계수를, IR4'(Z)를 위상 반전한 -IR4'(Z)로 하면, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_3(Z)은,
I Rall_3(Z)=-IR4'(Z)·IR3'(Z)
=(-(-IR4_1(Z)·IR4_2(Z)·W2(Z)))·(IR3(Z)·W2(Z))
=IR4_1(Z)·IR4_2(Z)·W2(Z)·IR3(Z)·W2(Z)
로 된다. 또한, FIR 필터(11)의 필터 계수를 IR3'(Z)으로 하면, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_4(Z)는,
I Rall_4(Z)=IR3'(Z)·IR4'(Z)
=IR3(Z)·W2(Z)·(-IR4_1(Z)·IR4_2(Z)·W2(Z))
=IR3(Z)·W2(Z)·(-IR4_1(Z))·IR4_2(Z)·W2(Z)
=-I Rall_3(Z)
으로 된다.
즉, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_3(Z)과, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_4(Z)는 상호 상쇄 하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR4'(Z)를 위상 반전한 -IR4'(Z)로 하고, FIR 필터(11)의 필터 계수를 IR3'(Z)으로 설정하면 되는 것을 알 수 있다.
혹은, FIR 필터(4)의 필터 계수를, IR4'(Z)로 하면, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_3(Z)은,
I Rall_3(Z)=IR4'(Z)·IR3'(Z)
=(-IR4_1(Z)·IR4_2(Z)·W2(Z))·(IR3(Z)·W2(Z))
=-IR4_1(Z)·IR4_2(Z)·W2(Z)·IR3(Z)·W2(Z)
로 된다. 또한, FIR 필터(11)의 필터 계수를, IR3'(Z)을 위상 반전한 -IR3'(Z)으로 하면, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_4(Z)는,
I Rall_4(Z)=-IR3'(Z)·IR4'(Z)
=-(IR3(Z)·W2(Z))·(-IR4_1(Z)·IR4_2(Z)·W2(Z))
=IR3(Z)·W2(Z)·IR4_1(Z)·IR4_2(Z)·W2(Z)
=-I Rall_3(Z)
으로 된다.
즉, FIR 필터(4)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_3(Z)과, FIR 필터(11)의 입력으로부터 입력 단자(33)까지의 특성 I Rall_4(Z)는 상호 상쇄하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR4'(Z)로 하고, FIR 필터(11)의 필터 계수를, IR3'(Z)을 위상 반전한 -IR3'(Z)으로 설정하면 되는 것을 알 수 있다.
그리고, 이와 같이 FIR 필터(4, 11)의 필터 계수를 설정함으로써, 가산 회로(63)에서 경로C를 전달하는 신호를, 경로D를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(30)에 디지털 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 11에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR3'(Z)을 취득하고, 이 IR3'(Z)을 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR3'(Z)을 취득하고, 이 IR3'(Z)을 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 이 FIR 필터(4)의 필터 계수에 IR4'(Z)를 위상 반전한 -IR4'(Z)를 설정하고, FIR 필터(11)의 필터 계수에 IR3'(Z)을 설정하는 처리는, 제1 실시 형태와 마찬가지의 처리를 행함으로써 가능하게 된다.
<<제3 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 12는, 제3 실시 형태를 도시한 도면이다. 도 12는, 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DPS(64))의 일례를 도시한 블록도이다. 또한, 도 12에 도시한 에코 방지 회로에서, 전술한 제1 실시 형태와 동일한 구성 요건에 대해서는, 동일한 번호를 붙이고 설명을 생략한다.
에코 방지 회로는, CPU(1), DSP(64), 증폭 회로(6), 입출력 단자(7), 차동 증폭 회로(9), 증폭 회로(10), 증폭 회로(13)를 갖고 있다. 또한, 본 실시 형태에서도 CPU(1)를 구성 요건으로 하고 있으나, CPU(1)를 구성 요건으로 하지 않는 것도 가능하다.
또한, DSP(64)는, 입력 단자(65)(제1 입력 단자), AD 컨버터(66), FIR 필터(4), DA 컨버터(67)(제1 DA 컨버터), 출력 단자(68)(제1 출력 단자), 입력 단자(69)(제2 입력 단자), AD 컨버터(70), DA 컨버터(71), 출력 단자(72)(제3 출력 단자), FIR 필터(11), DA 컨버터(73)(제2 DA 컨버터), 출력 단자(74)(제2 출력 단자)를 갖고 있다.
즉, 본 실시 형태는, 제1 실시 형태에서의 AD 컨버터(3, 14), DA 컨버터(5, 12, 15)가 DSP(64) 내부에 설치된 구성으로 되어 있다.
AD 컨버터(66)에는, 입력 단자(65)를 통해, 예를 들면 음성 신호가 입력된다. 그리고, AD 컨버터(66)는, 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, FIR 필터(4, 11)에 출력한다.
FIR 필터(4)는 디지털 신호에 대하여, 이 FIR 필터(4)의 필터 계수에 기초하여 컨볼루션 연산 처리를 실시하여 DA 컨버터(67)에 출력한다. 또한 동시에, FIR 필터(11)는 디지털 신호에 대하여, 이 FIR 필터(11)의 필터 계수에 기초하여 컨볼루션 연산 처리를 실시하여 DA 컨버터(73)에 출력한다.
DA 컨버터(67)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를, 출력 단자(68)를 통해 출력시킨다. 그 결과, 증폭 회로(6)에는, DA 컨버터(67)로부터의 아날로그 신호가 입력된다.
DA 컨버터(73)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를, 출력 단자(74)를 통해 출력시킨다. 그 결과, 증폭 회로(13)에는, DA 컨버터(73)로부터의 아날로그 신호가 입력된다.
AD 컨버터(70)에는, 입력 단자(69)를 통해, 증폭 회로(10)로부터의 음성 신호가 입력된다. 그리고, AD 컨버터(70)는, 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, DA 컨버터(71)에 출력한다.
DA 컨버터(71)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를, 출력 단자(72)를 통해 출력시킨다.
===FIR 필터(4, 11)의 필터 계수===
도 13 및 도 14를 참조하면서 FIR 필터(4, 11)의 필터 계수에 대하여 상세하게 설명한다. 도 13은, 도 12에 도시한 에코 방지 회로의 경로E, F를 도시한 도면이다. 또한, 도 14는, 경로E에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다.
증폭 회로(6)로부터의 아날로그 신호는, 입출력 단자(7)로부터의 출력뿐만 아니라, 차동 증폭 회로(9)에 입력되는 경우가 있다. 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(7)로부터 입력되는 음성 신호와 증폭 회로(6)로부터의 아날로그 신호가 중첩되어 차동 증폭 회로(9)에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 FIR 필터(4, 11)의 필터 계수를 설정한다.
따라서, 도 13 또는 도 14의 파선으로 나타낸 DA 컨버터(67)의 입력으로부터 차동 증폭 회로(9)의 + 입력 단자까지의 임펄스 응답(전달 함수)을 IR5(Z)로 한다. 또한, 도 13 또는 도 14의 파선으로 나타낸 DA 컨버터(73)의 입력으로부터 차동 증폭 회로(9)의 - 입력 단자까지의 임펄스 응답(전달 함수)을 IR6(Z)로 한다. 또한, 도 13 또는 도 14의 파선으로 나타낸 차동 증폭 회로(9)의 ± 입력 단자의 후단으로부터 AD 컨버터(70)의 출력까지의 임펄스 응답(전달 함수)을 W3(Z)로 한다.
이 때, 도 13 또는 도 14의 실선으로 나타낸 경로C의 임펄스 응답(전달 함수)(IR5'(Z))은, IR5'(Z)=IR5(Z)·W3(Z)로 된다. 또한, 도 13 또는 도 14의 실선으로 나타낸 경로 F의 임펄스 응답(전달 함수) IR6'(Z)은, IR6'(Z)=-IR6(Z)·W3(Z)으로 된다. 또한, IR6(Z)이 위상 반전하고 있는 것은, 차동 증폭 회로(9)의 - 입력 단자에 입력되어 있기 때문이다.
지금, FIR 필터(4)의 필터 계수를, IR6'(Z)을 위상 반전한 -IR6'(Z)으로 하면, FIR 필터(4)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_5(Z)는,
I Rall_5(Z)=-IR6'(Z)·IR5'(Z)
=(-(-IR6(Z)·W3(Z)))·(IR5(Z)·W3(Z))
=IR6(Z)·W3(Z)·IR5(Z)·W3(Z)
으로 된다. 또한, FIR 필터(11)의 필터 계수를 IR5'(Z)로 하면, FIR 필터(11)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_6(Z)은,
I Rall_6(Z)=IR5'(Z)·IR6'(Z)
=IR5(Z)·W3(Z)·(-IR6(Z)·W3(Z))
=IR5(Z)·W3(Z)·(-IR6(Z))·W3(Z)
=-I Rall_5(Z)
로 된다.
즉, 경로E의 특성 I Rall_5(Z)와, 경로 F의 특성 I Rall_6(Z)은 상호 상쇄하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR6'(Z)을 위상 반전한 -IR6'(Z)으로 하고, FIR 필터(11)의 필터 계수를 IR5'(Z)로 설정하면 되는 것을 알 수 있다.
혹은, FIR 필터(4)의 필터 계수를 IR6'(Z)로 하면, FIR 필터(4)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_5(Z)는,
I Rall_5(Z)=IR6'(Z)·IR5'(Z)
=(-IR6(Z)·W3(Z))·(IR5(Z)·W3(Z))
=-IR6(Z)·W3(Z)·IR5(Z)·W3(Z)
으로 된다. 또한, FIR 필터(11)의 필터 계수를, IR5'(Z)를 위상 반전한 -IR5'(Z)로 하면, FIR 필터(11)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_6(Z)은,
I Rall_6(Z)=-IR5'(Z)·IR6'(Z)
=(-(IR5(Z)·W3(Z))·(-IR6(Z)·W3(Z))
=IR5(Z)·W3(Z)·IR6(Z)·W3(Z)
=-I Rall_5(Z)
로 된다.
즉, 경로E의 특성 I Rall_5(Z)와 경로 F의 특성 I Rall_6(Z)은 상호 상쇄하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR6'(Z)으로 하고, FIR 필터(11)의 필터 계수를, IR5'(Z)를 위상 반전한 -IR5'(Z)로 설정하면 되는 것을 알 수 있다.
그리고, 이와 같이 FIR 필터(4, 11)의 필터 계수를 설정함으로써, 차동 증폭 회로(9)에서 경로E를 전달하는 신호를, 경로 F를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(65)에 음성 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 14에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR5'(Z)를 취득하고, 이 IR5'(Z)를 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR5'(Z)를 취득하고, 이 IR5'(Z)를 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 이 FIR 필터(4)의 필터 계수에 IR6'(Z)을 위상 반전한 -IR6'(Z)을 설정하고, FIR 필터(11)의 필터 계수에 IR5'(Z)를 설정하는 처리는, 제1 실시 형태와 마찬가지의 처리를 행함으로써 가능하게 된다.
<<제4 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 15는, 제4 실시 형태를 도시한 도면이다. 도 15는, 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DSP(64))의 일례를 도시한 블록도이다.
또한, 도 15에 도시한 바와 같이 제4 실시 형태에서의 에코 방지 회로는, 전술한 제2 실시 형태(도 9), 제3 실시 형태(도 12)를 조합한 구성으로 되어 있고, 동일한 구성 요건에 대해서는 동일한 번호를 붙이고 설명을 생략한다.
===FIR 필터(4, 11)의 필터 계수===
도 16 및 도 17을 참조하면서 FIR 필터(4, 11)의 필터 계수에 대하여 상세하게 설명한다. 도 16은, 도 15에 도시한 에코 방지 회로의 경로G, H를 도시한 도면이다. 또한, 도 17은, 경로G에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다.
증폭 회로(6)로부터의 아날로그 신호는, 입출력 단자(7)로부터의 출력뿐만 아니라, 가산 회로(63)에 입력되는 경우가 있다. 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(7)로부터 입력되는 음성 신호와 증폭 회로(6)로부터의 아날로그 신호가 중첩되어 가산 회로(63)에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해 FIR 필터(4, 11)의 필터 계수를 설정한다.
따라서, 도 16 또는 도 17의 파선으로 나타낸 DA 컨버터(67)의 입력으로부터 가산 회로(63)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR7(Z)로 한다. 또한, 도 16 또는 도 17의 일점쇄선으로 나타낸 DA 컨버터(73)의 입력으로부터 반전 증폭 회로(61)의 입력까지의 임펄스 응답(전달 함수)을 IR8_1(Z)로 한다. 또한, 도 16 또는 도 17의 이점쇄선으로 나타낸 반전 증폭 회로(61)의 입력으로부터 가산 회로(63) 입력 단자까지의 임펄스 응답(전달 함수)을 IR8_2(Z)로 한다. 또한, 도 16 또는 도 17의 파선으로 나타낸 가산 회로(63)에서의 각 입력 단자의 후단으로부터 AD 컨버터(70)의 출력까지의 임펄스 응답(전달 함수)을 W4(Z)로 한다.
이 때, 도 16 또는 도 17의 실선으로 나타낸 경로G의 임펄스 응답(전달 함수) IR7'(Z)은, IR7'(Z)=IR7(Z)·W4(Z)로 된다. 또한, 도 16 또는 도 17의 실선으로 나타낸 경로H의 임펄스 응답(전달 함수) IR8'(Z)은, IR8'(Z)=-IR8_1(Z)·IR8_2(Z)·W4(Z)로 된다. 또한, IR8_1(Z)이 위상 반전하고 있는 것은, 반전 증폭 회로(61)에서 반전되기 때문이다.
지금, FIR 필터(4)의 필터 계수를, IR8'(Z)을 위상 반전한 -IR8'(Z)로 하면, FIR 필터(4)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_7(Z)은,
I Rall_7(Z)=-IR8'(Z)·IR7'(Z)
=(-(-IR8_1(Z)·IR8_2(Z)·W4(Z)))·(IR7(Z)·W4(Z))
=IR8_1(Z)·IR8_2(Z)·W4(Z)·IR7(Z)·W4(Z)
로 된다. 또한, FIR 필터(11)의 필터 계수를 IR7'(Z)로 하면, FIR 필터(11)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_8(Z)은,
I Rall_8(Z)=IR7'(Z)·IR8'(Z)
=IR7(Z)·W4(Z)·(-IR8_1(Z))·IR8_2(Z)·W4(Z))
=IR7(Z)·W4(Z)·(-IR8_1(Z))·IR8_2(Z)·W4(Z)
=-I Rall_7(Z)
로 된다.
즉, FIR 필터(4)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_7(Z)과, FIR 필터(11)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_8(Z)은 상호 상쇄하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR8'(Z)을 위상 반전한 -IR8'(Z)로 하고, FIR 필터(11)의 필터 계수를 IR7'(Z)로 설정하면 되는 것을 알 수 있다.
혹은, FIR 필터(4)의 필터 계수를, IR8'(Z)로 하면, FIR 필터(4)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_7(Z)은,
I Rall_7(Z)=IR8'(Z)·IR7'(Z)
=(-IR8_1(Z)·IR8_2(Z)·W4(Z))·(IR7(Z)·W4(Z))
=-IR8_1(Z)·IR8_2(Z)·W4(Z)·IR7(Z)·W4(Z)
로 된다. 또한, FIR 필터(11)의 필터 계수를, IR7'(Z)을 위상 반전한 -IR7'(Z)로 하면, FIR 필터(11)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_8(Z)은,
I Rall_8(Z)=-IR7'(Z)·IR8'(Z)
=(-(IR7(Z)·W4(Z)))·(-IR8_1(Z)·IR8_2(Z)·W4(Z))
=IR7(Z)·W4(Z)·IR8_1(Z)·IR8_2(Z)·W4(Z)
=-I Rall_7(Z)
로 된다.
즉, FIR 필터(4)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_7(Z)과, FIR 필터(11)의 입력으로부터 AD 컨버터(70)의 출력까지의 특성 I Rall_8(Z)은 상호 상쇄하는 특성으로 되는 것을 알 수 있다. 그 결과, FIR 필터(4)의 필터 계수를 IR8'(Z)로 하고, FIR 필터(11)의 필터 계수를, IR7'(Z)을 위상 반전한 -IR7'(Z)로 설정하면 되는 것을 알 수 있다.
그리고, 이와 같이 FIR 필터(4, 11)의 필터 계수를 설정함으로써, 가산 회로(63)에서 경로G를 전달하는 신호를, 경로H를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(65)에 음성 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 17에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR7'(Z)을 취득하고, 이 IR7'(Z)을 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR7'(Z)을 취득하고, 이 IR7'(Z)을 FIR 필터(11)의 필터 계수로 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 이 FIR 필터(4)의 필터 계수에 IR8'(Z)을 위상 반전한 -IR8'(Z)을 설정하고, FIR 필터(11)의 필터 계수에 IR7'(Z)을 설정하는 처리는, 제1 실시 형태와 마찬가지의 처리를 행함으로써 가능하게 된다.
<<제5 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 18은, 제5 실시 형태를 도시한 도면이다. 도 18은, 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되는 디지털 신호 처리 회로(DSP(83))의 일례를 도시한 블록도이다. 또한, 도 18에 도시한 에코 방지 회로에서, 전술한 제1 실시 형태와 동일한 구성 요건에 대해서는, 동일한 번호를 붙이고 설명을 생략한다. 도 19는, 도 18에 도시한 ADF(Adaptive Digital Filter·적응 디지털 필터)(76)의 상세도이다.
DSP(83)는, 입력 단자(30), FIR 필터(4), ADF(76), 출력 단자(31), FIR 필터(11), 출력 단자(32), 입력 단자(33), 감산 회로(77)(제2 감산 회로), 출력 단자(34)를 갖고 있다.
감산 회로(77)의 + 입력 단자에는, 입력 단자(33)를 통해, AD 컨버터(14)로부터의 디지털 신호가 입력된다. 또한, 감산 회로(77)의 - 입력 단자에는, ADF(76)로부터의 출력 신호가 입력된다. 그리고, 감산 회로(77)는, AD 컨버터(14)로부터의 디지털 신호와 ADF(76)로부터의 출력 신호를 감산하여 출력한다. 이하, 감산 회로(77)로부터의 출력 신호를 오차 신호라고 한다.
ADF(76)는, 도 19의 파선 내에 도시한 바와 같이, 참조 신호 입출력부(78), 필터 계수부(79), 승산부(80), 필터 계수 갱신부(81), 가산부(82)를 갖고 있다.
참조 신호 입출력부(78)는, FIR 필터(4)로부터의 디지털 신호(이하, 참조 신호 입출력부(78)에 입력되는 디지털 신호를 참조 신호라고 함)가 입력되며, 이 참조 신호를 유지한다. 그리고, 참조 신호 입출력부(78)는, 승산부(80), 필터 계수 갱신부(81)에 대하여 참조 신호를 출력한다.
필터 계수부(79)는, 필터 계수 갱신부(81)로부터의 필터 계수가 입력되며, 이 필터 계수를 유지한다. 그리고, 필터 계수부(79)는, 전술한 참조 신호 입출력부(78)로부터 승산부(80)로의 참조 신호의 출력과 함께, 이 승산부(80)에 대하여 필터 계수를 출력한다. 또한, 필터 계수부(79)는, 필터 계수 갱신부(81)에 대하여 필터 계수를 출력한다.
승산부(80)는, 참조 신호와 필터 계수를 순차적으로 승산한 승산 결과를 가산부(82)에 출력한다. 가산부(82)는, 승산부(80)로부터의 출력 신호를 순차적으로 가산한 결과를 감산 회로(77)에 출력한다.
필터 계수 갱신부(81)에는, 감산 회로(77)로부터의 오차 신호가 입력된다. 그리고, 필터 계수 갱신부(81)는, 오차 신호, 참조 신호, 필터 계수에 기초하여, 예를 들면 LMS(Least Mean Square) 알고리즘이나 NLMS(Normalized Least Mean Square : 학습 동정법) 등의 추정 알고리즘에 의해 필터 계수를 산출하여 필터 계수부(79)에 출력한다. 또한, 이 필터 계수 갱신부(81)에 의한 필터 계수의 산출은, 입력 단자(30)에 디지털 신호가 입력되었을 때의, 감산 회로(77)로부터의 오차 신호의 평균값이 일정 값 이하로 되도록 행해진다. 또한, 이 일정 값이란, 예를 들면 오차 신호의 평균값이 일정 값 이하로 되었을 때의, DA 컨버터(15)로부터 출력되는 아날로그 신호에 기초하여 발생하는 음성으로부터, 사람이 에코를 청각할 수 없는 레벨로 되도록 정해지는 값이다.
DA 컨버터(15)는, 출력 단자(34)를 통해, 감산 회로(77)로부터의 디지털 신호가 입력된다. 그리고, DA 컨버터(15)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 출력한다.
===필터 계수부(79)의 필터 계수 갱신===
도 19, 도 20을 참조하면서, 필터 계수부(79)의 필터 계수를 갱신하기 위한 처리 동작의 일례에 대하여 설명한다. 도 20은, 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 처리 동작의 일례를 나타낸 플로우차트이다. 또한, 이하의 설명에서는, 입력 단자(30)에 디지털 신호가 입력된 시각 t에서, 감산 회로(77)의 + 입력 단자에 입력되는 디지털 신호를 Yt, 참조 신호 입출력부(78)에 입력되는 참조 신호를 Xt(={Xt(0), Xt(1), …, Xt(N-1)})로 나타낸다. 또한, 필터 계수부(79)의 필터 계수를 Ht(={Ht(0), Ht(1), …, Ht(N-1)})로 나타낸다. 또한, 필터 계수 갱신부(81)에서 산출되는 필터 계수를 Ht+1(={Ht+1(0), Ht+1(1), …, Ht+1(N-1)})로 나타내어 설명한다. 그리고, i번째의 참조 신호를 Xt(i), 필터 계수를 Ht(i), Ht+1(i)로 나타낸다.
DSP(83)는, 참조 신호 입출력부(78)에 참조 신호 Xt를 입력시키면(S201), 감산 회로(77)의 - 입력 단자에 입력시키는 신호 Y't를 생성하기 위해서, 이하의 처리를 행한다. DSP(83)는, 우선 i=0으로 하고(S202), 참조 신호 입출력부(78)의 Xt(0)과 필터 계수부(79)의 Ht(0)을 각각 승산부(80)에 출력시킨다. 승산부(80)는, Xt(0)과 Ht(0)을 승산한 승산 결과를(S203), 가산부(82)에 출력한다. 가산부(82)는, 승산부(80)로부터의 출력 신호 Xt(0)·Ht(0)과 제로를 가산한다.
다음으로, DSP(83)는, i를 인크리먼트하여 i=i+1=1로 한다(S204). 그리고, DSP(83)는, 승산부(80)의 승산 결과가 Xt(N-1)·Ht(N-1)까지 도달하지 않았기 때문에 i≥N이 아니다라고 판별하고(S205·아니오), 참조 신호 입출력부(78)의 Xt(1)과 필터 계수부(79)의 Ht(1)을 각각 승산부(80)에 출력시킨다. 승산부(80)는, Xt(1)과 Ht(1)을 승산한 승산 결과를(S203), 가산부(82)에 출력한다. 가산부(82)는, 승산부(80)로부터의 출력 신호 Xt(1)·Ht(1)과 Xt(0)·Ht(0)을 가산한다. 이와 같이, S203부터 S205의 처리를 i≥N까지 반복함으로써(S205·예), 가산부(82)의 가산 결과는, Y't(=Xt(0)·Ht(0)+…+Xt(N-1)·Ht(N-1))로 된다. 그리고, 가산부(82)로부터 감산 회로(77)의 - 입력 단자로 Y't가 출력된다(S206).
감산 회로(77)는, + 입력 단자에 입력된 Yt와, 입력 단자에 입력된 Y't를 감산하여 출력한다(S207). 그리고, 감산 회로(77)로부터의 오차 신호가, 필터 계수 갱신부(81)에 입력된다. 또한, 이 감산 회로(77)로부터의 오차 신호를 Et(=Yt-Y't)로 나타내어 이하 설명한다.
필터 계수 갱신부(81)는, 필터 계수부(79)의 필터 계수를 갱신하기 위해서 이하의 처리를 실행한다. 우선, 필터 계수 갱신부(81)는, Ht+1(0)을 산출하기 위해서 i=0으로 한다(S208). Ht+1(0)은, 소정 상수인 스텝 게인을 α, 참조 신호 Xt 의 놈(즉, 제곱합)을 ∥Xt∥2으로 하면,
Ht+1(0)=Ht(0)+(α·Et·Xt(0))/∥Xt∥2
으로 된다. 그 때문에, 필터 계수 갱신부(81)가, 참조 신호 입출력부(78)로부터의 Xt(0), 필터 계수부(79)로부터의 Ht(0), 감산 회로(77)로부터의 Et에 기초하여, 상기 식을 연산함으로써, Ht+1(0)이 산출된다(S209). 다음으로, 필터 계수 갱신부(81)는, Ht+1(1)을 산출하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S210). 그리고, 필터 계수 갱신부(81)는, 산출한 필터 계수가 Ht+1(N-1)에 도달하지 않았기 때문에 i≥N이 아니다라고 판별한다(S211·아니오). 그리고 전술한 바와 마찬가지로, Ht+1(1)은,
Ht+1(1)=Ht(1)+(α·Et·Xt(1))/∥Xt∥2
으로부터 산출된다. 이와 같이, S209부터 S211의 처리를 i≥N까지 반복함으로써(S211·예), Ht+1(={Ht+1(0), …, Ht+1(N-1)})이 산출되게 된다. 그리고, 필터 계수 갱신부(81)는, 필터 계수부(79)의 필터 계수 Ht(={Ht(0), …, Ht(N-1)})를 Ht+1(={Ht+1(0), …, Ht+1(N-1)})로 갱신하기 위해서, 이 Ht+1을 필터 계수부(79)에 출력한다.
DSP(83)는, 우선 필터 계수부(79)의 Ht(0)을 Ht+1(0)으로 갱신하기 위해서 i=0으로 한다(S212). 그 결과, 필터 계수부(79)의 Ht(0)이 Ht+1(0)으로 갱신된다(S213). 다음으로, DSP(83)는, Ht(1)을 Ht+1(1)로 갱신하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S214). 그리고, DSP(83)는, Ht(N-1)이 Ht+1(N-1)로 아직 갱신되어 있지 않기 때문에 N≥i가 아니다라고 판별한다(S215·아니오). 그리고, DSP(83)는, Ht(1)을 Ht+1(1)로 갱신한다(S213). 이와 같이, S213부터 S215의 처리를 N≥i까지 반복함으로써(S215·예), 필터 계수부(79)의 필터 계수 Ht(={Ht(0), …, Ht(N-1)})가 Ht+1(={Ht+1(0), …, Ht+1(N-1)})로 갱신된다.
그리고, 다시 전술한 S202부터 S205의 처리가 행하여진다. 그 결과, 필터 계수 Ht+1(={Ht+1(0), …, Ht+1(N-1)})에 기초한 출력 신호 Y't가, 가산부(82)로부터 감산 회로(77)의 - 입력 단자에 입력된다.
이와 같이, 감산 회로(77)로부터의 오차 신호에 기초하여, 필터 계수부(79)의 필터 계수를, 이 오차 신호가 반영된 필터 계수로 갱신하는 것이 가능하게 된다. 그리고, 이 처리를 반복함으로써, 입력 단자(30)에 디지털 신호가 입력되었을 때의, 감산 회로(77)로부터의 오차 신호의 평균값을 일정 값 이하로 하는 것이 가능하게 된다. 즉, 에코를 방지하는 것이 가능하게 된다. 또한, 필터 계수부(79)의 필터 계수를 갱신하는 알고리즘은, 이에 한정되는 것은 아니다. 전술한 바와 같이 LMS 알고리즘이나 NLMS 알고리즘 등의 주지 기술인 추정 알고리즘을 이용하는 것이 가능하다. 또한, 예를 들면 일본 특개2002-246880호의 기재에 의한 처리로 필터 계수부(79)의 필터 계수를 갱신하는 것도 가능하다.
또한, 전술한 실시 형태에 따르면, 전술한 처리에 대하여 하드웨어(예를 들면 감산 회로(77), 승산부(80) 등)를 이용하여 설명했지만, 이에 한정되는 것은 아니다. 예를 들면, 전술한 처리를 프로그램 데이터로서 ROM 등에 미리 기억시켜 두고, DSP(83)가 구비하는 프로세서가 이 프로그램 데이터를 판독하여 처리하는 것도 가능하다.
또한, 본 실시 형태에서의 FIR 필터(4)의 필터 계수, FIR 필터(11)의 필터 계수는, 전술한 제1 실시 형태와 마찬가지의 처리를 행함으로써 설정하는 것이 가능하다. 그리고, 이어폰 마이크(18)가 접속된 상태에서 취득된 임펄스 응답에 기초하여 FIR 필터(11)의 필터 계수를 설정함으로써, 차동 증폭 회로(9)에서 이어폰 마이크(18)의 전달 특성에 부합한 더 효과적인 에코의 제거를 행할 수 있다. 그 결과, 감산 회로(77)로부터의 오차 신호가 작아져서, 필터 계수부(79)의 필터 계수 갱신 처리의 반복 횟수를 삭감할 수 있다. 즉, 에코가 캔슬되기까지의 시간을 단축하는 것이 가능하게 된다. 또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 취득된 임펄스 응답에 기초하여 FIR 필터(11)의 필터 계수를 설정함으로써, 차동 증폭 회로(9)에서 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 더 효과적인 에코의 제거를 행할 수 있다. 즉, 에코가 캔슬되기까지의 시간을 더욱 단축하는 것이 가능하게 된다.
또한, 본 실시 형태는, 전술한 제1 실시 형태에 ADF(76), 감산 회로(77)를 설치한 것이지만 이에 한정되는 것은 아니다. 전술한 제2 실시 형태∼제4 실시 형태에도 마찬가지로, ADF(76), 감산 회로(77)를 설치하는 것도 가능하다. 상세하게 설명하면, 제2 실시 형태에서는, 본 실시 형태와 마찬가지로 ADF(76), 감산 회로(77)를 설치한다. 또한, 제3, 제4 실시 형태에서는, 감산 회로(77)를 AD 컨버터(70), DA 컨버터(71) 사이에 설치한다. 그리고, 감산 회로(77), DA 컨버터(71) 사 이의 신호선에 나타나는 오차 신호를 ADF(76)에 입력시키고, AD 컨버터(66)로부터의 디지털 신호를 참조 신호로서 ADF(76)에 입력되도록 설치한다.
그리고, 예를 들면 임펄스 응답의 측정 오차 등에 의해, 차동 증폭 회로(9)(가산 회로(63))에서 경로A를 전달하는 신호를, 경로B를 전달하는 신호로 상쇄했을 때의 결과가, 에코를 충분히 방지할 수 없는 레벨로 되는 경우가 있다. 이 경우, 전술한 제5 실시 형태에 따르면, 감산 회로(77)에서 차동 증폭 회로(9)(가산 회로(63))로부터의 출력을, 가산부(82)로부터의 출력 신호 Y't로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 전술한 에코를 더 확실하게 방지하는 것이 가능하게 된다.
<<제6 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 21은, 제6 실시 형태를 도시한 도면이다. 도 21은, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DSP(202))의 일례를 도시한 블록도이다.
에코 방지 회로는, CPU(201), DSP(202), AD 컨버터(203), DA 컨버터(205), 증폭 회로(206), 입출력 단자(207), 차동 증폭 회로(209), 증폭 회로(210), AD 컨버터(214), DA 컨버터(215), DA 컨버터(212), 증폭 회로(213)를 갖고 있다. 또한,본 실시 형태에서는 CPU(201)를 구성 요건으로 하고 있지만, CPU(201)를 구성 요건으로 하지 않는 것도 가능하다.
또한, DSP(202)는, 입력 단자(230), 출력 단자(231), 디지털 필터 (ARMA/Auto-Regressive, Moving Average)(211(300))(이하, 디지털 필터(211)라고 함), 출력 단자(232), 입력 단자(233), 출력 단자(234)를 갖고 있다.
AD 컨버터(203)에는, 예를 들면 음성 신호가 입력된다. 그리고, AD 컨버터(203)는, 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, 입력 단자(230)를 통해 DSP(202)에 입력시킨다.
DSP(202)에 입력된 디지털 신호는, 출력 단자(231)을 통해 출력됨과 함께, 디지털 필터(211)에 입력된다. 디지털 필터(211)는 디지털 신호에 대하여, 이 디지털 필터(211)의 필터 계수에 기초하여 필터 처리를 실시하여 출력 단자(232)에 출력한다.
DA 컨버터(205)는, 출력 단자(231)를 통해 DSP(202)로부터의 디지털 신호가 입력된다. 그리고, DA 컨버터(205)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 증폭 회로(206)에 출력한다. 증폭 회로(206)는, 소정의 증폭률로 아날로그 신호를 증폭하여 출력한다.
입출력 단자(207)에는, 예를 들면 아날로그 신호에 기초하여 음성을 발생시키는 기기(예를 들면 이어폰 마이크, 스피커 등)가 접속된다. 그리고, 입출력 단자(207)를 통해, 증폭 회로(206)로부터의 아날로그 신호가, 접속된 기기에 대하여 출력된다. 또한, 입출력 단자(207)에는, 예를 들면 음성을 음성 신호로 변환하여 출력하는 기기(예를 들면 이어폰 마이크, 마이크 등)가 접속된다. 그리고, 입출력 단자(207)에는, 접속된 기기로부터의 음성 신호가 입력된다. 그 결과, 입출력 단자(207)를 통해, 음성 신호가 차동 증폭 회로(209)의 + 입력 단자에 입력된다. 또 한, 입출력 단자(207)를 통해 출력된 신호는, 접속된 기기를 통해 반사되어 입출력 단자(207)로부터 입력되어, 차동 증폭 회로(209)의 + 입력 단자에 입력된다. 여기서, 반사되어 오는 신호란, 예를 들면, 이어폰 마이크 등을 통해 되돌아오는 신호나, 이어폰 마이크로부터 출력된 소리가 귓속에서 반사하고, 그 반사음이 이어폰 마이크에 의해서 음성 신호로 변환된 신호 등이다. 또한, 입출력 단자(207)는, 출력 신호(예를 들면 아날로그 신호)와 입력 신호(예를 들면 음성 신호)가 배타적으로 입출력되는 것은 아니다. 예를 들면, 입출력 단자(207)는, 출력 신호와 입력 신호가 동시에 입출력되는 경우도 있다. 또한, 입출력 신호 공용 라인이란, 입출력 단자(207)에 접속되는 라인이다.
DA 컨버터(212)는, 출력 단자(232)를 통해, 디지털 필터(211)로부터의 출력 신호가 입력된다. 그리고, DA 컨버터(212)는, 디지털 필터(211)로부터의 출력 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 증폭 회로(213)에 출력한다. 증폭 회로(213)는, 소정의 증폭률로 아날로그 신호를 증폭하여 차동 증폭 회로(209)의 - 입력 단자에 출력한다.
차동 증폭 회로(209)는, 입출력 단자(207)로부터의 음성 신호를 증폭 회로(210)에 출력한다. 증폭 회로(210)는, 음성 신호를 소정의 증폭률로 증폭하여 AD 컨버터(214)에 출력한다. 또한, 차동 증폭 회로(209)의 + 입력 단자에는, 증폭 회로(206)로부터의 아날로그 신호가 입력된다. 그리고, 차동 증폭 회로(209)는, + 입력 단자에 입력된 증폭 회로(206)로부터의 아날로그 신호와, - 입력 단자에 입력된 증폭 회로(213)로부터의 아날로그 신호와의 차분을 증폭하여 출력한다.
AD 컨버터(214)는, 증폭 회로(210)로부터의 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, 입력 단자(233)를 통해 DSP(202)에 입력시킨다. 입력 단자(233)에 입력된 디지털 신호는, 출력 단자(234)로부터 출력된다. DA 컨버터(215)는, 출력 단자(234)를 통해 DSP(202)로부터의 디지털 신호가 입력된다. 그리고, DA 컨버터(215)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 출력한다.
CPU(201)는, 에코 방지 회로를 통괄 제어한다. CPU(201)는, 예를 들면 에코 방지 회로를 리세트하기 위한 리세트 신호가 입력되면, 후술하는 임펄스 응답 취득 처리를 DSP(202)에서 실행시키기 위해서 지시 신호를, DSP(202)에 출력한다. 또한, CPU(201)는, 임펄스 응답 취득 처리의 초기 동작으로서, 예를 들면 다른쪽의 논리값 '0'을 DSP(202)에 출력한다. 또한, 본 실시 형태에서 CPU(201)는, 리세트 신호가 입력됨으로써, 임펄스 응답 취득 처리를 DSP(202)에서 실행시키기 위한 지시 신호를 출력하고 있지만 이에 한정되는 것은 아니다. 예를 들면, 에코 방지 회로, DSP(202)를 동작시키기 위한 전원 투입을 CPU(201)가 검출했을 때, 전술한 지시 신호를 DSP(202)에 출력하도록 설치하여도 된다. 또한, CPU(201)는, 아날로그 회로의 전기적 변화(예를 들면 증폭 회로(210)의 출력의 진폭 변화)를 검출했을 때, 전술한 지시 신호를 DSP(202)에 출력하도록 설치하여도 된다.
===디지털 필터(211)의 필터 계수===
이하, 도 22 및 도 23을 참조하면서 디지털 필터(211)의 필터 계수에 대하여 상세하게 설명한다. 도 22는, 도 21에 도시한 에코 방지 회로의 경로I, J를 도시 한 도면이다. 또한, 도 23은, 경로I에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다. 또한, 이어폰 마이크(18)는, 입출력 단자(207)에 접속할 수 있다. 그리고, 입출력 단자(207)로부터 출력되는 아날로그 신호가 이어폰 마이크(18)에 입력되면, 이어폰 마이크(18)는 그 아날로그 신호에 기초하여 진동판(도시 생략)을 진동시킴으로써 음성을 출력한다. 또한, 이어폰 마이크(18)는, 이어폰 마이크(18)를 귀에 장착하고 있는 사람이 음성을 발했을 때의 고막의 진동을 진동판에서 포착함으로써 아날로그 신호를 생성하여 출력한다. 그리고, 이어폰 마이크(18)로부터 출력되는 아날로그 신호가 입출력 단자(207)로부터 입력된다.
전술한 바와 같이 증폭 회로(206)로부터의 아날로그 신호는, 입출력 단자(207)로부터의 출력뿐만 아니라, 차동 증폭 회로(209)의 + 입력 단자에도 입력되는 경우가 있다. 즉, 차동 증폭 회로(209)의 + 입력 단자에는, 증폭 회로(206)로부터의 아날로그 신호와, 입출력 단자(207)에 입력된 신호를 합한 신호가 입력된다. 또한, 입출력 단자(207)에 입력되는 신호(제2 입력 신호)란, 음성 신호뿐만 아니라, 예를 들면 전기적 노이즈 신호나 환경 노이즈 등의 신호도 포함되는 것으로 하여 이하 설명한다. 그리고, 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(207)로부터 입력되는 음성 신호와 증폭 회로(206)로부터의 아날로그 신호가 중첩되어 차동 증폭 회로(209)의 + 입력 단자에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 디지털 필터(211)의 필터 계수를 설정한다.
따라서, 도 22 또는 도 23의 파선으로 나타낸 출력 단자(231)로부터 차동 증 폭 회로(209)의 + 입력 단자까지의 임펄스 응답(전달 함수)을 IR9(Z)로 한다. 또한, 도 22 또는 도 23의 파선으로 나타낸 출력 단자(232)로부터 차동 증폭 회로(209)의 - 입력 단자까지의 임펄스 응답(전달 함수)을 IR10(Z)으로 한다. 또한, 도 22 또는 도 23의 파선으로 나타낸 차동 증폭 회로(209)에서의 ± 입력 단자의 후단으로부터 입력 단자(233)까지의 임펄스 응답(전달 함수)을 W5(Z)로 한다.
지금, 디지털 필터(211)의 필터 계수를 Q(Z)로 한 경우, 차동 증폭 회로(209)의 + 입력 단자에 입력되는 신호를 - 입력 단자에 입력되는 신호로 상쇄하기 위해서는,
IR9(Z)=IR10(Z)·Q(Z)
의 식이 성립하도록 Q(Z)를 설정하게 된다. 즉, Q(Z)는,
Q(Z)=IR9(Z)/IR10(Z)
으로 되도록 설정하면 된다. 그러나, DSP(202)가 취득 가능한 임펄스 응답은, 도 22 또는 도 23의 실선으로 나타낸 경로I의 임펄스 응답(전달 함수) IR9'(Z)(=IR9(Z)·W5(Z))와, 경로J의 임펄스 응답(전달 함수) IR10'(Z)(=-IR10(Z)·W5(Z))이다. 또한, IR10(Z)이 위상 반전되어 있는 것은, 차동 증폭 회로(209)의 - 입력 단자에 입력되어 있기 때문이다.
이 경우, 경로I를 전달하는 신호와 경로J를 전달하는 신호가 상호 상쇄하는 것을 가능하게 하는 식은,
-IR9'(Z)=IR10'(Z)·Q(Z)
로 된다. 즉, Q(Z)를,
Q(Z)=-IR9'(Z)/IR10'(Z)
으로 설정하면 되는 것을 알 수 있다. 즉, 디지털 필터(211)의 특성은, 전달 특성 IR9'(Z)를 위상 반전한 것에, IR10'(Z)의 역 필터의 특성을 가한 특성으로 함으로써 실현 가능하게 된다. 그리고, 이와 같이 디지털 필터(211)의 필터 계수를 설정함으로써, 차동 증폭 회로(209)에서 경로I를 전달하는 신호를, 경로J를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(230)에 디지털 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 23에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR9'(Z)를 취득하고, 이 IR9'(Z)를 위상 반전한 것에, IR10'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바뀌를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR9'(Z)를 취득하고, 이 IR9'(Z)를 위상 반전한 것에, IR10'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
그리고, 전술한 필터 계수를 디지털 필터(211)에 설정하기 위해서, DSP(202), 디지털 필터(211)는 하기의 구성으로 되어 있다.
===DSP(202) 및 디지털 필터(211)의 구성의 상세===
이하, 도 21∼도 26을 참조하면서 DSP(202) 및 DSP(202)의 구성 요건인 디지 털 필터(211)의 구성에 대하여 상세하게 설명한다. 도 24의 (a)는, 도 22 또는 도 23에 도시한 경로I의 임펄스 응답 IR9'(Z)를 나타낸 도면이다. 도 24의 (b)는, 도 22 또는 도 23에 도시한 경로(J)의 임펄스 응답 IR10'(Z)을 나타낸 도면이다. 도 25는, DSP(202)의 구성의 일부를 도시한 블록도이다. 상세하게 설명하면, 임펄스 응답 IR9'(Z), IR10'(Z)에 기초하여 디지털 필터(211)의 필터 계수를 설정하기 위한, DSP(202)의 구성의 일부를 도시한 블록도이다. 도 26은, 디지털 필터(211)의 일례로서 나타내는 ARMA 필터(300)의 구성을 도시한 블록도이다. 상세하게 설명하면, ARMA 필터(300)는, IR9'(Z)를 위상 반전한 것에, IR10'(Z)의 역 필터의 특성을 가한 특성을 갖는 필터의 일례이다. 또한, 본 실시 형태에서는, ARMA 필터를 사용하고 있지만 이에 한정되는 것은 아니다. 전술한 필터 계수가 설정 가능한 디지털 필터이면 된다.
DSP(202)는, 도 25에 도시한 바와 같이 임펄스 응답 저장 메모리(243, 255), 임펄스용 메모리(244, 245), 레지스터(246, 249, 250, 257), 스위치 회로(260A∼260K), 승산 회로(258)를 갖고 있다.
또한, ARMA 필터(300)는, 도 26에 도시한 바와 같이 지연 회로(235a1∼235aN-1), 승산 회로(236a0∼236aN-1, 301b1∼301bN-1), 가산 회로(237a0∼237aN-1, 302b0∼302bN-1), 스위치 회로(260L, 260M)를 갖고 있다.
레지스터(249)에는, CPU(201)로부터의 전술한 다른쪽의 논리값 '0'이 입력된다.
임펄스용 메모리(244, 245)는 각각, N개의 레지스터0∼N-1로 구성되어 있다. 그리고, 후술하는 임펄스 응답 취득 처리에서 도 22 또는 도 23의 실선으로 나타내는 경로I의 임펄스 응답 IR9'(Z)를 취득하는 경우, 임펄스용 메모리(245)의 레지스터0에는, 예를 들면 한쪽의 논리값 '1'이 기억된다. 그리고, 임펄스용 메모리(245)의 다른 레지스터1∼N-1에는, 다른쪽의 논리값 '0'이 기억된다. 또한, 레지스터(246), 임펄스용 메모리(244)의 레지스터0∼N-1에는, 다른쪽의 논리값 '0'이 기억된다.
또한, 후술하는 임펄스 응답 취득 처리에서 도 22 또는 도 23의 실선으로 나타낸 경로J의 임펄스 응답 IR10'(Z)을 취득하는 경우, 임펄스용 메모리(244)의 레지스터0에는, 예를 들면 한쪽의 논리값 '1'이 기억된다. 그리고, 임펄스용 메모리(244)의 다른 레지스터1∼N-1에는, 다른쪽의 논리값 '0'이 기억된다. 또한, 레지스터(246), 임펄스용 메모리(245)의 레지스터0∼N-1에는, 다른쪽의 논리값 '0'이 기억된다.
임펄스 응답 저장 메모리(243)는, N개의 레지스터0∼N-1로 구성되어 있다. 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1에는, DSP(202)가 스위치 회로(260F)를 입력 단자(233)측으로 절환하고, 스위치 회로(260G)를 이 임펄스 응답 저장 메모리(243)측으로 절환함으로써, 입력 단자(233)를 통해 경로I에서의 샘플링 주기 단위마다의 임펄스 응답 imp(0)∼(N-1)(=IR9'(Z))이 기억된다. 예를 들면, 우선 입력 단자(233)를 통해 임펄스 응답 imp(0)이 레지스터N-1에 기억된다. 그리고, 다음 임펄스 응답 imp(1)은 레지스터N-1에 기억되고, 레지스터0에 기억되어 있었던 임펄스 응답 imp(0)은 레지스터N-2에 기억된다. 그리고, 이 처리가 반복됨으로써, 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1에는, 임펄스 응답 imp(0)∼(N-1)(=IR9'(Z))이 기억되게 된다. 또한, 샘플링 주기란, 도 24의 (a)에 나타낸 각 임펄스 응답 imp(0)∼(N-1) 사이의 시간 간격이다. 또한, 임펄스 응답 저장 메모리(243)는, DSP(202)가 스위치 회로(260H)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(249)에 기억된 다른쪽의 논리값 '0'에 의해서 클리어된다.
또한, 임펄스 응답 저장 메모리(255)는, N개의 레지스터0∼N-1로 구성되어 있다. 임펄스 응답 저장 메모리(255)의 레지스터0∼N-1에는, DSP(202)가 스위치 회로(260F)를 입력 단자(233)측으로 절환하고, 스위치 회로(260G)를 이 임펄스 응답 저장 메모리(255)측으로 절환함으로써, 입력 단자(233)를 통해 경로J에서의 샘플링 주기 단위마다의 임펄스 응답 imp(0)∼(N-1)(=IR10'(Z))이 기억된다. 또한, 임펄스 응답 저장 메모리(255)의 레지스터0∼N-1에의 임펄스 응답 imp(0)∼(N-1)의 기억은, 전술한 임펄스 응답 저장 메모리(243)와 마찬가지이다. 또한, 임펄스 응답 저장 메모리(255)는, DSP(202)가 스위치 회로(260I)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(249)에 기억된 다른쪽의 논리값 '0'에 의해서 클리어된다.
레지스터(250)에는, 임펄스 응답 저장 메모리(243)로부터의 임펄스 응답 imp(0)∼(N-1)이 일시 기억된다. 또한, 레지스터(254)에는, 임펄스 응답 저장 메모리(255)로부터의 임펄스 응답 imp(0)∼(N-1)이 일시 기억된다.
레지스터(257)에는, 임펄스 응답 저장 메모리(243)에 기억된 임펄스 응답 imp(0)∼(N-1)을, 승산 회로(258)에서 위상 반전시키기 위해서 -1을 나타내는 바이너리 데이터가 미리 기억되어 있다.
승산 회로(258)는, 레지스터(250)의 값과 레지스터(257)의 값을 승산한 승산 결과를 ARMA 필터(300)에 출력한다. 상세하게 설명하면, DSP(202)가 스위치 회로(260K)를 레지스터0으로부터 순차적으로 절환함으로써, 레지스터(250)에 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1로부터의 임펄스 응답 imp(0)∼(N-1)이 순차적으로 입력된다. 그리고, 승산 회로(258)가, 레지스터(250)의 값과 레지스터(257)의 값을 순차적으로 승산함으로써, 임펄스 응답 imp(0)∼(N-1)이 위상 반전된 임펄스 응답 imp(0)∼(N-1)이 ARMA 필터(300)에 출력되게 된다.
지연 회로(235a1∼235aN-1)는, 입력 단자(230)를 통해 입력되는 디지털 신호 Xn을, 샘플링의 주기 단위마다 지연하여 출력한다. 예를 들면, 지연 회로(235a1)는 디지털 신호 Xn을 1샘플링 주기 위상 지연시킨 디지털 신호 Xn-1을 승산 회로(236a1, 301b1), 지연 회로(235a2)에 출력한다. 또한, 지연 회로(235aN-1)는 디지털 신호 Xn-(N-1)을, 승산 회로(236aN-1, 301aN-1)에 출력한다.
승산 회로(301b1∼301bN-1), 감산 회로(302b0∼302bN-1)는, 전술한 IR10'(Z)의 역 필터를 구성하는 것이다.
승산 회로(301b1∼301bN-1)는, 임펄스 응답 저장 메모리(255)의 레지스터1∼N-1에 유지되어 있는 임펄스 응답 imp(1)∼(N-1)이 승산 계수로서 각각 설정된다. 상세하게 설명하면, DSP(202)가 스위치 회로(260J)를 레지스터1로부터 순차적으로 절환하고, 스위치 회로(260M)를 승산 회로(301b1)로부터 순차적으로 절환함으로써, 임펄스 응답 imp(1)∼(N-1)이 순차적으로 입력되고, 승산 회로(301b1∼301bN-1)의 승산 계수가 설정되게 된다. 그리고, 승산 회로(301b1∼301bN-1)는, 지연 회로(235a1∼235aN-1)로부터의 디지털 신호 Xn-1∼Xn-(N-1)에 대하여 설정된 승산 계수로 승산하고, 승산 결과를 감산 회로(302b1∼302bN-1)에 출력한다.
감산 회로(302b1∼302bN-1)는, 승산 회로(301b1∼301bN-1)로부터 입력되는 디지털 신호를 감산한 감산 결과를, 도 26의 화살표로 나타낸 방향으로 출력한다. 또한, 감산 회로(302b0)는, 감산 회로(302b1)로부터의 감산 결과와 입력 단자(230)를 통해 입력되는 디지털 신호를 감산한다. 그 결과, 감산 회로(302b0)의 감산 결과는, 입력 단자(230)를 통해 입력되는 디지털 신호를, 승산 회로(301b1∼301bN-1)의 승산 결과로 감산한 것으로 된다.
승산 회로(236a0∼236aN-1)는, 승산 회로(258)로부터의 위상 반전된 임펄스 응답 -imp(0)∼(N-1)이 승산 계수로서 각각 설정된다. 상세하게 설명하면, DSP(202)가 스위치 회로(260L)를 승산 회로(236a0)로부터 순차적으로 절환함으로써, 위상 반전된 임펄스 응답 -imp(0)∼(N-1)이 순차적으로 입력되고, 승산 회로(236a0∼236aN-1)의 승산 계수가 설정되게 된다. 그리고, 승산 회로(236a1∼236aN-1)는, 지연 회로(235a1∼235aN-1)로부터의 디지털 신호 Xn-1∼Xn-(N-1)에 대하여 설정된 승산 계수로 승산하고, 승산 결과를 가산 회로(237a1∼237aN-1)에 출력한다. 또한, 승산 회로(236a0)에는, 전술한 감산 회로(302b0)로부터의 감산 결과가 입력되고, 이 감산 결과에 대하여 승산 계수 -imp(0)으로 승산한 승산 결과를 가산 회로(237a0)에 출력한다.
가산 회로(237a1∼237aN-1)는, 승산 회로(236a1∼236aN-1)로부터 입력되는 디지털 신호를 가산한 가산 결과를, 도 26의 화살표로 나타내는 방향으로 출력한다. 또한, 가산 회로(237a0)는, 가산 회로(237a1)로부터의 가산 결과와, 승산 회로(236a0)로부터의 승산 결과를 가산한다. 이 결과, 가산 회로(237a0)의 가산 결과는, 입력 단자(230)에 디지털 신호가 입력되었을 때의, 전술한 필터 계수가 설정된 ARMA 필터(300)에서 필터 처리가 이루어진 결과로 된다.
===임펄스 응답 취득 처리에 의한 ARMA 필터(300)의 필터 계수 설정===
이하, 도 21∼도 27을 참조하면서 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로에 의한 임펄스 응답 취득 처리, ARMA(300)의 필터 계수 설정의 동작에 대하여 설명한다. 또한, 본 실시 형태에서는, 디지털 필터(211)의 필터 계수 설정의 일례로서, 전술한 ARMA 필터(300)의 승산 회로(236a0∼236aN-1, 301b1∼301bN-1)의 승산 계수 설정을 이용하여 설명한다. 도 27은, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 동작의 일례를 나타낸 플로우차트이다.
CPU(201)는, 예를 들면, 에코 방지 회로를 리세트하기 위한 리세트 신호가 입력되면, 임펄스 응답 취득 처리를 DSP(202)에서 실행시키기 위해서 지시 신호를, DSP(202)에 출력한다. 또한, CPU(201)는, 임펄스 응답 취득 처리의 초기 동작으로서, 다른쪽의 논리값 '0'을 DSP(202) 출력한다. DSP(202)에 입력된 다른쪽의 논리값 '0'은, 레지스터(249)에 입력된다.
DSP(202)는, CPU(201)로부터의 전술한 지시 신호가 입력되었는지의 여부를 판별한다(S301). 그리고, DSP(202)는, CPU(201)로부터의 지시 신호가 입력되었다고 판별하면(S301·예), 우선 스위치 회로(260H)를 레지스터0∼레지스터N-1로 순차적으로 절환한다. 그 결과, 레지스터(249)에 기억된 다른쪽의 논리값 '0'에 의해서, 임펄스 응답 저장 메모리(243)의 레지스터0∼레지스터N-1의 내용이 클리어된다(S302). 이하, 임펄스 응답 저장 메모리(243)에 기억시키는 i번째의 임펄스 응답을 imp(i)(i=0, …, N-1)로 나타내어 설명한다. 그리고, DSP(202)는, 임펄스 응답 저장 메모리(243)의 레지스터N-1에 기억시키는 임펄스 응답 imp(0)을 취득하기 위해서 i=0로 하고(S303), 입력 단자(230)를 하이 임피던스로 한 후에, 이하의 처리를 실행한다.
DSP(202)는, 도 22 또는 도 23에 도시한 경로I의 임펄스 응답 imp(0)을 취득하기 위해서, 이 경로I에 출력 단자(231)로부터의 임펄스 출력이 가능한지의 여부를 판별한다(S304). 예를 들면, 이 DSP(202)에 의한 판별로서는, 출력 단자(231)로부터의 신호의 출력이나 입력 단자(233)에의 신호의 입력이 되어 있는 상태인지의 여부를 판별함으로써 행한다. 만약, 출력 단자(231)로부터의 신호의 출력이나 입력 단자(233)에의 신호의 입력이 되어 있는 상태에서 임펄스를 출력하면, 정확한 임펄스 응답 imp(0)을 취득할 수 없을 가능성이 있기 때문이다.
그리고, DSP(202)는, 경로I에의 임펄스 출력이 가능하다고 판별하면(S304·예), i=0인지의 여부를 판별한다(S305). S303에서 i=0이기 때문에, DSP(202)는 i=0이라고 판별하게 된다(S305·예). 그리고, DSP(202)는, 임펄스용 메모리(245)의 레지스터0에 한쪽의 논리값 '1'을 기억시킨다. 또한, DSP(202)는, 임펄스용 메 모리(245)의 다른 레지스터1∼N-1, 레지스터(246), 임펄스용 메모리(244)의 레지스터0∼N-1에, 다른쪽의 논리값 '0'을 기억시킨다. 그리고, DSP(202)는, 스위치 회로(260C)를 임펄스용 메모리(245)측으로 절환하고, 스위치 회로(260A)를 임펄스용 메모리(244)측으로 절환하며, 스위치 회로(260E)를 레지스터(246)측으로 절환한다. 또한, DSP(202)는, 스위치 회로(260F)를 입력 단자(233)측으로 절환하고, 스위치 회로(260G)를 임펄스 응답 저장 메모리(243)측으로 절환한다. 다음으로, DSP(202)는, 스위치 회로(260D, 260B)를 각각, 레지스터0으로 절환한다. 그 결과, 임펄스용 메모리(245)의 레지스터0에 기억된 한쪽의 논리값 '1'에 의한 임펄스가 출력 단자(231)로부터 출력되게 된다(S306). 출력 단자(231)로부터 출력된 임펄스는, 경로I를 전달하여 입력 단자(233)에 입력된다(S307). 그 결과, 임펄스 응답 imp(0)을 취득할 수 있었던 것으로 된다(도 24의 (a)·imp(0)). 그리고, 이 임펄스 응답 imp(0)은, 우선 임펄스 응답 저장 메모리(243)의 레지스터N-1에 기억된다.
다음으로, 임펄스 응답 imp(1)을 취득하기 위해서, DSP(202)는 i를 인크리먼트하여 i=i+1=1로 한다(S308). 그리고, DSP(202)는, 취득한 임펄스 응답이 아직 imp(N-1)까지 도달하지 않았기 때문에 i≥N이 아니다라고 판별하고(S309·아니오), 전술한 S304의 처리를 다시 반복하게 된다. 또한, S308에서 i=1≠0으로 되어 있기 때문에(S305·아니오), DSP(202)는, 스위치 회로(260D, 260B)를 각각, 레지스터1로 절환한다. 그 결과, 출력 단자(231)로부터는 임펄스가 출력되지 않는다(S310). 그 때문에, 입력 단자(233)에는, S306에서 출력된 임펄스의 1샘플링 주기 위상 지연한 임펄스 imp(1)이 입력된다. 그리고, 이 임펄스 응답 imp(1)은 임펄스 응답 저장 메모리(243)의 레지스터N-1에 기억되고, 레지스터N-1에 기억되어 있었던 임펄스 응답 imp(0)은 레지스터N-2에 기억되게 된다. 이와 같이, S304부터 S309의 처리를 i≥N까지 반복함으로써(S309·예), 임펄스 응답 imp(0)∼imp(N-1)(=IR9'(Z))이 취득된다. 그 결과, 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1에, 임펄스 응답 imp(0)∼imp(N-1)이 기억된 것으로 된다.
다음으로, DSP(202)는, 스위치 회로(260I)를 레지스터0∼레지스터N-1로 순차적으로 절환한다. 그 결과, 레지스터(249)에 기억된 다른쪽의 논리값 '0'에 의해서, 임펄스 응답 저장 메모리(255)의 레지스터0∼레지스터N-1이 클리어된다(S311). 이하, 임펄스 응답 저장 메모리(255)에 기억시키는 j번째의 임펄스 응답을 imp(j)(j=0, …, N-1)로 나타내어 설명한다. 그리고, DSP(202)는, 임펄스 응답 저장 메모리(255)의 레지스터N-1에 기억시키는 임펄스 응답 imp(0)을 취득하기 위해서 j=0으로 하고(S312), 이하의 처리를 실행한다.
DSP(202)는, 도 22 또는 도 23에 도시한 경로J의 임펄스 응답 imp(0)을 취득하기 위해서, 이 경로J에 임펄스 출력이 가능한지의 여부를 판별한다(S313). 이 DSP(202)에 의한 판별은, 전술한 S304와 마찬가지이다.
그리고, DSP(202)는, 경로J에의 임펄스 출력이 가능하다고 판별하면(S313·예), j=0인지의 여부를 판별한다(S314). S312에서 j=0이기 때문에, DSP(202)는 j=0이다라고 판별하게 된다(S314·예). 그리고, DSP(202)는, 임펄스용 메모리(244)의 레지스터0에 한쪽의 논리값 '1'을 기억시킨다. 또한, DSP(202)는, 임펄스용 메모리(244)의 다른 레지스터1∼N-1, 레지스터(246), 임펄스용 메모리(245)의 레지스터0∼N-1에, 다른쪽의 논리값 '0'을 기억시킨다. 그리고, DSP(202)는, 스위치 회로(260G)를 임펄스 응답 저장 메모리(255)측으로 절환한다. 다음으로, DSP(202)는, 스위치 회로(260D, 260B)를 각각, 레지스터0으로 절환한다. 그 결과, 임펄스용 메모리(244)의 레지스터0에 기억된 한쪽의 논리값 '1'에 의한 임펄스가 출력 단자(232)로부터 출력되게 된다(S315). 출력 단자(232)로부터 출력된 임펄스는, 경로J를 전달하여 입력 단자(233)에 입력된다(S316). 그 결과, 임펄스 응답 imp(0)을 취득할 수 있었던 것으로 된다(도 24의 (b)·imp(0)). 그리고, 이 임펄스 응답 imp(0)은, 우선 임펄스 응답 저장 메모리(255)의 레지스터N-1에 기억된다.
다음으로, 임펄스 응답 imp(1)을 취득하기 위해서, DSP(202)는 j를 인크리먼트하여 j=j+1=1로 한다(S317). 그리고, DSP(202)는, 취득한 임펄스 응답이 아직 imp(N-1)까지 도달하지 않았기 때문에 j≥N이 아니다라고 판별하고(S318·아니오), 전술한 S313의 처리를 다시 반복하게 된다. 또한, S317에서 j=1≠0으로 되어 있기 때문에(S314·아니오), DSP(202)는, 스위치 회로(260D, 260B)를 각각, 레지스터1로 절환한다. 그 결과, 출력 단자(232)로부터는 임펄스가 출력되지 않는다(S319). 그 때문에, 입력 단자(233)에는, S315에서 출력된 임펄스의 1샘플링 주기 위상 지연한 임펄스 imp(1)이 입력된다. 그리고, 이 임펄스 응답 imp(1)은 임펄스 응답 저장 메모리(255)의 레지스터N-1에 기억되고, 레지스터N-1에 기억되어 있었던 임펄스 응답 imp(0)은 레지스터N-2에 기억되게 된다. 이와 같이, S313부터 S318의 처리를 j≥N까지 반복함으로써(S318·예), 임펄스 응답 imp(0)∼imp(N-1)(=IR10'(Z))이 취득된다. 그 결과, 임펄스 응답 저장 메모리(255)의 레지스터0∼N-1에, 임펄 스 응답 imp(0)∼imp(N-1)이 기억된 것으로 된다.
DSP(202)는, 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1에 기억되어 있는 임펄스 응답 imp(0)∼imp(N-1)을 위상 반전시키기 위해서, 스위치 회로(260K)를 레지스터0으로부터 순차적으로 절환한다. 그 결과, 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1로부터의 임펄스 응답 imp(0)∼imp(N-1)이, 레지스터(250)를 통해 순차적으로 승산 회로(258)에 입력된다. 승산 회로(258)는, 레지스터(250)의 값과 레지스터(257)의 값을 순차적으로 승산한 승산 결과를 ARMA 필터(300)에 출력한다. 그 결과, 임펄스 응답 imp(0)∼(N-1)이 위상 반전된 임펄스 응답 -imp(0)∼(N-1)이 승산 회로(258)로부터 ARMA 필터(300)에 순차적으로 출력되게 된다.
그리고, DSP(202)는, 승산 회로(258)로부터의 임펄스 응답 -imp(0)∼(N-1)을 승산 회로(236a0∼236aN-1)의 승산 계수로 설정하기 위해서 이하의 처리를 행한다. DSP(202)는, 승산 회로(258)로부터의 임펄스 응답 -imp(0)을 승산 회로(260a0)의 승산 계수로 설정하기 위해서 i=0으로 하고(S320), 스위치 회로(260L)를 승산 회로(236a0)측으로 절환한다. 그 결과, 승산 회로(236a0)의 승산 계수에 임펄스 응답 -imp(0)이 설정된다(S321). 다음으로, DSP(202)는, 승산 회로(258)로부터의 임펄스 응답 -imp(1)을 승산 회로(260a1)의 승산 계수로 설정하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S322). 그리고, DSP(202)는, 승산 회로(236aN-1)까지 승산 계수를 설정하고 있지 않기 때문에 i≥N이 아니다라고 판별하고(S323·아니오), 스위치 회로(260L)를 승산 회로(236a1)측으로 절환한다. 그 결과, 승산 회로(236a1)의 승산 계수에 임펄스 응답 -imp(1)이 설정된다(S321). 이와 같이 S321부터 S323 의 처리를 i≥N까지 반복함으로써(S323·예), 승산 회로(258)로부터의 임펄스 응답 -imp(0)∼(N-1)이 승산 회로(236a0∼236aN-1)의 승산 계수로 설정되게 된다.
또한, DSP(202)는, 임펄스 응답 저장 메모리(255)의 레지스터1∼N-1에 기억되어 있는 임펄스 응답 imp(1)∼(N-1)을 ARMA 필터(300)에 출력시키기 위해서, 스위치 회로(260J)를 레지스터1로부터 순차적으로 절환한다. 그 결과, 임펄스 응답 저장 메모리(255)의 레지스터1∼N-1로부터의 임펄스 응답 imp(1)∼(N-1)이, ARMA 필터(300)에 순차적으로 출력되게 된다.
그리고, DSP(202)는, 임펄스 응답 저장 메모리(255)로부터의 임펄스 응답 imp(1)∼(N-1)을 승산 회로(301b1∼301bN-1)의 승산 계수로 설정하기 위해서 이하의 처리를 행한다. 우선, DSP(202)는, 임펄스 응답 저장 메모리(255)로부터의 임펄스 응답 imp(1)을 승산 회로(301b1)의 승산 계수로 설정하기 위해서 j=1로 하고(S324), 스위치 회로(260M)를 승산 회로(301b1)로 절환한다. 그 결과, 승산 회로(301b1)의 승산 계수에 임펄스 응답 imp(1)이 설정된다(S325). 다음으로, DSP(202)는, 임펄스 응답 저장 메모리(255)로부터의 임펄스 응답 imp(2)을 승산 회로(301b2)의 승산 계수로 설정하기 위해서 j를 인크리먼트하여 j=j+1=1로 한다(S326). 그리고, DSP(202)는, 승산 회로(301bN-1)까지 승산 계수를 설정하고 있지 않기 때문에 j≥N이 아니다라고 판별하고(S327·아니오), 스위치 회로(260M)를 승산 회로(301b2)측으로 절환한다. 그 결과, 승산 회로(301b2)의 승산 계수에 임펄스 응답 imp(2)가 설정된다(S325). 이와 같이 S325부터 S327의 처리를 j≥N까지 반복함으로써(S327·예), 임펄스 응답 저장 메모리(255)로부터의 임펄스 응답 imp(1)∼(N-1)이 승산 회로(301b1∼301bN-1)의 승산 계수로 설정되게 된다.
또한, 전술한 실시 형태에 따르면, 전술한 처리에 대하여 하드웨어(예를 들면 스위치 회로(260) 등)를 이용하여 설명했지만, 이에 한정되는 것은 아니다. 예를 들면, 전술한 처리를 프로그램 데이터로서 ROM 등에 미리 기억시켜 두고, DSP(202)가 구비하는 프로세서가 이 프로그램 데이터를 판독하여 처리하는 것도 가능하다.
<<제7 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
이하, 도 22, 도 28∼도 32를 참조하여 제7 실시 형태에 대하여 설명한다. 또한, 본 실시 형태는, 전술한 제6 실시 형태에서 취득한 임펄스 응답 IR9'(Z), IR10'(Z)에 기초한, 디지털 필터(211)의 필터 계수 설정에 대한 다른 형태를 나타내는 것이다. 그리고, 본 실시 형태에서는, 디지털 필터(211)의 일례로서 FIR 필터(303)를 사용했을 때의, 필터 계수 설정에 대하여 설명한다. 본 실시 형태에서 제6 실시 형태와 동일한 구성 요건에 대해서는 동일한 번호를 붙이고 설명을 생략한다.
도 28은, FIR 필터(303)를 사용한 경우의, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DSP(202))의 일례를 도시한 블록도이다. 도 29는, 임펄스 응답 IR9'(Z), IR10'(Z)에 기초하여 FIR 필터(303)의 필터 계수를 설정하기 위한 DSP(295)의 일례를 도시한 블록도이다. 도 30는, 도 29에 도시한 ADF(284)의 상세도이다. 도 31은, DSP(202)의 구성의 일부를 도시한 블록도이다. 도 32는, FIR 필터(303)의 그 밖의 일례를 도시한 도면이다. 또한, 본 실시 형태에서는, DSP(295)를 DSP(202)와는 별도로 설치하고, FIR 필터(303)의 필터 계수를 설정하기 위한 처리을 행하고 있지만 이에 한정되는 것은 아니다. 예를 들면, DSP(295)의 후술하는 처리를, DSP(202)의 내부에서 행하도록 설치하는 것도 가능하다.
DSP(295)는, 백색 노이즈 생성 회로(287), 입력 단자(296, 297), FIR 필터(285, 286), 감산 회로(288), ADF(284), 출력 단자(298)를 갖고 있다.
이 백색 노이즈 생성 회로(287)는, 전체 주파수대의 레벨이 거의 일정해지는 백색 노이즈를 생성한다. 예를 들면, 백색 노이즈 생성 회로(287)는, 선형 피드백 레지스터 방식에 의해서, 백색 노이즈로서의 M(Maximum length sequence의 두문자) 계열 난수를 생성한다. 또한, 이 M계열 난수의 생성에 대해서는, 예를 들면 일본 특개평5-241795 등의 주지 기술을 이용하는 것이 가능하다. 또한, 본 실시 형태에서는 백색 노이즈를 이용하고 있지만 이에 한정되는 것은 아니다. 주기성이 없는 노이즈이면 가능하고, 예를 들면 유색 노이즈를 이용하는 것도 가능하다. 그리고, 백색 노이즈 생성 회로(287)는, 생성한 M계열 난수 L(N)(N은 샘플 수이고, FIR 필터(285, 286)의 탭수와 동수임)을 FIR 필터(285, 286)에 출력한다.
FIR 필터(285)는, 스위치 회로(260N)를 레지스터0으로부터 순차적으로 절환함으로써, 입력 단자(296)를 통해, 레지스터0∼N-1에 기억되어 있는 경로J의 임펄스 응답 imp(0)∼(N-1)(=IR10'(Z))이 순차적으로 입력된다. 그 결과, FIR 필터(285)의 필터 계수로서, 경로(J)의 임펄스 응답 imp(0)∼(N-1)이 설정된다. 그리 고, FIR 필터(285)는, 설정된 필터 계수에 기초하여, 백색 노이즈 생성 회로(287)로부터의 M계열 난수L(N)에 대하여 컨볼루션 연산을 실시하여 ADF(284)에 출력한다. 또한, 본 실시 형태에서는, FIR 필터(285)로부터의 출력 신호를, 참조 신호 Xt(={Xt(0), …, Xt(N-1)}, i번째를 Xt(i)로 나타냄)로 나타내어 이하 설명한다.
또한, FIR 필터(286)는, 스위치 회로(260K)를 레지스터0으로부터 순차적으로 절환함으로써, 입력 단자(297)를 통해, 임펄스 응답 저장 메모리(243)의 레지스터0∼N-1에 기억되어 있는 경로I의 임펄스 응답 imp(0)∼(N-1)(=IR9'(Z))이 순차적으로 입력된다. 그 결과, FIR 필터(286)의 필터 계수로서, 경로I의 임펄스 응답 imp(0)∼(N-1)이 설정된다. 그리고, FIR 필터(286)는, 설정된 필터 계수에 기초하여, 백색 노이즈 생성 회로(287)로부터의 M계열 난수 L(N)에 대해 컨볼루션 연산을 실시하여 감산 회로(288)에 출력한다. 또한, 본 실시 형태에서는, FIR 필터(286)에 의한 컨볼루션 연산 결과를 Yt로 나타내어 이하 설명한다. 또한, 전술한 FIR 필터(285, 286)는, 주지의 FIR 필터를 사용하는 것이 가능하다.
감산 회로(288)의 + 입력 단자에는, FIR 필터(286)로부터의 Yt가 입력된다. 또한, 감산 회로(288)의 - 입력 단자에는, 후술하는 ADF(284)로부터의 출력 신호(Y't)가 입력된다. 그리고, 감산 회로(288)는, FIR 필터(286)로부터의 Yt와 ADF(288)로부터의 Y't를 감산하여 출력한다. 이하, 감산 회로(288)로부터의 출력 신호를 오차 신호 Et로 나타내어 이하 설명한다.
ADF(284)는, 도 30의 일점쇄선 내에 도시한 바와 같이, 참조 신호 입출력부(289), 필터 계수부(290), 승산부(291), 필터 계수 갱신부(292), 가산부(293), 레 지스터(294), 스위치 회로(260Q∼260U)를 갖고 있다.
참조 신호 입출력부(289)는, FIR 필터(285)로부터의 참조 신호 Xt가 입력되고, 이 참조 신호 Xt를 유지한다. 그리고, 참조 신호 입출력부(289)는, 승산부(291), 필터 계수 갱신부(292)에 대하여 참조 신호 Xt를 출력한다.
필터 계수부(290)는, N개의 레지스터0∼N-1로 구성되어 있다. 그리고, 필터 계수부(290)의 레지스터0∼N-1에는, 스위치 회로(260Q, 260R)를 필터 계수 갱신부(292)측으로 절환하고, 스위치 회로(260S)를 승산부(291)측으로 절환하며, 스위치 회로(260T)를 레지스터0으로부터 순차적으로 절환함으로써, 이 필터 계수 갱신부(292)로부터의 필터 계수가 순차적으로 입력된다. 레지스터0∼N-1는, 순차적으로 입력된 필터 계수를 유지한다. 그리고, 필터 계수부(290)는, 스위치 회로(260R)를 승산부(291)측으로 절환하고, 스위치 회로(260T)를 레지스터0으로부터 순차적으로 절환함으로써, 레지스터0∼N-1의 필터 계수를 승산부(291)에 순차적으로 출력한다. 또한, 필터 계수부(290)는, 스위치 회로(260U)를 레지스터0으로부터 순차적으로 절환함으로써, 레지스터0∼N-1의 필터 계수를 필터 계수 갱신부(292)에 순차적으로 출력한다. 또한, 본 실시 형태에서는, 필터 계수부(290)의 필터 계수를 Ht(={Ht(0), …, Ht(N-1)}, i번째를 Ht(i)로 나타냄)로 나타내고, 레지스터0∼N-1에는 필터 계수 Ht(0)∼Ht(N-1)이 유지되어 있는 것으로 하여 이하 설명한다.
승산 회로(291)는, 참조 신호 입출력부(289)로부터의 참조 신호 Xt와 필터 계수부(290)로부터의 필터 계수 Ht를 순차적으로 승산한 승산 결과를 가산부(293)에 출력한다.
가산부(293)는, 승산부(291)로부터의 출력 신호를 순차적으로 가산한 결과를 감산 회로(288)에 출력한다. 또한, 이 가산부(293)로부터의 출력 신호가 전술한 Y't로 된다.
필터 계수 갱신부(292)에는, 감산 회로(288)로부터의 오차 신호 Et가 입력된다. 그리고, 필터 계수 갱신부(292)는, 오차 신호 Et, 참조 신호 Xt, 필터 계수 Ht에 기초하여, 후술하는 예를 들면 LMS 알고리즘이나 NLMS 알고리즘 등에 의해 필터 계수 Ht+1(={Ht+1(0), …, Ht+1(N-1)}, i번째를 Ht+1(i)로 나타냄)을 산출하여 필터 계수부(290)에 출력한다. 또한, 이 필터 계수 갱신부(292)에 의한 필터 계수의 산출은, 감산 회로(288)로부터의 오차 신호 Et의 평균값이 일정 값 이하로 되도록 행하여진다. 또한, 이 일정 값이란, 예를 들면 오차 신호의 평균값이 일정 값 이하로 되었을 때의, DA 컨버터(215)(도 22)로부터 출력되는 아날로그 신호에 기초하여 발생하는 음성으로부터, 사람이 에코를 청각할 수 없는 레벨로 되도록 정해지는 값이다.
레지스터(294)는, DSP(295)로부터의 예를 들면 다른쪽의 논리값 '0'의 논리값이 입력되고, 이 다른쪽의 논리값 '0'을 유지한다.
DSP(202)는, 제6 실시 형태에서 나타낸 구성 외에, 도 28, 도 31에 도시한 바와 같이 FIR 필터(303), 필터 계수 저장 메모리(247), 레지스터(248), 스위치 회로(260N, 260P∼260R)를 갖고 있다.
또한, FIR 필터(303)는, 도 31의 일점쇄선 내에 도시한 디지털 신호용 메모리(242)(파선), 승산 회로(251), ADD(252), ACC(253), 스위치 회로(260O)를 갖고 있다.
레지스터(248)에는, CPU(201)로부터의 전술한 다른쪽의 논리값 '0'이 입력된다.
필터 계수 저장 메모리(247)는, N개의 어드레스0∼N-1로 구성되어 있다. 그리고, 필터 계수 저장 메모리(247)의 어드레스0∼N-1에는, 스위치 회로(260Q)를 어드레스0으로부터 순차적으로 절환함으로써, ADF(284)로부터의 필터 계수(Ht(0), …, Ht(N-1))가 순차적으로 기억된다. 상세하게 설명하면, 전술한 ADF(284)의 스위치 회로(260T)가 레지스터0으로부터 순차적으로 절환됨과 함께, 스위치 회로(260Q)가 어드레스0으로부터 순차적으로 절환됨으로써, 어드레스0으로부터 순차적으로 필터 계수(Ht(0), …, Ht(N-1))가 순차적으로 기억되게 된다.
디지털 신호용 메모리(242)는, N개의 레지스터0∼N-1로 구성되어 있다. 그리고, 디지털 신호용 메모리(242)에는, 입력 단자(230)를 통해 AD 컨버터(203)(도 22)로부터의 디지털 신호가 순차적으로 입력된다. 그리고, 레지스터0∼N-1에 디지털 신호가 순차적으로 입력됨으로써, 디지털 신호는 1샘플링 주기 단위씩 지연되게 된다. 예를 들면 디지털 신호를 Xn으로 하면, 레지스터0은 Xn을 1샘플링 주기 지연시킨 Xn-1을 레지스터1에 출력한다. 또한, 디지털 신호용 메모리(242)는, DSP(202)가 스위치 회로(260R)를 레지스터0으로부터 레지스터N-1로 순차적으로 절환함으로써, 레지스터(248)에 기억된 다른쪽의 논리값'0'에 의해서 클리어된다.
승산 회로(251)는, DSP(202)가 스위치 회로(260O, 260P)를 각각, 레지스터0, 어드레스0으로부터 순차적으로 절환함으로써, 디지털 신호용 메모리(242)로부터의 디지털 신호(Xn, …, Xn-(N-1))와, 필터 계수 저장 메모리(247)로부터의 필터 계수(Ht(0), …, Ht(N-1))가 순차적으로 입력된다. 그리고, 승산 회로(251)는, 디지털 신호(Xn, …, Xn-(N-1))와 필터 계수(Ht(0), …, Ht(N-1))를 순차적으로 승산한 승산 결과를 ADD(252)에 출력한다. 예를 들면, 승산 회로(251)는, 디지털 신호용 메모리(242)로부터의 Xn과, 필터 계수 저장 메모리(247)로부터의 필터 계수 Ht(0)을 승산한 승산 결과를 ADD(252)에 출력한다. 다음으로, 승산 회로(251)는, 디지털 신호용 메모리(242)로부터의 Xn-1과, 필터 계수 저장 메모리(247)로부터의 필터 계수 Ht(1)을 승산한 승산 결과를 ADD(252)에 출력한다. 그리고, 이 처리가 반복됨으로써, 디지털 신호(Xn, …, Xn-(N-1))와 필터 계수 Ht(={Ht(0), …, Ht(N-1)})가 순차적으로 승산되게 된다.
ACC(253)는, ADD(252)로부터의 가산 결과가 입력되고, 이 가산 결과를 유지한다. 이 ADD(252)는, 승산 회로(251)로부터의 승산 결과와, ACC(253)에 기억되어 있는 전회의 ADD(252)의 가산 결과를 가산한 결과를 ACC(253)에 출력한다. 그 결과, ACC(253)에는 (Xn·Ht(0)+…+(Xn-(N-1))·(Ht(N-1)))이 기억되게 된다. 그 결과, FIR 필터(303)는, 필터 계수 저장 메모리(247)에 기억된 필터 계수에 기초하여, 디지털 신호에 대하여 컨볼루션 연산 처리를 실시한 것으로 된다. 그리고, FIR 필터(303)는, 컨볼루션 연산 처리를 실시한 디지털 신호를, 출력 단자(232)에 출력한다.
그리고, 이와 같이 FIR 필터(303)의 필터 계수를 설정함으로써, 차동 증폭 회로(209)에서 경로I를 전달하는 신호를, 경로J를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(230)에 디지털 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
또한, 본 실시 형태에서는, FIR 필터(303)를 전술한 구성에서 설명하고 있지만 이에 한정되는 것은 아니다. 예를 들면, 도 32에 도시한 구성으로 하여도 된다. 이 경우, 디지털 신호용 메모리(242)에 대응한 지연 회로(335a1∼335aN-1), 승산 회로(251)에 대응한 승산 회로(336a0∼336aN-1), ADD(252), ACC(253)에 대응한 가산 회로(337)를 설치하여도 된다. 이하, FIR 필터(303)가 도 26에 도시한 구성으로 설치된 경우에 대해 설명한다. 도 32에 도시한 바와 같이 FIR 필터(303)는, 종속 접속된 N-1개의 지연 회로(335a1∼335aN-1)와, 입력되는 디지털 신호를 각각 승산하는 N개의 승산 회로(336a0∼336aN-1)와, 승산 회로(336a0∼336aN-1)로부터의 출력을 합산하는 가산 회로(337)를 갖고 있다.
지연 회로(335a1∼335aN-1)는, 입력 단자(230)를 통해 입력되는 디지털 신호 Xn을, 샘플링의 주기 단위마다 지연하여 출력한다. 예를 들면, 지연 회로(335a1)는 디지털 신호 Xn을 1샘플링 주기 위상 지연시킨 디지털 신호 Xn-1을 출력하고, 지연 회로(335aN-1)는 디지털 신호 Xn-(N-1)을 출력한다.
승산 회로(336a0∼336aN-1)는, 스위치 회로(260P, 260N)가 순차적으로 전환됨으로써, 필터 계수 저장 메모리(247)에 기억된 필터 계수(Ht(0), …, Ht(N-1))가 승산 계수로서 각각 설정된다. 그리고, 승산 회로(336a0∼336aN-1)는, 입력되는 디지털 신호에 대하여 설정된 승산 계수로 승산한 승산 결과를 출력한다.
가산 회로(337)는, 승산 회로(336a0∼336aN-1)로부터의 출력 신호를 합산한 다. 그 결과, 전술한 FIR 필터(303)와 마찬가지의 컨볼루션 연산을 실시하는 것이 가능하게 된다.
===FIR 필터(303)의 필터 계수 설정===
도 28∼도 33을 참조하면서, FIR 필터(303)의 필터 계수를 설정하기 위한 처리 동작의 일례에 대하여 설명한다. 도 33은, FIR 필터(303)의 필터 계수를 설정하는 처리 동작의 일례를 나타낸 플로우차트이다.
DSP(295)는, 예를 들면 CPU(201)로부터의 지시 신호에 의해, 우선 필터 계수부(290)의 필터 계수를 클리어시키기 위해서, 레지스터(294)에 다른쪽의 논리값 '0'을 입력시킨다. 그리고, DSP(295)는, 스위치 회로(260S)를 레지스터(294)측으로 절환하고, 스위치 회로(260T)를 레지스터0으로부터 순차적으로 절환한다. 그 결과, 레지스터(294)에 유지되어 있는 다른쪽의 논리값 '0'에 의해서, 필터 계수부(290)의 레지스터0∼N-1이 클리어된다(S401).
그리고, DSP(295)는, 입력 단자(296)를 통해 입력되는, 임펄스 응답 저장 메모리(255)로부터의 경로J의 임펄스 응답 imp(0)∼(N-1)(=IR10'(Z))을 FIR 필터(285)의 필터 계수로 설정한다(S402). 또한, DSP(295)는, 입력 단자(297)를 통해 입력되는, 임펄스 응답 저장 메모리(243)로부터의 경로I의 임펄스 응답 imp(0)∼(N-1)(=IR9'(Z))을 FIR 필터(286)의 필터 계수로 설정한다(S403).
백색 노이즈 생성 회로(287)는, 예를 들면 선형 피드백 레지스터 방식에 의해서, 백색 노이즈로서의 M계열 난수(L(N))를 생성하여, FIR 필터(285), FIR 필터(286)에 출력한다(S404).
FIR 필터(285)는, 설정된 필터 계수에 기초하여, 백색 노이즈 생성 회로(287)로부터의 M계열 난수 L(N)에 대하여 컨볼루션 연산을 실시하고, 연산 결과인 참조 신호 Xt(={Xt(0), …, Xt(N-1)})를 ADF(284)에 출력한다(S405).
또한, FIR 필터(286)는, 설정된 필터 계수에 기초하여, 백색 노이즈 생성 회로(287)로부터의 M계열 난수 L(N)에 대하여 컨볼루션 연산을 실시하고, 연산 결과인 Yt를 감산 회로(288)의 + 입력 단자에 출력한다(S406).
DSP(295)는, 감산 회로(288)의 - 입력 단자에 입력시키는 Y't를 생성하기 위해서, 이하의 처리를 행한다. DSP(295)는, 우선 i=0으로 하여(S407), 스위치 회로(260R, 260S)를 승산 회로(291)측으로 절환하고, 스위치 회로(260T)를 레지스터0측으로 절환한다. 그리고, DSP(295)는, 참조 신호 입출력부(289)의 Xt(0)과 필터 계수부(290)의 Ht(0)을 각각 승산부(291)에 출력시킨다. 승산부(291)는, Xt(0)과 Ht(0)을 승산하고(S408), 승산 결과 Xt(0)·Ht(0)을 가산부(293)에 출력한다.
다음으로, DSP(295)는, i를 인크리먼트하여 i=i+1=1로 한다(S409). 그리고, DSP(295)는, 승산부(291)의 승산 결과가 Xt(N-1)·Ht(N-1)까지 도달하지 않았기 때문 i≥N이 아니다라고 판별한다(S410·아니오). 그리고, DSP(295)는, 스위치 회로(260T)를 레지스터1측으로 절환하여 필터 계수부(290)의 Ht(1)을 출력시킴과 함께, 참조 신호 입출력부(289)의 Xt(1)을 각각 승산부(291)에 출력시킨다. 승산부(291)는, Xt(1)과 Ht(1)을 승산하고(S408), 승산 결과 Xt(1)·Ht(1)을 가산부(293)에 출력한다. 이와 같이, S408부터 S410의 처리를 i≥N까지 반복함으로써(S410·예), 승산부(291)의 승산 결과 Xt(0)·Ht(0)…Xt(N-1)·Ht(N-1)이 가산부(293)에 순차적 으로 출력되게 된다. 가산부(293)가 승산부(291)로부터의 승산 결과를 순차적으로 가산함으로써(S411), 가산부(293)의 가산 결과는, Y't(=Xt(0)·Ht(0)+…+Xt(N-1)·Ht(N-1))로 된다. 그리고, 가산부(293)로부터 감산 회로(288)의 - 입력 단자에 Y't가 출력된다.
감산 회로(288)는, + 입력 단자에 입력된 Yt와, - 입력 단자에 입력된 Y't를 감산하고(S412), 감산 결과인 오차 신호 Et를 필터 계수 갱신부(292)에 출력한다. 그리고, 필터 계수 갱신부(292)는, 오차 신호 Et에 기초한 필터 계수를 산출하기 위해서 이하의 처리를 실행한다. 우선, 필터 계수 갱신부(292)는, Ht+1(0)을 산출하기 위해서 i=0으로 한다(S413). Ht+1(0)은, 소정 상수인 스텝 게인을 α, 참조 신호 Xt의 놈(즉, 제곱합)을 ∥Xt∥2으로 하면,
Ht+1(0)=Ht(0)+(α·Et·Xt(0))/∥Xt∥2
으로 된다. 그 때문에, 필터 계수 갱신부(292)가, 참조 신호 입출력부(289)로부터의 Xt(0), 필터 계수부(290)로부터의 Ht(0), 감산 회로(288)로부터의 Et에 기초하여, 상기 식을 연산함으로써, Ht+1(0)이 산출된다(S414). 다음으로, 필터 계수 갱신부(292)는, Ht+1(1)을 산출하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S415). 그리고, 필터 계수 갱신부(292)는, 산출한 필터 계수가 Ht+1(N-1)에 도달하지 않았기 때문에 i≥N이 아니다라고 판별한다(S416·아니오). 전술한 바와 마찬가지로, Ht+1(1)은,
Ht+1(1)=Ht(1)+(α·Et·Xt(1))/∥Xt∥2
으로부터 산출된다. 이와 같이, S414부터 S416의 처리를 i≥N까지 반복함으로써(S416·예), Ht+1(N)(={Ht+1(0), …, Ht+1(N-1)})이 산출되게 된다. 다음으로, DSP(295)는, 오차 신호 Et의 평균값이 일정 값 미만인지의 여부를 판별한다(S417). 그리고, DSP(295)는, 오차 신호(Et)의 평균값이 일정 값 미만이 아니다라고 판별하면(S417·아니오), 전술한 S404 이후의 처리를 다시 반복하게 된다.
이와 같이, 감산 회로(288)로부터의 오차 신호 Et의 평균값이 일정 값 미만이 아닌 경우, 이 오차 신호(Et)에 기초한 필터 계수 Ht+1이 산출되게 된다. 그리고, 이 처리를 반복함으로써, FIR 필터(285)의 필터 계수에 경로J의 임펄스 응답이 설정되고, FIR 필터(286)의 필터 계수에 경로I의 임펄스 응답이 설정된 상태에서, 백색 노이즈 생성 회로(287)로부터 M계열 난수 L(N)이 FIR 필터(285, 286)에 입력되었을 때의, 감산 회로(288)로부터의 오차 신호 Et를 일정 값 미만으로 하는 것이 가능하게 된다. 그리고, 오차 신호(Et)가 일정 값 미만인 경우의 필터 계수 Ht+1(N)은, 경로I를 전달하는 신호와, 경로J를 전달하는 신호가 상호 상쇄하는 것을 가능하게 하는 필터 계수인 것을 알 수 있다. 즉, 에코를 방지하는 것이 가능하게 된다.
그리고, DSP(295)는, 오차 신호 Et의 평균값이 일정 값 미만이다라고 판별하면(S417·예), 필터 계수부(290)의 필터 계수를 갱신하기 위해서 이하의 처리를 실행한다. DSP(295)는, 우선 필터 계수부(290)의 레지스터0의 필터 계수 H(0)을, Ht+1(0)으로 갱신하기 위해서 i=0으로 한다(S418). 그리고, DSP(295)는, 스위치 회로(260R)를 필터 계수 갱신부(292)측으로 절환하고, 스위치 회로(260T)를 레지스터0측으로 절환한다. 그 결과, 필터 계수부(290)의 레지스터0에 유지되어 있는 필터 계수 Ht(0)이 Ht+1(0)으로 갱신된다(S419). 다음으로, DSP(295)는, Ht(1)을 Ht+1(1)로 갱신하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S420). 그리고, DSP(295)는, 레지스터N-1의 필터 계수 Ht(N-1)이 Ht+1(N-1)로 아직 갱신되지 않았기 때문에 N≥i가 아니다라고 판별한다(S421·아니오). 그리고, 스위치 회로(260T)를 레지스터1측으로 절환함으로써, 전술한 바와 같이 레지스터1에 유지되어 있는 필터 계수 Ht(1)을 Ht+1(1)로 갱신한다(S419). 이와 같이, S419부터 S421의 처리를 N≥i까지 반복함으로써(S421·예), 필터 계수부(290)의 레지스터0∼N-1의 필터 계수(Ht)(={Ht(0), …, Ht(N-1)})가, Ht+1(N)(={Ht+1(0), …, Ht+1(N-1)})으로 갱신되게 된다.
그리고, DSP(295)는, 스위치 회로(260Q)를 출력 단자(298)측으로 절환하고, 스위치 회로(260T)를 레지스터0측으로부터 순차적으로 절환함으로써, 필터 계수부(290)의 필터 계수 Ht(={Ht(0), …, Ht(N-1)})를, 출력 단자(298)를 통해 필터 계수 저장 메모리(247)에 출력하는 것이 가능하게 된다. 그리고, DSP(202)가 스위치 회로(260Q)를 어드레스0으로부터 순차적으로 절환함으로써, FIR 필터(303)의 필터 계수에, 필터 계수부(290)의 필터 계수 Ht(={Ht(0), …, Ht(N-1)})를 설정하는 것이 가능하게 된다.
또한, 전술한 필터 계수부(290)의 필터 계수 H(N)을 갱신하는 알고리즘은, 이에 한정되는 것은 아니다. 전술한 바와 같이 LMS 알고리즘이나 NLMS 알고리즘 등의 주지 기술인 추정 알고리즘을 이용하는 것이 가능하다. 또한, 예를 들면 일본 특개2002-246880호의 기재에 의한 처리로 필터 계수부(290)의 필터 계수 H(N)을 갱신하는 것도 가능하다.
또한, 전술한 실시 형태에 따르면, 전술한 처리에 대하여 하드웨어(예를 들면 감산 회로(288), 승산부(291) 등)를 이용하여 설명했지만, 이에 한정되는 것은 아니다. 예를 들면, 전술한 처리를 프로그램 데이터로서 ROM 등에 미리 기억시켜 두고, DSP(202)가 구비하는 프로세서가 이 프로그램 데이터를 판독하여 처리하는 것도 가능하다.
<<제8 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 34는, 제8 실시 형태를 도시한 도면이다. 도 34는, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 일례를 도시한 블록도이다. 또한, 도 34에 도시한 에코 방지 회로에서, 전술한 제6, 제7 실시 형태와 동일한 구성 요건에 대해서는, 동일한 번호를 붙이고 설명을 생략한다.
에코 방지 회로는, CPU(201), DSP(202), AD 컨버터(203), DA 컨버터(205), 증폭 회로(206), 입출력 단자(207), 가산 회로(263), 증폭 회로(210), AD 컨버터(214), DA 컨버터(215), DA 컨버터(212), 반전 증폭 회로(261), 이득 위상 조정 회로(G/P)(275)를 갖고 있다.
즉, 본 실시 형태는, 제6, 제7 실시 형태에서의 차동 증폭 회로(209), 증폭 회로(213) 대신에, 반전 증폭 회로(261), 이득 위상 조정 회로(275), 가산 회로(263)를 설치한 구성으로 되어 있다. 또한, 본 실시 형태에서도 CPU(201)를 구성 요건으로 하고 있지만, CPU(201)를 구성 요건으로 하지 않는 것도 가능하다.
또한, DSP(202)는, 입력 단자(230), 출력 단자(231), 디지털 필터(211), 출력 단자(232), 입력 단자(233), 출력 단자(234)를 갖고 있다.
반전 증폭 회로(261)는, DA 컨버터(212)로부터의 아날로그 신호를, 소정의 증폭률로 반전 증폭하여 이득 위상 조정 회로(275)에 출력한다.
이득 위상 조정 회로(275)는, 반전 증폭 회로(261)로부터의 아날로그 신호에 대하여, 이득 및 위상의 조정을 실시하여 가산 회로(263)에 출력한다. 또한, 이 이득 위상 조정 회로(275)에 의한 아날로그 신호의 이득 및 위상의 조정은, 입력 단자(230)에 디지털 신호가 입력되었을 때의 후술하는 가산 회로(263)의 출력을 제로로 하기 위해서, 증폭 회로(206)로부터의 아날로그 신호와는 위상 반전한 아날로그 신호를 생성하도록 행하여진다.
가산 회로(263)는, 증폭 회로(206)로부터의 아날로그 신호가 입력된다. 그리고, 가산 회로(263)는, 증폭 회로(206)로부터의 아날로그 신호와, 이득 위상 조정 회로(275)로부터의 아날로그 신호를 가산한 가산 결과를 증폭 회로(210)에 출력한다. 또한, 가산 회로(263)는, 입출력 단자(207)로부터의 음성 신호를 증폭 회로(210)에 출력한다.
===디지털 필터(211)의 필터 계수===
도 35 및 도 36을 참조하면서 디지털 필터(211)의 필터 계수에 대하여 상세하게 설명한다. 도 35는, 도 34에 도시한 에코 방지 회로의 경로K, L를 도시한 도면이다. 또한, 도 36은, 경로K에 이어폰 마이크(18)가 포함되는 경우를 도시한 도 면이다.
전술한 바와 같이 증폭 회로(206)로부터의 아날로그 신호는, 입출력 단자(207)로부터의 출력뿐만 아니라, 가산 회로(263)에도 입력되는 경우가 있다. 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(207)로부터 입력되는 음성 신호와 증폭 회로(206)로부터의 아날로그 신호가 중첩되어 가산 회로(263)에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 디지털 필터(211)의 필터 계수를 설정한다.
따라서, 도 35 또는 도 36의 파선으로 나타낸 출력 단자(231)로부터 가산 회로(263)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR11(Z)로 한다. 또한, 도 35 또는 도 36의 일점쇄선으로 나타낸 출력 단자(232)로부터 반전 증폭 회로(261)의 입력까지의 임펄스 응답(전달 함수)을 IR12_1(Z)로 한다. 또한, 도 35 또는 도 36의 이점쇄선으로 나타낸 반전 증폭 회로(261)의 입력으로부터 가산 회로(263)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR12_2(Z)로 한다. 그리고, IR12(Z)=-IR12_1(Z)·IR12_2(Z)로 한다. 또한, 도 35 또는 도 36의 파선으로 나타낸 가산 회로(263)에서의 각 입력 단자의 후단으로부터 입력 단자(233)까지의 임펄스 응답(전달 함수)을 W6(Z)으로 한다.
지금, 디지털 필터(211)의 필터 계수를 Q(Z)로 한 경우, 가산 회로(263)에서, 증폭 회로(206)로부터의 신호를 이득 위상 조정 회로(275)로부터의 신호로 상쇄하기 위해서는,
IR11(Z)=IR12(Z)·Q(Z)
의 식이 성립하도록 Q(Z)를 설정하게 된다. 즉, Q(Z)는,
Q(Z)=IR11(Z)/IR12(Z)
로 되도록 설정하면 된다. 그러나, DSP(202)가 취득 가능한 임펄스 응답은, 도 35 또는 도 36의 실선으로 나타낸 경로K의 임펄스 응답(전달 함수) IR11'(Z)(=IR11(Z)·W6(Z))과, 경로(L)의 임펄스 응답(전달 함수) IR12'(Z)(=-IR12_1(Z)·IR12_2(Z)·W6(Z))이다. 또한, IR12_1(Z)가 위상 반전되어 있는 것은, 반전 증폭 회로(261)에서 반전되기 때문이다.
이 경우, 경로K를 전달하는 신호와 경로L을 전달하는 신호가 상호 상쇄하는 것을 가능하게 하는 식은,
-IR11'(Z)=IR12'(Z)·Q(Z)
로 된다. 즉, Q(Z)를,
Q(Z)=-IR11'(Z)/IR12'(Z)
로 설정하면 되는 것을 알 수 있다. 즉, 디지털 필터(211)의 특성은, 전달 특성 IR11'(Z)을 위상 반전한 것에, IR12'(Z)의 역 필터의 특성을 가한 특성으로 함으로써 실현 가능해진다. 그리고, 이와 같이 디지털 필터(211)의 필터 계수를 설정함으로써, 가산 회로(263)에서 경로K를 전달하는 신호를, 경로L을 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(230)에 디지털 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 36에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR11'(Z)을 취득하고, 이 IR11'(Z)을 위상 반전한 것에, IR12'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR11'(Z)을 취득하고, 이 IR11'(Z)을 위상 반전한 것에, IR12'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 이 디지털 필터(211)의 특성을, 전달 특성 IR11'(Z)을 위상 반전한 것에, IR12'(Z)의 역 필터의 특성을 가한 특성으로 하는 처리는, 제6 실시 형태와 마찬가지의 처리를 행함으로써 가능하게 된다.
또한, 경로K의 임펄스 응답 IR11'(Z)을 FIR 필터(286)(도 29)의 필터 계수로 설정하고, 경로I의 임펄스 응답 IR12'(Z)를 FIR 필터(285)(도 29)의 필터 계수로 설정하여, 제7 실시 형태와 마찬가지의 처리를 행함으로써, 디지털 필터(211)의 필터 계수를 설정하는 것도 가능하다
<<제9 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 37은, 제9 실시 형태를 도시한 도면이다. 도 37은, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DSP(264)의 일례를 도시한 블록도이다. 또한, 도 37에 도시한 에코 방지 회로에서, 전술한 제6, 제7 실시 형태와 동일한 구성 요건에 대해서는, 동일한 번호를 붙이고 설명을 생략한다.
에코 방지 회로는, CPU(201), DSP(264), 증폭 회로(206), 입출력 단자(207), 차동 증폭 회로(209), 증폭 회로(210), 증폭 회로(213)를 갖고 있다. 또한, 본 실시 형태에서도 CPU(201)를 구성 요건으로 하고 있지만, CPU(201)를 구성 요건으로 하지 않는 것도 가능하다.
또한, DSP(264)는, 입력 단자(265), AD 컨버터(266), DA 컨버터(267), 출력 단자(268), 입력 단자(269), AD 컨버터(270), DA 컨버터(271), 출력 단자(272), 디지털 필터(211), DA 컨버터(273), 출력 단자(274)를 갖고 있다.
즉, 본 실시 형태는, 제6, 제7 실시 형태에서의 AD 컨버터(203, 214), DA 컨버터(205, 212, 215)가 DSP(264) 내부에 설치된 구성으로 되어 있다.
AD 컨버터(266)에는, 입력 단자(265)를 통해, 예를 들면 음성 신호가 입력된다. 그리고, AD 컨버터(266)는, 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, DA 컨버터(267), 디지털 필터(211)에 출력한다.
디지털 필터(211)는 디지털 신호에 대하여, 이 디지털 필터(211)의 필터 계수에 기초하여 필터 처리를 실시하여 DA 컨버터(273)에 출력한다.
DA 컨버터(267)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를, 출력 단자(268)를 통해 출력시킨다. 그 결과, 증폭 회로(206)에는, DA 컨버터(267)로부터의 아날로그 신호가 입력된다.
DA 컨버터(273)는, 디지털 필터(211)로부터의 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를, 출력 단자(274)를 통해 출력시킨다. 그 결과, 증폭 회로(213)에는, DA 컨버터(273)로부터의 아날로그 신호가 입력된다.
AD 컨버터(270)에는, 입력 단자(269)를 통해, 증폭 회로(210)로부터의 음성 신호가 입력된다. 그리고, AD 컨버터(270)는, 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를, DA 컨버터(271)에 출력한다.
DA 컨버터(271)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를, 출력 단자(272)를 통해 출력시킨다.
===디지털 필터(211)의 필터 계수===
도 38 및 도 39를 참조하면서 디지털 필터(211)의 필터 계수에 대하여 상세하게 설명한다. 도 38은, 도 37에 도시한 에코 방지 회로의 경로M, N을 도시한 도면이다. 또한, 도 39는, 경로M에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다.
전술한 바와 같이 증폭 회로(206)로부터의 아날로그 신호는, 입출력 단자(207)로부터의 출력뿐만 아니라, 차동 증폭 회로(209)의 + 입력 단자에도 입력되는 경우가 있다. 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(207)로부터 입력되는 음성 신호와 증폭 회로(206)로부터의 아날로그 신호가 중첩되어 차동 증폭 회로(209)의 + 입력 단자에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 디지털 필터(211)의 필터 계수를 설정한다.
따라서, 도 38 또는 도 39의 파선으로 나타낸 DA 컨버터(267)의 입력으로부터 차동 증폭 회로(209)의 + 입력 단자까지의 임펄스 응답(전달 함수)을 IR13(Z)으로 한다. 또한, 도 38 또는 도 39의 파선으로 나타낸 DA 컨버터(273)의 입력으로 부터 차동 증폭 회로(209)의 - 입력 단자까지의 임펄스 응답(전달 함수)을 IR14(Z)로 한다. 또한, 도 38 또는 도 39의 파선으로 나타낸 차동 증폭 회로(209)의 ± 입력 단자의 후단으로부터 AD 컨버터(270)의 출력까지의 임펄스 응답(전달 함수)을 W7(Z)로 한다.
지금, 디지털 필터(211)의 필터 계수를 Q(Z)로 한 경우, 차동 증폭 회로(209)에서, 증폭 회로(206)로부터의 신호를 증폭 회로(213)로부터의 신호로 상쇄하기 위해서는,
IR13(Z)=IR14(Z)·Q(Z)
의 식이 성립하도록 Q(Z)를 설정하는 것으로 된다. 즉, Q(Z)는,
Q(Z)=IR13(Z)/IR14(Z)
로 되도록 설정하면 된다. 그러나, DSP(264)가 취득 가능한 임펄스 응답은, 도 38 또는 도 39의 실선으로 나타낸 경로M의 임펄스 응답(전달 함수)(IR13'(Z))(=IR13(Z)·W7(Z))과, 경로N의 임펄스 응답(전달 함수) IR14'(Z)(=-IR14(Z)·W7(Z))이다. 또한, IR14(Z)가 위상 반전되어 있는 것은, 차동 증폭 회로(209)의 - 입력 단자에 입력되어 있기 때문이다.
이 경우, 경로M을 전달하는 신호와 경로N을 전달하는 신호가 상호 상쇄되는 것을 가능하게 하는 식은,
-IR13'(Z)=IR14'(Z)·Q(Z)
로 된다. 즉, Q(Z)를,
Q(Z)=-IR13'(Z)/IR14'(Z)
로 설정하면 되는 것을 알 수 있다. 즉, 디지털 필터(211)의 특성은, 전달 특성 IR13'(Z)을 위상 반전한 것에, IR14'(Z)의 역 필터의 특성을 가한 특성으로 함으로써 실현 가능하게 된다. 그리고, 이와 같이 디지털 필터(211)의 필터 계수를 설정함으로써, 차동 증폭 회로(209)에서 경로M을 전달하는 신호를, 경로N을 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(265)에 음성 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 39에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR13'(Z)을 취득하고, 이 IR13'(Z)을 위상 반전한 것에, IR14'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR13'(Z)을 취득하고, 이 IR13'(Z)을 위상 반전한 것에, IR14'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 이 디지털 필터(211)의 특성을, 전달 특성 IR13'(Z)을 위상 반전한 것에, IR14'(Z)의 역 필터의 특성을 가한 특성으로 하는 처리는, 제6 실시 형태와 마찬가지의 처리를 행함으로써 가능하게 된다.
또한, 경로M의 임펄스 응답 IR13'(Z)을 FIR 필터(286)(도 29)의 필터 계수로 설정하고, 경로N의 임펄스 응답 IR14'(Z)를 FIR 필터(285)(도 29)의 필터 계수로 설정하여, 제7 실시 형태와 마찬가지의 처리를 행함으로써, 디지털 필터(211)의 필터 계수를 설정하는 것도 가능하다.
<<제10 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 40은, 제10 실시 형태를 도시한 도면이다. 도 40은, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로(DSP(264))의 일례를 도시한 블록도이다.
또한, 도 40에 도시한 바와 같이 제10 실시 형태에서의 에코 방지 회로는, 전술한 제8 실시 형태(도 31), 제9 실시 형태(도 33)를 조합한 구성으로 되어 있고, 동일한 구성 요건에 대해서는 동일한 번호를 붙이고 설명을 생략한다.
===디지털 필터(211)의 필터 계수===
도 41 및 도 42를 참조하면서 디지털 필터(211)의 필터 계수에 대하여 상세하게 설명한다. 도 41은, 도 40에 도시한 에코 방지 회로의 경로O, P를 도시한 도면이다. 또한, 도 42는, 경로O에 이어폰 마이크(18)가 포함되는 경우를 도시한 도면이다.
전술한 바와 같이 증폭 회로(206)로부터의 아날로그 신호는, 입출력 단자(207)로부터의 출력뿐만 아니라, 가산 회로(263)에도 입력되는 경우가 있다. 이 경우, 이 아날로그 신호에 의한 에코가 발생하게 된다. 혹은, 입출력 단자(207)로부터 입력되는 음성 신호와 증폭 회로(206)로부터의 아날로그 신호가 중첩되어 가산 회로(263)에 입력됨으로써, 에코가 발생하게 된다. 따라서, 이 에코를 방지하기 위해서 디지털 필터(211)의 필터 계수를 설정한다.
따라서, 도 41 또는 도 42의 파선으로 나타낸 DA 컨버터(267)의 입력으로부터 가산 회로(263)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR15(Z)로 한다. 또한, 도 41 또는 도 42의 일점쇄선으로 나타낸 DA 컨버터(273)의 입력으로부터 반전 증폭 회로(261)의 입력까지의 임펄스 응답(전달 함수)을 IR16_1(Z)로 한다. 또한, 도 41 또는 도 42의 이점쇄선으로 나타낸 반전 증폭 회로(261)의 입력으로부터 가산 회로(263)의 입력 단자까지의 임펄스 응답(전달 함수)을 IR16_2(Z)로 한다. 그리고, IR16(Z)=-IR16_1(Z)·IR16_2(Z)로 한다. 또한, 도 41 또는 도 42의 파선으로 나타낸 가산 회로(263)의 각 입력 단자의 후단으로부터 AD 컨버터(270)의 출력까지의 임펄스 응답(전달 함수)을 W8(Z)로 한다.
지금, 디지털 필터(211)의 필터 계수를 Q(Z)로 한 경우, 가산 회로(263)에서, 증폭 회로(206)로부터의 신호를 이득 위상 조정 회로(275)로부터의 신호로 상쇄하기 위해서는,
IR15(Z)=IR16(Z)·Q(Z)
의 식이 성립하도록 Q(Z)를 설정하게 된다. 즉, Q(Z)는,
Q(Z)=IR15(Z)/IR16(Z)
으로 되도록 설정하면 된다. 그러나, DSP(264)가 취득 가능한 임펄스 응답은, 도 41 또는 도 42의 실선으로 나타낸 경로O의 임펄스 응답(전달 함수) IR15'(Z)(=IR15(Z)·W8(Z))와, 경로(P)의 임펄스 응답(전달 함수) IR16'(Z)(=-IR16_1(Z)·IR16_2(Z)·W8(Z))이다. 또한, IR16_1(Z)이 위상 반전되어 있는 것은, 반전 증폭 회로(261)에서 반전되기 때문이다.
이 경우, 경로O를 전달하는 신호와 경로P를 전달하는 신호가 상호 상쇄되는 것을 가능하게 하는 식은,
-IR15'(Z)=IR16'(Z)·Q(Z)
로 된다. 즉, Q(Z)를,
Q(Z)=-IR15'(Z)/IR16'(Z)
으로 설정하면 되는 것을 알 수 있다. 즉, 디지털 필터(211)의 특성은, 전달 특성 IR15'(Z)를 위상 반전한 것에, IR16'(Z)의 역 필터의 특성을 가한 특성으로 함으로써 실현 가능하게 된다. 그리고, 이와 같이 디지털 필터(211)의 필터 계수를 설정함으로써, 가산 회로(263)에서 경로O를 전달하는 신호를, 경로P를 전달하는 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(265)에 음성 신호가 입력되었을 때의, 전술한 에코를 방지하는 것이 가능하게 된다.
그리고, 도 42에 도시한 바와 같이, 이어폰 마이크(18)가 접속된 상태에서 임펄스 응답 IR15'(Z)를 취득하고, 이 IR15'(Z)를 위상 반전한 것에, IR16'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 임펄스 응답 IR15'(Z)를 취득하고, 이 IR15'(Z)를 위상 반전한 것에, IR16'(Z)의 역 필터의 특성을 가한 필터 계수를 디지털 필터(211)에 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 이 디지털 필터(211)의 특성을, 전달 특성 IR15'(Z)를 위상 반전한 것에, IR16'(Z)의 역 필터의 특성을 가한 특성으로 하는 처리는, 제6 실시 형태와 마찬가지의 처리를 행함으로써 가능하게 된다.
또한, 경로O의 임펄스 응답 IR15'(Z)를 FIR 필터(286)(도 29)의 필터 계수로 설정하고, 경로(P)의 임펄스 응답 IR16'(Z)을 FIR 필터(285)(도 29)의 필터 계수로 설정하여, 제7 실시 형태와 마찬가지의 처리를 행함으로써, 디지털 필터(211)의 필터 계수를 설정하는 것도 가능하다.
<<제11 실시 형태>>
===에코 방지 회로, 디지털 신호 처리 회로의 구성예===
도 43은, 제11 실시 형태를 도시한 도면이다. 도 43은, 에코 방지 회로, 이 에코 방지 회로에 포함되는 디지털 신호 처리 회로(DSP(283))의 일례를 도시한 블록도이다. 또한, 도 43에 도시한 에코 방지 회로에서, 전술한 제6 실시 형태와 동일한 구성 요건에 대해서는, 동일한 번호를 붙이고 설명을 생략한다. 도 44는, 도 43에 도시한 ADF(276)의 상세도이다.
DSP(283)는, 입력 단자(230), ADF(276), 출력 단자(231), 디지털 필터(211), 출력 단자(232), 입력 단자(233), 감산 회로(277), 출력 단자(234)를 갖고 있다.
감산 회로(277)의 + 입력 단자에는, 입력 단자(233)를 통해, AD 컨버터(214)로부터의 디지털 신호가 입력된다. 또한, 감산 회로(277)의 - 입력 단자에는, ADF(276)로부터의 출력 신호가 입력된다. 그리고, 감산 회로(277)는, AD 컨버터 (214)로부터의 디지털 신호와 ADF(276)로부터의 출력 신호를 감산하여 출력한다. 이하, 감산 회로(277)로부터의 출력 신호를 오차 신호라고 한다.
ADF(276)는, 도 44의 파선 내에 도시한 바와 같이, 참조 신호 입출력부(278), 필터 계수부(279), 승산부(280), 필터 계수 갱신부(281), 가산부(282)를 갖고 있다.
참조 신호 입출력부(278)는, 입력 단자(230)를 통해 AD 컨버터(203)로부터의 디지털 신호(이하, 참조 신호 입출력부(278)에 입력되는 디지털 신호를 참조 신호라고 함)가 입력되어, 이 참조 신호를 유지한다. 그리고, 참조 신호 입출력부(278)는, 승산부(280), 필터 계수 갱신부(281)에 대하여 참조 신호를 출력한다.
필터 계수부(279)는, 필터 계수 갱신부(281)로부터의 필터 계수가 입력되고, 이 필터 계수를 유지한다. 그리고, 필터 계수부(279)는, 전술한 참조 신호 입출력부(278)로부터 승산부(280)에의 참조 신호의 출력과 함께, 이 승산부(280)에 대하여 필터 계수를 출력한다. 또한, 필터 계수부(279)는, 필터 계수 갱신부(281)에 대하여 필터 계수를 출력한다.
승산부(280)는, 참조 신호와 필터 계수를 순차적으로 승산한 승산 결과를 가산부(282)에 출력한다.
가산부(282)는, 승산부(280)로부터의 출력 신호를 순차적으로 가산한 결과를 감산 회로(277)에 출력한다.
필터 계수 갱신부(281)에는, 감산 회로(277)로부터의 오차 신호가 입력된다. 그리고, 필터 계수 갱신부(281)는, 오차 신호, 참조 신호, 필터 계수에 기초하여, 예를 들면 LMS 알고리즘이나 NLMS 알고리즘 등의 추정 알고리즘에 의해 필터 계수를 산출하여 필터 계수부(279)에 출력한다. 또한, 이 필터 계수 갱신부(281)에 의한 필터 계수의 산출은, 입력 단자(230)에 디지털 신호가 입력되었을 때의, 감산 회로(277)로부터의 오차 신호의 평균값이 일정 값 이하로 되도록 행하여진다. 또한, 이 일정 값이란, 예를 들면 오차 신호의 평균값이 일정 값 이하로 되었을 때의, DA 컨버터(215)로부터 출력되는 아날로그 신호에 기초하여 발생하는 음성으로부터, 사람이 에코를 청각할 수 없는 레벨로 되도록 정해지는 값이다.
DA 컨버터(215)는, 출력 단자(234)를 통해, 감산 회로(277)로부터의 디지털 신호가 입력된다. 그리고, DA 컨버터(215)는, 디지털 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 출력한다.
===필터 계수부(279)의 필터 계수 갱신===
도 44, 도 45를 참조하면서, 필터 계수부(279)의 필터 계수를 갱신하기 위한 처리 동작의 일례에 대하여 설명한다. 도 45는, 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 처리 동작의 일례를 나타낸 플로우차트이다. 또한, 이하의 설명에서는, 입력 단자(230)에 디지털 신호가 입력된 시각 t에서, 감산 회로(277)의 + 입력 단자에 입력되는 디지털 신호를 Yt, 참조 신호 입출력부(278)에 입력되는 참조 신호를 Xt(={Xt(0), Xt(1), …, Xt(N-1)})로 나타낸다. 또한, 필터 계수부(279)의 필터 계수를 Ht(={Ht(0), Ht(1), …, Ht(N-1)})로 나타낸다. 또한, 필터 계수 갱신부(281)에서 산출되는 필터 계수를 Ht+1(={Ht+1(0), Ht+1(1), …, Ht+1(N-1)})로 나타내어 설명한다. 그리고, i번째의 참조 신호를 Xt(i), 필터 계수를 Ht(i), Ht+1(i)로 나타낸다.
DSP(283)는, 참조 신호 입출력부(278)에 참조 신호 Xt를 입력시키면(S501), 감산 회로(277)의 - 입력 단자에 입력시키는 신호 Y't를 생성하기 위해서, 이하의 처리를 행한다. DSP(283)는, 우선 i=0으로 하여(S502), 참조 신호 입출력부(278)의 Xt(0)과 필터 계수부(279)의 Ht(0)을 각각 승산부(280)에 출력시킨다. 승산부(280)는, Xt(0)과 Ht(0)을 승산한 승산 결과를(S503), 가산부(282)에 출력한다. 가산부(282)는, 승산부(280)로부터의 출력 신호 Xt(0)·Ht(0)과 제로를 가산한다.
다음으로, DSP(283)는, i를 인크리먼트하여 i=i+1=1로 한다(S504). 그리고, DSP(283)는, 승산부(280)의 승산 결과가 Xt(N-1)·Ht(N-1)까지 도달하지 않았기 때문 i≥N이 아니다라고 판별하고(S505·아니오), 참조 신호 입출력부(278)의 Xt(1)과 필터 계수부(279)의 Ht(1)을 각각 승산부(280)에 출력시킨다. 승산부(280)는, Xt(1)과 Ht(1)을 승산한 승산 결과를(S503), 가산부(282)에 출력한다. 가산부(282)는, 승산부(280)로부터의 출력 신호 Xt(1)·Ht(1)과 Xt(0)·Ht(0)을 가산한다. 이와 같이, S503부터 S505의 처리를 i≥N까지 반복함으로써(S505·예), 가산부(282)의 가산 결과는, Y't(=Xt(0)·Ht(0)+…+ Xt(N-1)·Ht(N-1))로 된다. 그리고, 가산부(282)로부터 감산 회로(277)의 - 입력 단자에 Y't가 출력된다(S506).
감산 회로(277)는, + 입력 단자에 입력된 Yt와, - 입력 단자에 입력된 Y't를 감산하여 출력한다(S507). 그리고, 감산 회로(277)로부터의 오차 신호가, 필터 계수 갱신부(281)에 입력된다. 또한, 이 감산 회로(277)로부터의 오차 신호를 Et(=Yt-Y't)로 나타내어 이하 설명한다.
필터 계수 갱신부(281)는, 필터 계수부(279)의 필터 계수를 갱신하기 위해서 이하의 처리를 실행한다. 우선, 필터 계수 갱신부(281)는, Ht+1(0)을 산출하기 위해서 i=0으로 한다(S508). Ht+1(0)은, 소정 상수인 스텝 게인을 α, 참조 신호 Xt의 놈(즉, 제곱합)을 ∥Xt∥2으로 하면,
Ht+1(0)=Ht(0)+(α·Et·Xt(0))/∥Xt∥2
으로 된다. 그 때문에, 필터 계수 갱신부(281)가, 참조 신호 입출력부(278)로부터의 Xt(0), 필터 계수부(279)로부터의 Ht(0), 감산 회로(277)로부터의 Et에 기초하여, 상기 식을 연산함으로써, Ht+1(0)이 산출된다(S509). 다음으로, 필터 계수 갱신부(281)는, Ht+1(1)을 산출하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S510). 그리고, 필터 계수 갱신부(281)는, 산출한 필터 계수가 Ht+1(N-1)에 도달하지 않았기 때문에 i≥N이 아니다라고 판별한다(S511·아니오). 그리고 전술한 바와 마찬가지로, Ht+1(1)은,
Ht+1(1)=Ht(1)+(α·Et·Xt(1))/∥Xt∥2
으로부터 산출된다. 이와 같이, S509부터 S511의 처리를 i≥N까지 반복함으로써(S511·예), Ht+1(={Ht+1(0), …, Ht+1(N-1)})이 산출되게 된다. 그리고, 필터 계수 갱신부(281)는, 필터 계수부(279)의 필터 계수 Ht(={Ht(0), …, Ht(N-1)})를 Ht+1(={Ht+1(0), …, Ht+1(N-1)})로 갱신하기 위해서, 이 Ht+1을 필터 계수부(279)에 출력한다.
DSP(283)는, 우선 필터 계수부(279)의 Ht(0)을 Ht+1(0)으로 갱신하기 위해서 i=0으로 한다(S512). 그 결과, 필터 계수부(279)의 Ht(0)이 Ht+1(0)으로 갱신된다(S513). 다음으로, DSP(283)는, Ht(1)을 Ht+1(1)로 갱신하기 위해서 i를 인크리먼트하여 i=i+1=1로 한다(S514). 그리고, DSP(283)는, Ht(N-1)이 Ht+1(N-1)로 아직 갱신되어 있지 않기 때문에 N≥i가 아니다라고 판별한다(S515·아니오). 그리고, DSP(283)는, Ht(1)을 Ht+1(1)로 갱신한다(S513). 이와 같이, S513부터 S515의 처리를 N≥i까지 반복함으로써(S515·예), 필터 계수부(279)의 필터 계수 Ht(={Ht(0), …, Ht(N-1)})가 Ht+1(={Ht+1(0), …, Ht+1(N-1)})로 갱신된다.
그리고, 다시 전술한 S502부터 S505의 처리가 행하여진다. 그 결과, 필터 계수 Ht+1(={Ht+1(0), …, Ht+1(N-1)})에 기초한 출력 신호 Y't가, 가산부(282)로부터 감산 회로(277)의 - 입력 단자에 입력된다.
이와 같이, 감산 회로(277)로부터의 오차 신호에 기초하여, 필터 계수부(279)의 필터 계수를, 이 오차 신호가 반영된 필터 계수로 갱신하는 것이 가능하게 된다. 그리고, 이 처리를 반복함으로써, 입력 단자(230)에 디지털 신호가 입력되었을 때의, 감산 회로(277)로부터의 오차 신호의 평균값을 일정 값 이하로 하는 것이 가능하게 된다. 즉, 에코를 방지하는 것이 가능하게 된다. 또한, 필터 계수부(279)의 필터 계수를 갱신하는 알고리즘은, 이에 한정되는 것은 아니다. 전술한 바와 같이 LMS 알고리즘이나 NLMS 알고리즘 등의 주지 기술인 추정 알고리즘을 이용하는 것이 가능하다. 또한, 예를 들면 일본 특개2002-246880호의 기재에 의한 처리로 필터 계수부(279)의 필터 계수를 갱신하는 것도 가능하다.
또한, 전술한 실시 형태에 따르면, 전술한 처리에 대하여 하드웨어(예를 들면 감산 회로(277), 승산부(280) 등)를 이용하여 설명했지만, 이에 한정되는 것은 아니다. 예를 들면, 전술한 처리를 프로그램 데이터로서 ROM 등에 미리 기억시켜 두고, DSP(83)가 구비하는 프로세서가 이 프로그램 데이터를 판독하여 처리하는 것도 가능하다.
또한, 본 실시 형태에서의 디지털 필터(211)의 필터 계수는, 전술한 제6 실시 형태∼제10 실시 형태와 마찬가지의 처리를 행함으로써 설정하는 것이 가능하다. 그리고, 이어폰 마이크(18)가 접속된 상태에서 취득된 임펄스 응답에 기초하여 FIR 필터(211)의 필터 계수를 설정함으로써, 차동 증폭 회로(209)에서 이어폰 마이크(18)의 전달 특성에 부합한 더 효과적인 에코의 제거를 행할 수 있다. 그 결과, 감산 회로(277)로부터의 오차 신호가 작아져서, 필터 계수부(279)의 필터 계수 갱신 처리의 반복 횟수를 삭감할 수 있다. 즉, 에코가 캔슬되기까지의 시간을 단축하는 것이 가능하게 된다. 또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 취득된 임펄스 응답에 기초하여 FIR 필터(211)의 필터 계수를 설정함으로써, 차동 증폭 회로(209)에서 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 더 효과적인 에코의 제거를 행할 수 있다. 즉, 에코가 캔슬되기까지의 시간을 더욱 단축하는 것이 가능하게 된다.
또한, 본 실시 형태는, 전술한 제6 실시 형태에 ADF(276), 감산 회로(277)를 설치한 것이지만 이에 한정되는 것은 아니다. 전술한 제7 실시 형태∼제10 실시 형태에도 마찬가지로, ADF(276), 감산 회로(277)를 설치하는 것도 가능하다. 상세 하게 설명하면, 제7, 제8 실시 형태에서는, 본 실시 형태와 마찬가지로 ADF(276), 감산 회로(277)를 설치한다. 또한, 제9, 제10 실시 형태에서는, 감산 회로(277)를 AD 컨버터(270), DA 컨버터(271) 사이에 설치한다. 그리고, 감산 회로(277), DA 컨버터(271) 사이의 신호선에 나타나는 오차 신호를 ADF(276)에 입력시키고, AD 컨버터(266)로부터의 디지털 신호를 참조 신호로서 ADF(276)에 입력되도록 설치한다.
그리고, 예를 들면 임펄스 응답의 측정 오차 등에 의해, 차동 증폭 회로(209)(가산 회로(263))에서 경로I를 전달하는 신호를, 경로J를 전달하는 신호로 상쇄했을 때의 결과가, 에코를 충분히 방지할 수 없는 레벨로 되는 경우가 있다. 이 경우, 전술한 제11 실시 형태에 따르면, 감산 회로(277)에서 차동 증폭 회로(209)(가산 회로(263))로부터의 출력을, 가산부(282)로부터의 출력 신호 Y't로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(230(265))에 디지털 신호(음성 신호)가 입력되었을 때의, 전술한 에코를 더 확실하게 방지하는 것이 가능하게 된다.
<<에코 방지 회로, 디지털 신호 처리 회로의 에코 방지 적용예>>
도 1, 도 2, 도 5, 도 6, 도 46, 도 47을 참조하면서, 본 발명에 따른 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로의 적용 예에 대하여 설명한다. 또한, 본 실시 형태에서는, 예를 들면 제1 실시 형태에서의 에코 방지 회로, 이 에코 방지에 포함되는 디지털 신호 처리 회로(DSP(2))를, 만약 도 46에 도시한 휴대 전화기(19)에 적용한 경우에서의 구성 및 동작에 대하여 설명한다. 도 46은, 본 발명에 따른 에코 방지 회로(41)가 적용되는 휴대 전화기(19)의 모식도이다. 도 47는, 도 46에 도시한 휴대 전화기(19)의 구성의 일례를 도시한 블록도이다. 또한, 휴대 전화기(19)에는, 도 46, 도 47에 도시한 바와 같이 이어폰 마이크(18)가 접속되어 있다. 이 이어폰 마이크(18)는, 휴대 전화기(19)가 수신한 음성 신호에 기초하여, 진동판(도시 생략)를 진동시킴으로써 음성을 발생하는 스피커 기능을 갖는다. 또한, 이어폰 마이크(18)는, 이 이어폰 마이크(18)를 장착하고 있는 사람이 음성을 발했을 때의 고막의 진동을 진동판의 진동으로 바꿈으로써 음성 신호를 생성하여 출력하는 마이크 기능도 갖는 것이다. 또한, 이 이어폰 마이크(18)는 주지의 기술이며, 예를 들면 일본 특허 공개 2003-9272호 등에 기재되어 있다. 또한, 이어폰 마이크(18)와 휴대 전화기(19)는 접속되어 유선 통신하도록 설치되어 있지만, 무선 통신(HomeRF(Radio Frequency) 등)하도록 설치하여도 된다.
휴대 전화기(19)는, 안테나(20), RF(Radio Frequency)부(21), 베이스 밴드 처리부(22), CPU(24), 표시부(23), 입력부(25), AD 컨버터(26), DA 컨버터(27), 마이크(28), 스피커(29), 에코 방지 회로(41)를 갖는다. 또한, 도 47에 도시한 휴대 전화기(19)의 구성은 일례이며, 에코 방지 회로(41), 디지털 신호 처리 회로(DSP(2))가 적용되는 휴대 전화기는, 이들 구성으로 이루어진 휴대 전화기에 한정되는 것은 아니다.
안테나(20)는 휴대 전화기(19)에 대하여 송신되는 음성 신호를 수신한다. 또한, 안테나(20)는, RF부(21)로부터의 음성 신호를 송신한다.
RF부(21)는, 안테나(20)가 수신한 음성 신호 중, 소정 주파수 대역의 음성 신호에 대한 복조 처리 등의 디코드 처리를 행한다. 또한, RF부(21)는, 베이스 밴 드 처리부(22)로부터의 음성 신호에 대한 변조 처리, 예를 들면 TDMA 방식(Time Division Multiplex Access)에 의한 인코드 처리 등을 행한다.
베이스 밴드 처리부(22)는, RF부(21)에서 베이스 밴드 신호까지 복조된 음성 신호에 대하여 소정의 신호 처리를 실시하여, CPU(1)에 출력한다. 또한, 베이스 밴드 처리부(22)는, CPU(1)로부터의 음성 신호에 대하여 소정의 신호 처리를 실시하여 RF부(21)에 출력한다.
CPU(24)는, 휴대 전화기(19)를 통괄 제어한다. CPU(24)는, 베이스 밴드 처리부(22)로부터의 음성 신호에 따른 음성을 스피커(29) 혹은 이어폰 마이크(18)에서 재생하기 위해서, 이 음성 신호를 DA 컨버터(27)에 출력한다. 또한, CPU(24)는, AD 컨버터(26)로부터의, 마이크(28) 혹은 이어폰 마이크(18)로부터의 음성 신호를 베이스 밴드 처리부(22)에 출력한다. 또한, CPU(24)는, 예를 들면 휴대 전화기(19)가 패킷 통신을 행하고 있는 경우, 수신한 패킷 데이터에 기초한 화상을 표시하기 위해서 표시부(23)에 신호를 출력한다. 또한, CPU(24)는, 입력부(25)에서 입력된 입력 데이터를 표시부(23)에 표시시키거나, 패킷 통신에 의해 이 입력 데이터를 송신하기 위해서 소정의 처리를 실시하여, 베이스 밴드 처리부(22)에 출력한다.
AD 컨버터(26)는, 마이크(28) 혹은 이어폰 마이크(18)로부터의 음성 신호에 대하여 아날로그·디지털 변환 처리한 디지털 신호를 CPU(24)에 출력한다. DA 컨버터(27)는, CPU(24)로부터의 음성 신호에 대하여 디지털·아날로그 변환 처리한 아날로그 신호를 스피커(29) 혹은 에코 방지 회로(41)에 출력한다. 또한, 본 실시 형태에서는, 이어폰 마이크(18)가 휴대 전화기(19)에 접속되어 있는 경우, DA 컨버터(27)로부터의 아날로그 신호는 에코 방지 회로(41)에 입력되는 것으로서 이하 설명한다.
다음으로, 에코 방지 회로(41)의 동작에 대하여 설명한다. 또한, 본 적용 예에서는, 제1 실시 형태에서 설명한 바와 같은 FIR 필터(4, 11)의 필터 계수의 설정이 이미 실시되어 있는 것으로서 이하 설명한다.
안테나(20)가 수신한 음성 신호는, 휴대 전화기(19)의 각 구성에 의한 전술한 처리가 행해져 DA 컨버터(27)로부터 에코 방지 회로(41)의 AD 컨버터(3)에 출력된다.
AD 컨버터(3)에 입력된 음성 신호는, 이 AD 컨버터(3)에서 아날로그·디지털 신호 처리가 실시되어 디지털 신호로 되고, 입력 단자(30)를 통해, FIR 필터(4, 11)에 입력된다. 그 결과, AD 컨버터(3)로부터의 디지털 신호는, FIR 필터(4, 11)를 구성하는 디지털 신호용 메모리(42, 54)에 입력되게 된다.
이하, 우선 FIR 필터(4)에 입력되는 디지털 신호에 대하여 설명한다. 디지털 신호용 메모리(54)에 입력된 디지털 신호(Xn으로 나타냄)는, 레지스터0∼N-1에 순차적으로 입력됨으로써, 1샘플링 주기 단위씩 지연된다. 그리고, DSP(2)가 스위치 회로(60O)를 레지스터0으로부터 순차적으로 절환함으로써, 디지털 신호용 메모리(54)로부터의 디지털 신호 Xn∼Xn-(N-1)이, 승산 회로(51)에 순차적으로 입력된다. 또한, DSP(2)가 스위치 회로(60P)를 어드레스0으로부터 순차적으로 절환함으로써, 필터 계수 저장 메모리(56)에 기억된 위상 반전된 임펄스 응답 imp(0)∼ imp(N-1)(=-IR2'(Z))이, 승산 회로(51)에 순차적으로 입력된다. 승산 회로(51)는, 순차적으로 입력되는 디지털 신호 Xn∼Xn-(N-1)과 위상 반전된 임펄스 응답 imp(0)∼imp(N-1)을 순차적으로 승산한 승산 결과를 ADD(52)에 출력한다.
ADD(52)에 입력된 승산 회로(51)의 승산 결과는, ACC(53)에 기억되어 있는 전회의 ADD(52)의 가산 결과와 가산되어, 이 ACC(53)에 출력된다. 그 결과, 필터 계수 저장 메모리(56)에 기억되어 있는 위상 반전된 임펄스 응답 imp(0)∼imp(N-1)과 디지털 신호 Xn∼Xn-(N-1)의 컨볼루션 연산이, FIR 필터(4)에서 실시된 것으로 된다. 즉, 후술하는 FIR 필터(11)로부터의 출력 신호와 차동 증폭 회로(9)에서 상호 상쇄하는 신호가 FIR 필터(4)로부터 출력되게 된다.
FIR 필터(4)로부터 출력되는 출력 신호는, 출력 단자(31)를 통해 DA 컨버터(5)에 입력된다. 그리고, 출력 신호는, DA 컨버터(5)에서 디지털·아날로그 변환 처리가 실시되어 아날로그 신호로 되어 증폭 회로(6)에 입력된다. 증폭 회로(6)에 입력된 아날로그 신호는, 소정의 증폭률로 증폭되어 출력된다. 증폭 회로(6)로부터의 아날로그 신호는, 입출력 단자(7)를 통해 이어폰 마이크(18)에 출력된다. 그 결과, 이어폰 마이크(18)의 스피커 기능에 의해, 진동판이 진동하여 음성이 발생한다. 그러나, 증폭 회로(6)로부터의 아날로그 신호가 차동 증폭 회로(9)의 + 입력 단자에 입력되는 경우가 있다. 이 차동 증폭 회로(9)의 + 단자에 입력되는 아날로그 신호를 상쇄하기 위해서 이하의 처리가 이루어진다.
FIR 필터(11)의 디지털 신호용 메모리(42)에 입력되는 디지털 신호는, 전술한 바와 같이 FIR 필터(4)와 마찬가지로, 레지스터0∼N-1에 입력됨으로써, 1샘플링 주기 단위씩 지연된다. 그리고, DSP(2)가 스위치 회로(60M)를 레지스터0으로부터 순차적으로 절환함으로써, 디지털 신호용 메모리(42)로부터의 디지털 신호 Xn∼Xn-(N-1)이, 승산 회로(51)에 순차적으로 입력된다. 또한, DSP(2)가 스위치 회로(60N)를 어드레스0으로부터 순차적으로 절환함으로써, 필터 계수 저장 메모리(47)에 기억된 임펄스 응답 imp(0)∼imp(N-1)((=IR1'(Z))이, 승산 회로(51)에 순차적으로 입력된다. 승산 회로(51)는, 순차적으로 입력되는 디지털 신호 Xn∼Xn-(N-1)과 임펄스 응답 imp(0)∼imp(N-1)을 순차적으로 승산한 승산 결과를 ADD(52)에 출력한다.
ADD(52)에 입력된 승산 회로(51)의 승산 결과는, ACC(53)에 기억되어 있는 전회의 ADD(52)의 가산 결과와 가산되어, 이 ACC(53)에 출력된다. 그 결과, 필터 계수 저장 메모리(47)에 기억되어 있는 임펄스 응답 imp(0)∼imp(N-1)과 디지털 신호 Xn∼Xn-(N-1)의 컨볼루션 연산이, FIR 필터(11)에서 실시된 것으로 된다. 즉, 전술한 FIR 필터(4)로부터의 출력 신호와 차동 증폭 회로(9)에서 상호 상쇄하는 신호가 FIR 필터(11)로부터 출력되게 된다.
FIR 필터(11)로부터 출력되는 출력 신호는, 출력 단자(32)를 통해 DA 컨버터(12)에 입력된다. 그리고, 출력 신호는, DA 컨버터(12)에서 디지털·아날로그 변환 처리가 행해져 아날로그 신호로 되어 증폭 회로(13)에 입력된다. 증폭 회로(13)에 입력된 아날로그 신호는, 소정의 증폭률로 증폭되어, 차동 증폭 회로(9)의 - 입력 단자에 입력된다.
따라서, 차동 증폭 회로(9)에서, + 입력 단자에 입력된 증폭 회로(6)로부터 의 아날로그 신호를, - 입력 단자에 입력됨으로써 반전되는 증폭 회로(13)로부터의 아날로그 신호로 상쇄하는 것이 가능하게 된다. 그 결과, 입력 단자(30)에 디지털 신호가 입력되었을 때의, 에코를 방지하는 것이 가능하게 된다. 또한, 이어폰 마이크(18)의 마이크 기능에 의한 음성 신호와, 증폭 회로(6)로부터의 아날로그 신호가 중첩되어 차동 증폭 회로(9)의 + 입력 단자에 입력된 경우라도, - 입력 단자에 FIR 필터(11)로부터의 신호가 입력됨으로써, 중첩된 신호로부터 에코의 원인으로 되는 신호분(즉, 증폭 회로(6)로부터의 아날로그 신호)만을 빼는 것이 가능하게 된다.
또한, 전술한 적용예에서는, 제1 실시 형태에서의 에코 방지 회로, 이 에코 방지 회로에 포함되는 디지털 신호 처리 회로를 적용한 경우에 대하여 설명했지만, 이에 한정되는 것은 아니다. 제2 실시 형태∼제11 실시 형태에서 설명한 에코 방지 회로, 이 에코 방지 회로에 포함되어 있는 디지털 신호 처리 회로에서도, 에코를 마찬가지로 방지하는 것이 가능하게 된다.
또한, 전술한 적용예에서는, 에코 방지 회로, 이 에코 방지 회로에 포함되는 디지털 신호 처리 회로를 휴대 전화기(19)에 적용한 경우에 대해 설명했지만 이에 한정되는 것은 아니다. 전술한 에코가 발생할 가능성이 있는 것에 대하여, 본 발명에 따른 에코 방지 회로, 디지털 신호 처리 회로는 적용 가능하다. 예를 들면, IT(Information Technology) 통신 기기(예를 들면 PC(Personal Computer) 등), 통화 기기(전화기, 트랜시버, 차재기 등)에 적용하는 것이 가능하다.
전술한 실시 형태에 따르면, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때, 차동 증폭 회로(9)(또는 가산 회로(63))에서, FIR 필터(4)의 출력 신호와 입출력 단자(7)에 입력된 신호를 합한 신호를, FIR 필터(11)의 출력 신호로 상쇄하는 것이 가능하게 된다. 즉, 이어폰 마이크 사용자가 발성하고 있지 않은 경우에는, 차동 증폭 회로(9)(또는 가산 회로(63))의 출력 신호가 제로로 되도록 FIR 필터(4, 11)의 필터 계수를 설정함으로써 서로 상쇄하는 것이 가능하게 된다. 또한, DSP(2(64,83))의 출력 단자(34(72))로부터 출력되는 출력 신호를, FIR 필터(4)의 출력 신호를 제거 또는 감쇠한 신호로 하는 것이 가능하게 된다. 그 결과, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 에코를 방지하는 것이 가능하게 된다.
또한, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 차동 증폭 회로(9)(또는 가산 회로(63))의 출력 신호를, FIR 필터(4)의 출력 신호만을 제거 또는 감쇠한 신호로 하는 것이 가능하게 된다.
FIR 필터(4, 11)의 필터 계수의 일례로서, FIR 필터(11)의 출력으로부터 차동 증폭 회로(9)(또는 가산 회로(63))의 출력까지의 임펄스 응답을 위상 반전한 것을 FIR 필터(4)의 필터 계수로 설정하고, FIR 필터(4)의 출력으로부터 차동 증폭 회로(9)(또는 가산 회로(63))의 출력까지의 임펄스 응답을 FIR 필터(11)의 필터 계수로 설정하는 것이 가능하게 된다. 또한, FIR 필터(4, 11)의 필터 계수의 일례로서, FIR 필터(11)의 출력으로부터 차동 증폭 회로(9)(또는 가산 회로(63))의 출력까지의 임펄스 응답을 FIR 필터(4)의 필터 계수로 설정하고, FIR 필터(4)의 출력으로부터 차동 증폭 회로(9)(또는 가산 회로(63))의 출력까지의 임펄스 응답을 위상 반전한 것을 FIR 필터(11)의 필터 계수로 설정하는 것으로 하여도 된다. 그 결과, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 에코를 확실하게 방지하는 것이 가능하게 된다.
또한, DA 컨버터(12(73))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답을 위상 반전한 것을 FIR 필터(4)의 필터 계수로 설정하고, DA 컨버터(5(67))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답을 FIR 필터(11)의 필터 계수로 설정하는 것이 가능하게 된다. 또한, DA 컨버터(12(73))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답을 FIR 필터(4)의 필터 계수로 설정하고, DA 컨버터(5(67))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답을 위상 반전한 것을 FIR 필터(11)의 필터 계수로 설정하는 것으로 하여도 된다. 그 결과, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 에코를 확실하게 방지하는 것이 가능하게 된다.
또한, DA 컨버터(12(73))의 입력으로부터 차동 증폭 회로(9)(또는 가산 회로(63))의 입력까지의 임펄스 응답과, 차동 증폭 회로(9)(또는 가산 회로(63))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답의 곱(컨볼루션)을 위상 반전한 것을 FIR 필터(4)의 필터 계수로 설정하고, DA 컨버터(5(67))의 입력으로부터 차동 증폭 회로(9)(가산 회로(63))의 입력까지의 임펄스 응답과, 차동 증폭 회로(9)(또는 가산 회로(63))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답의 곱(컨볼루션)을 FIR 필터(11)의 필터 계수로 설정하는 것이 가능하게 된다. 또한, DA 컨버터(12(73))의 입력으로부터 차동 증폭 회로(9)(또는 가산 회로 (63))의 입력까지의 임펄스 응답과, 차동 증폭 회로(9)(또는 가산 회로(63))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답의 곱(컨볼루션)을 FIR 필터(4)의 필터 계수로 설정하고, DA 컨버터(5(67))의 입력으로부터 차동 증폭 회로(9)(가산 회로(63))의 입력까지의 임펄스 응답과, 차동 증폭 회로(9)(또는 가산 회로(63))의 입력으로부터 AD 컨버터(14(70))의 출력까지의 임펄스 응답의 곱(컨볼루션)을 위상 반전한 것을 FIR 필터(11)의 필터 계수로 설정하는 것으로 하여도 된다. 그 결과, 차동 증폭 회로(9)(또는 가산 회로(63))와 AD 컨버터(14(70)) 사이에 설치된 증폭 회로(10)의 특성을 포함한 필터 계수를 FIR 필터(4, 11)에 설정하는 것이 가능하게 된다. 따라서, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 에코를 더 확실하게 방지하는 것이 가능하게 된다.
그리고, 이어폰 마이크(18)가 접속된 상태에서 취득된 임펄스 응답에 기초하여 FIR 필터(11)의 필터 계수를 설정함으로써, 이어폰 마이크(18)의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 접속된 이어폰 마이크(18)를, 귓구멍에 삽입하거나, 귓바퀴를 덮거나 함으로써 귀에 장착한 상태에서 취득된 임펄스 응답에 기초하여 FIR 필터(11)의 필터 계수를 설정함으로써, 이어폰 마이크(18)의 전달 특성 및 사용자의 귓속의 전달 특성에 부합한 효과적인 에코 방지가 가능하게 된다.
또한, 에코 방지 회로를 구성하는 임펄스 응답 저장 메모리(43, 55), 레지스터(50, 57), 스위치 회로(60G∼60I, 60I∼60L), 승산 회로(58)에 의해서 FIR 필터(4, 11)의 필터 계수를 확실하게 설정하는 것이 가능하게 된다.
또한, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 증폭 회로(6)로부터의 아날로그 신호와 FIR 필터(11)로부터의 출력 신호를 차동 증폭 회로(9)에서 확실하게 감산하는 것이 가능하게 된다.
또한, 입력 단자(30(65))에 디지털 신호(음성 신호)가 입력되었을 때의, 증폭 회로(6)로부터의 아날로그 신호와 FIR 필터(11)로부터의 출력 신호를, 반전 증폭 회로(61), 이득 위상 조정 회로(75)를 통해 가산 회로(63)에서 확실하게 감산하는 것이 가능하게 된다.
또한, 전술한 에코 방지 회로 및 디지털 신호 처리 회로(DSP(2, 64, 83))의 동작을 제어하기 위한 프로그램을 메모리에 기억시켜 제공하는 것도 가능하다.
또한, 전술한 실시 형태에 따르면, 차동 증폭 회로(9), 가산 회로(63)를 이용하여 경로A(C, E, G)를 전달하는 신호와, 경로B(D, F, H))를 전달하는 신호를 상쇄하고 있지만 이에 한정되는 것은 아니다. 경로A(C, E, G)의 임펄스 응답 IR1'(Z)(IR3'(Z), IR5'(Z), IR7'(Z))과, 경로B(D, F, H)의 임펄스 응답 IR2'(Z)(IR4'(Z), IR6'(Z), IR8'(Z))가 서로 상쇄되는 아날로그 회로이면 된다.
이상, 본 발명에 따른 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 디지털 신호 처리 회로의 필터 계수 설정 방법, 에코 방지 회로의 필터 계수를 설정하기 위한 프로그램, 디지털 신호 처리 회로의 필터 계수를 설정하기 위한 프로그램에 대하여 설명했지만, 상기 설명은, 본 발명의 이해를 용이하게 하기 위한 것으로서, 본 발명을 한정하는 것은 아니다. 본 발명은, 그 취지를 일탈하지 않고, 변경, 개량될 수 있다.
본 발명에 따르면, 효과적으로 에코를 방지하는 것이 가능한 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 디지털 신호 처리 회로의 필터 계수 설정 방법, 에코 방지 회로의 필터 계수를 설정하기 위한 프로그램, 디지털 신호 처리 회로의 필터 계수를 설정하기 위한 프로그램을 제공하는 것이 가능하게 된다.

Claims (28)

  1. 제1 입력 신호가 입력되는 입력 단자와,
    상기 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와,
    상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와,
    상기 제1 FIR 필터의 출력 신호가 출력되거나 또는 제2 입력 신호가 입력되는 입출력 단자와,
    상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호로부터, 상기 제2 FIR 필터의 출력 신호를 감산하는 제1 감산 회로와,
    상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와,
    상기 제1 감산 회로의 출력 신호로부터 상기 적응 디지털 필터의 출력 신호를 감산하는 제2 감산 회로와,
    상기 제2 감산 회로의 출력 신호가 출력되는 출력 단자
    를 구비하고,
    상기 적응 디지털 필터는, 상기 제2 감산 회로의 출력 신호에 기초하여, 상기 출력 단자로부터의 출력 신호가 상기 제1 감산 회로의 출력 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 하는 에코 방지 회로.
  2. 제1항에 있어서,
    상기 제1 FIR 필터 및 상기 제2 FIR 필터는, 제1 입력 신호가 상기 입력 단자에 입력되었을 때의, 상기 제1 감산 회로로부터의 출력 신호가 상기 제1 FIR 필터의 출력 신호만을 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 하는 에코 방지 회로.
  3. 제2항에 있어서,
    상기 제2 FIR 필터의 필터 계수는, 상기 제1 FIR 필터의 출력으로부터 상기 제1 감산 회로의 출력까지의 제1 임펄스 응답이고,
    상기 제1 FIR 필터의 필터 계수는, 상기 제2 FIR 필터의 출력으로부터 상기 제1 감산 회로의 출력까지의 제2 임펄스 응답을 위상 반전한 것인 것을 특징으로 하는 에코 방지 회로.
  4. 제2항에 있어서,
    상기 제2 FIR 필터의 필터 계수는, 상기 제1 FIR 필터의 출력으로부터 상기 제1 감산 회로의 출력까지의 제1 임펄스 응답을 위상 반전한 것이고,
    상기 제1 FIR 필터의 필터 계수는, 상기 제2 FIR 필터의 출력으로부터 상기 제1 감산 회로의 출력까지의 제2 임펄스 응답인 것을 특징으로 하는 에코 방지 회로.
  5. 제3항 또는 제4항에 있어서,
    상기 입출력 단자로부터 출력되는 상기 제1 FIR 필터의 출력 신호는, 이 출력된 출력 신호를 음성으로 변환하여 출력함과 함께, 입력되는 음성을 상기 제2 입력 신호로 변환하여 출력하는 이어폰 마이크에 의해 반사되어 상기 입출력 단자에 입력 가능하고,
    상기 제1 임펄스 응답은, 상기 이어폰 마이크가 상기 입출력 단자에 접속된 상태에서의, 상기 제1 FIR 필터의 출력으로부터 상기 이어폰 마이크를 경유하여 상기 제1 감산 회로의 출력까지의 임펄스 응답인 것을 특징으로 하는 에코 방지 회로.
  6. 제3항 또는 제4항에 있어서,
    상기 제1 FIR 필터의 출력 신호를 디지털·아날로그 변환하는 제1 DA 컨버터와,
    상기 제2 FIR 필터의 출력 신호를 디지털·아날로그 변환하는 제2 DA 컨버터와,
    상기 제1 감산 회로의 출력 신호를 아날로그·디지털 변환하는 AD 컨버터를 구비하고,
    상기 제1 임펄스 응답은, 상기 제1 DA 컨버터로부터 상기 AD 컨버터까지의 임펄스 응답이고,
    상기 제2 임펄스 응답은, 상기 제2 DA 컨버터로부터 상기 AD 컨버터까지의 임펄스 응답인 것을 특징으로 하는 에코 방지 회로.
  7. 제6항에 있어서,
    상기 제1 임펄스 응답은, 상기 제1 DA 컨버터의 출력 신호를 음성으로 변환하여 출력함과 함께, 입력되는 음성을 상기 제2 입력 신호로 변환하여 출력하는 이어폰 마이크가 상기 입출력 단자에 접속된 상태에서의, 상기 제1 DA 컨버터로부터 상기 이어폰 마이크를 경유하여 상기 AD 컨버터까지의 임펄스 응답인 것을 특징으로 하는 에코 방지 회로.
  8. 제6항에 있어서,
    상기 제1 감산 회로의 출력과 상기 AD 컨버터의 입력과의 사이에 상기 제1 감산 회로로부터의 출력 신호를 증폭하는 증폭 회로를 구비하고,
    상기 제1 임펄스 응답은, 상기 제1 DA 컨버터로부터 상기 제1 감산 회로까지의 임펄스 응답 및 상기 제1 감산 회로로부터 상기 AD 컨버터까지의 임펄스 응답의 곱이며,
    상기 제2 임펄스 응답은, 상기 제2 DA 컨버터로부터 상기 제1 감산 회로까지의 임펄스 응답 및 상기 제1 감산 회로로부터 상기 AD 컨버터까지의 임펄스 응답의 곱인 것을 특징으로 하는 에코 방지 회로.
  9. 제8항에 있어서,
    상기 제1 임펄스 응답은, 상기 제1 DA 컨버터의 출력 신호를 음성으로 변환 하여 출력함과 함께, 입력되는 음성을 상기 제2 입력 신호로 변환하여 출력하는 이어폰 마이크가 상기 입출력 단자에 접속된 상태에서의, 상기 제1 DA 컨버터로부터 상기 이어폰 마이크를 경유하여 상기 제1 감산 회로까지의 임펄스 응답 및 상기 제1 감산 회로로부터 상기 AD 컨버터까지의 임펄스 응답의 곱인 것을 특징으로 하는 에코 방지 회로.
  10. 제6항에 있어서,
    상기 제1 임펄스 응답에 기초하여 상기 제2 FIR 필터의 필터 계수를 설정함과 함께, 상기 제2 임펄스 응답에 기초하여 상기 제1 FIR 필터의 필터 계수를 설정하는 필터 계수 설정부를 구비한 것을 특징으로 하는 에코 방지 회로.
  11. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 감산 회로는,
    상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호와, 상기 제2 FIR 필터의 출력 신호가 입력되는 차동 증폭 회로인 것을 특징으로 하는 에코 방지 회로.
  12. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 감산 회로는,
    상기 제2 FIR 필터의 출력 신호를 반전하는 반전 회로와,
    상기 반전 회로의 출력 신호의 이득 및 위상을 조정하는 이득 위상 조정 회로와,
    상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호와, 상기 이득 위상 조정 회로의 출력 신호를 가산하는 가산 회로
    를 갖는 것을 특징으로 하는 에코 방지 회로.
  13. 제5항에 있어서,
    상기 제1 임펄스 응답은, 상기 이어폰 마이크가 귀에 장착된 상태의 것인 것을 특징으로 하는 에코 방지 회로.
  14. 제1 입력 신호가 입력되는 제1 입력 단자와,
    상기 제1 입력 단자로부터의 제1 입력 신호가 입력되는 제1 FIR 필터와,
    상기 제1 입력 신호가 상기 제1 FIR 필터와 함께 입력되는 제2 FIR 필터와,
    상기 제1 FIR 필터의 출력 신호가 출력되는 제1 출력 단자와,
    상기 제2 FIR 필터의 출력 신호가 출력되는 제2 출력 단자와,
    입출력 신호 공용 라인 상에서 상기 제1 출력 단자로부터의 출력 신호와 제2 입력 신호를 합한 신호로부터, 상기 제2 출력 단자로부터의 출력 신호를 감산한 신호가 입력되는 제2 입력 단자와,
    상기 제1 FIR 필터의 출력 신호가 입력되는 적응 디지털 필터와,
    상기 제2 입력 단자의 신호로부터, 상기 적응 디지털 필터의 출력 신호를 감 산하는 감산 회로와,
    상기 감산 회로의 출력 신호가 출력되는 제3 출력 단자
    를 구비하고,
    상기 적응 디지털 필터는, 상기 감산 회로의 출력 신호에 기초하여, 상기 제3 출력 단자로부터의 출력 신호가 상기 감산한 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 하는 디지털 신호 처리 회로.
  15. 제14항에 있어서,
    상기 제1 FIR 필터 및 상기 제2 FIR 필터는, 제1 입력 신호가 상기 제1 입력 단자에 입력되었을 때의, 상기 감산한 신호가 상기 제1 FIR 필터의 출력 신호만을 제거 또는 감쇠한 신호로 되는 필터 계수를 갖는 것을 특징으로 하는 디지털 신호 처리 회로.
  16. 제15항에 있어서,
    상기 제1 FIR 필터의 필터 계수는, 상기 제2 출력 단자로부터 출력된 후의 신호를 디지털·아날로그 변환하는 제2 DA 컨버터로부터, 상기 제2 입력 단자에 입력되기 전의 신호를 아날로그·디지털 변환하는 AD 컨버터까지의 제2 임펄스 응답을 위상 반전한 것이고,
    상기 제2 FIR 필터의 필터 계수는, 상기 제1 출력 단자로부터 출력된 후의 신호를 디지털·아날로그 변환하는 제1 DA 컨버터로부터, 상기 AD 컨버터까지의 제1 임펄스 응답인 것을 특징으로 하는 디지털 신호 처리 회로.
  17. 제15항에 있어서,
    상기 제1 FIR 필터의 필터 계수는, 상기 제2 출력 단자로부터 출력된 후의 신호를 디지털·아날로그 변환하는 제2 DA 컨버터로부터, 상기 제2 입력 단자에 입력되기 전의 신호를 아날로그·디지털 변환하는 AD 컨버터까지의 제2 임펄스 응답이고,
    상기 제2 FIR 필터의 필터 계수는, 상기 제1 출력 단자로부터 출력된 후의 신호를 디지털·아날로그 변환하는 제1 DA 컨버터로부터, 상기 AD 컨버터까지의 제1 임펄스 응답을 위상 반전한 것인 것을 특징으로 하는 디지털 신호 처리 회로.
  18. 제16항 또는 제17항에 있어서,
    상기 제1 임펄스 응답은, 상기 제1 출력 단자로부터 출력된 후의 신호를 디지털·아날로그 변환하는 제1 DA 컨버터로부터, 상기 제1 DA 컨버터의 출력 신호를 음성으로 변환하여 출력함과 함께, 입력되는 음성을 상기 제2 입력 신호로 변환하여 출력하는 이어폰 마이크를 경유하여, 상기 AD 컨버터까지의 임펄스 응답인 것을 특징으로 하는 디지털 신호 처리 회로.
  19. 제16항 또는 제17항에 있어서,
    상기 제1 FIR 필터의 출력 신호를 디지털·아날로그 변환하는 제1 DA 컨버터와,
    상기 제2 FIR 필터의 출력 신호를 디지털·아날로그 변환하는 제2 DA 컨버터와,
    상기 감산한 신호를 아날로그·디지털 변환하는 AD 컨버터
    를 구비하고,
    상기 제1 임펄스 응답은, 상기 제1 DA 컨버터로부터 상기 AD 컨버터까지의 임펄스 응답이며,
    상기 제2 임펄스 응답은, 상기 제2 DA 컨버터로부터 상기 AD 컨버터까지의 임펄스 응답인 것을 특징으로 하는 디지털 신호 처리 회로.
  20. 제19항에 있어서,
    상기 제1 임펄스 응답은, 상기 제1 DA 컨버터로부터, 상기 제1 DA 컨버터의 출력 신호를 음성으로 변환하여 출력함과 함께, 입력되는 음성을 상기 제2 입력 신호로 변환하여 출력하는 이어폰 마이크를 경유하여, 상기 AD 컨버터까지의 임펄스 응답인 것을 특징으로 하는 디지털 신호 처리 회로.
  21. 제16항 또는 제17항에 있어서,
    상기 제1 임펄스 응답에 기초하여 상기 제2 FIR 필터의 필터 계수를 설정함과 함께, 상기 제2 임펄스 응답에 기초하여 상기 제1 FIR 필터의 필터 계수를 설정 하는 필터 계수 설정부를 구비한 것을 특징으로 하는 디지털 신호 처리 회로.
  22. 제18항에 있어서,
    상기 제1 임펄스 응답은, 상기 이어폰 마이크가 귀에 장착된 상태의 것인 것을 특징으로 하는 디지털 신호 처리 회로.
  23. 입력 단자에 제1 입력 신호를 입력하는 단계와,
    상기 입력 단자로부터 제1 FIR 필터에 상기 제1 입력 신호를 입력하는 단계와,
    상기 제1 FIR 필터와 함께 제2 FIR 필터에 상기 제1 입력 신호를 입력하는 단계와,
    상기 제1 FIR 필터의 출력 신호를 입출력 단자에 출력하거나 상기 입출력 단자에 제2 입력 신호를 입력하는 단계와,
    상기 제1 FIR 필터의 출력 신호와 상기 제2 입력 신호를 합한 신호로부터, 상기 제2 FIR 필터의 출력 신호를 제1 감산 회로에 의해 감산하는 단계와,
    상기 제1 FIR 필터의 출력 신호를 적응 디지털 필터에 입력하는 단계와,
    상기 제1 감산 회로의 출력 신호로부터 상기 적응 디지털 필터의 출력 신호를 제2 감산 회로에 의해 감산하는 단계와,
    상기 제2 감산 회로의 출력 신호를 출력 단자에 출력하는 단계를 포함하는 에코 방지 회로의 필터 계수 설정 방법으로서,
    상기 적응 디지털 필터에 대하여, 상기 제2 감산 회로의 출력 신호에 기초하여, 상기 출력 단자로부터의 출력 신호가 상기 제1 감산 회로의 출력 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 것을 특징으로 하는 에코 방지 회로의 필터 계수 설정 방법.
  24. 제23항에 있어서,
    상기 제1 FIR 필터 및 상기 제2 FIR 필터에 대하여, 제1 입력 신호가 상기 입력 단자에 입력되었을 때의, 상기 제1 감산 회로로부터의 출력 신호가 상기 제1 FIR 필터의 출력 신호만을 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 것을 특징으로 하는 에코 방지 회로의 필터 계수 설정 방법.
  25. 제1 입력 단자에 제1 입력 신호를 입력하는 단계와,
    상기 제1 입력 단자로부터 제1 FIR 필터에 상기 제1 입력 신호를 입력하는 단계와,
    상기 제1 FIR 필터와 함께 제2 FIR 필터에 상기 제1 입력 신호를 입력하는 단계와,
    상기 제1 FIR 필터의 출력 신호를 제1 출력 단자에 출력하는 단계와,
    상기 제2 FIR 필터의 출력 신호를 제2 출력 단자에 출력하는 단계와,
    입출력 신호 공용 라인 상에서 상기 제1 출력 단자로부터의 출력 신호와 제2 입력 신호를 합한 신호로부터, 상기 제2 출력 단자로부터의 출력 신호를 감산한 신호를 제2 입력 단자에 입력하는 단계와,
    상기 제1 FIR 필터의 출력 신호를 적응 디지털 필터에 입력하는 단계와,
    상기 제2 입력 단자의 신호로부터, 상기 적응 디지털 필터의 출력 신호를 감산 회로에 의해 감산하는 단계와,
    상기 감산 회로의 출력 신호를 제3 출력 단자에 출력하는 단계를 포함하는 디지털 신호 처리 회로의 필터 계수 설정 방법으로서,
    상기 적응 디지털 필터에 대하여, 상기 감산 회로의 출력 신호에 기초하여, 상기 제3 출력 단자로부터의 출력 신호가 상기 감산한 신호로부터 상기 제2 입력 신호 이외의 신호를 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 것을 특징으로 하는 디지털 신호 처리 회로의 필터 계수 설정 방법.
  26. 제25항에 있어서,
    상기 제1 FIR 필터 및 상기 제2 FIR 필터에 대하여, 제1 입력 신호가 상기 제1 입력 단자에 입력되었을 때의, 상기 감산한 신호가 상기 제1 FIR 필터의 출력 신호만을 제거 또는 감쇠한 신호로 되는 필터 계수를 설정하는 것을 특징으로 하는 디지털 신호 처리 회로의 필터 계수 설정 방법.
  27. 삭제
  28. 삭제
KR1020060025996A 2005-03-23 2006-03-22 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법 KR100796910B1 (ko)

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
KR20060103134A KR20060103134A (ko) 2006-09-28
KR100796910B1 true KR100796910B1 (ko) 2008-01-22

Family

ID=37036455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060025996A KR100796910B1 (ko) 2005-03-23 2006-03-22 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법

Country Status (5)

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

Families Citing this family (3)

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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905717A (en) 1995-11-29 1999-05-18 Nec Corporation Echo canceller for a packet signal
JP2001195085A (ja) 1999-11-05 2001-07-19 Alpine Electronics Inc 音声認識用オーディオキャンセル装置
KR20020036542A (ko) * 2000-11-10 2002-05-16 김승범 반향 제거 장치
JP2002232329A (ja) 2001-01-30 2002-08-16 Ricoh Co Ltd エコーキャンセラ
KR20040083109A (ko) * 2003-03-21 2004-10-01 (주)씨앤에스 테크놀로지 간섭신호에 강인한 음향 반향 제거장치
KR20050058988A (ko) * 2003-12-12 2005-06-17 모토로라 인코포레이티드 에코 제거기 회로 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5860835A (ja) * 1981-10-08 1983-04-11 Nippon Telegr & Teleph Corp <Ntt> 反響打消し装置
EP0287742B1 (en) * 1987-04-22 1993-01-13 International Business Machines Corporation Echo cancelling device for data transmission over two-wire line
US5307405A (en) * 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
US5796819A (en) * 1996-07-24 1998-08-18 Ericsson Inc. Echo canceller for non-linear circuits
US5757933A (en) * 1996-12-11 1998-05-26 Micro Ear Technology, Inc. In-the-ear hearing aid with directional microphone system
US6147979A (en) * 1997-08-12 2000-11-14 Lucent Technologies, Inc. System and method for echo cancellation in a communication system
JP3293029B2 (ja) * 1999-08-20 2002-06-17 株式会社マイクロエムズ 通信装置用2線4線変換回路
US6480610B1 (en) * 1999-09-21 2002-11-12 Sonic Innovations, Inc. Subband acoustic feedback cancellation in hearing aids
JP3566158B2 (ja) * 1999-12-07 2004-09-15 三菱電機株式会社 エコーキャンセラ装置
US7245686B2 (en) * 2001-12-17 2007-07-17 Mysticom Ltd. Fast skew detector
US6954530B2 (en) * 2003-07-09 2005-10-11 Utah State University Echo cancellation filter
US20050014535A1 (en) * 2003-07-18 2005-01-20 Pratik Desai System and method for speaker-phone operation in a communications device
US7881483B2 (en) * 2003-11-11 2011-02-01 Matech, Inc. Two-way communications device having a single transducer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905717A (en) 1995-11-29 1999-05-18 Nec Corporation Echo canceller for a packet signal
JP2001195085A (ja) 1999-11-05 2001-07-19 Alpine Electronics Inc 音声認識用オーディオキャンセル装置
KR20020036542A (ko) * 2000-11-10 2002-05-16 김승범 반향 제거 장치
JP2002232329A (ja) 2001-01-30 2002-08-16 Ricoh Co Ltd エコーキャンセラ
KR20040083109A (ko) * 2003-03-21 2004-10-01 (주)씨앤에스 테크놀로지 간섭신호에 강인한 음향 반향 제거장치
KR20050058988A (ko) * 2003-12-12 2005-06-17 모토로라 인코포레이티드 에코 제거기 회로 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
US6404886B1 (en) Method and apparatus for echo cancelling with multiple microphones
US20080219463A1 (en) Acoustic echo cancellation system
KR100864571B1 (ko) 에코 방지 회로, 필터 계수 설정 방법, 및 프로그램이 기록되어 있는 컴퓨터 판독가능 기록 매체
CN103077726A (zh) 用于线性声学回声消除系统的预处理和后处理
KR20070081101A (ko) 필터 계수 설정 장치, 필터 계수 설정 방법, 및 프로그램
KR100796910B1 (ko) 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법
KR100796427B1 (ko) 에코 방지 회로, 디지털 신호 처리 회로, 에코 방지 회로의 필터 계수 설정 방법, 및 디지털 신호 처리 회로의 필터 계수 설정 방법
JP3381112B2 (ja) エコー除去装置
JPS6343451A (ja) 拡声通話回路
KR100828277B1 (ko) 에코 방지 회로 및 디지털 신호 처리 회로
JP4396053B2 (ja) エコー抑圧装置
JPH07121027B2 (ja) 拡声電話機
JP5118099B2 (ja) 側音キャンセル方法および側音キャンセラ
JP2581763B2 (ja) エコーキャンセラ
JPH0342918A (ja) 防側音回路
JPH1041860A (ja) エコーキャンセラ
JPS6251528B2 (ko)
JP2005159941A (ja) エコーキャンセル制御装置および方法
JPS6171727A (ja) エコ−キヤンセラ
JPH0758828A (ja) 電話機のエコー低減装置
JP2002101023A (ja) エコーキャンセラ
JP2002111551A (ja) エコーキャンセラ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee