DSP System Toolbox

주요 특징

  • 알고리즘이 MATLAB System object및 Simulink 블록 형태로 제공됨
  • 스트리밍, 프레임 기반, 멀티레이트 시스템 시뮬레이션
  • 다채널 오디오를 포함한 멀티미디어 파일 및 디바이스를 위한 신호 생성기 및 I/O 지원
  • 파라매터화된 이퀄라이저와 적응 필터, 멀티레이트 필터, 옥타브 필터, 음향 가중 필터 등의 특수 필터를 위한 설계 방법
  • 이계 섹션(second-order section) 및 격자(lattice) 파형 디지털 필터를 포함한 필터 구현 아키텍처
  • peak-to-peak, peak-to-RMS, state-level 예측 및 바이레벨(bilevel) 파형 메트릭에 대한 신호 측정
  • FFT, 스펙트럼 예측, windowing, 신호 통계, 선형 대수
  • 부동 소수점, 정수, 고정 소수점 데이터 유형을 위한 알고리즘 지원
  • 고정 소수점 모델링과 C 및 HDL 코드 생성 지원
Acoustic noise cancellation algorithm using System objects in MATLAB.
MATLAB System Object를 사용한 음향 잡음 제거 알고리즘(왼쪽 상단). 필터 계수를 적용 전(오른쪽 상단)과 후(오른쪽 하단)의 해당 값을 시각적으로 볼 수 있습니다.

시스템 설계 및 프로토타이핑을 위한 DSP 알고리즘

DSP System Toolbox를 사용하면 시스템의 동작을 수학적으로 모델링하고 이 모델을 시뮬레이션하여 시스템 성능을 정밀하게 예측하고 최적화할 수 있습니다. 또한 MATLABSimulink에서 이 시스템 툴박스를 사용하여 디지털 시스템을 시뮬레이션할 수 있습니다. Simulink에서 시스템 툴박스를 사용할 때 혼합 신호(mixed signal) 및 멀티도메인 시스템과 같은 고급 시스템을 모델링할 수도 있습니다.

DSP System Toolbox의 알고리즘은 통신, 오디오, 음성, RADAR, 제어 시스템, 이미지 및 비디오 처리, 의료, 산업 응용 프로그램에서 신호 처리 시스템의 빌딩 블록 역할을 합니다.

DSP를 위한 알고리즘 라이브러리

이 시스템 툴박스의 모든 알고리즘은 그것이 MATLAB 함수, MATLAB System Object 또는 Simulink 블록 등 어느 것으로 구현되었든 관계없이 단정밀도/배정밀도 부동 소수점 데이터 유형을 지원합니다. 또한 이러한 알고리즘의 대부분이 정수 및 고정 소수점 데이터 유형을 지원합니다(Fixed-Point Designer™ 필요).

