본문 바로가기
반도체 교육/AI 설계를 위한 DSP 회로설계 기초

AI 설계를 위한 DSP 회로설계 기초 - 이론 정리

by smileww 2024. 10. 16.

Verilog HDL을 활용해서 디지털 신호처리의 기초 과정

 

1. 디지털 신호처리의 개요

더보기

디지털 신호처리의 기본 개념

  1. 디지털(Digital): 숫자로 표현된 신호
  2. 디지털 신호: 아날로그 신호(연속적인 신호)를 샘플링과 양자화 과정을 거쳐 디지털 형태로 변환한 것입니다. 예를 들어, 음악이나 음성을 디지털 오디오 파일로 변환하는 과정이 여기에 해당합니다.
  3. 신호처리: 입력된 디지털 신호를 원하는 형태의 출력으로 변환하기 위해 수행하는 일련의 작업입니다. 이는 필터링, 압축, 향상 등을 포함할 수 있습니다.
  4. 디지털 신호처리(Digital Signal Processing, DSP): 신호를 숫자 데이터로 변환하고, 이러한 데이터를 다양한 수학적, 알고리즘적 방법을 통해 처리하여 원하는 결과를 얻는 과정을 말합니다. 이 과정은 신호를 분석하고, 수정하며, 최적화하는 데 사용됩니다. 신호를 원하는 목적에 맞도록 처리하는데 입력신호를 어떻게 처리하여 출력을 생성할 것인지 고민해봐야 합니다.

디지털 신호처리의 구성 요소

  1. 알고리즘: 신호를 처리하는 데 사용되는 수학적 또는 로직 기반의 절차입니다. 예를 들어, 이미지에서 잡음을 제거하거나 오디오 파일의 볼륨을 조절하는 것 등이 여기에 속합니다.
  2. 클럭: 디지털 시스템에서 신호 처리의 타이밍을 결정하는 요소입니다. 클럭은 신호 처리기의 각 단계가 언제 시작될지를 제어합니다. 예를 들어, 고속 카메라가 초당 수천 프레임의 이미지를 처리할 때, 각 프레임의 처리 시작 시점을 클럭이 결정합니다.

적용 분야와 예시

디지털 신호처리는 음향, 영상, 통신, 의료 이미징 등 다양한 분야에서 광범위하게 적용됩니다.

  1. 음향 처리: 공연장의 음향 시스템에서 DSP는 원하지 않는 잡음을 제거하고, 음질을 개선하기 위해 사용됩니다. 예를 들어, 콘서트장의 음향을 클리어하게 만드는 에코 제거 프로세스가 이에 해당합니다.
  2. 영상 처리: 디지털 카메라에서 DSP는 이미지의 색상을 보정하고, 선명도를 향상시키는 데 사용됩니다. 또한, 보안 카메라 시스템에서는 DSP를 사용하여 야간 시야능력을 향상시키거나 움직임을 감지합니다.
  3. 통신: 휴대폰과 같은 통신 기기에서 DSP는 신호의 압축과 복원, 에러 검출 및 수정 등을 처리합니다. 이를 통해 통신 품질을 개선하고 데이터 전송 효율을 증가시킵니다.
  4. 의료 이미징: CT 스캔과 MRI 같은 의료 이미징 기기에서 DSP는 원시 이미지 데이터를 분석하고 처리하여 의사가 해석하기 쉬운 이미지로 변환합니다. 이 과정은 질병의 진단 및 치료 계획 수립에 필수적입니다.

 

ex) 사용할 재료들 리스트, 양 등 과 같은 레시피
ex) 사용하는 Clk를 어떻게 할건지? - 등 알고리즘, 설계사양작성 시간
ex) 적용하고자 하는 분야에 따라 해당분야에 맞는 알고리즘을 수립해야 함.

2. Digital 신호처리의 두 Part

더보기

1. 제어 (Control)

제어 부분은 주로 신호 처리 과정에서 타이밍과 처리 순서를 관리합니다. 이는 신호 처리 알고리즘의 정확성과 효율성을 보장하는 데 필수적입니다.

 

주요 기능:

  • 클럭 관리: 클럭 신호는 디지털 회로에서 모든 연산의 타이밍을 제어합니다. 예를 들어, ADC(Analog to Digital Converter)에서 아날로그 신호를 디지털 신호로 변환할 때 클럭이 샘플링 빈도를 결정합니다.
  • 동기화: 여러 처리 단계 사이에서 데이터의 정확한 타이밍을 맞추는 역할을 합니다. 이는 데이터가 올바른 순서와 시간에 따라 처리되도록 보장합니다.
  • 작업 스케줄링: 복잡한 신호 처리 시스템에서 다양한 작업을 효과적으로 배분하고 실행 순서를 결정합니다.

2. 연산 (Mathematics)

연산 부분은 신호 처리에 필요한 다양한 수학적 연산을 수행합니다. 이는 신호를 분석, 수정, 또는 향상시키는 데 사용되는 알고리즘의 핵심 구성 요소입니다.

 

주요 기능:

  • 필터링: 신호에서 원하지 않는 잡음을 제거하거나 원하는 신호 성분을 강조합니다. 예를 들어, 저주파 또는 고주파 필터를 통해 특정 주파수 대역을 통과시키거나 차단할 수 있습니다.
  • FFT (Fast Fourier Transform): 시간 영역의 신호를 주파수 영역으로 변환하여 신호의 주파수 구성 요소를 분석합니다.
  • 변조 및 복조: 통신에서 신호를 특정 주파수에 맞추어 전송하거나 수신된 신호에서 데이터를 추출하는 과정입니다.

3. 데이터 흐름 (Data Flow)

데이터 흐름은 신호 처리 시스템에서 데이터가 어떻게 이동하고 처리되는지를 설명합니다. 이는 제어 및 연산과 긴밀히 관련되어 있으며, 시스템의 전체적인 효율성과 성능을 결정짓는 요소입니다.

중요성:

  • 데이터 흐름은 처리 속도, 시스템의 복잡성, 그리고 에너지 효율성에 직접적인 영향을 미칩니다.
  • 최적의 데이터 흐름 설계는 처리 지연을 최소화하고, 데이터 처리 과정에서 발생할 수 있는 병목 현상을 방지합니다.

제어와 연산은 디지털 신호처리의 두 축을 형성하며, 이들의 상호 작용은 효율적인 신호 처리 시스템을 구현하는 데 필수적입니다. 각 요소는 특정 신호 처리 목표와 응용 분야에 맞게 조정되고 최적화되어야 합니다.

3. Algorithm을 구현하는 수단

더보기

1. 컴퓨터 (General-purpose computers)

특징:

  • 강력한 소프트웨어 접근: 고급 프로그래밍 언어와 강력한 개발 환경을 사용하여 복잡한 알고리즘을 구현할 수 있습니다.
  • 단점: 크기가 크고, 제품에 직접적으로 통합하기 어렵습니다. 또한, 병렬 처리에 제한이 있어 많은 연산을 필요로 하는 작업에서는 처리 속도가 느릴 수 있습니다.

예시: 연구 개발 환경에서 복잡한 데이터 분석 및 처리 작업을 수행하는 데 주로 사용됩니다.

 

2. 마이크로컨트롤러 / DSP (Microcontrollers/Digital Signal Processors)

특징:

  • 전용 하드웨어: 신호 처리를 위해 특별히 설계된 하드웨어로, 연산 속도와 효율성이 높습니다.
  • 소프트웨어 접근: 프로그래밍 가능하며, 실시간 처리에 적합합니다.

예시: 음성 인식, 이미지 처리 등 실시간 신호 처리가 필요한 소비자 전자 제품에 널리 사용됩니다.

 

3. FPGA (Field-Programmable Gate Array)

특징:

  • 유연성: 사용자가 필요에 따라 프로그래밍 가능하여, 하드웨어 레벨에서의 맞춤형 신호 처리가 가능합니다.
  • 비용: 대량 생산에는 적합하지 않으며, 개별 칩의 가격이 비쌉니다.
  • 사이즈가 굉장히 커지고 보급형 AI에는 사용할 수 없습니다. 소량으로 제작할 때 주로 사용합니다.

예시: 프로토타이핑 및 특정 응용 프로그램에서의 고성능 계산에 사용됩니다. 예를 들어, 통신 장비에서 고속 데이터 처리가 필요할 때 활용됩니다.

 

4. ASIC (Application-Specific Integrated Circuit)

