그들 사이에 상호 인덕터가있는 빼기 센서 출력


12

배경 : 신호를 분석하는 데 사용하는 소프트웨어는 matlab입니다. 두 개의 자기 센서를 사용하여 녹음 된 두 개의 오디오 신호가 있습니다. 하나의 센서 A와 다른 하나의 B를 호출 할 수 있습니다. A와 B는 서로 상호 인덕턴스를 갖습니다.

센서 A와 B가 작동하는 동안 센서 B의 상호 인덕턴스로 인해 센서 A에서 수신 된 정보를 빼고 싶습니다.

matlab (AB)로 작성하여 신호 A에서 신호 B를 빼려고 시도했지만 더 정답입니다. 나는 그것이 단계적으로 변화에서 비롯된 것이라고 생각합니다. 두 트랙의 시작 녹음 시간은 동일하므로 시간 지연이 아니라고 생각합니다.

이론적 으로이 뺄셈 과정을 수행하는 방법을 알고 싶습니다. 매트랩에서 쉽게 구현하는 방법에 대한 팁이 있으면 알고 싶습니다.

도움을 주셔서 감사합니다.

미리 감사드립니다.

아래에는 신호 그래프 그림이 첨부되어 있습니다. 첫 번째 그림에서는 센서 A와 센서 B에서 수신 된 신호를 볼 수 있습니다. 두 번째 그림에서는 센서 A를 빨간색으로, 센서 B를 파란색으로 2.12 : 2.16 범위에서 더 크게 확대했습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


따라서 플롯에서 소스 1에서 소스 2 로의 누화가 많지 않고 2에서 1로만 증가하는 것으로 보입니다. 이미지의 오버레이가 잘못된 것입니까 ( "이것은 소스 2에서 빼야합니다")? 1에서 소스 2를 제거하려고하는 것 같습니다.
Jason R

맞습니다.
user1017064

개별 두 채널의 물결 볼 수 있도록, 2.4 또는 뭔가 지수 2.3에서 포함, 가까운 모두 파형을 플롯 위상 시프트 아이디어를 확인합니다
endolith

답변:


4

그것은 똑 바른 크로스 토크 문제처럼 보입니다. 자기 커플 링이 진폭 및 위상면에서 모든 주파수마다 다르기 때문에 신호를 직접 빼기 만 할 수 없습니다.

두 개의 오디오 신호 xa (t) 및 xb (t)와 두 개의 센서 신호 ya (t) 및 yb (t)가 있다고 가정합니다. 센서 사이에 커플 링이 있으므로 크로스 토크를 얻을 수 있고 주파수 영역에서 쓸 수 있습니다

Ya(w) = Haa(w)*xa(w) + Hba(w)*xb(w)
Yb(w) = Hab(w)*xa(w) + Hbb(w)*xb(w)

여기서 Hxy (w)는 신호 "x"에서 센서 신호 "y"로의 전달 함수입니다. 4 개의 전송 기능은 2x2 매트릭스를 형성하며 원래 신호를 완전히 복구하려면 매트릭스를 반전시키고 수신 된 센서 신호에 반전 된 매트릭스 전송 기능을 적용해야합니다.

크로스 토크가 작기 때문에 간단히 전달 함수 Hba (w)를 측정하고 다음과 같이 빼십시오. 신호 B가 0 일 때 신호 A에서 센서 B로 전달 함수를 측정하십시오.이 전달 함수에서 필터를 작성하십시오 ( 모양에 따라 FIR 또는 IIR). 이제 센서 신호 B의 센서 신호 A에서 필터링 된 버전을 측정하고 뺄 수 있습니다.

yb(t)' = yb(t)-hab(t)**ya(t)

여기서 hab (t)는 크로스 토크 필터의 임펄스 응답이며 ** 컨볼 루션 연산자입니다.

크로스 토크 필터는 특정 센서 커플 링의 주파수 함수로 진폭 및 위상 변이를 나타내며 올바른 신호가 제거되도록합니다.


Hilmar, 저는 matlab을 처음 접했고 답을 구현하려고 할 때 어려움을 겪었습니다. 모든 사람의 도움에 큰 도움이 될 것입니다. 먼저 센서 B가 0 일 때 신호 A를 기록했습니다. 이제 "filter"함수를 호출 할 때 필터에 어떤 인수를 삽입해야합니까? 신호의 시각화가 필요한 경우 위의 질문에서 확인할 수 있습니다. 다시 감사합니다.
user1017064

5

이것은 블라인드 소스 분리 처럼 들립니다 . 일반적으로 혼합 된 후에는 혼합을 해제 할 수 없습니다. 각 레코딩에서 각 소스 중 일부를 사용하여 두 소스에 대해 두 개의 서로 다른 레코딩이있는 경우 독립 컴포넌트 분석 을 사용하여 소스 를 분리 할 수 ​​있습니다.

나는이 여기 파이썬 예 . MATLAB을위한 FastICA 도 있습니다 . 이들이 오디오 신호이고, 자기 적으로 픽업되는 경우, 그들 사이에 뚜렷한 지연이 없을 것입니다. 이 경우 ICA가 잘 작동합니다.


Matlab 용 FastICA는 두 신호를 빼는 데 도움이되지 않았습니다. 결과는 충분하지 않습니다. 위의 의견에서 나는 내가 직면하고있는 상황을 설명 할 수있는 사진에 대한 링크를 첨부했습니다 : bit.ly/rXmVgH. 그건 그렇고 도움을 주셔서 대단히 감사합니다.
user1017064
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.