이 예에서는 FFT 인텔® FPGA 지적 재산권(IP) 코어를 사용하여 32K 포인트 빠른 Fourier 변환(FFT)을 설명합니다. FFT는 분해를 통해 O(N2)에서 O(NlogN)로 계산하는 데 필요한 계산 수를 줄이는 개별 Fourier Transform(DFT) 알고리즘입니다. 시퀀스 x(n)의 DFT는 다음 방정식에 의해 제공됩니다.
여기서 k = 0, 1, ... N-1과 N은 변형 길이입니다.
이 설계 예에서 변환 길이 N은 32768입니다. DIT(시간 감소) 방법을 사용하여 설계는 입력 순서를 FFT 인텔 FPGA IP 코어를 사용하여 병렬로 구현된 두 개의 개별 16K 포인트 FFT 블록에 공급되는 홀수 및 짝수 샘플로 분해합니다. FFT 인텔 FPGA IP 코어의 결과는 최종 FFT 출력을 얻기 위해 재조합 및 재주문됩니다. 그림 1에 표시됩니다. FFT 인텔 FPGA IP 코어와 마찬가지로 설계 예시에서는 Atlantic 호환 입력 및 출력 인터페이스를 사용합니다.
이 예에 사용된 파일을 다운로드하십시오.
이 설계의 사용은 인텔 ® 하드웨어 참조 설계 라이센스 계약의 이용 약관에 따라 달라질 수 있습니다.
zip 다운로드 파일은 다음과 같습니다.
- fft_32K.v- 32K 포인트 FFT를 구현하는 최상위 설계 파일
- parse_fft_input.v— 입력 샘플을 고르고 이상한 샘플로 재주어 두 개의 작은 16K 포인트 FFT 블록에 공급합니다.
- fft_small.v- FFT 인텔 FPGA IP 의해 생성된 래퍼 파일. 코어는 16K의 변형 길이를 구현하도록 구성되며 스트리밍 I/O 데이터 흐름 구조를 사용합니다.
- combine_fft.v- 적절한 트위들 팩터를 사용하여 개별 16K 포인트 FFT 블록의 출력을 재조합합니다.
- fft_32K_streaming_tb.v— RTL 시뮬레이션용 테스트벤치
- fft_32K_streaming_vo_msim.tcl( ModelSim- 인텔 FPGA 소프트웨어에서 RTL 시뮬레이션 프로세스를 자동화하는 TCL 스크립트
- fft_32K_tb.m- RTL 시뮬레이션 결과를 확인하는 MATLAB 모델
그림 1은 32K 포인트 FFT 설계 예의 최상위 다이어그램을 보여줍니다.
표 1은 포트를 나열하고 각 포트에 대한 설명을 제공합니다.
표 1. 32K 포인트 FFT 포트 목록
포트 이름 | 유형 | 설명 |
---|---|---|
data_real_in[15:0], data_imag_in[15:0] |
입력 | 16비트 복잡한 데이터 입력 |
Clk | 입력 | FFT 시스템 클럭 |
재설정 | 입력 | 액티브 하이 리셋 |
master_sink_dav | 입력 | 마스터 싱크 데이터 사용 가능한 신호: FFT 슬레이브 데이터 소스가 FFT 기능에 입력할 데이터 샘플의 가용성을 나타냅니다. |
master_sink_ena | 출력 | 마스터 싱크 쓰기 활성화 신호: FFT 함수가 데이터를 함수에 기록할 수 있음을 나타냅니다. |
master_sink_sop | 입력 | 패킷 입력 시작: FFT 함수에 입력 데이터 블록의 시작을 나타냅니다. 첫 번째 입력 데이터 샘플과 동기화된 1 클럭 주기에 대해 어설션해야 합니다. |
fft_real_out[15:0], fft_imag_out[15:0] | 출력 | 16비트 복잡한 데이터 출력 |
exponent_out[5:0] | 출력 | 서명된 블록 지수: FFT 계산 중 내부 신호 값의 확장에 대한 계정 |
master_source_dav |
입력 | FFT 함수의 출력에 대한 슬레이브 싱크가 한 블록의 출력 샘플을 수락할 수 있음을 나타냅니다. |
master_source_ena | 출력 | 마스터 소스 활성화: FFT에서 데이터를 출력할 수 있을 때 FFT 함수에 의해 주장됨 |
master_source_sop | 출력 | 패킷 출력 시작: 각 블록의 첫 번째 출력 샘플에서 어설션됨 |
master_source_eop | 출력 | 패킷 출력 끝: 각 블록의 마지막 출력 샘플에서 어설션됨 |
관련 링크
프로젝트의 이 설계 예에 사용된 관련 기능에 대한 자세한 내용은 다음 으로 이동하십시오.