특징:

  • 최적화된 성능과 비용: 특정 응용 프로그램에 맞게 설계되어, 대량 생산 시 단가가 낮아집니다.
  • 위험성: 설계 오류가 있을 경우 수정이 불가능하고, 큰 경제적 손실을 초래할 수 있습니다.
  • 제조의뢰비용이 비싸고 주문하고 나서 내 손에 들어올때까지의 기간이 3개월 ~ 1년 정도 걸린다.

예시: 스마트폰, 고정밀 센서 등 대량으로 생산되는 소비자 전자 제품에 주로 사용됩니다.

4. Microprecessor Architecture

더보기

마이크로프로세서 아키텍처, DSP, FPGA, ASIC 등은 디지털 신호 처리와 관련된 핵심 기술들입니다. 각각의 특성을 고려하여 필요한 응용 분야에 맞게 선택하고 구현하는 것이 중요합니다.

 

1. 마이크로프로세서 아키텍처

마이크로프로세서는 CPU를 포함하는 일반적인 컴퓨터 아키텍처입니다. 기본적인 데이터 처리와 계산, 입력 및 출력 관리 등의 기능을 수행합니다.

역할:

  • 범용 데이터 처리
  • 다양한 응용 프로그램 실행 가능

2. 디지털 신호 처리기 (DSP)

DSP는 특히 신호 처리를 위해 최적화된 마이크로프로세서입니다. 곱셈 연산자와 산술 연산자를 통해 신호 처리에 필요한 계산을 빠르게 수행할 수 있습니다.

역할:

  • 고속 산술 및 곱셈 연산
  • 실시간 오디오 및 비디오 처리

3. FPGA (Field-Programmable Gate Array)

FPGA는 현장에서 프로그래밍이 가능한 반도체 장치로, 특정 작업을 매우 빠르게 수행하기 위해 하드웨어 레벨에서 로직을 구현할 수 있습니다.

역할:

  • 복잡한 디지털 회로 설계
  • 고속 데이터 처리 및 신호 처리
  • 유연성 제공: 현장에서 로직 변경 가능

4. ASIC (Application-Specific Integrated Circuit)

ASIC은 특정 응용 프로그램을 위해 설계된 맞춤형 칩입니다. 한 번 설계되면 변경이 불가능하지만, 매우 높은 성능과 효율성을 제공합니다.

역할:

  • 고정된 로직을 통한 매우 빠른 데이터 처리
  • 대량 생산 시 비용 효율성
  • 최적화된 전력 사용 및 성능

 

정리

각 기술은 특정한 장단점을 가지고 있습니다. 예를 들어, DSP는 신호 처리를 위해 특화되어 있어 곱셈과 같은 연산이 자주 필요한 작업에 적합하며, FPGA는 유연성이 필요한 곳에 사용됩니다. ASIC은 고정된 기능을 매우 효율적으로 수행해야 할 때 사용되지만, 설계 초기 비용이 매우 높고 변경이 불가능합니다.

이러한 이해를 바탕으로, 특정 응용 분야의 요구 사항에 가장 적합한 기술을 선택하여 사용할 수 있습니다. 각 기술의 선택은 신호 처리의 요구 사양, 비용, 속도, 그리고 필요한 유연성을 고려하여 결정되어야 합니다.

5. DSP에 대한 Hardware구현

더보기

DSP IC와 FPGA는 디지털 신호 처리(DSP)의 하드웨어 구현 방법으로, 각각의 특성과 장단점을 가지고 있습니다. 이러한 기술들은 신호 처리 작업을 최적화하고 특정 응용 분야의 요구를 충족시키기 위해 사용됩니다.

DSP IC (Digital Signal Processing Integrated Circuit)

DSP IC는 신호 처리를 위해 특별히 설계된 마이크로프로세서입니다. 이 칩은 효율적인 신호 처리를 위한 안정적인 아키텍처를 갖추고 있습니다.

특징 및 구현:

  1. 안정된 Architecture: DSP IC는 타이밍이 느려도 오동작하는 경우가 없어, 신뢰성이 높습니다. 이는 신호 처리 작업에서 예측 가능성과 안정성을 보장합니다.
  2. High Level Language 구현: DSP IC는 고급 프로그래밍 언어로 프로그래밍할 수 있어, 개발자가 더 복잡하고 기능적인 코드를 쉽게 작성할 수 있습니다.
  3. Core 기반의 Time Sharing 구조: DSP IC는 주로 싱글 코어를 사용하며, 이로 인해 처리 속도와 전력 소모에서 불리할 수 있지만, 특정 신호 처리 애플리케이션에는 충분할 수 있습니다.
  4. 가격적인 측면, 기회비용면으로 봤을때 적합하지만 속도가 느리다.

FPGA (Field-Programmable Gate Array)

FPGA는 사용자가 현장에서 프로그래밍할 수 있는 하드웨어로, 복잡한 디지털 로직을 신속하게 구현할 수 있습니다.

특징 및 구현:

  1. 빠른 동작 속도: FPGA는 매우 빠른 처리 속도를 제공하지만, 설계자가 딜레이를 직접 통제해야 합니다.
  2. 제한 없는 Multi-Processing: FPGA는 다수의 처리 작업을 동시에 수행할 수 있는 능력이 있어, 고속 처리가 필요한 응용 분야에서 유리합니다.
  3. Timing Margin의 확보: 설계자는 FPGA를 사용하여 신호 처리 회로를 구현할 때, 타이밍 마진과 하드웨어의 안정성을 확보해야 합니다.
  4. 선이 연결된것에 따라 넷 딜레이가 달라진다. 배치, 배선이 이루어지고 최소경로를 만들어 넷 딜레이를 줄여야 한다.

Synthesis (합성)

DSP IC와 FPGA 설계에서 중요한 과정은 합성입니다. 합성은 설계된 디지털 로직을 실제 하드웨어(반도체 라이브러리)에 맞게 변환하는 과정을 말합니다. 이 과정을 통해, DSP 알고리즘이 실제 실리콘 칩에 구현됩니다.

 

구현:

  • 반도체 회사는 다양한 표준 셀 라이브러리를 제공하며, 각 회사마다 제공하는 라이브러리가 다를 수 있습니다. 이 라이브러리를 사용하여 설계된 DSP 또는 FPGA 로직은 최종 칩으로 매핑됩니다.

 

DSP IC와 FPGA의 주요 특징과 이들 기술이 실제 하드웨어 설계 및 구현에서 어떻게 적용되는지를 포괄적으로 설명합니다. 각 기술의 선택은 신호 처리 요구 사항, 예산, 개발 시간 및 예상 응용 분야에 따라 결정됩니다.

Synthesis(합성): 반도체 회사의 라이브러리로 컨버팅 된다. (회사마다 조금씩 다름)

반도체 라이브러리로 맵핑 시킨 것이다.

6. 신호의 종류

더보기

1. 아날로그 신호 (Analog Signal)

아날로그 신호는 시간에 따라 연속적으로 변화하는 신호로, 자연 현상을 대표하는 데 사용됩니다. 이러한 신호는 연속적인 값을 가지며, 실제 세계의 물리적 현상을 정확하게 표현할 수 있습니다.

 

특징 및 예시:

  • 연속성: 아날로그 신호는 시간에 따라 끊임없이 변화하며, 이러한 변화는 매끄럽고 연속적입니다.
  • 응용 분야:
    • 음향 및 음성: 사람의 목소리, 음악과 같은 소리는 자연스러운 형태로 아날로그 신호입니다.
    • 영상 신호: 아날로그 카메라에 의해 캡처된 영상은 연속적인 빛의 강도 변화를 기록합니다.
    • 전기적 신호: 전압과 전류는 시간에 따라 변화하는 아날로그 신호로 측정됩니다.
    • 환경 측정: 온도, 습도, 속도, 진동 등 다양한 환경적 요소는 센서를 통해 아날로그 신호로 변환되어 측정됩니다.
    • 체중: 체중계에서 측정되는 체중 값도 초기에는 아날로그 형태로 표현됩니다.

2. 디지털 신호 (Digital Signal)

디지털 신호는 숫자로 표현되며, 주로 0과 1의 이진 값으로 구성됩니다. 이러한 신호는 정보를 저장, 전송, 처리하기에 적합하며, 전자 기술에서 널리 사용됩니다.

 

특징 및 예시:

  • 이산성: 디지털 신호는 이산적인 값(예: 0과 1)을 사용하여 정보를 표현합니다.
  • 변환: 아날로그 신호는 아날로그-디지털 변환기(ADC)를 통해 디지털 신호로 변환될 수 있습니다.
  • 응용 분야:
    • 순수 디지털 데이터: 컴퓨터 데이터, 은행 잔고, 학생의 성적과 같은 정보는 순수한 디지털 형태로 존재합니다.
    • 통신: 디지털 신호는 정보의 정확한 전송과 처리를 위해 통신 시스템에서 주로 사용됩니다.
    • 오류 검출 및 수정: 디지털 신호는 오류 검출 및 수정 코드를 통해 데이터의 무결성을 유지하는 데 유리합니다.

