이 예에서는 인텔® DSP Builder Advanced Blockset에서 다중 채널 가변 속도 감소 필터를 구현하는 방법을 보여줍니다. 초음파 및 자기 공명 이미징(MRI)을 포함한 많은 의료 이미징 시스템의 경우 에코 데이터 샘플 속도를 줄이기 위해 재구성 가능한 소수점 필터가 필요합니다. 입력 데이터에는 샘플 속도가 고정되어 있습니다. 그러나 정수 감소율은 실시간으로 변경되어야 합니다. 또한, 총 필터 길이는 감소율에 따라 선형으로 증가합니다. 무선 통신 응용 프로그램 및 기타 시스템에도 유사한 요구 사항이 적용될 수 있습니다. 승수 수는 컴파일 시간에 고정되고 속도 증가로 증가하지 않기 때문에 polyphase 구조는 이러한 유형의 응용 프로그램에 매우 최적화되어 있습니다. 이 설계의 주요 특징은 가변 길이 지연 탭과 효율적인 필터 계수 스토리지입니다.
기능
이 설계 예에는 다음과 같은 주요 기능이 있습니다.
- 샘플 속도 변경이 없는 경우를 포함한 임의 정수 감소율 지원
- 단일 데이터 경로에서 모든 채널을 처리할 수 있을 만큼 클럭 속도가 높거나 하드웨어 중복이 없는 한 임의 채널 수, 임의 클럭 속도 및 입력 샘플 속도에 대한 지원
- 감소율의 런타임 재구성 지원
- 메모리의 모든 요금에 대한 계수를 사전 저장하는 대신 필터 계수 스토리지에 두 개의 메모리 뱅크를 사용하십시오. 이 기능을 사용하면 설계가 다른 은행의 계수를 읽는 동안 하나의 메모리 뱅크를 업데이트할 수 있습니다.
- FIR(유한 임펄스 응답) 데이터 경로에서 스케일링 실시간 제어
기능 설명
설계는 직접 형태의 polyphase 소수점 필터 구조를 사용하며 그림 1에 표시됩니다. 주소 컨트롤러는 계수 메모리의 읽기 주소, 은행 선택기 및 가변 지연 탭의 쓰기 주소를 생성합니다. 계수는 온칩 RAM 블록에 저장됩니다. 가변 지연 탭도 듀얼 포트 메모리에 구현되며 포인터는 현재 감소율에 의해 제어됩니다. 고정된 수의 승수가 사용됩니다.
이 예의 변수 탭 지연 블록에는 런타임 재구성 가능한 깊이가 있습니다. 따라서 온칩 RAM 블록을 사용하여 탄성 메모리로 구현됩니다. 각 지연 탭은 최악의 경우를 기준으로 할당됩니다. 지연 탭 블록을 통한 실제 지연 수는 현재 감소율을 기준으로 합니다. 단일 포인터 또는 주소 신호는 지연 탭에 대한 읽기 및 쓰기 작업 모두에 사용됩니다. 따라서 동일한 메모리 위치를 읽고 씁니다. 2포트 RAM은 오래된 메모리 내용을 읽기 위해 구성되므로 일정 수의 주기가 지연됩니다.
이 디자인은 두 개의 메모리 뱅크만 사용하며, 하나는 업데이트되고 다른 하나는 읽혀지고 있습니다. 런타임에 계수 재로드를 실현하려면 프로세서 인터페이스가 필요합니다.
이 설계의 설정 스크립트에서 클럭 속도, 감소율, 필터 길이, 승수 엔진 등을 정의했습니다. 비트 폭 관리도 매개변수화를 위해 스크립트로 작성됩니다. 주요 매개변수와 그 정의는 다음 표에 나와 있습니다.
모든 매개변수는 다른 디자인을 대상으로 수정할 수 있습니다. 업데이트된 매개변수를 기반으로 새로운 HDL 코드가 생성됩니다.
표 1. 가변 속도 감소 필터 예에 대한 매개변수
매개변수 | 정의 |
---|---|
클럭레이트 | 대상 f MAX 되어야 하는FPGA 클럭 속도 |
샘플레이트 | 입력 데이터 샘플 속도 |
기간 | 고유 입력 샘플 사이에서 사용할 수 있는 사이클 수입니다. ClockRate/SampleRate와 동일하며 컴파일 시간 매개변수입니다. |
ChanCount | 입력 채널 수이며 기간을 초과해서는 안 됩니다. |
Rmax | 설계가 지원하는 최대 감소율 |
R | 현재 감소율이며 Rmax를 초과해서는 안 됩니다. |
L | FIR 커널 크기 또는 승수 엔진 크기입니다. 폴리페스 FIR 필터 길이를 나타냅니다. |
DSP Builder Advanced Blockset에서 리샘플링 필터 설계에 대한 자세한 내용은 A 623: DSP Builder Advanced Blockset을 사용하여 리샘플링 필터 구현(PDF)을참조하십시오.
이 예에 사용된 파일을 다운로드하십시오.
이 zip 다운로드 파일은 다음과 같습니다.
- vardownsampler.mdl – 재구성 가능한 소수점 필터를 위한 DSP Builder Advanced Blockset 최상위 테스트 벤치 및 설계 파일
- setup_vardownsampler.m – vardownsampler.mdl의 초기화 및 매개변수를 구성하는 MATLAB* 스크립트
- vardownsampler_bare.mdl – vardownsampler.mdl 기반 설계 파일. 일부 비합성형 테스트 벤치 블록은 RTL(레지스터 전송 수준) 생성을 위해 제거됩니다.
프로젝트의 이 설계 예에 사용된 관련 기능에 대한 자세한 내용은 다음 으로 이동하십시오.