주요 특징

  • MATLAB®에서의 스트리밍 신호 처리
  • Simulink®를 위한 신호 처리 및 선형 대수 블록
  • 싱글레이트, 멀티레이트, FIR, IIR 및 적응 필터 설계
  • 스트리밍 신호를 시각화하고 측정하기 위한 Time Scope, Spectrum Analyzer 및 Logic Analyzer
  • 신호 처리 알고리즘의 고정소수점 모델링 및 시뮬레이션
  • C 및 C++ 코드 생성 지원
  • HDL 코드 생성 지원

MATLAB에서의 스트리밍 신호 처리

DSP System Toolbox™는 MATLAB에서 스트리밍 신호 처리를 위한 프레임워크를 제공합니다. 이 System Toolbox는 싱글레이트 및 멀티레이트 필터, 적응 필터, FFT와 같은 스트리밍 신호 처리를 위해 최적화된 신호 처리 알고리즘 라이브러리를 포함합니다. 오디오, 생물 의학, 통신, 제어, 지진, 센서 및 음성 등의 분야에 대해 신호 처리 솔루션 설계, 시뮬레이션 및 배포에 적합합니다.

신호 처리 스트리밍 기술을 통해 연속적인 데이터 스트림을 처리할 수 있는데, 입력 데이터를 프레임으로 나누고 각 프레임을 실시간으로 처리함으로써 시뮬레이션 속도를 증가시킬 수 있습니다. 예를 들어 MATLAB의 스트리밍 신호 처리를 통해 다중채널 오디오에 대한 실시간 처리가 가능합니다.

스트리밍 신호 처리는 System objects™라는 DSP 알고리즘 컴포넌트 라이브러리를 사용하여 활성화되며 데이터 위주의 알고리즘, 소스, 싱크를 표현합니다. System Object는 데이터 인덱싱, 버퍼링 및 알고리즘 상태 관리와 같은 작업을 자동화함으로써 스트리밍 응용 프로그램을 쉽게 만들 수 있습니다. MATLAB System Object를 표준 MATLAB 함수 및 연산자와 함께 사용할 수 있습니다.

Time ScopeSpectrum Analyzer를 통해 스트리밍 신호를 시각화하고 측정할 수 있습니다.

스트리밍 신호 및 데이터에 최적화된 알고리즘을 사용하여 스트리밍 데이터에 싱글레이트, 멀티레이트 및 적응 필터를 적용할 수 있습니다.

기본 스트리밍 루프를 구현하는 MATLAB 코드(왼쪽). Time Scope(오른쪽 상단) 및 Spectrum Analyzer(오른쪽 하단)는 생성 및 처리되는 실시간 신호를 시각화하고 측정합니다.

DSP 시스템 설계, 구현 및 테스트를 위한 알고리즘 라이브러리

DSP System Toolbox는 MATLAB 함수 또는 MATLAB System Object로 구현된 스트리밍 시스템의 설계, 구현 및 검증을 위해 최적화된 350개 이상의 알고리즘을 제공합니다. 이 알고리즘은 배정밀도 및 단정밀도 부동 소수점 데이터 유형을 지원합니다. 알고리즘 대부분은 정수 데이터 유형은 물론 Fixed-Point Designer™를 필요로 하는 고정 소수점 데이터 유형도 지원합니다.

MATLAB에서 시스템 툴박스 알고리즘 범주는 다음을 포함합니다.

명령줄 도움말로 표시되거나 탭 완성을 통해 확인 가능하며 MATLAB에서 이용 가능한 신호 처리 알고리즘 목록의 일부

멀티레이트 시스템

MATLAB에서 DSP System Toolbox는 샘플레이트 변환을 위한 멀티레이트 처리를 지원하며, 다양한 샘플레이트 또는 클록레이트의 상호 작용이 필요한 시스템의 모델링을 지원합니다. 멀티레이트 기능은 FIR 및 IIR 하프밴드, Polyphase 필터, CIC 필터Farrow 필터와 같이 샘플레이트 변환을 위한 멀티레이트 및 멀티스테이지 필터를 포함합니다. 또한 보간, 제거, 임의의 샘플레이트 변환과 같은 신호 운영을 포함합니다.