7. Digital 신호처리의 장점

더보기

디지털 신호는 아날로그 신호와 비교했을 때 몇 가지 중요한 이점을 가지고 있습니다. 특히, 저장 및 전송 과정에서의 노이즈 저항력이 뛰어나며, 데이터 처리와 관련된 연산의 정확성이 향상됩니다.

 

디지털 신호의 주요 특징

  1. 노이즈에 강함: 디지털 신호는 노이즈에 대한 저항력이 뛰어나기 때문에, 데이터 저장 및 전송 시 손실이나 왜곡이 적습니다. 이는 디지털 신호가 이산적인 값을 가지기 때문에, 미세한 변화가 신호 자체를 변경하지 않기 때문입니다.
  2. 정확한 연산 가능: 디지털 시스템에서는 노이즈의 영향을 크게 받지 않으므로, 연산 과정에서 발생할 수 있는 오류가 상대적으로 적습니다. 이는 특히 금융, 공학 계산, 과학적 데이터 처리 등 정확성이 요구되는 분야에서 중요합니다.
  3. 개발 과정의 효율성: 디지털 신호를 사용함으로써 개발 과정이 간소화되고, 시스템의 설계 및 구현이 더 빨리 이루어질 수 있습니다. 디지털 도구와 소프트웨어를 사용하여 시뮬레이션, 테스트, 수정이 용이하므로, 전체 개발 시간과 비용을 절감할 수 있습니다.

노이즈의 정의 및 영향

  • 노이즈(Noise): 원래의 신호에는 없었던 원하지 않는 신호 또는 유입된 간섭을 의미합니다. 아날로그 신호의 경우, 노이즈는 신호 자체에 영구적으로 혼합되어 제거가 어렵습니다. 그러나 디지털 신호에서는 노이즈가 신호의 이산적인 특성을 벗어나지 않는 한 원래의 데이터를 복원하는 것이 가능합니다.

응용 분야

1. 음성(Voice) 및 음향(Sound) 신호처리

  • 주파수 범위: 인간의 귀가 들을 수 있는 범위인 20Hz에서 20kHz까지의 음성 및 음향 신호를 처리합니다.
  • 응용: 이 범위의 신호 처리는 오디오 코딩, 에코 캔슬레이션, 잡음 제거, 음질 향상 등에 사용됩니다. 음악 제작, 방송, 통신 장비에서의 명료성 개선 등에도 중요한 역할을 합니다.

2. 통신 신호처리

  • 기능: 신호의 압축, 변조, 복조, 오류 검출 및 수정 등을 포함합니다.
  • 응용: 이 기술은 무선 및 유선 통신 시스템에서 데이터 전송 효율을 최적화하고, 신호의 신뢰성을 보장하기 위해 사용됩니다. 위성 통신, 인터넷 데이터 전송, 휴대폰 네트워크 등이 여기에 해당합니다.

3. 자동제어

  • 기능: 센서 데이터의 실시간 처리를 통해 자동화 시스템의 반응을 제어하고 최적화합니다.
  • 응용: 자동화된 제조 시설, 로봇 공학, 차량의 자동 조종 시스템(예: 자율 주행 차량), HVAC 시스템 등에서 중요한 역할을 수행합니다. 이 분야에서 DSP는 시스템의 안정성, 효율성, 반응 속도를 개선하는 데 필수적입니다.

4. 기타

  • 의료 기기: 심장 모니터, MRI, CT 스캔 등의 의료 진단 장비에서 수집된 데이터를 처리하여, 보다 정확한 진단을 가능하게 합니다.
  • 금융 기술: 알고리즘 트레이딩에서 신호 처리 기법을 사용하여 시장 데이터를 분석하고, 거래 결정을 자동화합니다.
  • 보안 시스템: 영상 감시 시스템에서의 움직임 감지, 얼굴 인식, 번호판 인식 등에 DSP 기술이 적용됩니다.

8. 음성(Voice) 신호처리

더보기

음성 신호 처리는 디지털 신호 처리(DSP) 분야에서 중요한 응용 영역 중 하나입니다. 음성 신호는 다양한 방법으로 처리되며, 여기에는 음성합성, 음성 인식, 음성 신호 압축 등이 포함됩니다. 또한, Differential Pulse Code Modulation (DPCM) 및 Delta Modulation (DM)과 같은 특정 기술을 통해 음성 데이터의 저장과 전송 효율을 향상시키는 작업도 포함됩니다.

 

음성 신호 처리 기술

  1. 음성합성
    • 정의 및 사용: 음성합성은 텍스트 또는 기본 명령을 인공 음성으로 변환하는 기술입니다. 이는 지하철 안내 방송, 스마트폰의 음성 비서, 다양한 고객 서비스 자동화 시스템에서 사용됩니다.
  2. 음성인식
    • 정의 및 사용: 음성인식 기술은 사용자의 음성을 텍스트로 변환하거나 특정 명령을 수행하기 위해 음성을 해석합니다. 이 기술은 음성 제어 시스템, AI 기반의 개인 비서, 음성 번역 등에 활용됩니다.
  3. 음성신호 압축
    • 정의 및 사용: 음성 압축은 데이터 전송과 저장을 효율적으로 관리하기 위해 음성 파일의 크기를 줄이는 과정입니다. 이는 통신 및 멀티미디어 응용에서 널리 사용됩니다.

음성 압축 기술

  1. Differential PCM (DPCM)
    • 작동 원리: DPCM은 주어진 신호와 이전 샘플 간의 차이만을 인코딩하여 데이터 양을 감소시킵니다. 이 기법은 신호 변화가 적을 때 데이터 전송량을 효율적으로 줄일 수 있습니다.
    • 응용: 주로 저장 공간이 제한적인 환경에서 음성 데이터를 저장할 때 사용됩니다.
  2. Delta Modulation (DM)
    • 작동 원리: DM은 1비트 모듈레이션 방식으로, 현재 신호가 이전 신호보다 큰지 작은지만을 판단하여 인코딩합니다. 이 방식은 매우 간단하며, 낮은 비트율에서도 효과적으로 작동합니다.
    • 응용: 낮은 대역폭을 가진 통신 채널에서 음성을 전송하는 데 적합하며, 잡음에 강한 특성을 가집니다.

비교: DPCM vs. DM

  • DPCM과 DM 비교:
    • DPCM은 차분 신호의 크기에 따라 다양한 비트 수를 할당할 수 있어 상대적으로 높은 동적 범위와 신호 대 잡음비를 제공합니다.
    • DM은 오직 1비트를 사용하기 때문에 구현이 더 간단하고, 빠른 처리가 가능합니다. 그러나 신호의 세밀한 부분을 잃을 수 있으며, 저비트율에서는 DPCM보다 성능이 낮을 수 있습니다.

ADPCM (Adaptive Differential Pulse Code Modulation)과 ADM (Adaptive Delta Modulation)은 음성 신호 처리를 위한 두 가지 향상된 압축 기술입니다. 이들은 기본적인 DPCM과 DM 기술을 개선하여, 변화하는 신호 특성에 동적으로 적응하면서 효율성과 성능을 높입니다. 아래에서 각 기술의 특성과 차이점을 설명하겠습니다.

 

ADPCM (Adaptive Differential Pulse Code Modulation)

ADPCM은 DPCM의 한 변형으로, 신호의 동적 범위 변화에 적응하여 비트 할당을 조정합니다. 이 기술은 음성뿐만 아니라 다양한 오디오 데이터의 압축에 효과적입니다.

특징:

  • 적응적 비트 할당: ADPCM은 신호의 변화량에 따라 인코딩에 사용되는 비트 수를 적응적으로 조정합니다. 이는 비트율을 절약하면서도 신호의 중요한 특성을 보존할 수 있도록 합니다.
  • 향상된 음질: 기본 DPCM에 비해 더 나은 신호 대 잡음비(SNR)를 제공하며, 음성과 음악 전송에 적합합니다.
  • 효율성: 데이터 전송 및 저장 공간을 효율적으로 사용하면서도 좋은 음질을 유지합니다.

ADM (Adaptive Delta Modulation)

ADM은 기본 DM을 발전시킨 형태로, 스텝 크기를 신호의 변화에 따라 적응적으로 조절합니다. 이는 빠르게 변화하는 신호에 효과적으로 대응할 수 있게 해 줍니다.