시스템 툴박스의 알고리즘에는 다음과 카테고리가 포함됩니다.

  • 컨볼루션, windowing, 패딩, 모델링 지연, 최고점 찾기, 영 지점 교차와 같은 신호 연산
  • FFT(Fast Fourier Transform, DCT(Discrete Cosine Transform), STFT(Short-Time Fourier Transform), DWT(Discrete Wavelet Transform)와 같은 신호 변환
  • 디지털 FIR 및 IIR 필터를 위한 필터 설계 및 구현 메소드
  • 신호 분석 및 스펙트럼 추정을 위한 통계적 신호 처리 기술
  • 버퍼링, 인덱싱, 스위칭, 스태킹, 큐잉과 같은 신호 관리 메소드
  • 선형 시스템 Solver, 행렬 인수분해, 역행렬을 포함한 선형 대수 루틴
  • 스칼라 및 벡터 퀀타이저 인코딩 및 디코딩
Partial list of System objects available in MATLAB, with category view of blocks available for use in Simulink, with expanded views of the Signal Processing Sources and Transforms block libraries.
MATLAB에서 사용할 수 있는 System Object 일부 목록(상단), Simulink에서 사용할 수 있는 블록의 카테고리별 목록(가운데), 신호 처리 소스 및 변환 블록 라이브러리 전체 목록(하단)

멀티레이트 시스템 모델링

DSP System Toolbox는 샘플 레이트 변환을 위한 멀티레이트 처리를 지원하며, 다양한 샘플 레이트 또는 클록 레이트의 상호 작용이 필요한 시스템의 모델링을 지원합니다. 멀티레이트 기능에는 업샘플링, 다운샘플링, 보간, 누락, 리샘플링과 같은 신호 연산과 멀티레이트 필터가 포함됩니다.

Sigma-delta A/D converter model in Simulink showing signals operating at multiple sample rates.
여러 샘플 레이트에서 동작하는 신호를 보여주는 Simulink의 Sigma-delta A/D 컨버터 모델

가변크기 신호

DSP System Toolbox는 실제 실행 중에 크기와 값이 바뀔 수 있는 신호 입력을 지원합니다. System Object 및 Simulink 블록 서브세트는 시뮬레이션 도중에, 또는 조건부 실행 서브시스템의 초기화 과정에 발생하는 모드 변환 이벤트 중에 크기가 바뀌는 가변크기 신호를 지원합니다. 가변크기 신호 지원 덕분에 다양한 리소스, 제약, 환경을 가진 시스템들을 모델링할 수 있습니다.

적응 필터, 멀티레이트 필터, 특수 필터 설계 메소드

DSP System Toolbox는 디지털 필터 설계 및 구현을 위한 다양한 메소드를 제공합니다. 저역통과, 고역통과, 대역통과, 대역저지 및 기타 응답 방식으로 필터를 설계하고 direct-form FIR, overlap-add FIR, direct-form II 등의 필터 구조를 사용하여 이계 섹션(second-order section), cascade allpass, 및 격자 구조로 실현할 수 있습니다.

MATLAB 함수, 응용 프로그램 또는 Simulink 블록을 사용하여 필터를 설계할 수 있습니다.

이 시스템 툴박스는 다음을 포함한 다수의 설계 메소드를 지원합니다.

  • 고급 equiripple FIR 필터: 최소 차수(minimum-order), constrained-ripple, 최소 위상(minimum-phase) 설계 포함
  • Nyquist 및 halfband FIR 및 IIR 필터: 선형 위상(linear phase), 최소 위상(minimum-phase), 유사-선형 위상(quasi-linear phase) 설계 및 equiripple, sloped-stopband, 윈도우 메소드 제공
  • 최적화된 다중 단계 설계: 계단식 단계의 수를 최적화하여 연산 복잡성을 최소화
  • Fractional-delay 필터: 필터링 응용 프로그램 튜닝에 적합한 Farrow 필터 구조를 이용한 구현 포함
  • 임의 그룹 지연이 있는 Allpass IIR 필터: 다른 IR 필터의 그룹 지연을 보상하여, 해당 linear phase passband 응답이 가능함
  • 격자 파형 디지털 IIR 필터: 강력한 고정 소수점 구현 가능
  • 임의 크기 및 단계 FIR 및 IIR 필터: 모든 필터 사양을 설계할 수 있음
Specialized filter designs in MATLAB showing LMS adaptive filter applied to a noisy music signal, arbitrary magnitude filter design, direct-form FIR filter responses for fixed-point data types, and octave filter design.
잡음 있는 음악 신호(왼쪽 상단), 임의 크기 필터 설계(오른쪽 상단), 고정 소수점 데이터 유형에 대한 direct-from FIR 필터 응답(왼쪽 하단), 옥타브 필터 설계(오른쪽 하단)에 적용한 LMS 적응 필터를 보여주는 MATLAB의 특수 필터 설계

적응 필터

DSP System Toolbox는 적응 필터 설계를 위한 LMS 기반, RLS 기반, affine projection, 고속 횡단선(transversal), 주파수 영역, lattice 기반 등의 기술을 제공합니다. 이 시스템 툴박스에는 또한 계수, 학습 곡선, 수렴 추적 등, 필터 분석을 위한 알고리즘이 포함되어 있습니다.

멀티레이트 필터

DSP System Toolbox는 다위상 보간기, 누락기, 샘플레이트 변환기, CIC 필터 및 보상기를 비롯한 멀티레이트 필터의 설계 및 구현을 위한 함수를 제공하고 다중 단계 설계 메소드를 지원합니다. 또한 멀티레이트 필터의 연산 복잡성을 예측하기 위한 특수 분석 함수도 제공합니다.

Interactive design of a lowpass filter in the Filterbuilder tool and visualization of magnitude response.
Filterbuilder 툴에서의 저대역통과 필터 대화형 설계(왼쪽) 및 크기 응답의 시각화(오른쪽)

DSP 적용 분야를 위한 특수 필터

DSP System Toolbox를 사용하여 다음을 포함한 특수 디지털 필터를 설계하고 구현할 수 있습니다.

  • 오디오, 음성, 음향 적용 분야를 위한 음향 가중 필터, 옥타브 필터, 파라메트릭 이퀄라이저 필터
  • 통신 시스템을 위한 펄스 성형, 피크/노치 및 멀티레이트 필터
  • 항공 우주 및 네비게이션 시스템을 위한 칼만(Kalman) 필터

Simulink 시스템 모델에서의 필터 사용

DSP System Toolbox에서 설계한 디지털 필터를 Simulink의 시스템 수준 모델에서도 사용할 수 있습니다. MATLAB 함수 및 System Object를 이용하면 MATLAB 필터 설계로부터 bit-true Simulink 모델을 만들 수 있습니다. DSP System Toolbox의 필터 설계 블록 라이브러리를 이용하여 Simulink에서 직접 필터를 설계하고 시뮬레이션하며 구현할 수도 있습니다.

스트리밍 및 프레임 기반 신호 처리

DSP System Toolbox를 사용하면 MATLABSimulink에서의 스트리밍 신호 처리와 프레임 처리를 지원함으로써 실시간 신호 처리 시스템을 효율적으로 시뮬레이션할 수 있습니다.

스트리밍 및 프레임 기반 처리 기술은 입력 데이터를 프레임에 버퍼링하고 여러 데이터 샘플을 한 번에 처리함으로써 시뮬레이션을 가속합니다. 고정된 프로세스 오버헤드를 여러 샘플에 분배하므로 보다 빠른 시뮬레이션이 가능합니다. 이러한 기술은 시스템에서 일정 수준의 대기 시간을 유발하지만, 많은 경우 심각한 대기 시간을 초래하지 않으면서 처리량을 높이는 프레임 크기를 선택할 수 있습니다.

MATLAB에서 스트리밍 신호 처리는 System Object를 통해 활성화되여 데이터 위주의 알고리즘, 소스, 싱크를 표현합니다. System Object는 암묵적으로 데이터 인덱싱, 버퍼링 및 알고리즘 상태 관리와 같은 스트림 처리의 여러 세부사항을 관리합니다. System Object를 표준 MATLAB 함수 및 연산자와 혼합해서 사용할 수 있습니다. System Object를 사용하는 MATLAB 프로그램은 MATLAB 함수 블록을 통해 Simulink 모델에 통합될 수 있습니다. 대부분의 System Object에는 동일한 기능을 가진 상응하는 Simulink 블록이 있습니다.

Simulink에서 DSP System Toolbox 블록은 블록 대화 상자에서 지정된 입력 처리 모드가 프레임 기반 처리로 설정되어 있을 때 입력 신호를 프레임으로 처리합니다. DSP System Toolbox는 대기 시간이 짧은 프로세스 및 스칼라 처리가 필요한 적용 분야를 위해 샘플 기반 처리를 지원합니다. 대부분의 블록은 샘플 기반 및 프레임 기반 처리 모드를 모두 지원합니다.

Envelope detection algorithm illustrating stream processing in MATLAB with System objects.
MATLAB에서 System Object에 대한 스트리밍 처리를 보여주는 인벨로프 감지 알고리즘. 시뮬레이션 결과는 Hilbert 변환과 인벨로프 감지의 진폭 변조 메소드 모두에 대해 표시됩니다.

신호 생성, I/O, 시각화

신호 생성, I/O 및 시각화

작업하는 신호는 다양한 소스에서 얻을 수 있으며, 예를 들면 다음과 같습니다.

  • 멀티미디어 파일에서 오디오 신호 가져오기
  • 사운드 카드의 오디오 데이터 녹음하기
  • 실시간으로 다채널 오디오 데이터 얻기
  • IP 네트워크 포트로부터 UDP 패킷 받기

시뮬레이션 결과는 오디오 파일이나 오디오 디바이스 내보내거나 IP 네트워크를 통해 UDP 패킷 형태로 전송할 수 있습니다.

DSP System Toolbox에서 함수를 사용하여 이진 신호, 무작위 신호, 일반적인 파형(사인파 및 chirp 신호 등)을 생성할 수도 있습니다.

시간 영역 및 주파수 영역에서 신호 시각화

DSP System Toolbox는 시간 영역 및 주파수 영역 시각화를 위한 Time Scope, Spectrum Scope, Vector Scope, Waterfall Scope 등의 툴을 제공합니다.

Visualizing time-domain signals in the Time Scope tool.
Time Scope 툴에서 시간 영역 신호 시각화. 시뮬레이션 컨트롤을 사용하여 Time Scope 내에서 시뮬레이션을 시작하거나 일시 중지하거나 정지할 수 있습니다.

Time Scope는 시간 영역에 신호를 표시하고 연속 및 불연속, 고정 크기 및 가변크기, 부동 및 고정 소수점 데이터, N 차원 신호 등과 같이 다양한 신호를 지원합니다. 또한 각 입력 신호에 서로 다른 차원, 다른 샘플 레이트 및 다른 데이터 유형이 있는 여러 신호를 동일한 축에 표시할 수도 있습니다. Time Scope의 시뮬레이션 컨트롤을 이용하면 창을 전환하지 않고도 시뮬레이션을 시작하거나 일시 중지하거나 계속하거나 중지할 수 있으며 시뮬레이션 스냅샷을 생성할 수 있습니다.

Spectrum Scope는 시간 영역 입력 신호의 스펙트럼을 예측하고 이를 선형 또는 로그 스케일에 표시합니다. Scope 매개변수를 통해 FFT 길이, 버퍼 크기 및 오버랩, 스펙트럼 단위를 지정할 수 있습니다.

Vector Scope는 디지털 오실로스코프와 유사한 종합적인 디스플레이 툴입니다. 이 툴을 사용하여 벡터로부터 연속적인 타임 샘플을 플로팅하거나 필터 계수, 스펙트럼 크기와 같은 데이터가 포함된 벡터를 플로팅할 수 있습니다.

Waterfall Scope는 각 벡터가 연속 샘플 타임의 입력 데이터를 나타내는 데이터 벡터를 한 번에 여러 개 표시합니다. 이 툴은 실제 값의 이중 정밀도 데이터만 표시합니다.

DSP 시스템 모델을 위한 고정 소수점 구현 및 코드 생성

DSP System Toolbox를 Fixed-Point Designer와 함께 사용하여 고정 소수점 신호 처리 알고리즘을 모델링하고 양자화가 시스템 동작과 성능에 미치는 효과를 분석할 수 있습니다.

이 시스템 툴박스의 고정 소수점 지원은 다음을 포함합니다.

  • 1~128비트의 단어 크기
  • 오버플로우 처리 및 반올림 메소드
  • 로깅 오버플로우, 내부 변수의 최대치 및 최저치
  • 수동 또는 자동 스케일링
  • 시스템 수준 데이터 유형 설정을 제어하는 데이터 유형 오버라이드 옵션

고정 소수점 모델링 및 시뮬레이션

고정 소수점 연산 모드를 위한 System Object와 블록을 구성할 수 있으며, 그러면 하드웨어에 대한 집중적인 작업을 하기 전에 다양한 단어 길이, 스케일링, 오버플로우 처리 및 반올림 메소드를 선택하여 시뮬레이션을 실행함으로써 설계 상반관계(trade-off) 분석을 수행할 수 있습니다.

고정 소수점 모드는 다음을 포함한 몇 가지 DSP 알고리즘에 대해 지원됩니다.

  • FFT, DCT, IFFT, IDCT 및 기타 신호 변환
  • 디지털 필터, Biquad 필터, LMS Filter 및 기타 필터 구현
  • 평균, 분산, 자기상관, 히스토그램 및 기타 통계
  • Levinson-Durbin, 전진대입법, 후진대입법 및 기타 선형 시스템 Solver
  • Matrix Multiply, Matrix Product, Matrix Sum, Matrix 1-Norm 및 기타 행렬 연산
  • Cumulative Product, Cumulative Sum, Difference, Normalization 및 기타 수학 연산

Simulink에서 DSP System Toolbox는 고정 소수점 연산을 위한 블록 구성을 자동화합니다. 예를 들면 다음과 같습니다.  

  • 특정 하드웨어 대상의 호환성을 위해 Accumulator 및 Multiplier 크기가 지정됩니다.
  • 사용자가 정의한 단어 길이, 정밀도, 실제값을 기반으로 필터 계수의 이진 소수점을 자동으로 찾습니다.
  • 제품 출력에는 필터 계수와 입력 값 사이의 모든 제품 비트가 유지됩니다.
  • 오버플로우 방지를 위해 Accumulator가 설정됩니다.
Block dialog for FFT block in DSP System Toolbox.
DSP System Toolbox에서 FFT 블록에 대한 블록 대화 상자. 이 대화 상자는 Accumulator, 곱, 출력 신호에 대한 고정 소수점 데이터 유형 사양을 위한 옵션을 제공합니다(Simulink Fixed-Point 필요).

고정 소수점 필터 설계

DSP System Toolbox의 필터 설계 함수를 이용하면 Fixed-Point Toolbox를 통해 쉽게 고정 소수점 데이터 유형으로 전환될 수 있는 부동 소수점 필터를 설계할 수 있습니다. 이러한 설계 흐름 덕분에 고정 소수점 필터 설계가 간소화되었으며 수량화 효과를 손쉽게 분석할 수 있습니다.

C 및 HDL 코드의 생성

MATLAB CoderSimulink Coder와 함께 DSP System Toolbox를 이용하면 알고리즘 및 시스템 모델로부터 C 코드를 생성할 수 있습니다. 생성된 코드를 사용하여 제품 개발 과정 중에 시스템 검증, 빠른 프로토타이핑, 구현 등이 가능합니다.

DSP System Toolbox를 Filter Design HDL Coder와 함께 사용하여 디지털 필터 설계로부터 HDL 코드를 생성할 수 있습니다. Simulink에서 DSP System Toolbox 블록은 HDL Coder와 함께 사용했을 때 HDL 코드 생성을 지원합니다.

DSP System Toolbox 평가판 사용

평가판 신청

Filter Design made easy (한국어)

웨비나 보기