임의의 인자 간 효율적인 샘플레이트 변환 제공되는 예제에는 샘플레이트 변환의 효율적인 구현이 될 수 있는 Farrow 구조 등 다양한 구현 구조와 비용 분석을 표시하는 MATLAB 코드(왼쪽), 샘플레이트 변환에 대한 Polyphase 필터와 Farrow 필터 구현을 비교하여 보여 주는 진폭 응답(오른쪽 상단), 계단식 Farrow 및 FIR Polyphase 구조를 사용한 샘플레이트 변환을 위한 하이브리드 솔루션(오른쪽 중앙) 및 싱글스테이지 및 멀티스테이지 FIR 및 Farrow 필터 조합에 대한 주파수 응답의 스트리밍 시각화 비교를 보여주는 Spectrum Analyzer(오른쪽 하단)가 포함됩니다.

Simulink를 위한 신호 처리 및 선형 대수 블록

Simulink에서 DSP System Toolbox는 필터, 변환 및 선형 대수를 위한 신호 처리 알고리즘 블록 라이브러리를 제공합니다. 이러한 블록은 스트리밍 입력 신호를 개별 샘플 또는 프레임이라는 샘플 콜렉션으로서 처리합니다. 샘플 기반 처리는 대기 시간이 짧은 프로세스 및 스칼라 처리가 필요한 응용 프로그램을 지원합니다. 프레임 기반 처리는 대기 시간을 늘리는 대신 처리량을 높여줍니다. 시스템 툴박스는 샘플 기반 및 프레임 기반 처리 모드를 모두 지원합니다.

System Object를 사용하는 MATLAB 프로그램은 MATLAB 함수 블록 또는 MATLAB System 블록을 통해 Simulink 모델에 통합될 수 있습니다. 대부분의 System Object에는 동일한 기능을 가진 상응하는 Simulink 블록이 있습니다.

각 ISR(interrupt service routine) 사이에서 16개 샘플 프레임이 필요한 프레임 기반 연산, 프레임 기반 처리량이 샘플 기반보다 몇 배 더 높음을 알 수 있습니다.

DSP 시스템 설계, 구현 및 검증을 위한 신호 처리 블록

신호 처리를 위한 Simulink 블록은 배정밀도 및 단정밀도 부동 소수점 데이터 유형과 정수 데이터 유형을 지원합니다. 또한, Fixed-Point Designer와 함께 사용되는 경우 고정 소수점 데이터 유형도 지원합니다.

DSP System Toolbox의 신호 처리 블록:

  • FFT(고속 푸리에 변환), DCT(이산 코사인 변환), STFT(단시간 푸리에 변환), DWT(이산 웨이블릿 변환)와 같은 신호 변환
  • FIR, IIR 및 아날로그 필터 설계 및 구현
  • CIC 하프밴드, Polyphase 필터 및 Farrow와 같이 샘플레이트 변환을 위한 멀티레이트 및 멀티스테이지 필터
  • 스펙트럼 추정, 이퀄라이징 및 잡음 억제를 위한 통계 및 적응 신호 처리 기술
  • 컨벌루션, 윈도잉, 패딩, 지연, 최고점 찾기, 제로 크로싱과 같은 신호 연산 및 측정
  • Time Scope, Spectrum Analyzer 등을 통한 스트리밍 신호 시각화 및 측정
  • 버퍼링, 인덱싱, 스위칭, 스태킹, 큐잉과 같은 신호 관리 메서드
  • 처프(Chirp) 및 색 노이즈 생성기, NCO, UDP 수신기 및 전송기 등의 싱크 및 소스
  • 선형 시스템 솔버, 행렬 분해, 역행렬을 포함한 선형 대수 루틴
Simulink에서 이용 가능한 신호 처리를 위한 DSP System Toolbox 블록 라이브러리(상단), 선형 시스템 솔버의 확장 뷰(왼쪽 하단) 및 변환(오른쪽 하단)

멀티레이트 시스템 모델링

Simulink에서 DSP System Toolbox는 샘플레이트 변환을 위한 멀티레이트 처리를 지원하며, 다양한 샘플레이트 또는 클록레이트의 상호 작용이 필요한 시스템의 모델링을 지원합니다. 멀티레이트 필터 블록에는 CIC, FIR 레이트 변환, FIR 보간기 및 간축기, Dyadic Analysis Filter Bank와 같은 멀티스테이지 및 멀티레이트 필터 블록이 포함됩니다.

여러 샘플레이트에서 동작하는 신호를 보여주는 Simulink의 Sigma-delta A/D 컨버터 모델(왼쪽) 통신 시스템에서의 기저대역 변환을 위한 단순한 DDC(digital down converter)의 동작 시뮬레이션에는 NCO, CIC 간축기, CIC 보상기, 하프밴드 간축기, 최종 조정을 위한 샘플레이트 변환기가 포함됨(오른쪽)

