DSP for FPGAs
일정 보기 및 등록교육과정 세부 정보
본 3일 교육과정에서는 FPGA 패브릭 내 구현 측면에서 DSP 기초에 대해 다룹니다. 다양한 DSP 기법 및 알고리즘 구현과 관련된 리소스와 성능 비용에 대한 집중적인 설명이 제공됩니다. 본 과정의 주요 내용은 다음과 같습니다.
- DSP 응용 프로그램을 위한 FPGA 하드웨어 및 기술 소개
- DSP 고정 소수점 연산
- 신호 흐름 선도 (signal flow graph) 기법
- FPGA를 위한 HDL 코드 생성
- 고속 푸리에 변환 (FFT) 구현
- FIR, IIR 및 CIC 필터 설계 및 구현
- CORDIC 알고리즘
- LMS 및 QR 알고리즘을 포함한 적응형 알고리즘 설계 및 구현
- 동기화 및 디지털 통신 타이밍 복구 기법
1일차
DSP FPGA 하드웨어 소개
학습목표: DSP와 FPGA를 소개합니다. 일반적인 FPGA 아키텍처를 이해하고 FPGA가 DSP 알고리즘 구현에 적합한 이유를 알아봅니다.
- 이산 로직에서 FPGA까지 - 주요 이력!
- 일반 DSP 시스템
- DSP 코어와 프로세서 검토
- 사용자 지정 ASIC와 준(semi) 사용자 지정 ASIC
- 단일 칩 시스템(SOC)
- FPGA 유연성과 기능
- FPGA와 프로그래밍 가능한 DSP 비교
선형 시스템 DSP 알고리즘 검토
학습목표: 샘플링 정리, 양자화, 푸리에 해석 및 디지털 필터 설계의 기본 개념을 살펴봅니다.
- 에일리어싱 및 복원 필터
- 샘플링 레이트 및 워드 길이
- Z-영역 표기 및 기본 분석
- FIR 필터와 IIR 필터
- 디지털 필터 설계 및 사양
- 오버샘플링 기법(시그마 델타)
FPGA 기술
학습목표: 다양한 Xilinx FPGA제품군과 아키텍처를 살펴봅니다. Spartan 3과 Virtex-5 FPGA를 소개합니다.
- FPGA 기술 로드맵
- 클록 레이트, 데이터 레이트, 샘플 레이트
- FPGA 메모리 및 레지스터
- 입력/출력 블록 및 요구사항
- 비트, 슬라이스, 구성 가능한 논리 블록
- 비교 가능한 MIP 성능 등급
- FPGA제품군과 소스
DSP 알고리즘의 FPGA 요소
학습목표: DSP 슬라이스, 클록 리소스 및 전력 소모에 관해 알아봅니다.
- 지연선 및 시프트 레지스터 빌드
- FPGA의 RAM(메모리) 사용
- 직렬에서 병렬로, 병렬에서 직렬로
- 채널 선택용 멀티플렉서
- 전가산기, 캐리 로직, 가산기 트리
- 곱셈기: 쉬프트 및 덧셈, ROM 기반
- 효율적인 곱셈기 구현
DSP 연산 핵심
학습목표: 고정소수점 이진 연산을 이해합니다. 연산 작업을 Xilinx FPGA 하드웨어에 매핑합니다.
- 2의 보수 고정소수점 연산
- 기본 가산기 및 곱셈기 배열
- 나누기 및 제곱근 배열....쉽지 않음!
- 워드 길이 문제와 고정소수점 연산
- 포화와 wrap-around
- 오버플로와 언더플로
신호 흐름 선도(SFG) 기법
학습목표: 신호 흐름 선도를 사용하여 DSP 알고리즘의 표현을 검토합니다. Cut Set 메서드를 사용하여 타이밍 성능을 개선합니다. 병렬 FIR 필터 및 직렬 FIR 필터를 구현합니다.
- DSP/디지털 필터 신호 흐름 선도
- 대기 시간, 지연, "anti-지연"!
- 타이밍 재지정: Cut-set 및 지연 스케일링
- 전치(transpose) FIR
- 파이프라인 구성 및 다중채널 아키텍처
- FPGA의 SFG 토폴로지
2일차
주파수 영역 처리
학습목표: 고속 푸리에 변환의 이론과 FPGA 구현을 다룹니다.
- DFT, FFT, IFFT
- FFT FPGA 아키텍처
- FFT 워드 길이 증가 및 정확도
FPGA의 멀티레이트 신호 처리
학습목표: 멀티레이트 필터의 효율적인 구현을 위한 다상 구조체를 개발합니다. 보간과 데시메이션을 위해 CIC 필터를 사용합니다.
- 업샘플링과 보간 필터
- 다운샘플링과 데시메이션 필터
- FIR 구현의 효율적인 연산
- 적분기와 미분기
- 반대역 필터, 이동평균 필터, 콤(Comb) 필터
- CIC 필터(Hogenauer)
- IIR 필터링의 효율적인 연산
CORDIC 기법
학습목표: 다양한 삼각 함수 계산을 위한 CORDIC 알고리즘을 소개합니다.
- CORDIC 회전 모드 및 벡터 모드
- 코사인 및 사인 함수 계산
- 벡터 크기 및 각도 계산
- FPGA 구현의 아키텍처
3일차
적응형 DSP 알고리즘과 응용
학습목표: 적응형 신호 처리에 사용하는 LMS 알고리즘을 소개합니다. 재귀적 최소제곱(RLS) 기법으로서의 QR 알고리즘을 보여주고 이 알고리즘이 특별히 FPGA 구현에 적합한 이유를 알아봅니다.
- 적응형 응용(평활화, 빔 형성)
- LMS 알고리즘과 병렬 구현
- Non-canonical LMS 알고리즘
- 선형 대수 - 선형 연립방정식 풀기
- 적응형 신호 처리를 위한 QR 알고리즘
- QR 처리 요구사항과 수치해석적 문제
DSP 지원 통신 및 FPGA
학습목표: 직교(quadrature) 변조와 펄스 성형을 살펴봅니다. 수치 제어 발진기의 구현을 다룹니다.
- 4진 위상 편이 변조(QPSK)
- 송신/수신 필터 - 제곱근 올림 코사인
- 언더샘플링 및 디지털 하향 변환
- 직접 디지털 상향 변환
- 디지털 IF 단계(및 fs/4 시스템)
- 수치 제어 발진기(NCO)
- FPGA의 설계 분할
타이밍 및 동기화 문제
학습목표: 심볼 타이밍 복구, 반송파 위상 복구, 반송 주파수 복구 및 프레임 동기화를 다룹니다.
- 반송파 복구, squaring 루프와 Costas 루프, PLL
- 위상 회전 - 샘플링 레이트 변환
- 심볼 타이밍 복구, early/late 게이트 감지
- DLL(delay locked loop) 타이밍과 동기화
수준: 고급
수강자 필수조건:
- MATLAB Fundamentals (MATLAB 기본) 및 Simulink Fundamentals 이수
기간: 3 일
언어: English