Verilog: 32K 포인트 변형 길이가 있는 FFT

author-image

기준

이 예에서는 FFT 인텔® FPGA 지적 재산권(IP) 코어를 사용하여 32K 포인트 빠른 Fourier 변환(FFT)을 설명합니다. FFT는 분해를 통해 O(N2)에서 O(NlogN)로 계산하는 데 필요한 계산 수를 줄이는 개별 Fourier Transform(DFT) 알고리즘입니다. 시퀀스 x(n)의 DFT는 다음 방정식에 의해 제공됩니다.

Equation for the DFT of a sequence x(n)여기서 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. 32K 포인트 FFT 설계의 최상위 다이어그램.

표 1은 포트를 나열하고 각 포트에 대한 설명을 제공합니다.

관련 링크

프로젝트의 이 설계 예에 사용된 관련 기능에 대한 자세한 내용은 다음 으로 이동하십시오.

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