특징:

  • 적응적 스텝 크기: ADM은 입력 신호의 변화를 실시간으로 분석하여 스텝 크기를 조절합니다. 이로 인해 변화가 심한 신호에서도 안정적인 성능을 보장합니다.
  • 간단한 구현: 비교적 간단한 회로로 구현할 수 있어, 저비용으로 실시간 음성 처리가 가능합니다.
  • 빠른 동적 반응: 신호의 급격한 변화에 신속하게 대응할 수 있어, 실시간 음성 통신 등에 유리합니다.

ADPCM vs ADM

  • 성능: ADPCM은 ADM에 비해 일반적으로 더 높은 신호 대 잡음비와 음질을 제공합니다. 이는 적응적 비트 할당이 신호의 다양한 세부 정보를 더 잘 캡처할 수 있기 때문입니다.
  • 복잡성: ADM은 구현이 더 간단하며, 비용 효율적입니다. 그러나 성능 면에서는 ADPCM이 더 우수할 수 있습니다.
  • 응용 분야: ADPCM은 고음질 오디오 전송이 필요한 응용에 적합하고, ADM은 비용을 최소화하면서 실시간 음성 처리가 중요한 환경에 적합합니다.

 

음성 신호처리: Differential PCM

1. DPCM은 신호가 급격하게 변하지 않을 경우 최대 편차가 얼마냐에 따라 샘플링하는 bit수를 줄일 수 있다.

2. 처리 속도, 저장공간의 용량이 작았기 때문에 데이터를 줄이려고 하는..

 

