DSP에서 원형 컨볼 루션이 사용되는 이유는 무엇입니까? 선형 컨볼 루션이 아닌 이유는 무엇입니까?
On 11월 29, 2020 by admin-
왜 DSP에서 원형 컨볼 루션을 사용합니까?
-
디지털 처리에 사용하는 주된 확실한 이유는 무엇입니까?
-
왜 원형의 개념이 컨볼 루션이 선형 컨볼 루션보다 더 자주 발생합니까?
댓글
- 모든 답변에 멘션이 포함되어 있음을 알 수 있습니다. FFT로 가장 효율적으로 구현되는 이산 푸리에 변환의. DFT는 기본적으로 전달 된 유한 길이 시퀀스 (원형)를 주기적으로 확장합니다. 원형 회선은 거의 목표 가 아닙니다. 일반적으로 선형 회선 목표입니다.하지만 DFT '의 $ X [k] $와 $ H [k] $를 함께 곱하면 circular 컨볼 루션에 해당합니다. 두 개의 주기적으로 확장 된 시퀀스 인 $ x [n] $ 및 $ h [n] $ 중 DFT에 전달됩니다. 문제는 어떻게 든이를 선형 컨볼 루션으로 만드는 것입니다.
답변
임펄스 응답이있는 개별 시간 LTI 시스템 제공 $ h [n] $ , 모든 입력 $ x [n] $ 에 대한 응답을 컨볼 루션 합계 : $$ y [n] = x [n] \ star h [n] = \ sum_ {k =-\ infty} ^ {\ infty} {h [k] x [nk]} \ tag {1} $$
추가 설명없이 위의 정의는 $ h [n] $ 사이의 선형 컨볼 루션 (비주기 컨볼 루션) span> 및 $ x [n] $ . 달리 명시되지 않는 한 무한 길이의 비 주기적 불연속 시간 시퀀스입니다. 이것은 $ 기간의 두 주기적 시퀀스 사이에있는 원형 회선 과 다릅니다. N $ 이며 단일 기간 동안 계산됩니다.
선형을 계산 할 수 있습니다. Eq.1에 의한 시간 영역 또는 다음 DTFT (discrete-time Fourier transform) 속성을 사용하는 주파수 영역의 회선 : $$ y [n] = x [n] \ star h [n] \ implies Y (e ^ {j \ omega}) = X (e ^ {j \ omega}) H (e ^ {j \ omega}) \ tag {2} $$
DTFT는 $-\ infty $ 에서 $ \ infty $ 는 정의 합계의 한계에 반영됩니다. $$ X (e ^ {j \ omega}) = \ sum_ {n = -\ infty} ^ {\ infty} x [n] e ^ {-j \ omega n} \ tag {3} $$
계산을하고 싶을 때 $ x [n] = a ^ nu [n] $ 및 와 같은 신호에 대한 기호 표현식 사용 $ h [n] = b ^ nu [n] $ , 위에 설명 된대로 시간 또는 주파수 영역에서 결과를 계산할 수 있습니다.
또한 컴퓨터를 사용하여 동일한 결과를 계산하려는 경우 LCCDE 재귀 (IR 시스템의 경우) 또는 직접 유한 컨볼 루션 합계 (FIR 시스템의 경우)를 기반으로하는 시간 도메인 접근 방식을 사용할 수 있습니다. 그러나 주파수 도메인 접근 방식은 “DTFT와 함께 작동하지 않습니다.”주로 신호 수학 시스템 이론을 개발하는 데 사용되는 도구이며 디지털 컴퓨터에는 적합하지 않습니다. ” 변수 $ \ omega $ 가 실제 연속 숫자.
대신 사용되는 것은 pan으로 정의 된 DFT (이산 푸리에 변환)입니다. class = “math-container”> $$ X [k] = X (e ^ {j \ omega}) | _ {\ omega = \ frac {2 \ pi k} {N}} \ tag {4} $$
여기서 $ k = 0,1, …, N-1 $ 및 $ N $ 는 DFT의 길이이며” N 포인트 신호 $ x [n] $ 의 DFT.
Eq.4는 DFT 시퀀스 $ X [k] $ 가 DTFT $ X (e ^ {j \ omega}) $ 는 주기적 함수이므로 DFT $ X [k] $ 는 또한 주기적이지만 $ k = 0 $ 에서 $ N-1 $ 까지의 첫 번째 기간 만 고려합니다.
DFT 시퀀스는 본질적으로 주기적이므로 컨볼 루션 도 주기적 (원형)이됩니다.따라서 비 주기적 신호 간의 선형 컨볼 루션 $ x [n] $ 및 $ y [n] $ 는 I-DTFT 표현식 $$ y [n] = \에 의해 암시됩니다. mathcal {I-DTFT} \ {X (e ^ {j \ omega}) H (e ^ {j \ omega}) \} $$ 대신 두주기 시퀀스 간의 순환 컨볼 루션은 I-DFT 표현식 $$ \ tilde {y} [n] = \ mathcal {에 의해 암시됩니다. I-DFT} \ {X [k] H [k] \} $$
따라서 두 비 주기적 시퀀스 간의 선형 컨볼 루션을 계산하려고한다고 가정하면 $ x [n] $ 및 $ h [n] $ 길이 $ L_x $ 및 $ L_h $ , $ N $ 포인트 DFT 별 주파수 도메인 사용, $ X [k] $ 및 $ H [k] $ , 실제로 신호의 주기적 확장 사이의 순환 회선을 계산해야합니다. $ \ tilde {x} [n] $ 및 $ \ tilde {h} [n] $ 기간 $ N $ .
핵심은 DFT의 적절한 길이 $ N $ 를 선택하는 것입니다.이 길이는 모든 시간 도메인 앨리어싱 시퀀스 $ \ tilde {y} [n] $ , 반환 됨 IDFT 계산 : $$ \ tilde {y} [n] = \ sum_ {r =-\ infty} ^ {\ infty} y [n-rN] \ tag {5 } $$
여기서 $ y [n] $ 는 이론적 역수에 의해 반환되는 선형 컨볼 루션의 결과입니다. DTFT 및 $ \ tilde {y} [n] $ 는 역 DFT가 암시하는 주기적 (원형) 컨볼 루션의 주기적 결과입니다.
신호 중 하나가 무한 길이 인 경우 가능하지 입니다. $ N $ 은 (는) 사실상 불가능한 무한대로 이동하므로 DFT 접근 방식을 사용하여 선형 회선을 계산합니다. DFT를 통한 선형 회선 구현은 다음 단계를 따릅니다.
-
다음 기준에 따라 N 를 선택합니다. $$ N \ geq L_x + L_h -1 $$ 역 신호 $ y [n] $ 의 앨리어스없는 재구성을 보장합니다. $ X [k] H [k]를 통해 계산 된 순환 회선의 DFT $ Y [k] $ 에서 span> $ .
-
N 점 DFT $ X [k] $ 및 $ H [k] $ / $ x [n] $ 및 $ h [n] $ .
-
컴퓨팅 $ Y [k] = X [k ] H [k] $
-
$ Y [k] $ span의 N 점 역 DFT 계산 > 출력을 생성하려면 $ y [n] $
Answer
질문에 대한 답변 :
- 왜 DSP에서 순환 컨볼 루션을 사용합니까?
DSP에서는 일반적으로 유한 길이의 이산 시퀀스를 처리합니다 (연구중인 신호가 무한한 경우에도 한 번에 유한 부분 만 분석 할 수 있습니다. ). 신호 처리와 관련하여 신호를 처리하는 방법은 이산 논리 장치 (즉,이 값이 무한하고 유한 한 양의 메모리, 저장 공간 등을 갖기 때문에 연속 값을 저장할 수없는 장치)에서 구현할 수 있어야합니다. 이것은 이산 시간 시퀀스를 연속 주파수 시퀀스로 변환하는 이산 시간 푸리에 변환 (DTFT)이 하드웨어에서 구현 될 수없는 이유를 설명합니다. 시간의 선형 컨볼 루션은 2 개 시퀀스 DTFT의 곱셈과 동일하지만 DTFT는 하드웨어에서 구현할 수 없으므로 선형 컨볼 루션을 얻는 방법이 아닙니다. 이산 푸리에 변환 (DFT)은 이산 시간 시퀀스를 이산 주파수 시퀀스로 변환하며이 는 그러나 2 개의 시퀀스 DFT를 곱하는 것은 원칙적으로 원형 컨볼 루션과 동일합니다. (시간 시퀀스가 이전에 충분한 0으로 채워진 경우 선형 컨볼 루션을 얻을 수도 있습니다. 아래 설명 참조).2 개의 시퀀스 DFT를 곱하는 것이 선형 컨볼 루션이 아니라 원형과 동일하는 이유는 유한 시간 길이 시퀀스에 대한 DFT가 주기적으로 확장 된 매우 동일한 유한 시간 길이 시퀀스의 이산 푸리에 급수 (DFS)와 동일하기 때문입니다 ( 시간 축에서 무한히 유한 시간 길이 시퀀스) 한 기간 동안 사용됩니다. DFS는 주파수 영역에서도 주기적이므로 선형 컨볼 루션이 적용되지 않습니다 (Oppenheim의 이산 시간 신호 처리 3 판의 8.2.5 및 8.6.5 참조)
- 디지털 처리에 사용하는 주된 확실한 이유는 무엇입니까?
DFT 곱셈으로 얻어지며 DFT는 하드웨어에서 쉽게 구현됩니다. 또한 FFT와 같은 매우 효율적인 알고리즘은 DFT를 계산하기 위해 존재합니다.
- 원형 컨볼 루션의 개념이 선형 컨볼 루션?
그것은 응용 프로그램에 따라 다릅니다. 원형 컨볼 루션은 선형 컨볼 루션을 생성 할 수도 있습니다. 예를 들어, 우리는 길이 N의 신호 A와 길이 N의 신호 B로 작업하고 있습니다 (다른 길이에 대해서도 수행 할 수 있음). 원형 컨볼 루션의 길이는 N입니다. 선형 컨볼 루션을 얻으려면 A와 B 모두 길이가 2 * N-1 이상이 될 때까지 0으로 채워야합니다. 그런 다음 둘 다에 DFT를 적용하고 곱하고 역을 적용합니다. DFT는 선형 컨볼 루션을 제공합니다.
답변
여기에 약간의 직관이 있습니다.
디지털 방식으로 신호를 처리하면 항상 유한 신호를 처리합니다. 이는 유한 한 양의 데이터 포인트에서만 처리 할 수 있기 때문입니다.
그러나 문제는 다음을 사용하여 주파수 영역으로 변환을 수행 할 때입니다. 정의에 따라 DFT는 신호가 유한 할 수 없습니다. 따라서 DFT 연산을 수행 할 때 신호가 주기적이지 않더라도 신호가 유한에서 주기적으로 암묵적으로 변경됩니다.
이것은 신호의 주기성은 순환 방식으로 회선을 사용해야합니다.
답변
DFT / FFT는 유용한 계산 “해머”이지만 모든 변환 기본 벡터는 조리개에서 원형 (정수 주기적)이며주기 함수로 무한 확장 될 수 있으며 일부 사용자는 입력 데이터의 특성과 혼동합니다.
충분한 양만큼 제로 패드를 사용하면 원형 컨볼 루션이 선형 컨볼 루션과 동일한 결과를 생성하지만 순환보다 약간 더 많은 계산 비용이 발생합니다.
답글 남기기