싱글레이트 및 멀티레이트 FIR 및 IIR 필터 설계, 적응 필터

DSP System Toolbox는 FIR, IIR, 멀티스테이지, 멀티레이트 및 적응 필터를 위한 광범위한 필터 설계 및 구현 알고리즘을 제공합니다. 저역통과, 고역통과, 대역통과 및 기타 응답 방식으로 필터를 설계하고 direct-form FIR, overlap-add FIR, IIR second-order sections(Biquad), cascade allpass 및 격자 구와 같은 필터 구조를 사용하여 실현할 수 있습니다.

Filterbuilder 앱, MATLAB 함수, Simulink 블록을 사용하여 필터를 설계할 수 있습니다. FIR 및 IIR 필터를 위한 고정 소수점 정량화 효과를 분석하고 필터 계수에 대한 최적의 워드 길이를 결정할 수 있습니다.

또한 대역폭과 이득 등의 핵심 필터 파라미터를 런타임에 조정할 수 있는 조정 가능한 필터를 설계할 수 있습니다.

MATLAB에서 DSP System Toolbox로 설계한 디지털 필터는 Simulink의 시스템 레벨 모델에서도 사용할 수 있습니다. 이 System Toolbox에는 저대역통과, 고대역통과 및 다른 필터를 Simulink에서 직접 설계, 시뮬레이션 및 구현하기 위한 즉시 사용 가능한 필터 블록 라이브러리가 있습니다.

기존의 FIR 및 IIR 필터 설계 알고리즘 외에 DSP System Toolbox는 다음과 같은 특수 필터와 설계 메서드도 지원합니다.

  • 최소 차수(minimum-order), 제한된 리플(constrained-ripple), 최소 위상(minimum-phase) 설계를 포함한 고급 Equiripple FIR 필터
  • 선형 위상(linear phase), 최소 위상(minimum-phase), 유사-선형 위상(quasi-linear phase) 하프밴드 설계 및 Equiripple, sloped-stopband, 윈도우 메서드를 제공하는 Nyquist, FIR 하프밴드IIR polyphase 필터
  • 소프트웨어 정의 무선 및 시그마-델타 변환기에서 승수가 적은 구현을 위한 CIC 보간기 및 간축기 필터
  • 최적화된 다중 단계 설계: 계단식 단계의 수를 최적화하여 연산 복잡성을 최소화
  • 조정 가능한 필터링 응용 프로그램 튜닝에 적합한 Farrow 필터 구조를 이용한 구현을 포함하는 Fractional-delay 필터
  • 임의 그룹 지연이 있는 Allpass IIR 필터: 다른 IIR 필터의 그룹 지연을 보상하여, 해당 linear phase passband 응답이 가능함
  • 안정된 구현을 위한 격자 파형 디지털 IIR 필터
  • 모든 필터 사양을 설계할 수 있는 임의 진폭 및 단계 FIR 및 IIR 필터

Explore gallery (2 images)


적응 필터

DSP System Toolbox는 MATLAB 및 Simulink에서의 적응 필터를 위한 몇 가지 기술을 제공합니다. 이러한 기술은 시스템 식별, 스펙트럼 추정, 이퀄라이징, 잡음 억제와 같은 응용 프로그램에 널리 사용됩니다. 이런 적응 필터에는 LMS 기반, RLS 기반, 인접 투영, 고속 횡단선(transversal), 주파수 영역, 격자 기반Kalman이 포함됩니다. 이 시스템 툴박스에는 계수, 학습 곡선, 수렴 추적 등, 적응 필터 분석을 위한 알고리즘이 포함되어 있습니다.

UI를 사용하여 런타임에 파라미터를 조정하는 방법을 보여주는 RLS 적응 필터링을 사용한 시스템 식별 이 그림에는 RLS 알고리즘을 호출하는 MATLAB 코드(왼쪽 상단), 중앙 주파수 및 RLS 망각 인자 조정을 위한 UI(오른쪽 상단), RLS 필터 학습 곡선의 플롯(오른쪽 중앙), 원하는 전달 함수와 추정 전달 함수의 플롯(오른쪽 하단), Simulink 모델 버전(왼쪽 하단)이 포함됩니다.

멀티레이트 및 멀티스테이지 필터와 분석

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

Explore gallery (2 images)


신호 범위, 분석기 및 측정