음성 신호처리: DM(Delta Modulation

1. 1bit 모듈레이션, 현재 설정한 값 보다 큰지 작은지만 비교한다.

2. 입력된 아날로그 신호가 크면 +1, 작으면 -1

3. 정상적으로 들리지는 않았지만 무슨 말을 했는지는 파악할 수 있었다? (미국 군부대 통신)

4. 잡음에 대해서도 강하고 이 방식의 무전기가 있었다, 음질 보다도 인식할수만 있었다면 효율성면에서 강했다.

9. 음향(Sound) 신호처리(1)

더보기

음향 신호 처리는 오디오 데이터의 효율적인 저장, 재생 및 향상을 위한 다양한 기술을 포함합니다. 이 분야에서는 특히 원음의 고정밀 추출 및 저장이 중요하며, 이를 위해 다양한 디지털 오디오 포맷이 사용됩니다.

 

음향 신호 처리: 원음 추출 및 저장

  1. CD (Compact Disc)
    • 특징: CD는 디지털 오디오 재생을 위해 널리 사용되는 포맷 중 하나입니다. 이 포맷은 16비트 스테레오 샘플링을 제공하며, 샘플링 레이트는 44.1kHz입니다.
    • 고음질 추구: CD는 아날로그 레코드보다 뛰어난 내구성과 재생 품질을 제공하며, 디지털 저장 매체로서의 편의성과 안정성을 보장합니다.
    • 응용: 음악 앨범 발매, 오디오북, 기타 다양한 오디오 콘텐츠 제공에 사용됩니다.
  2. DAT (Digital Audio Tape)
    • 특징: DAT는 또 다른 고음질 디지털 오디오 포맷으로, CD보다 높은 샘플링 레이트인 48kHz를 제공합니다. 이는 16비트 스테레오 포맷으로 녹음됩니다.
    • 고음질 추구: 높은 샘플링 레이트는 보다 정밀한 오디오 세부 정보의 캡처를 가능하게 하며, 전문 오디오 제작에 적합합니다.
    • 응용: 프로페셔널 음향 레코딩, 스튜디오 녹음, 라이브 음악 행사 녹음 등에 주로 사용됩니다.
  3. Super Audio CD (SACD)
    • 특징: SACD는 더욱 향상된 오디오 포맷으로, 다채널 오디오와 높은 샘플링 레이트를 제공하여 오디오 파일의 품질을 극대화합니다.
    • 고음질 추구: SACD는 표준 CD 포맷보다 더욱 높은 다이내믹 레인지와 주파수 응답을 제공하여, 청취자에게 더욱 실감나는 오디오 경험을 제공합니다.
    • 응용: 고품질 음악 감상, 오디오필용 앨범 발매, 홈 시어터 시스템에서의 사용 등에 이상적입니다.

10. 음향(Sound) 신호처리(2)

더보기

Frequency Domain 압축

Frequency Domain은 신호를 그 주파수 성분으로 분해하여 분석하는 방법입니다. 음향 신호, 특히 음악이나 음성의 압축에서는 이 방법이 매우 유용합니다. 신호의 중요하지 않은 부분을 제거하거나 줄임으로써 데이터 양을 줄이면서도, 원본 신호를 가능한 잘 보존하려는 것이 목적입니다. 예를 들어, MP3 파일 형식은 주파수 영역에서의 데이터 압축 방식을 사용하여 고음질의 음악을 상대적으로 작은 파일 크기로 저장할 수 있습니다.

가청 한계선(Audible Threshold)

가청 한계선은 사람이 들을 수 있는 소리의 최소 데시벨 수준을 말합니다. 일반적으로, 사람의 귀는 약 0 dB(데시벨)에서 20 dB 사이의 매우 낮은 소리는 듣지 못하며, 이 범위의 소리는 압축 과정에서 제거될 수 있습니다. 이로 인해 파일 크기는 줄어들지만 청취 경험에는 큰 영향을 주지 않습니다.

마스킹 효과(Masking Effect)

마스킹 효과는 더 크거나 강한 소리가 주변의 약한 소리를 덮어 버려 그 약한 소리가 들리지 않게 하는 현상을 말합니다. 예를 들어, 큰 드럼 소리가 울릴 때 바로 뒤에서 재생되는 조용한 바이올린 소리는 마스킹 되어 들리지 않을 수 있습니다. 음향 압축에서는 이런 마스킹 효과를 이용하여 사람의 귀가 인식하지 못하는 소리들을 제거함으로써 데이터를 효율적으로 줄일 수 있습니다.

예시

콘서트에서 다양한 악기가 연주되고 있는 상황을 상상해 보세요. 여기서 강한 트럼펫 소리가 나올 때, 동시에 연주되는 부드러운 플루트의 소리는 거의 들리지 않습니다. 이러한 상황에서 음향 파일을 압축할 때, 플루트 소리와 같이 마스킹된 부분은 데이터에서 제거해도 대부분의 사람들은 그 차이를 느끼지 못할 것입니다. 이렇게 해서 파일의 크기를 줄이면서도 청취에 필요한 품질을 유지할 수 있습니다.

이와 같이 Frequency Domain에서의 압축 방식은 음향 신호의 중요한 특성을 유지하면서도 효율적으로 데이터 크기를 관리할 수 있는 방법을 제공합니다.

 

 

 

음향 신호 처리에서 압축은 특히 데이터 저장과 전송을 효율적으로 관리하기 위해 필수적입니다. 음향 신호 압축은 주로 주파수 영역에서 이루어지며, 사람의 청각 특성을 활용하여 불필요한 데이터를 제거함으로써 파일 크기를 줄입니다.

음향신호 압축: 주파수 도메인 중심

  1. 가청 한계선 (Audible Threshold)
    • 정의: 가청 한계선은 사람이 들을 수 있는 최소한의 소리 레벨을 나타냅니다. 일반적으로 약 0 dB에서 시작하여 사람의 청각 범위에 따라 달라집니다.
    • 압축 기법: 이 한계선 이하의 소리는 인간에게 들리지 않으므로, 압축 과정에서 이러한 주파수 구성 요소는 제거되어 데이터를 절약할 수 있습니다. 이는 파일 크기를 줄이는 데 효과적입니다.
  2. 마스킹 효과 (Masking Effect)
    • 정의: 마스킹 효과는 강한 소리가 인접한 약한 소리를 가리는 현상을 말합니다. 예를 들어, 높은 볼륨의 음악이 재생되는 동안 미세한 배경 소리는 들리지 않게 됩니다.
    • 압축 기법: 압축 과정에서 마스킹 효과를 활용하여, 강한 신호에 의해 가려지는 약한 신호들은 데이터에서 제거됩니다. 이는 청취자가 구분할 수 없는 소리 정보를 제거하여 더욱 효율적인 압축을 가능하게 합니다.

응용 분야

  • 음악 및 동영상 스트리밍 서비스: 스트리밍 서비스에서는 대역폭 사용을 최적화하기 위해 고급 오디오 압축 기술이 필수적입니다. 가청 한계선 및 마스킹 효과를 기반으로 한 압축은 고품질의 오디오를 유지하면서도 데이터 전송량을 줄일 수 있습니다.
  • 휴대용 음악 재생기: 제한된 저장 공간을 효과적으로 사용하기 위해 음악 파일을 압축할 때 이 기술이 사용됩니다. 사용자는 저장 공간을 절약하면서도 다양한 음악을 휴대할 수 있습니다.

11. 음향(Sound) 신호처리(3) - 음향신호 압축 : (Frequency Domain중심)

더보기

음향 신호 처리에서 음향신호의 압축은 주로 데이터 저장과 전송의 효율성을 높이기 위해 사용됩니다. 주파수 영역을 중심으로 한 압축 방법들은 원본 오디오 신호에서 사람의 귀로는 구별하기 어려운 부분을 제거함으로써 데이터 크기를 줄입니다.

음향신호 압축 기술

  1. DCC (Digital Compact Cassette)
    • 개발자: Philips
    • 특징: DCC는 Philips사에 의해 제안된 포맷으로, CD급 음질을 제공하며 원본 데이터 대비 약 1/4의 압축비율을 가집니다. 이 기술은 높은 음질을 유지하면서도 테이프 기반의 저장 매체에 적합하도록 설계되었습니다.
    • 응용: 주로 음악 저장과 재생에 사용되며, 디지털과 아날로그 재생 장치의 호환성을 제공합니다.
  2. Mini-Disc (MD)
    • 개발자: Sony
    • 특징: Mini-Disc는 Sony사에 의해 개발된 또 다른 디지털 오디오 저장 포맷으로, 역시 CD급 음질을 약 1/4의 압축비율로 제공합니다. MD는 소형 디스크에 데이터를 저장하며, 재기록이 가능한 점에서 유연성을 제공합니다.
    • 응용: MD는 휴대용 음악 재생기에서 큰 인기를 끌었으며, 사용자가 자신의 음악을 쉽게 녹음하고 편집할 수 있는 기능을 제공합니다.
  3. MP3 (MPEG-1 Audio Layer III)
    • 개발자: Moving Picture Experts Group
    • 특징: MP3는 MPEG1 Layer3의 압축 기술을 사용하여, 원본 오디오 데이터를 1/10까지 줄일 수 있는 매우 효율적인 압축 비율을 제공합니다. 이 포맷은 가변적인 샘플링 비트와 샘플링 주파수를 지원하여, 다양한 음질과 파일 크기 조정이 가능합니다.
    • 응용: MP3는 디지털 음악 혁명의 주역으로, 인터넷을 통한 음악의 배포와 공유를 대중화시켰습니다. 이 포맷 덕분에 사용자는 빠른 다운로드 시간과 낮은 저장 공간 요구 사항을 통해 대량의 음악을 손쉽게 접할 수 있게 되었습니다.

12. 영상 신호처리

- 정지화상 신호처리 : JPEG(한 화면 기준으로 압축), 멈춰저 있는 화면에서 맨 왼쪽 위부터 픽셀이 풀HD는 1920 x 1320? 정도, 픽셀 하나당 3byte 정도 할당 된다.

더보기

영상 신호 처리에서 정지화상 처리는 이미지의 저장, 전송, 및 표시를 효율적으로 다루기 위해 중요합니다. 특히 JPEG (Joint Photographic Experts Group) 포맷은 정지 이미지를 압축하여 저장하는 가장 일반적인 방법 중 하나입니다. 아래에서 JPEG에 대한 개요와 함께 정지화상의 저장 방식에 대해 설명합니다.

정지화상 신호처리: JPEG 포맷

  1. JPEG 포맷의 특징
    • 압축 방식: JPEG는 손실 압축 방식을 사용하여 이미지 데이터의 크기를 줄입니다. 이 방식은 픽셀 사이의 색상 변화가 적은 영역에서 데이터를 줄여 파일 크기를 감소시킵니다.
    • 응용: JPEG은 디지털 카메라, 스마트폰, 웹 이미징 등 다양한 분야에서 널리 사용되며, 이메일 전송이나 웹에 이미지를 게시할 때 특히 유용합니다.
  2. 픽셀 해상도 및 데이터 할당
    • 화면 해상도: 일반적인 풀 HD 해상도는 1920 x 1080 픽셀입니다. 각 픽셀은 빨강, 초록, 파랑의 세 가지 색상 정보를 담고 있으며, 이를 RGB 컬러 시스템이라고 합니다.
    • 데이터 할당: 각 색상 채널은 보통 1바이트(8비트)를 사용하여 색상의 강도를 나타냅니다. 따라서, 풀 HD 화면의 한 픽셀은 일반적으로 총 3바이트의 데이터를 사용합니다.
  3. 영상 처리 과정
    • 압축 과정: JPEG 압축은 크게 이미지를 적당한 크기의 블록으로 분할, 각 블록의 컬러 정보를 YCbCr로 변환, 이산 코사인 변환(DCT)을 적용하여 주파수 영역으로 변환, 양자화 과정을 거쳐 데이터를 줄이고, 마지막으로 엔트로피 코딩을 통해 최종 압축 파일을 생성하는 단계로 이루어집니다.

정리

JPEG 포맷은 고해상도 이미지를 효과적으로 저장하고 전송할 수 있도록 도와주며, 웹 사용이나 디지털 포토그래피에 있어서 표준적인 방법으로 자리 잡고 있습니다. 풀 HD 해상도와 픽셀당 데이터 할당 방식은 이미지의 세부 정보와 색상을 충분히 표현할 수 있어 광범위한 응용이 가능합니다.

예시

당신이 해변에서 아름다운 일몰 사진을 찍었다고 가정해 봅시다. 원본 사진은 매우 큰 파일일 수 있지만, JPEG 형식으로 저장할 때는 사람의 눈이 구별하기 어려운 세부 사항과 색상 차이를 줄임으로써 파일 크기를 많이 줄일 수 있습니다. 결과적으로 이메일이나 웹에 업로드하기에 적합한 크기의 파일을 만들 수 있습니다.

 

동영상 신호 처리에서 MPEG (Moving Picture Experts Group)는 오디오와 비디오 데이터의 효율적인 저장과 전송을 위한 중요한 표준입니다. MPEG는 프레임 간 예측 기법을 사용하여 데이터를 압축함으로써 필요한 저장 공간을 현저히 줄이고, 전송 효율을 증가시킵니다. 이를 통해 고화질의 동영상을 네트워크를 통해 전송하거나 디지털 저장 매체에 저장할 수 있습니다.

동영상 신호처리: MPEG 표준

(1초에 상시 화면을 바꿔주면 동영상이라고 느끼게 된다)

  1. MPEG의 기본 개념
    • 프레임 간 예측: MPEG 압축은 각 프레임을 독립적으로 저장하는 대신, 중요한 프레임(키 프레임)과 그 사이의 변화만을 기록합니다. 이는 '인터 프레임 압축'이라고도 하며, 키 프레임 사이의 프레임들은 주로 이전 프레임에서의 변화만을 저장하여 압축 효율을 높입니다.
  2. 동영상 프레임의 처리
    • 프레임 속도: 표준 동영상은 보통 초당 24~30 프레임의 속도로 재생됩니다. 이러한 빠른 프레임 속도는 연속된 이미지들이 우리 눈에 자연스럽게 움직이는 것처럼 보이게 만들어, 매끄러운 동영상 경험을 제공합니다.
  3. 효율적인 데이터 저장 및 전송
    • 데이터 최적화: MPEG 압축은 비동적인 부분(예: 변경되지 않는 배경)은 거의 혹은 전혀 저장하지 않고, 동적인 부분(예: 움직이는 인물)만을 업데이트함으로써 데이터 사용을 최적화합니다. 이 방법은 데이터 저장량을 크게 줄이고, 전송 효율을 높입니다.

응용 예시

  • 영화 감상: 영화나 비디오 스트리밍은 MPEG 기술을 사용하여, 수 많은 정지 이미지를 빠르게 전환시켜 자연스러운 동영상을 생성합니다. 예를 들어, 한 장면에서 배경이 고정되어 있을 때 배경의 변화 없이 움직이는 객체만을 갱신하여 많은 데이터를 절약할 수 있습니다.
  • 영화를 보는 것을 생각해 보세요. 영화는 연속된 많은 정지 이미지들이 빠르게 전환되며 보여집니다. MPEG 압축 기술을 사용하면, 화면의 전체 부분이 아닌 움직이는 부분만을 업데이트하여 데이터의 양을 줄입니다. 예를 들어, 한 장면에서 배경이 고정되어 있고 사람만 움직이면, 배경은 크게 변경되지 않기 때문에 매 프레임마다 배경을 저장할 필요가 없습니다. 이는 많은 저장 공간을 절약하게 해 줍니다.

MPEG 표준은 동영상 및 오디오 데이터의 압축과 전송을 위한 효율적인 방법을 제공하여, 디지털 멀티미디어의 접근성과 활용을 혁신적으로 향상시켰습니다. 이 기술은 디지털 방송, 온라인 스트리밍, 물리적인 디지털 저장 매체 등 다양한 매체에서 널리 사용되고 있습니다.

 

 ------------------------------------  ------------------------------------  ------------------------------------  ------------------------------------

 

화상인식, 또는 이미지 또는 비디오 내에서 특정 패턴이나 객체를 자동으로 식별하는 기술은 컴퓨터 비전 분야에서 중요한 응용입니다. 여러 분야에서 다양한 방식으로 활용되며, 기계 학습과 패턴 인식 기술의 발전으로 그 정확도와 효율성이 지속적으로 향상되고 있습니다.

화상인식 응용 분야

  1. 차량번호인식 (ANPR: Automatic Number Plate Recognition)
    • 개념: 차량번호인식은 차량의 번호판을 자동으로 읽어내는 시스템입니다. 이 기술은 고속 카메라와 이미지 처리 알고리즘을 사용하여 차량의 번호판 사진을 캡처하고, 그 이미지에서 문자를 추출하여 데이터베이스와 대조합니다.
    • 응용: 주차 관리, 교통 흐름 모니터링, 법 집행, 자동 통행료 징수 등에 사용됩니다.
  2. 홍채인식
    • 개념: 홍채인식은 사람의 홍채 패턴을 사용하여 개인을 식별하는 생체 인식 기술입니다. 홍채는 고유하며, 개인마다 독특하기 때문에 매우 높은 수준의 식별 정확도를 제공합니다.
    • 응용: 보안 시스템, 출입 통제, 국경 보안 검사 등에서 인증 수단으로 사용됩니다.
  3. 지문인식
    • 개념: 지문인식은 개인의 지문을 사용하여 식별하는 방법입니다. 각 개인의 지문은 고유한 무늬를 가지고 있으며, 이는 매우 정확한 개인 식별 수단으로 사용됩니다.
    • 응용: 스마트폰 잠금 해제, 출입 통제, 범죄자 식별 등 다양한 보안 시스템에서 널리 사용됩니다.
  4. 인물인식 (Facial Recognition)
    • 개념: 인물인식 기술은 이미지나 비디오에서 사람의 얼굴을 식별하고 분석하는 기술입니다. 이 기술은 얼굴의 특징을 디지털 정보로 변환하여 저장된 데이터베이스의 얼굴과 비교합니다.
    • 응용: 범죄자 추적, 공공 안전, 광고 맞춤화, 소셜 미디어에서의 태그 제안 등에 사용됩니다.
  5. 물체인식 (Object Recognition)
    • 개념: 물체인식은 이미지 내의 특정 객체를 인식하고 분류하는 기술입니다. 이 기술은 객체의 형태, 크기, 패턴 등을 분석하여 무엇인지를 식별합니다.
    • 응용: 자율 주행 자동차에서의 장애물 인식, 소매업에서의 제품 분류, 의료 영상에서의 질병 진단 등 광범위한 분야에서 활용됩니다.

화상인식 기술은 각각의 응용 분야에서 매우 중요한 역할을 하며, 기술의 발전에 따라 더욱 다양하고 정교한 방식으로 확장되고 있습니다. 이러한 기술은 일상 생활과 산업 전반에 걸쳐 혁신을 가져오며, 우리의 삶을 더욱 편리하고 안전하게 만듭니다.

13. 통신 신호처리(1)

더보기

오류 정정 코드의 개념

  1. 패리티 비트 (Parity Bits): 데이터에 추가되는 추가 비트로, 데이터가 전송되거나 저장될 때의 오류를 검출하고 수정하는 데 사용됩니다. 패리티 비트는 데이터의 특정 조합을 기반으로 계산되며, 데이터의 무결성을 보장하는 데 도움을 줍니다.
  2. 블록 코드 (Block Codes): 데이터를 고정된 크기의 블록으로 나누고, 각 블록에 오류 검출 및 정정을 위한 추가 정보를 붙여 전송합니다. 가장 유명한 예로 해밍 코드와 리드-솔로몬 코드가 있습니다.
  3. 다항식 (Polynomials): 오류 정정 코드에서는 종종 데이터를 다항식으로 표현하고, 이를 사용해 오류의 위치와 값을 계산합니다. 예를 들어, 리드-솔로몬 코드는 데이터를 다항식으로 변환하고, 이를 통해 오류의 위치를 정확히 찾아낼 수 있습니다.

오류 정정의 원리

  • 데이터 전송 전에 원본 데이터에 오류 검출 및 정정을 위한 추가 데이터(패리티 데이터)를 첨가합니다.
  • 수신 측에서는 받은 데이터를 기반으로 패리티를 다시 계산하여, 전송 중에 발생한 오류를 감지하고 수정합니다.
  • 데이터가 여러 위치에서 오류를 포함하고 있더라도, 패리티 정보를 사용해 오류가 있는 정확한 위치를 찾아내고 원래 데이터로 복원할 수 있습니다.

예시

  • CD의 스크래치 복구: CD는 리드-솔로몬 오류 정정 코드를 사용하여 스크래치와 같은 물리적 손상으로부터 데이터를 보호합니다. CD 플레이어는 손상된 부분에 대한 정보를 복구하여 음악이나 비디오가 중단 없이 계속 재생되도록 합니다.
  • 네트워크 데이터 전송: 데이터 패킷이 네트워크를 통해 전송될 때, 패킷의 일부가 손상될 수 있습니다. 오류 정정 코드를 사용하면, 이러한 손상된 패킷을 감지하고 원래의 데이터로 복구하여, 정보의 정확한 전송을 보장할 수 있습니다.

이러한 오류 정정 기술은 디지털 통신과 데이터 저장의 신뢰성을 크게 향상시키며, 현대 통신 시스템과 저장 매체에서 필수적인 요소로 자리 잡고 있습니다.

 

오류 정정 코드란?

오류 정정 코드는 데이터를 저장하거나 전송할 때 발생할 수 있는 작은 오류들을 고치는 데 도움을 주는 방법입니다. 데이터가 전송 도중에 손상될 수 있는데, 이 코드를 사용하면 손상된 부분을 찾아내고 올바르게 고칠 수 있습니다.

기본 원리

  1. 추가 정보 첨부: 원래의 데이터에 몇 개의 추가 정보(패리티)를 붙여서 보냅니다. 이 추가 정보는 원래 데이터를 바탕으로 계산되어 데이터와 함께 보내집니다.
  2. 오류 발견 및 수정: 데이터를 받는 쪽에서는 이 추가 정보를 사용하여 데이터가 정확하게 도착했는지 확인하고, 문제가 있으면 수정합니다.

쉬운 예시

축구 경기를 생각해 보세요. 공을 차서 다른 선수에게 패스를 합니다. 그런데 바람이 불어 공이 조금 옆으로 가버렸다고 상상해 보세요. 그럼 받는 선수는 원래의 방향을 예측해서 공이 어디로 가야 하는지 알고, 조금 옆으로 가는 공을 바로 잡아서 제대로 받을 수 있습니다.

여기서 공은 데이터, 바람은 전송 중에 생길 수 있는 오류, 그리고 공의 원래 방향을 예측하는 선수의 능력이 오류 정정 코드와 같습니다. 즉, 데이터가 조금 잘못되어도 원래 어떤 데이터였는지 알아낼 수 있고, 그것을 바로잡을 수 있습니다.

이런 방식으로, 오류 정정 코드는 데이터가 안전하게 전송되고 저장될 수 있도록 도와줍니다.

더보기

통신 신호처리는 데이터의 전송 효율성과 신뢰성을 높이는 기술로서, 모듈레이션과 데모듈레이션, 그리고 오류 정정 기술을 포함합니다. 이 기술들은 데이터를 안전하고 효과적으로 전송하기 위해 필수적입니다. 아래에서 각 기술의 주요 개념과 특성을 상세히 설명하겠습니다.

1. Modulation & Demodulation (변조 및 복조)

변조는 데이터를 전송 신호로 변환하는 과정을 말하며, 복조는 이 신호를 다시 데이터로 변환하는 과정입니다. 주로 세 가지 주요 요소를 이용합니다.

  • Amplitude Modulation (AM, 진폭 변조)
    • 데이터는 신호의 진폭을 변경함으로써 인코딩됩니다.
    • 주로 아날로그 신호에서 사용되며, 예로는 라디오 방송이 있습니다.
  • Frequency Modulation (FM, 주파수 변조)
    • 데이터는 신호의 주파수를 변화시키는 방식으로 전송됩니다.
    • 이 방식은 주파수의 변화를 통해 정보를 전달하며, 주로 고품질의 오디오 방송에 사용됩니다.
  • Phase Modulation (PM, 위상 변조)
    • 데이터는 신호의 위상을 조절함으로써 인코딩됩니다.
    • 이 방식은 데이터 전송의 효율성을 높이기 위해 사용되며, 디지털 방송에 종종 적용됩니다.

2. Error Correction (오류 정정)

데이터 전송 중 오류가 발생하는 것은 피할 수 없는 문제입니다. 오류 정정 기술은 전송된 데이터에서 발생할 수 있는 오류를 감지하고 수정하는 메커니즘을 제공합니다.

  • Parity Addition (패리티 추가)
    • 데이터에 추가 정보(패리티 비트)를 포함시켜 오류를 감지하고 수정합니다.
    • 패리티는 데이터에 중복성을 추가하여, 수신된 데이터에서 오류를 확인할 수 있게 합니다.
  • Error Position and Value Calculation (오류 위치 및 값 계산)
    • 패리티를 이용하여 데이터에서 발생한 오류의 위치와 값을 계산합니다.
    • 이 정보를 통해 데이터를 정확하게 복원할 수 있습니다.
  • Interpolation (내삽)
    • 오류가 감지된 경우, 인접한 데이터 포인트를 기반으로 누락된 또는 손상된 데이터를 추정합니다.
    • 이 기술은 주로 신호가 왜곡된 경우에 유용합니다.

오류 정정의 장단점

  • 장점: 오류 정정을 통해 데이터의 정확성과 신뢰성을 크게 향상시킬 수 있습니다.
  • 단점: 데이터 전송 효율은 패리티 데이터를 추가함으로써 다소 감소할 수 있습니다.

이러한 통신 신호 처리 기술들은 데이터를 더 안전하고 효율적으로 전송할 수 있게 하며, 현대 통신 시스템에서 중추적인 역할을 수행합니다. 데이터의 보안과 무결성 유지를 위해 이 기술들은 계속해서 발전하고 있습니다.

1. Modulation & Demodulation (3요소) - 어떤 데이터를 보낼때 형태가 조금 많이 달라지는

 

- Amplitude (아날로그적인 요소들 설명)

- Frequency

- Phase (위상까지 고려)

 

2. Error Correction - 데이터가 불가피하게 깨졌을 경우 일련의 데이터를 구현해서 패리티를 만들어서 보내준다? 한 군데서 깨졌던 것들이 여기저기 흩어지는데 다시 구성을 해보면, 뒤 섞어 보냈기 때문에 하나의 패리티와 원래 데이터가 구성되어있는 걸 봤을 때, 하나의 다항식 내에서는 오류가 줄어든다? 다항식을 가지고 오류가 있다 없다 판별을 하고 오류의 위치, 값 등을 찾는 오류값을 가지고 오류를 정정 해내는 신호처리 방식이다.

- Parity추가 : Redundancy증가

- Error위치, Error값 연산

- 정정능력 초과 시 : Interpolation

 

오류가 있으면 앞의 값과 뒤의 값의 연속된 부분에 값을 취한다. 값을 취하지 않으면 아래로 내려갔다가 다시 올라와야 한다.

 

패리티가 들어간다고 하면 데이터가 늘어나면서 전송효율은 떨어진다, 반대의 경우도 마찬가지

14. 통신 신호처리(2)

더보기

통신 신호처리는 유선 통신과 무선통신의 두 가지 주요 영역으로 나누어집니다. 또한, 이와 관련하여 데이터 압축 방식도 중요한 역할을 합니다. 아래에서는 유선통신과 무선통신의 기술을 설명하고, 데이터 압축 방법을 두 가지 유형(무 변형 압축과 변형 압축)으로 나누어 간단하게 정리하겠습니다.

1. 유선통신

유선통신은 데이터를 전기 신호로 변환하여 도선을 통해 전송합니다. 다양한 통신 인터페이스와 방송 서비스가 이 범주에 속합니다.

  • 통신 인터페이스 예시:
    • RS232: 컴퓨터 직렬 포트 통신에 사용되는 전통적인 표준.
    • USB (Universal Serial Bus): 다양한 디지털 장치를 연결하고 통신하기 위한 범용 인터페이스.
    • HDMI (High-Definition Multimedia Interface): 고화질 비디오 및 오디오 신호를 전송하기 위한 인터페이스.
    • LAN (Local Area Network): 근거리 통신망을 통한 데이터 교환.
    • Internet: 전 세계적으로 컴퓨터 네트워크가 연결되어 정보를 교환하는 네트워크.
  • 방송 서비스:
    • Cable TV: 유선 케이블을 통해 다양한 텔레비전 프로그램을 제공합니다.

2. 무선통신

무선통신은 공기를 매개로 하는 전자기파를 이용하여 데이터를 전송합니다. 다양한 방송 및 통신 기술이 이에 포함됩니다.

  • 방송 기술:
    • AM (Amplitude Modulation) 및 FM (Frequency Modulation) 라디오 방송: 각각 진폭과 주파수를 변조하여 오디오 신호를 방송합니다.
    • DMB (Digital Multimedia Broadcasting), DAB (Digital Audio Broadcasting): 디지털 신호를 이용한 오디오 및 비디오 방송.
  • 통신 기술:
    • TDMA (Time Division Multiple Access), CDMA (Code Division Multiple Access): 휴대폰과 같은 모바일 장치에서 사용되는 주요 무선통신 기술.
    • Bluetooth, WiFi: 근거리 무선 통신을 위한 기술.

데이터 압축

  1. 무 변형 압축 (Lossless Compression)
    • 데이터의 원본을 정확히 보존하면서 압축합니다.
    • 예시:
      • DPCM (Differential Pulse Code Modulation): 음성 신호의 압축에 사용.
      • Run-Length Code, ZIP: 데이터의 반복 패턴을 이용한 압축 방법.
  2. 변형 압축 (Lossy Compression)
    • 데이터의 일부를 유실시키면서도 전반적인 품질을 유지하는 압축 방법입니다.
    • 예시:
      • 음향신호: MP3 등의 오디오 압축 방식.
      • 영상신호: JPEG, MPEG 등의 비디오 및 이미지 압축 방식.

이러한 통신 기술과 데이터 압축 방법은 효율적인 데이터 전송 및 저장에 필수적이며, 우리 일상과 밀접하게 연관되어 있습니다.

15. Modulation

더보기

모듈레이션 기술은 전자 통신에서 데이터를 효율적으로 전송하기 위해 사용되는 다양한 방식을 포함합니다. 이 기술들은 데이터를 전송 매체를 통해 송출하기 위해 신호의 특정 특성을 변조하는 방법입니다. 각각의 모듈레이션 방식은 특정 통신 요구와 환경에 맞춰 설계되었습니다.

1. AM (Amplitude Modulation)

  • 특징: 신호의 진폭을 변조하여 데이터를 전송합니다. 이 방식은 장애물을 넘어 장거리에 걸쳐 송출하는 능력이 뛰어나며, 재난 방송 같은 긴급 통신에 자주 사용됩니다.

2. FM (Frequency Modulation)

  • 특징: 신호의 주파수를 변조하여 정보를 인코딩합니다. 진폭은 일정하게 유지되며, 시그널의 진폭 변화에 따라 주파수가 조정됩니다. 이는 오디오 및 비디오 방송에서 높은 품질의 전송을 가능하게 합니다.

3. PM (Phase Modulation)

  • 특징: 전송 신호의 위상을 조절하여 데이터를 전송합니다. 진폭 변화에 따라 위상이 앞당겨지거나 뒤쳐지는 방식으로 정보를 표현합니다.

4. NRZ (Non-Return to Zero) & NRZI (Non-Return to Zero Inverted)

  • 특징: NRZ는 0일 때 로우, 1일 때 하이 상태를 유지하는 디지털 신호 전송 방식입니다. NRZI는 1일 때 신호 상태의 반전이 일어나는 특징을 가집니다.

5. Manchester Code

  • 특징: 데이터와 클록 신호를 결합하여, 데이터의 신뢰성과 동기화를 향상시키는 인코딩 방식입니다.

6. UART (Universal Asynchronous Receiver/Transmitter)

  • 특징: 비동기 통신을 위한 기기로, NRZ 방식을 기반으로 하여 노이즈에 강한 전송이 가능합니다.

7. ASK (Amplitude Shift Keying)

  • 특징: 진폭의 변화를 이용해 데이터를 0 또는 1로 인코딩합니다. 이 방식은 비교적 단순하지만 노이즈에 취약할 수 있습니다.

8. FSK (Frequency Shift Keying)

  • 특징: 주파수의 변화로 데이터를 인코딩하는 방식으로, 노이즈에 강하며 안정적인 데이터 전송이 가능합니다.

9. PSK (Phase Shift Keying)

  • BPSK: 두 가지 위상을 이용하여 데이터를 인코딩합니다.
  • QPSK: 네 가지 다른 위상을 사용하여 한 주기에 2비트를 전송합니다.

10. QAM (Quadrature Amplitude Modulation)

  • 16QAM & 64QAM: 진폭과 위상의 변화를 조합하여 사용, 높은 데이터 전송률을 제공합니다. 노이즈에 대한 마진을 확보하는 것이 중요합니다.

11. PWM (Pulse Width Modulation)

  • 특징: 펄스의 폭을 조절하여 데이터를 전송합니다. 신호의 크기에 따라 펄스의 폭이 변하며, 이는 주로 전력 전송과 조명 제어에 사용됩니다.

각 모듈레이션 방식은 특정 통신 환경과 요구 사항에 맞추어 선택되며, 효율적인 데이터 전송을 위한 핵심 기술로 활용됩니다.

 

1. AM - 장거리 송출, 장애물이 있어도 산을 타고 넘어간다. 재난 방송 등에 필수로 필요함

2. FM - 진폭은 일정, 시그널 신호의 진폭이 큰 곳에서는 주파수가 높아지고 적은 곳에서는 주파수가 낮아진다.

3. PM - 진폭이 커지면 페이즈가 앞당겨지고, 전압이 낮아지면 페이즈가 뒤쳐진다. 페이즈가 변화한다.

4. NRZ, NRZI - 0이면 로우, 1이면 하이, NRZI는 1일때 반전이 일어난다.

5. Manchester Code - Clock과 Data를 가지고 만든 코드가 (책 참고), 

6. UART - 범용적인 비동기 수신/송신기, NRZ기반. - 노이즈에 강함, 10mega bps 등등 ex)해군 함정 등에서 사용?

 

