가변 정수 속도 감소 필터

권장 대상:

  • 장치: 알 수 없음

  • Quartus®: v9.1

author-image

기준

가변 정수 비율 감소 필터 설계 예는 인텔® DSP 빌더 Advanced Blockset(DSPB-AB)을 사용하여 런타임에 감소 속도를 변경할 수 있는 소수점 필터를 구현하는 방법을 보여줍니다. 또한 여러 채널을 지원하고 DSPB-AB의 자동 접기를 활용하여 리소스 절약을 위해 하드웨어 재사용을 극대화하는 RTL(레지스터 전송 수준) 코드를 생성합니다. 현재 설계는 1, 2, 4, 8 및 16의 감소율을 지원합니다. 그러나 설계를 쉽게 수정하여 다른 정수 감소율을 지원할 수 있습니다.

입력 통근기 및 M 병렬 경로를 통해 폴리페스 분해를 통해 M 필터에 의한 기존의 소멸을 효율적으로 구현할 수 있습니다. 각 경로는 원래 프로토타입 필터의 폴리파스입니다. 입력 통근기가 모든 M 경로를 통과하는 대신 다른 모든 단계를 건너뛰면 소멸 속도가 M/2 등으로 변합니다.

실제 설계에서는 통근기와 유한 임펄스 응답(FIR) 필터 경로의 병렬 뱅크를 갖는 대신, 폴리파스에 해당하는 계수가 입력 샘플 속도로 모든 주기를 변경하는 하나의 polyphase FIR 필터만 구현합니다. 이는 병렬 폴리파스 뱅크에 입력 샘플을 연속적으로 전달하는 것과 동일한 효과를 줍니다. 인텔은 폴리파스 계수를 메모리에 저장하고 숫자 제어 발진기(NCO)에 사용된 것과 같은 입력 축적기를 사용하여 현재 읽고 FIR 필터 경로로 전송되는 단계를 제어합니다. 위상 누적기의 단계 크기는 시스템이 폴리페이스 를 통해 순환하는 속도를 제어하므로 감소 속도를 제어합니다. 누적기 오버플로 신호는 위상이 순환된 시기를 나타냅니다. 이를 주장할 때, 유효한 출력 샘플은 더 낮은 샘플 속도로 생성됩니다.

알고리즘의 아키텍처는 그림 1에 표시됩니다.

그림 1. Vardecimator 블록 다이어그램.

FIR 필터 경로는 수정된 직접 양식 FIR 필터입니다. 필터 계수는 계수 조회 테이블(LUT)에서 한 폴리페스로 변경됩니다. 각 승수 출력에 누적자가 부착됩니다. 롤오버 신호가 모든 단계를 방문하고 출력이 마감되었음을 나타낼 때까지 탭에서 모든 폴리파스의 출력을 축적합니다. 그 순간, 멀티포트 애드러는 모든 누적기 출력을 추가하고 최종 멸망된 샘플을 생성합니다. 동시에, 축적기는 내용을 지우고 다음 누적 주기에 대비합니다.

감소 속도 변경의 재구성은 런타임에 누적 단계 증분 또는 단계 크기를 변경하여 달성됩니다. Avalon® 메모리 매핑(Avalon-MM) 인터페이스를 통해 프로세서가 위상 증분 실시간으로 업데이트할 수 있습니다. 감소율이 변경되면 FIR 필터 경로에 누적된 폴리파 수도 변경됩니다. 동적 범위를 극대화하기 위해 재구성 가능한 스케일링 팩터를 곱하고 누적된 유닛과 최종 가산기 출력에 제공할 수 있습니다. 또한 Avalon-MM 인터페이스를 통해 프로세서를 통해 이 제어 레지스터를 재구성할 수도 있습니다.

이 예에서는 DSPB-AB의 접이식 기능을 활용하는 방법을 보여줍니다. 접기 또는 시간 분할 멀티플렉스는 사용자가 지정한 시스템 매개변수를 기반으로 리소스 공유 및 하드웨어 재사용을 자동으로 실현합니다. 멀티채널 디자인에 특히 유용합니다.

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

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

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

  • vardecimator_rt.mdl— 가변 속도 감소 필터용 DSPB-AB 설계 파일
  • setup_vardecimator_rt.m— MATLAB 스크립트를 통해 vardecimator_rt.mdl의 초기화 및 매개변수를 구성합니다.
  • stop_vardecimator_rt.m— MATLAB 스크립트는 가변 속도 감소 필터 출력을 플롯하고 입력 파형과 비교합니다.
  • vardecimator_rt_bare.mdlvardecimator_rt.mdl기반 디자인 파일. RTL 생성을 위해 합성할 수 없는 일부 테스트 벤치 블록이 제거됩니다.

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