펄스 밀도 변조

펄스 밀도 변조(Pulse-density modulation, PDM)는 아날로그 신호를 이진 신호로 표현하는 데 사용되는 변조 방식의 한 형태이다. PDM 신호에서 특정 진폭 값은 펄스 부호 변조(PCM)에서와 같이 서로 다른 가중치의 펄스 코드워드로 인코딩되지 않는다. 대신, 펄스의 상대적 밀도가 아날로그 신호의 진폭에 해당한다. 1비트 DAC의 출력은 신호의 PDM 인코딩과 동일하다.

설명
펄스 밀도 변조 비트스트림에서 1은 양극성(+A) 펄스에 해당하고, 0은 음극성(-A) 펄스에 해당한다. 수학적으로 이는 다음과 같이 표현할 수 있다.

 

여기서 x[n]은 양극성 비트스트림(-A 또는 +A)이고, a[n]은 해당 이진 비트스트림(0 또는 1)이다.

모든 1로 구성된 실행은 최대(양) 진폭 값에 해당하고, 모든 0은 최소(음) 진폭 값에 해당하며, 1과 0이 번갈아 나타나는 것은 0 진폭 값에 해당한다. 연속적인 진폭 파형은 양극성 PDM 비트스트림을 로우패스 필터링하여 복구된다.

예시

주기함수의 단일 삼각 사인 함수의 한 표본을 100회 표본화하고 PDM 비트스트림으로 표현하면 다음과 같다.

0101011011110111111111111111111111011111101101101010100100100000010000000000000000000001000010010101
섬네일|none|499px|사인파 한 주기 100개 표본의 PDM 예시. 1은 파란색, 0은 흰색으로 표시되며 사인파와 겹쳐진다.

더 높은 주파수 사인파의 두 주기는 다음과 같이 나타난다.

0101101111111111111101101010010000000000000100010011011101111111111111011010100100000000000000100101
섬네일|none|499px|주파수가 두 배인 사인파 두 주기의 PDM 100개 표본의 두 번째 예시

펄스 밀도 변조에서 1의 밀도가 높으면 사인파의 피크에서 나타나고, 1의 밀도가 낮으면 사인파의 트로프에서 나타난다.

아날로그-디지털 변환

PDM 비트스트림은 1비트 델타-시그마 변조 과정을 통해 아날로그 신호로부터 인코딩된다. 이 과정은 아날로그 신호의 진폭에 따라 1 또는 0을 생성하는 1비트 양자화기를 사용한다. 1 또는 0은 각각 완전히 위로 올라가거나 완전히 아래로 내려간 신호에 해당한다. 실제 세계에서 아날로그 신호가 거의 한 방향으로만 가지 않기 때문에 양자화 오류, 즉 1 또는 0과 그것이 나타내는 실제 진폭 간의 차이가 발생한다. 이 오류는 ΔΣ 처리 루프에서 음의 피드백으로 다시 입력된다. 이 방식으로 모든 오류는 연속적으로 다른 모든 양자화 측정 및 그 오류에 영향을 미친다. 이는 양자화 오류를 평균화하는 효과가 있으며, 동시에 노이즈 셰이핑을 통해 대부분의 양자화 오류를 더 높은 주파수(오디오 신호의 경우 초음파)로 밀어낸다.

PDM-PCM 변환
PDM 신호를 매우 높은 샘플링 속도(예: 일부 PDM 마이크는 1MHz에서 3.25MHz 사이로 샘플링할 수 있음)에서 훨씬 낮은 PCM 샘플링 속도(오디오의 경우 16kHz에서 48kHz 사이일 수 있음)로 변환하려면 다운샘플링이 필요하다.

디지털-아날로그 변환

예를 들어 오디오 주파수 범위와 같은 관심 주파수 구성 요소는 PDM의 매우 높은 샘플링 속도보다 훨씬 낮다. 따라서 PDM 신호를 아날로그 신호로 변환하는 과정은 간단하다. PDM 신호를 로우패스 필터를 통과시키기만 하면 된다. 델타-시그마 변조기가 대부분의 양자화 노이즈를 더 높은 주파수로 밀어냈기 때문에, 로우패스 필터링은 고주파 양자화 노이즈를 제거하면서 관심 있는 저주파 신호를 유지한다.