7. ASK - 2사이클에 대해서 진폭이 크면1 진폭이 작으면 0, 바꿨을 때 회로가 칼 같이 바뀐 신호를 바로 따라가지 못 한다.

8. FSK - 하이일때 저주파, 로우일때 고주파

9. PSK - BPSK 존재하는 위상이 2가지인데, 하나는 정상, 또 하나는 역상, 1일때는 정상, 아닐대는 역상, 한 주기 가지고 1bit를 보낸다.

10. PSK - QPSK - 4가지 위상이 존재한다.한 주기 동안 네 가지 서로 다른 위상이 나타날 수 있다. 한 주기 가지고 2bit를 보낸다.

11. 16QAM : 나타내는 방식이 조금 복잡한다. 중심점으로부터의 거리와 위상으로 나타낸다. 4bit를 한 번에 보낼 수 있다, 그러나 노이즈 마진을 확보 해야 한다.

12. 64QAM -

13. PWM - 신호가 작을 때는 하이 구간의 폭이 줄어들고 신호가 클때는 하이 구간의 폭이 늘어난다, 하이와 로우의 비율로 크기를 표시한다.

16. Sine Wave Generation Basic Model for Digital Circuit

1. addr은 cnt를 써가지고 증가시키면,

2. 수직분해능 12bit = data가 12bit

