멀티 채널 Farrow 필터 설계 예

author-image

기준

이 예에서는 인텔® FPGA DSP Builder Advanced Blockset(DSPB-AB)을 사용하여 Farrow 구조를 기반으로 멀티 채널 샘플 속도 변환 필터를 구현하는 방법을 보여줍니다.

샘플 속도 변환에는 무선 통신, 의료 이미징 및 군사 응용 프로그램과 같은 다양한 응용 프로그램이 있습니다. Polyphase 분해를 구현하는 대신 Farrow 리샘플링 필터는 낮은 순서의 폴리노미알을 사용하여 동일한 기능을 실현하므로 논리를 크게 절감할 수 있습니다. 모든 채널 또는 데이터 경로에 동일한 필터 계수 집합이 필요한 여러 채널 또는 여러 병렬 데이터 경로를 처리하는 데 특히 효율적입니다.

이 예에서는 DSPB-AB 원시 블록을 사용하여 Farrow 샘플 속도 변환 필터를 구축합니다. 특히, DSPB-AB의 접이식 기능을 활용하는 방법을 시연합니다. DSPB-AB의 접이식 기능은 사용자가 지정한 시스템 매개변수를 기반으로 리소스 공유 및 하드웨어 재사용을 자동으로 실현합니다.

Farrow 필터의 기능 블록 다이어그램은 그림 1에 표시됩니다. 모든 모듈은 DSPB-AB의 원시 블록을 사용하여 설계되었습니다.

그림 1. Farrow 필터 블록 다이어그램

심볼 r은 현재 입력과 원하는 출력 샘플 간의 샘플링 위상 차이를 정량화하는 데 사용됩니다. 값은 0에서 1 사이로 정규화됩니다. 각 출력 샘플에 대해 다음 공식을 사용하여 r을 계산할 수 있습니다.

r = (Output_time – Input_time)* Input_Sampling_Frequency

이 데모에서는 재귀 알고리즘을 사용하여 각 출력 샘플에 대한 r을 계산했습니다.

수식

여기서 n은 샘플 수 또는 개별 타임스탬프를 나타내는 정수입니다. C1은 비율 변경 요인의 역부분으로 정의됩니다.

기능

이 데모에는 다음과 같은 기능이 있습니다.

  • 소수점과 보간을 모두 지원합니다.
  • 거의 모든 합리적 샘플 속도 변경 요인 지원
  • 설계를 쉽게 수정하여 더 많은 채널을 지원할 수 있지만 최대 16개의 채널을 지원합니다.
  • 설정 스크립트를 통한 매개변수화 지원
  • 탭 지연 라인의 길이를 연장하여 리샘플링 필터(polynomial) 순서를 쉽게 수정할 수 있습니다.
  • 매개변수를 구성하고 출력을 비교하고 확인하는 초기화 및 사후 시뮬레이션 스크립트를 제공합니다.
  • 자동 접기를 지원하여 승수, 가산기 및 기타 하드웨어 리소스에서 시간 분할 멀티플렉스를 허용합니다.

참고 1: 버전 9.1의 경우 FPGA 클럭 속도가 입력 샘플 속도와 출력 샘플 속도 모두의 정수 배수임을 요구합니다. 향후 릴리스에서 출력 샘플 속도는 FPGA 클럭 속도를 나눌 필요가 없습니다. 따라서 이론적으로는 비이성적인 다운샘플링 속도 변경도 지원할 수 있습니다. 지원하는 다른 샘플 속도에 대한 구조적 변화는 없습니다.

참고 2: 모든 채널은 하나의 데이터 경로(예: DSPB-AB 설계의 단일 와이어)로 처리되어야 합니다. 채널이 많은 경우 데이터 채널을 여러 병렬 데이터 경로로 분할할 필요가 없도록 FPGA 클럭 속도를 높여야 합니다. 여러 와이어 또는 여러 데이터 경로를 지원하려면 이 예에서 다루지 않는 데이터 정렬 블록을 수정해야 합니다.

DSPB-AB에서 리샘플링 필터 설계에 대한 자세한 내용은 AN 623: DSP Builder Advanced Blockset을 사용하여 리샘플링 필터 구현(PDF)을참조하십시오.

이 예에 사용된 파일을 다운로드하십시오.

.zip 다운로드 파일은 다음과 같습니다.

  • farrowm.mdl- 다중 채널 Farrow 샘플 속도 변경 필터용 DSPB-AB 설계 파일
  • setup_farrowm.mFARrow.mdl의 초기화 및 매개변수를 구성하기 위한 MATLAB* 스크립트
  • stop_farrowm.m— MATLAB 스크립트를 사용하여 Farrow 리샘플링 필터 출력을 플롯하고 입력 파형과 비교합니다.

이 설계 예에 사용된 관련 기능에 대한 자세한 내용은 다음 을 참조하십시오.

관련 링크

이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.