small scale channel model에서는 크게 delay spread와 doppler spread 두가지 현상을 바라봄
- delay spread : frequency가 선택적으로 다른 영향을 미칠 것인가, 아니면 모든 주파수 대역에서 똑같은 영향을 미칠 것인가.
- doppler spread : 수신된 신호의 파워 값이 변화되는데 이 변화가 빠르냐 느리냐를 좌우
Delay Spread
무선 이동통신에서는 아래 그림처럼 이동통신 환경에서 reflection, diffraction, scattering의 현상으로 인해 신호가 수신되었을 때 하나의 신호만 오는 것이 아닌, 여러 개의 multi path를 통한 다중 신호가 수신됨.
impulse signal을 예로보면, impulse signal s(t)는 delta(t)라는 신호를 무선 채널을 통해서 전송을 했을 경우 수신단에서 delta(t-tau), 1/2*delta(t--2tau),...의 4개의 impulse 신호를 수신단에서 수신함.
wireless channel을 LTI system이라고 가정하면 impulse signal을 전송했을 때 수신한 신호는 impulse response라고 말할 수 있으며, 이 signal이 impulse를 보냈을 때 수신된 신호이므로, 이것을 impulse response h(t)라고 놓고 h(t)는 아래 그림과 같이 4개의 서로 다른 impulse signal이 서로 다른 delay와 amplitude 값을 가지게 됨
이러한 신호들이 delay되서 들어오면, 신호가 겹치는 부분들이 생기는데 이렇게 현재 수신된 신호가 이전 신호와 서로 겹쳐서 내가 받은 신호가 무엇인지를 판단하기 어렵게 만드는 현상이 바로 Inter symbol interference
delay spread에 비해서 T 값이 작거나 비슷하면(pulse의 폭이 좁으면) ISI에 대한 영향이 심각하고
delay spread에 비해 T 값이 크면(Pulse의 폭이 크면) ISI에 대한 영향이 작을 것임
이를 modulation과 연관짓는다면 아래의 수식의 관계를 가짐
Coherent bandwidth : 시간적으로 말하는 delay spread를 주파수 도메인에서 해석하여 H(f)가 ISI에 심각한 영향을 받지 않도록 하는, 다시말해 채널이 flat한 것으로 간주될 수 있는 주파수 범위의 통계적 측정값
Frequency Flat Fading : 넓은 주파수 영역에 걸쳐서 fading이 나타나는 현상
Frequency Selective Fading : Symbol duration이 좁아서(T가 작아서) 주파수가 선택적으로 영향을 받은 현상
ISI를 극복하기 위해 여러 방법이 있지만 multi-carrier transmission 방법을 알아볼 것임
receiver는 신호를 수신했을 때 scattering, diffraction, reflection의 3가지 요소에 의해 하나의 신호가 아닌, 여러 개의 신호를 수신함. 게다가, 만약 수신자가 계속 움직이고 있다면(mobility 존재) 주변에 있는 환경은 계속해서 변화되어서(Scattering, diffraction, reflection에 의해) 수신된 신호의 세기가 계속해서 달라짐
scattering(산란) : 어떤 매질을 직선 경로로 통과하는 빛, 소리 등의 복사가 하나 이상의 국부적 불균일성에 의해 경로를 벗어나는 현상
diffraction(회절) : 음파나 전파 또는 광파 등이 장애물이나 좁은 틈을 통과할 때, 파동이 그 뒤편까지 전파하는 현상
reflection(반사) : 파동이 다른 두 매질의 경계에서 방향을 바꿔 진행하는 물리 현상
통신공학에서는 이렇게 변화하는 특성들을 wireless channel이라 하여 black box 모델로서 표현
Digital Communications(디지털 통신)
Signal Power
Instantaneous power : 순간에 측정한 파워, 매 시간에 따라 변함
Average power : 시간적으로 average를 취한 power
Mathematical Model of Wireless channels
신호를 받았을 때(r(t)) AWGN을 제거하고, f에 대한 역함수를 취하면 s(t)를 그대로 복원할 수 있지 않을까?
우리의 목적은 무선 채널 모델인 f 함수를 알아내는 것이며, f라는 함수를 알아내는 것이 채널을 예측하는 과정.
채널 모델 Categorization
평균 전력(Average Power)에 따른 채널 모델 상황
Instantaneous Power에 따른 채널 모델 상황
Delay Spread : 무선 전파의 다중경로(Multipath)환경에서 각각 다른 경로를 거치게 된, 첫 번째 수신된 전파와 그 다음 반사되어 오는 수신전파 사이에 지연된 시간
scattering, diffraction, reflection이 있는 환경에서, 신호를 하나 보냈음에도 수신단에서는 N개의 서로 다른 delay를 가진 여러 개의 신호(t, t-τ1, t-τ2...)를 받을 것임
Doppler Spread : 도플러 효과(어떤 파동의 파동원과 관찰자의 상대 속도에 따라 진동수와 파장이 바뀌는 현상) 등에 의해서 주파수 변동/퍼짐/늘려짐을 겪게되는 현상
즉, mobility가 존재하는 node의 속도에 비례해서 변이가 일어남
Average Power와 Instantaneous Power가 모두 고려된 상황에서의 Received Signal Power 그림
궁극적인 목표.
Large scale fading model : average power에 대한 채널 모델
즉, path loss와 shadowing을 모델링하는 것
Small scale fading model : Instantaneous power에 대한 채널 모델
주파수 성분마다 다른 영향을 받느냐에 따라 frequency flat이냐 frequency selective냐를 볼 것이고 추가로 fast fading이나 slow fading이냐를 볼 것인데, 이들을 고려한 모델링.
즉, 받은 신호의 주파수 성분, 다시 말해 주파수대역 마다 다른 영향을 받는다면 frequency selective fading이라고 말을 하고 같은 영향을 받는다면 frequency flat fading이라고 함
앞서, librosa, pyaudio 라이브러리를 활용하여 마이크로부터 audio를 실시간으로 추출, time/frequency domain에서 audio를 분석하는 방법에 대해 살펴보았다. 사물놀이 악기들의 소리를 주파수 Spectrum, Mel Spectrum 등에서 분석해보았으나 각각의 악기들이 가지고 있는 고유한 주파수의 영역이 넓어 분류하기가 어려웠다. 대안으로 사물놀이 공연 전체의 beat/tempo 또는 pitch에 매칭하는 방법을 생각해보았다.
이러한 관점에서 Google의 tensorflow model hub를 살펴보던 중 SPICE(Self-Supervised Pitch Estimation)이라는 모델을 찾았다. SPICE는 monophonic audio의 fundamental frequency를 추정하는 모델, pitch 추정 모델,이다. SPICE는 annotated data가 없을 때 pitch 추정 모델을 훈련하는 방식을 제안하였으며, 사람이 일반적으로 absolute pitch보다 relative pitch를 훨씬 쉽게 추정할 수 있다는 observation에서 영감을 받았다고 한다. (그래서 모델 구조 또한 그 영감을 반영하고 있다.) Deep learning 기반의 Pitch Estimation(예. CREPE) 알고리즘과 다른 점은 Annotated data가 없을 때, 즉 unlabeled data를 다루기 위하여 self-supervised learning 기법을 사용한 점이다.
* Self-supervised learning 기법에 대한 설명은 아래 참조를 확인
SPICE의 간략한 모델 architecture는 아래 그림과 같다. 모델의 Input은 Constant Q Transform으로 변환한 CQT 프레임이다. SPICE의 저자는 Constant Q Transform(CQT)이 다음과 같은 장점이 있다고 하였다.
Indeed, the CQT filter bank computes a wavelet transform [16], and wavelets can be effectively used to represent the class of locally periodic signals.
앞서 말한 바와 같이 저자가 받은 영감을 모델에 그대로 반영하고 있다.
먼저, 2개의 CQT 프레임(pitch가 shifted된 frame과 아닌 frame)이 shared weighted를 갖는 2개의 Encoder에 input으로 넣어진다. Loss는 Encoder의 출력 간 차이가 상대적인 pitch 차이에 비례하도록 설계됐다. 즉, self-supervised learning에서 Pretext task(논문에서는 auxiliary task로 표현)에 해당하는게 바로 이 pitch difference를 추정하는 것이다.
Downstream task는 input 프레임에서 절대 pitch 값을 추정하는 pitch estimation이라고 할 수 있다. 더 상세한 내용은 저자의 논문을 읽어보기를..
Gfeller, Beat, et al. "SPICE: Self-supervised pitch estimation."IEEE/ACM Transactions on Audio, Speech, and Language Processing28 (2020): 1118-1128.
self-supervised learning이란 Labeling 작업에 들어가는 노력 및 비용을 해결할 수 있는 방법 중 하나.
Unlabeled dataset을 input으로 받아 사용자가 정의한 문제(pretext task)를 network가 학습하게 하여 데이터 자체에 대한 이해도를 높이고, pretext task에서 나온 pre-training된 network를 궁극적으로 사용자가 풀고자 하는 문제인 downstream task에 transfer learning 하는 방법