3. 수평분해능 12bit = 500kHz가 4096개가 되면 1주기가 된다는 뜻인데 2us, 8.192ms 100hz 조금 넘는데 우리가 원하는 1kHz를 맞추려면? 500개가 지나고 나면 다시 0 근처의 값으로 와 있어야 한다.

더보기

이 내용은 디지털 회로에서 사인파를 생성하기 위한 기본 설정과 관련된 것입니다. 각각의 부분을 쉽게 설명해 드리겠습니다.

1. 주소 증가 (addr과 cnt)

addr는 주소를 의미하며, 여기서는 DDS(Direct Digital Synthesis) 또는 유사한 메서드에서 사용될 사인파 데이터의 룩업 테이블 주소를 지칭할 수 있습니다. cnt는 카운터로, 주기적으로 증가하여 addr을 증가시키는데 사용됩니다. 이것은 테이블에서 다음 사인파 값으로 이동하기 위해 사용됩니다.

2. 수직 분해능 (data가 12bit)

수직 분해능이 12비트라는 것은 사인파의 각 샘플(데이터 포인트)가 12비트로 표현된다는 의미입니다. 12비트 해상도는 총 4096(2^12) 다른 값들을 나타낼 수 있으므로, 사인파의 각 포인트는 0에서 4095까지의 값을 가질 수 있습니다.

