주파수 영역에서 컨볼 루션 커널을 찾는 방법은 무엇입니까?


12

두 개의 공간 데이터 벡터가 있습니다 (각각 약 2000 요소 길이). 하나는 다른 쪽의 복잡한 버전입니다. 그러한 회선을 생성 할 커널을 결정하려고합니다. 출력 및 입력 벡터의 푸리에 변환 비율의 역 푸리에 변환을 찾아서이 작업을 수행 할 수 있음을 알고 있습니다. 실제로, 내가 이것을 할 때 나는 기대했던 모양을 다소 얻습니다. 그러나 실제로 커널이 약 5 분의 1 (~ 300-400) 만 사용했을 때 커널 벡터는 두 입력 벡터와 차원이 같습니다. 내가 올바른 모양을 얻었지만 잘못된 수의 점이 있다는 사실은 ifft 및 fft 기능을 매우 올바르게 사용하지 않는다고 생각합니다. 내가 실제로 옳은 일을하고 있다면 자연스럽게 이런 일이 발생하는 것처럼 보입니다. 현재 저는 단순히하고 있습니다.

FTInput = fft(in); 
FtOutput = fft(out);
kernel = ifft(FtOutput./FTInput).

이것이 정확하고 출력 벡터를 올바르게 해석하거나 작업을 지나치게 단순화했는지는 나에게 달려 있습니까? 나는 그것이 후자라고 확신합니다. 나는 어디 있는지 확실하지 않습니다.


2
입력 데이터가 컨볼 루션 커널의 길이에 따라 양쪽에 0으로 채워져 있습니까? 그렇지 않으면 정보를 잃어 버려야합니다. 이러한 유물이 원인 일 수 있습니다.
leftaroundabout

답변:


5

신호에 노이즈가 있으면 간단한 푸리에 도메인 분할로 결과에 많은 오류가 발생합니다. 이를 피하는 몇 가지 방법은 소위 듀얼 채널 FFT ( Part 1Part 2 )를 사용하는 것입니다. 또한 적응 형 필터, LMS 또는 NLMS ([Normalized] Least Mean Squares) 필터를 통해 디컨 볼 루션을 제안 할 수 있습니다 . 특히 신호가 긴 경우 CPU주기 측면에서 비용이 많이 들지 않습니다. LMS 적응 형 필터는 노이즈에 매우 강합니다.


그것은 감사의 말을 전했고 내가 알지 못하는 완전히 새로운 유형의 것을 발견했습니다.
Bowler

@Phonon 그 링크가 작동합니까? 이것이 정확히 가입 한 것입니까?
Spacey

@Mohammad : Brüel & Kjær 기술 검토 기사 및 서적에 액세스하기위한 것입니다. 가입은 무료이며 많은 좋은 기사를 이용할 수 있습니다.
Thor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.