DSP System Toolbox는 MATLAB 및 Simulink에서 스트리밍 신호에 대한 시간 영역 또는 주파수 영역 시각화, 측정 및 분석을 위한 범위 및 데이터 로깅을 제공합니다. 이 범위는 업계 표준 오실로스코프 및 스펙트럼 분석기 사용자에게 익숙한 측정값과 통계로 제공됩니다.

이 시스템 툴박스는 또한 시간 영역 신호에서 전환을 표시하기 위한 Logic Analyzer를 제공하며 HDL 구현을 목표로 하는 모델 디버깅에 유용합니다.

시간의 경과에 따른 필터 계수의 진화와 같은 데이터 벡터 시각화를 위한 임의 플롯을 생성할 수도 있습니다.

Time Scope는 시간 영역의 신호를 표시하며 다양한 연속 및 불연속, 고정 크기 및 가변 크기, 부동 및 고정 소수점 데이터, 다중채널 I/O 시스템을 위한 N 차원 신호 등을 지원합니다. 시간 범위를 통해 여러 신호를 각 입력 신호의 차원, 샘플레이트 및 데이터 유형이 다른 같은 축에 표시하거나 범위 창의 서로 다른 디스플레이에 여러 데이터 채널을 표시할 수 있습니다. Time Scope는 RMS(root-mean-square), peak-to-peak, 평균값, 중앙값을 포함한 분석, 측정, 통계를 수행합니다.

Spectrum Analyzer는 다양한 입력 신호의 주파수 스펙트럼을 계산하고 이를 선형 또는 로그 스케일에 표시합니다. Spectrum Analyzer는 고조파 왜곡 측정(THD, SNR, SINAD, SFDR), 3차 상호 변조 측정(TOI), 인접 채널 출력비 측정(ACPR), 상보 누적 분포 함수(CCDF) 및 peak-to-average 출력비(PAPR)와 같은 측정 및 분석을 수행할 수 있습니다. Spectrum Analyzer의 이 스펙트로그램 보기 모드에서 시간이 변하는동 스펙트럼을 보는 방법을 알 수 있고 자 최곳값 감지가 가능합니다.

DSP System Toolbox는 고정 소수점, 배정밀도 또는 사용자 정의 데이터 입력 시퀀스를 포함한 모든 데이터 유형의 실수 값 또는 복소수 값을 가진 데이터, 벡터, 어레이 및 프레임과 같은 다양한 신호 또는 데이터를 표시하고 측정하는 데 사용할 수 있는 추가 시각화 툴 제품군을 제공합니다. 일부 시각화 툴은 스트리밍 데이터나 신호에 대한 3차원 디스플레이를 보여주어 시뮬레이션이 중단될 때까지 시간의 경과에 따른 데이터를 분석할 수 있습니다.

Explore gallery (3 images)


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

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

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

고정 소수점 모드는 FFT, 필터, 통계 및 선형 대수를 포함한 여러 DSP 알고리즘에서 지원됩니다. DSP System Toolbox는 고정 소수점 연산을 위한 System Object 및 블록 구성을 자동화합니다.

FFT MATLAB System Object는 더하기 연산, 곱셈 연산, 출력 신호에 대한 고정 소수점 데이터 유형 사양을 구성하는 속성을 제공합니다(왼쪽). FFT Simulink 블록 대화 상자는 더하기 연산, 곱셈 연산, 출력 신호에 대한 고정 소수점 데이터를 제공하며 이를 위해서는 Fixed-Point Designer가 필요합니다(오른쪽).

고정 소수점 필터 설계

DSP System Toolbox에서 필터 설계 함수 및 Filterbuilder 앱을 통해 Fixed-Point Designer로 고정 소수점 데이터 유형으로 전환이 가능한 부동 소수점 필터를 설계할 수 있습니다. 이러한 설계 흐름 덕분에 고정 소수점 필터 설계 및 최적화가 간소화되었으며 양자화 효과를 분석할 수 있습니다.

필터 설계 제약이 충족되지 않고 8비트 워드 길이로 인해 저지 대역 감쇄가 불충분한 양자화 잡음의 고정 소수점 필터 설계 분석(왼쪽) 다양한 계수 워드 길이의 실험을 통해, 12비트 워드 길이가 충분할 때 필터 설계 제약이 충족된 실험(오른쪽)

데스크탑 및 임베디드 워크플로를 위한 C 및 C++ 코드 생성

MATLAB Coder™Simulink Coder™와 DSP System Toolbox를 사용하면 MATLAB 및 Simulink에서 각각 신호 처리 알고리즘과 시스템 모델로부터 성능을 위한 C 및 C++ 소스 코드 또는 MEX 함수를 생성할 수 있습니다.