3. 수평 분해능과 주기 설정

수평 분해능 역시 12비트로 설정되어 있으며, 이는 사인파 한 주기를 구성하는 데 4096개의 샘플 포인트를 사용한다는 의미입니다. 주파수가 500kHz인 샘플링 클록에서 4096개 샘플 포인트를 사용하면, 한 주기를 완성하는 데 8.192ms(1/122.070Hz)가 걸립니다. 하지만, 목표하는 주파수는 1kHz입니다. 1kHz의 주파수를 얻기 위해서는 한 주기에 500개의 샘플 포인트만 필요합니다 (500kHz / 1kHz = 500).

 

 

이를 요약하면, 500kHz의 샘플링 레이트를 사용하여 사인파를 생성할 때, 한 주기를 500개의 샘플로 구성하려면 cnt 카운터가 500에 도달했을 때 addr를 리셋하거나 다시 0으로 설정하여 다음 사인파 주기를 시작해야 한다는 것입니다. 이렇게 함으로써 원하는 1kHz의 사인파를 정확하게 생성할 수 있습니다.

Sine ROM Pattern 생성(12bit)

- Address 증가분 DELTA 값 설정 (1씩 증가하면 4095 클럭 지나면 1주기가 될거고 2씩 증가했다면 반주기만에 4095까지 갈거니까 2주기가 만들어진다. 3으로 하면 3주기...)

 

더보기

이 내용은 디지털 회로에서 Direct Digital Synthesis (DDS)를 사용해 사인파를 생성할 때 필요한 파라미터와 계산 과정을 설명하고 있습니다. 여기서 언급된 각 요소와 과정을 쉽게 설명해 드리겠습니다.

최대 주파수 및 샘플링 클록 설정

  • 최대 주파수 25kHz: 사인파의 최고 주파수는 25kHz입니다.
  • 샘플링 클록 250kHz: 이는 사인파를 샘플링하는 클록 주파수로, 초당 250,000번 샘플링합니다. 이 설정은 최대 주파수의 10배 이상으로 설정되어 있어, 신호를 충분히 빠르게 샘플링하여 정확한 신호 재현이 가능합니다.

최소 주파수 설정 및 Delta 값

  • 최소 주파수 1Hz: 주파수가 1Hz인 경우 한 주기는 1초입니다.
  • Delta 값: Delta 값은 DDS에서 위상 누산기에 더해지는 값으로, 주파수를 결정합니다.
  • Delta 누적 Accumulator: 이것은 위상 누산기에서 사용되는 누적값으로, 시간이 지남에 따라 증가합니다. 이 값에 따라 ROM의 어드레스가 결정되어 사인파의 특정 값이 출력됩니다.

Delta 값 계산

  • 최소 Delta값 계산: 최소 Delta값은 최소 주파수(1Hz)에서 필요한 Delta 값입니다. 1초 동안 250,000개의 클록 사이클이 발생하므로, 최대 누적 Delta 값(64,000,000)을 250,000으로 나누어 계산됩니다. 결과는 256입니다.
  • 설정 주파수에 따른 Delta 값: 설정된 주파수의 값에 최소 Delta 값을 곱하여 특정 주파수에서 필요한 Delta 값을 계산합니다. 예를 들어, 100Hz는 256 x 100 = 25,600입니다.

Address 추출

  • 주기적인 누적값에 따른 Address 추출: 최대 델타 누적값(64,000,000)을 주소 범위(4096)로 나누면, 각 Address 구간 값은 15,625가 됩니다. 즉, Delta 누적값이 15,625만큼 증가할 때마다 주소가 1 증가합니다.

이 모든 계산은 DDS에서 사용되며, 정밀한 주파수 제어를 가능하게 합니다. 이러한 계산을 통해 주파수와 위상이 정확하게 조절된 사인파를 생성할 수 있으며, 이는 다양한 전자 및 통신 응용 분야에서 중요합니다.