PWM과의 관계
펄스 폭 변조(PWM)는 스위칭 주파수가 고정되어 있고 하나의 샘플에 해당하는 모든 펄스가 디지털 신호에서 연속적인 PDM의 특수한 경우이다. 아날로그 신호로 복조하는 방법은 동일하지만, 8비트 해상도로 50% 신호를 표현하는 경우 PWM 파형은 128클록 주기 동안 켜지고 나머지 128주기 동안 꺼진다. PDM과 동일한 클록 속도에서는 신호가 매 다른 주기마다 켜고 꺼짐을 반복한다. 로우패스 필터로 얻은 평균은 두 파형 모두 최대 신호 레벨의 50%이지만, PDM 신호는 더 자주 전환된다. 100% 또는 0% 레벨의 경우 신호가 영구적으로 켜지거나 꺼지는 것으로 동일하다.

생물학과의 관계

특히, 동물의 신경계가 감각 및 기타 정보를 표현하는 방법 중 하나는 속도 부호화를 통해 신호의 크기가 감각 뉴런의 발화 속도와 관련된다는 것이다. 직접적인 비유로, 각 신경 이벤트(활동 전위라고 함)는 하나의 비트(펄스)를 나타내며, 뉴런의 발화 속도는 펄스 밀도를 나타낸다.

알고리즘

right|섬네일|300px|이 알고리즘을 사용한 사인파의 펄스 밀도 변조
펄스 밀도 변조의 다음 디지털 모델은 1차 1비트 델타-시그마 변조기의 디지털 모델에서 얻을 수 있다. 이산 시간 도메인에서 신호 을 1차 델타-시그마 변조기의 입력으로, 을 출력으로 간주하자. Z변환이 진폭 시계열 에 적용되어 를 산출한 이산 주파수 도메인에서 델타-시그마 변조기 동작의 출력 는 다음과 같이 표현된다.

 
여기서 는 델타-시그마 변조기의 주파수 도메인 양자화 오류이다.
항을 재배열하면 다음과 같다.

 

계수 는 하이패스 필터를 나타내므로 가 저주파수에서는 출력 에 적게 기여하고 고주파수에서는 많이 기여한다는 것이 명확하다. 이는 델타-시그마 변조기의 노이즈 셰이핑 효과를 보여준다. 즉, 양자화 노이즈가 저주파수에서 고주파수 범위로 "밀려난다".

역 Z변환을 사용하여 이를 이산 시간 도메인에서 델타-시그마 변조기의 입력과 출력을 연결하는 차분 방정식으로 변환할 수 있다.

 

고려해야 할 두 가지 추가 제약 조건이 있다. 첫째, 각 단계에서 출력 샘플 은 "실행 중인" 양자화 오류 을 최소화하도록 선택된다. 둘째, 은 단일 비트로 표현되므로 두 가지 값만 가질 수 있다. 편의를 위해 을 선택하여 다음과 같이 쓸 수 있다.

 
에 대해 풀기 위해 재배열하면 다음과 같다.
 

이것은 최종적으로 입력 샘플 에 대한 출력 샘플 의 공식을 제공한다. 각 샘플의 양자화 오류는 다음 샘플의 입력으로 되먹임된다.

다음 의사 코드는 이 알고리즘을 구현하여 펄스 부호 변조 신호를 PDM 신호로 변환한다.

 // 샘플을 펄스 밀도 변조로 인코딩
 // 1차 시그마-델타 변조기 사용

 함수 pdm(real[0..s] x, real qe = 0) // 초기 실행 오류는 0
 변수 int[0..s] y

 for n from 0 to s do
 qe := qe + x[n]
 if qe > 0 then
 y[n] := 1
 else
 y[n] := −1
 qe := qe - y[n]

 return y, qe // 출력과 실행 오류 반환

응용
PDM은 소니의 슈퍼 오디오 CD(SACD) 형식에서 다이렉트 스트림 디지털이라는 이름으로 사용되는 인코딩이다.

PDM은 또한 일부 MEMS 마이크의 출력이다.

일부 시스템은 PDM 스테레오 오디오를 단일 데이터 와이어를 통해 전송한다. 마스터 클록의 상승 에지는 왼쪽 채널의 비트를 나타내고, 마스터 클록의 하강 에지는 오른쪽 채널의 비트를 나타낸다.

 같이 보기 
 델타 변조
 펄스 부호 변조
 델타-시그마 변조

 각주 

 추가 자료 
 1-비트 A/D 및 D/A 변환기 – 델타 변조, PDM(시그마-델타 변조 또는 SDM으로도 알려짐) 및 펄스 부호 변조(PCM)와의 관계를 논의
 

분류:신호 처리