생성된 코드는 제품 개발 과정 중 시스템 가속, 빠른 프로토타이핑, 구현 및 배포 또는 시스템 통합에 사용할 수 있습니다.


데스크탑 가속

시뮬레이션에서 연산 집약적인 알고리즘의 가속을 위한 효율적이고 압축된 실행 코드, MEX 함수를 생성할 수 있습니다. MATLAB 및 Simulink에서 필터, FFT, 통계선형 대수를 포함한 부동 소수점 및 고정 소수점 알고리즘을 가속할 수 있습니다.

프레임 기반 스트리밍 시뮬레이션을 가속화하기 위해 dspunfold는 DSP unfolding을 활용하여 다중 스레드 전반에서 생성된 MEX 함수에 컴퓨팅 로드를 분산합니다.


독립 실행 및 다른 환경과의 통합

DSP System Toolbox를 사용하면 알고리즘에 대한 독립 실행 파일을 생성함으로써 MATLAB 코드 또는 Simulink 모델로부터 생성된 C 코드를 데스크탑에서의 배포와 프로토타이핑에 사용할 수 있습니다. 이 독립 실행 파일은 여전히 UDP 컴포넌트를 사용하여 MATLAB 또는 Simulink에서 실시간으로 직접 조정할 수 있습니다. 이 독립 실행 파일은 MATLAB 코드나 Simulink 모델과 다른 스레드에서 실행되므로 알고리즘의 실시간 성능이 개선됩니다.

신호 처리 알고리즘에서 생성된 C 코드는 맞춤형 시뮬레이터와 같은 다른 소프트웨어나 SystemC와 같은 표준 모델링 소프트웨어에 라이브러리 컴포넌트로 통합할 수 있습니다.

MATLAB에서 성능에 맞게 조정된 MEX 함수를 생성하여 데스크탑의 시뮬레이션을 가속하는 방법 그림은 3밴드 오디오 파라메트릭 이퀄라이저 함수의 샘플 MATLAB 코드(왼쪽) 및 주요 처리 알고리즘에 해당하는 MEX-file(오른쪽)을 보여줍니다.

ARM Cortex 프로세서를 위해 최적화된 C 코드 생성

ARM Cortex-A 또는 ARM Cortex-MEmbedded Coder®를 위한 하드웨어 지원 추가 기능과 함께 DSP System Toolbox를 사용하면 MATLAB System Object 또는 Simulink 블록으로부터 FFT, FIR 및 Biquad 필터와 같은 주요 DSP 알고리즘을 위해 최적화된 C 코드를 생성할 수 있습니다. 생성된 코드는 ARM Cortex-A Ne10 라이브러리 또는 ARM Cortex-M CMSIS 라이브러리를 위해 최적화된 루틴을 호출합니다. 핵심 이점 중 하나는 표준 C 코드보다 성능이 즉시 향상된다는 점입니다. 또한 PIL(processor-in-the-loop) 테스트를 사용하여 코드 검증 및 프로파일링을 수행할 수 있습니다.


FPGA 및 ASIC 개발을 위한 HDL 코드 생성

DSP System Toolbox를 MATLAB의 Filter Design HDL Coder™와 함께 사용하면 디지털 필터를 설계하고 FPGA 또는 ASIC에서 효율적이고 합성 및 이식이 가능한 VHDL® 및 Verilog® 코드를 생성할 수 있습니다. 생성된 코드의 시뮬레이션, 테스트 및 검증을 위한 VHDL 및 Verilog 테스트 벤치를 자동으로 생성할 수 있습니다.

DSP System Toolbox의 HDL Coder™를 사용하면 시스템 설계를 위한 합성 및 판독이 가능한 VHDL 및 Verilog 코드를 생성할 수 있습니다. 이 지원은 필터, FFT, IFFTNCO와 같은 리소스와 성능에 최적화된 알고리즘을 포함합니다.

프로그램 가능 FR 필터 모델을 위한 HDL 코드를 생성합니다. 이 그림은 HDL 구현을 위한 Simulink의 프로그램 가능 FIR 필터 모델(왼쪽 상단), 레지스터 서브시스템을 통한 프로그램 가능 FIR(오른쪽 상단), 필터 입력과 참조 신호의 범위 디스플레이(오른쪽 중앙), 계수, 쓰기 주소 및 활성화, 필터 입력 및 참조 신호를 표시하는 Logic Analyzer(오른쪽 하단), Simulink 모델에서 자동 생성된 HDL 코드(왼쪽 하단)를 보여줍니다.