KR20230071250A - Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법 - Google Patents

Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20230071250A
KR20230071250A KR1020210157233A KR20210157233A KR20230071250A KR 20230071250 A KR20230071250 A KR 20230071250A KR 1020210157233 A KR1020210157233 A KR 1020210157233A KR 20210157233 A KR20210157233 A KR 20210157233A KR 20230071250 A KR20230071250 A KR 20230071250A
Authority
KR
South Korea
Prior art keywords
mantissa
fft
value
fmcw radar
target
Prior art date
Application number
KR1020210157233A
Other languages
English (en)
Other versions
KR102658558B1 (ko
Inventor
정윤호
허진무
Original Assignee
한국항공대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국항공대학교산학협력단 filed Critical 한국항공대학교산학협력단
Priority to KR1020210157233A priority Critical patent/KR102658558B1/ko
Publication of KR20230071250A publication Critical patent/KR20230071250A/ko
Application granted granted Critical
Publication of KR102658558B1 publication Critical patent/KR102658558B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/35Details of non-pulse systems
    • G01S7/352Receivers
    • G01S7/356Receivers involving particularities of FFT processing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/08Systems for measuring distance only
    • G01S13/32Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated
    • G01S13/34Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/52Discriminating between fixed and moving objects or between objects moving at different speeds
    • G01S13/536Discriminating between fixed and moving objects or between objects moving at different speeds using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

본 발명은 FMCW 레이다 신호 처리를 위한 FFT 장치 및 그 동작 방법에 관한 것으로, 해결하고자 하는 과제는 FMCW 레이다 신호 처리를 위한 시간을 단축시키고, 하드웨어 리소스를 최소화시키는데 있다.
일례로, FMCW 레이다 수신신호에 대한 윈도우 연산을 수행하는 윈도우 연산 유닛; 상기 윈도우 연산 유닛의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행하는 버터플라이 연산 유닛; 상기 버터플라이 연산 유닛의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산하는 크기 및 위상 연산 유닛; 상기 크기 및 위상 연산 유닛의 계산 결과를 누적하는 데이터 누적 유닛; 표적 여부를 판단할 테스트 셀과 상기 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 상기 테스트 셀 간을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출하는 CFAR(Constant False Alarm Rate) 실행 유닛; 및 FMCW 레이다 송신신호와 상기 CFAR 실행 유닛을 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산하는 표적 거리 및 속도 연산 유닛을 포함하는 FMCW 레이다 신호 처리를 위한 FFT 장치를 개시한다.

Description

FMCW 레이다 신호 처리를 위한 FFT 장치 및 그 동작 방법{FAST FOURIER TRANSFORM DEVICE FOR PROCESSING FREQUENCY MODULATED CONTINUOUS WAVE RADAR SIGNAL AND OPERATING METHOD THEREOF}
본 발명의 실시예는 FMCW 레이다 신호 처리를 위한 FFT 장치 및 그 동작 방법에 관한 것이다.
최근 자동차(automotive), 군사시설(defense), 교통(traffic) 등의 분야의 산업에서 표적 탐지를 위해 카메라(camera), 초음파(ultrasonic), 레이다(Lidar)와 같은 다양한 센서들을 사용하고 있다. 다른 센서들과 달리 레이다 센서는 빛과 날씨와 같은 열악한 환경 조건에 영향을 받지 않는다는 장점을 가지고 있고 직접적인 방식으로 표적과의 거리, 상대 속도 그리고 각도를 측정할 수 있다. 특히, 자동차 분야에서는 이러한 장점 때문에 ADAS(Advanced Driver Assistance System), BSD(Blind Spot Detection), ACC(Adaptive Cruise Control), LCA(Lane Change Assistance), RCTA(Rear Cross Traffic Alert) 및 FCW(Forward Collision Warning) 같은 운전자 안전시스템에서 레이다 센서를 사용하고 있다.
레이다는 크게 펄스(pulse) 레이다와 FMCW(Frequency Modulated Continuous Wave) 레이다로 분류할 수 있다. 그 중 FMCW 레이다는 선형적으로 주파수가 변하는 FM 신호를 송신하여 표적에서 반사되는 수신 신호와 송신 신호의 주파수 차로부터 'range'와 'velocity'를 얻는 방식으로 구현에 용이하여 각광받고 있다.
또한, FMCW 레이다는 송신 파형에 따라 'slow-ramp' 기법과 'fast-ramp' 기법으로 나눌 수 있다. 'Slow-ramp' 기법은 'triangle' 형태의 송신 파형을 사용하고 거리와 속도를 추출하기 위해 'pairing' 기법을 사용한다. 하지만 거리와 속도를 추출하는 과정에서 'Ghost target' 이 발생하는 단점이 있다.
따라서 'sawtooth' 형태의 송신 파형을 사용하고 거리와 속도를 추출하기 위해 2D FFT(two-dimensional fast Fourier transform)을 사용하는 'fast-ramp' 기법 기반의 FMCW 레이다가 많이 활용되고 있다.
반사율이 낮은 표적이 존재할 경우, 상대적으로 강한 'clutter'의 'side-lobe'에 의해 탐지가 되지 않을 수 있다. 이를 해결하기 위해, FFT 연산 이전에 윈도우 함수를 사용하여 'clutter'의 'side-lobe'를 줄인다. 그 이후 'Range'와 'velocity' 추출하기 위해 2D FFT를 수행한다. 이때, 각각의 FFT를 'range-FFT', 'Doppler-FFT'라 부르고, 그 결과를 RDM(range-Doppler map이라고 부른다. 'Range-FFT length' 와 'Doppler-FFT length'는 각각 최대 탐지 거리와 'Doppler' 해상도를 결정 짓는 중요한 파라미터이고, 응용에 따라 요구되는 성능이 다르므로 FFT 프로세서는 가변 'length'를 지원할 필요가 있다.
FFT 프로세서는 구현의 용이성 때문에 일반적으로 'Fixed-point' 수 체계의 연산으로 설계 및 구현되었다. 'Fixed-point' 수 체계는 수를 표현하는 범위가 한정적이기 때문에 FFT를 'Fixed-point' 수 체계의 연산으로 구현할 때 결과값을 'scaling'하여 표현 범위 내로 조정을 한다. 이 때문에 FFT의 성능 저하 문제가 생기며, 특히 FMCW 레이다 신호 처리 과정에서 'range-FFT'와 'Doppler-FFT'가 반복적으로 수행되므로 Q-noise(quantization noise)가 누적된다. 따라서 이 문제를 해결하고 FFT의 성능 개선을 위해 'Floating-point' 수 체계를 사용하여 하드웨어 설계 및 구현하는 연구들이 제안되고 있다.
1. Piotrowsky, Lukas, et al. "Enabling high accuracy distance measurements with FMCW radar sensors." IEEE Transactions on Microwave Theory and Techniques 67.12 (2019): 5360-5371. 2. Park, Junhyeong, et al. "Leakage mitigation in heterodyne FMCW radar for small drone detection with stationary point concentration technique." IEEE Transactions on Microwave Theory and Techniques 67.3 (2019): 1221-1232.
Figure pat00001
3. Prez, Rodrigo, et al. "Single-frame vulnerable road users classification with a 77 GHz FMCW radar sensor and a convolutional neural network." 2018 19th International Radar Symposium (IRS). IEEE, 2018. 4. Zhang, Zhenyuan, Zengshan Tian, and Mu Zhou. "Latern: Dynamic continuous hand gesture recognition using FMCW radar sensor." IEEE Sensors Journal 18.8 (2018): 3278-3289. 5. Hyun, Eugin, Young-Seok Jin, and Jong-Hun Lee. "Moving and stationary target detection scheme using coherent integration and subtraction for automotive FMCW radar systems." 2017 IEEE Radar Conference (RadarConf). IEEE, 2017. 6. Hyun, Eugin, Young-Seok Jin, and Jong-Hun Lee. "A pedestrian detection scheme using a coherent phase difference method based on 2D range-Doppler FMCW radar." Sensors 16.1 (2016): 124. 7. Ahmad, Wael Abdullah, et al. "Multimode W-Band and D-Band MIMO Scalable Radar Platform." IEEE Transactions on Microwave Theory and Techniques (2020). 8. Swartzlander, Earl E., and Hani HM Saleh. "FFT implementation with fused floating-point operations." IEEE Transactions on Computers 61.2 (2010): 284-288. 9. Chen, Jiyang, et al. "Configurable floating-point FFT accelerator on FPGA based multiple-rotation CORDIC." Chinese Journal of Electronics 25.6 (2016): 1063-1070. 10. Chen, Xiaowen, et al. "A variable-size FFT hardware accelerator based on matrix transposition." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 26.10 (2018): 1953-1966. 11. Li, Yongrui, He Chen, and Yizhuang Xie. "An FPGA-Based Four-Channel 128k-Point FFT Processor Suitable for Spaceborne SAR." Electronics 10.7 (2021): 816. 12. Hou, Junjie, et al. "Enhancing precision and bandwidth in cloud computing: Implementation of a novel float-ing-point format on fpga." 2017 IEEE 4th International Conference on Cyber Security and Cloud Computing (CSCloud). IEEE, 2017. 13. Kronauge, Matthias, and Hermann Rohling. "Fast two-dimensional CFAR procedure." IEEE Transactions on Aerospace and Electronic Systems 49.3 (2013): 1817-1823. 14. Zhang, Shun-sheng, et al. "Dim target detection based on keystone transform." IEEE International Radar Conference, 2005.. IEEE, 2005. 15. Peng, Wang. "Decision-making Optimization of Logistics Supply Chain Based on Small Target Echo Coherent Accumulation Algorithm Based on LTE Signal." Acoustics, Speech and Signal Processing. Vol. 1. No. 1. Clausius Scientific Press, 2019. 16. Zheng, Qiangwen, et al. "A Target Detection Scheme with Decreased Complexity and Enhanced Performance for Range-Doppler FMCW Radar." IEEE Transactions on Instrumentation and Measurement 70 (2020): 1-13. 17. Hyun, Eugin, Young-Seok Jin, and Jong-Hun Lee. "Design and development of automotive blind spot detection radar system based on ROI pre-processing scheme." International journal of automotive technology 18.1 (2017): 165-177. 18. Alizadeh, Mostafa, et al. "Remote monitoring of human vital signs using mm-Wave FMCW radar." IEEE Access 7 (2019): 54958-54968. 19. Wang, Yong, et al. "Remote monitoring of human vital signs based on 77-GHz mm-wave FMCW ra-dar." Sensors 20.10 (2020): 2999. 20. Garrido, Mario, et al. "Hardware architectures for the fast Fourier transform." Handbook of Signal Processing Systems. Springer, Cham, 2019. 613-647. 21. Garrido, Mario, et al. "A 4096-point radix-4 memory-based FFT using DSP slices." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 25.1 (2016): 375-379. 22. Liu, Shaohan, and Dake Liu. "A high-flexible low-latency memory-based FFT processor for 4G, WLAN, and future 5G." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 27.3 (2018): 511-523. 23. Hsiao, Chen-Fong, Yuan Chen, and Chen-Yi Lee. "A generalized mixed-radix algorithm for memory-based FFT processors." IEEE Transactions on Circuits and Systems II: Express Briefs 57.1 (2010): 26-30. 24. Jung, Yongchul, et al. "Area-efficient pipelined FFT processor for zero-padded signals." Electronics 8.12 (2019): 1397. 25. Jeon, Hohyub, et al. "Area-Efficient Short-Time Fourier Transform Processor for Time-Frequency Analysis of Non-Stationary Signals." Applied Sciences 10.20 (2020): 7208. 26. Adjoudani, Ali, et al. "Prototype experience for MIMO BLAST over third-generation wireless system." IEEE Journal on Selected Areas in Communications 21.3 (2003): 440-451. 27. Gautam, Vinay, Kailash Chandra Ray, and Pauline Haddow. "Hardware efficient design of variable length FFT processor." 14th IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems. IEEE, 2011. 28. Chen, Jienan, Jianhao Hu, and Shuyang Li. "High throughput and hardware efficient FFT architecture for LTE application." 2012 IEEE Wireless Communications and Networking Conference (WCNC). IEEE, 2012. 29. Valencia, Daniel, and Amirhossein Alimohammad. "Compact and high-throughput parameterisable architectures for memory-based FFT algorithms." IET Circuits, Devices & Systems 13.5 (2019): 696-703. 30. XU, WANG, et al. "A Configurable Floating-Point Discrete Hilbert Transform Processor for Accelerating the Calculation of Filter in Katsevich Formula." WSEAS Transactions on Communications 11.11 (2012): 395-404.
본 발명의 실시예는, FMCW 레이다 신호 처리를 위한 시간을 단축시키고, 하드웨어 리소스를 최소화시킬 수 있는 FMCW 레이다 신호 처리를 위한 FFT 장치 및 그 동작 방법을 제공한다.
본 발명의 일 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치는, FMCW 레이다 수신신호에 대한 윈도우 연산을 수행하는 윈도우 연산 유닛; 상기 윈도우 연산 유닛의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행하는 버터플라이 연산 유닛; 상기 버터플라이 연산 유닛의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산하는 크기 및 위상 연산 유닛; 상기 크기 및 위상 연산 유닛의 계산 결과를 누적하는 데이터 누적 유닛; 표적 여부를 판단할 테스트 셀과 상기 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 상기 테스트 셀 간을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출하는 CFAR(Constant False Alarm Rate) 실행 유닛; 및 FMCW 레이다 송신신호와 상기 CFAR 실행 유닛을 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산하는 표적 거리 및 속도 연산 유닛을 포함한다.
또한, 상기 윈도우 연산 유닛은, FMCW 레이다 수신신호와 메모리에 재 설정 가능하게 저장된 윈도우 계수를 곱하여 윈도우 연산을 수행할 수 있다.
또한, 상기 윈도우 연산 유닛은, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, XOR 게이트를 통해 상기 부호(sign)를 결정하고, 두 실제지수 값을 더 한 후 바이어스(bias) 값을 뺀 값으로 상기 지수(exponent)를 계산하고, 연산(operation) 과정을 통해 가수의 비트 수를 절반으로 줄이고, 상기 연산(operation)의 수행 결과에 대한 1차 정규화(Normalization) 과정을 수행하고, 상기 1차 정규화(Normalization)의 수행 결과에 대한 반올림(Rounding) 과정을 수행한 후, 상기 2차 정규화(Post-Normalization) 과정을 수행하여 상기 지수(exponent)를 조정한 후 상기 가수(mantissa)를 최종 출력하는 멀티플라이어를 포함할 수 있다.
또한, 상기 윈도우 연산 유닛은, FFT 연산을 위해 상기 멀티플라이어의 출력 결과에 대한 시작부분과 끝부분을 제외한 중간부분을 선택적으로 출력하는 멀티플렉서를 더 포함할 수 있다.
또한, 상기 버터플라이 연산 유닛은, 상기 윈도우 연산 유닛의 윈도우 연산 결과를 병렬로 입력 받아 radix-4와 radix-2 연산을 반복 수행할 수 있다.
또한, 상기 버터플라이 연산 유닛은, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, 지수(exponent) 값이 큰 수의 부호(sign)로 결정하며 지수(exponent) 값이 같을 경우 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)에 따라 상기 부호(sign)를 결정하고, 두 실제지수 값을 비교하여 더 큰 값을 선택한 후 가수(mantissa)의 연산 결과에 따라 연산하여 상기 지수(exponent) 값을 최종 결정하고, 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization) 과정을 통해 가수(mantissa)를 결정할 수 있다.
또한, 상기 가수(mantissa)의 정렬(Alignment) 과정은, 두 가수 값이 서로 다른 경우 두 실제지수 값의 자리 수를 맞춘 후 자리 수를 맞춘 부호 연산 로직에 따른 덧셈 또는 뺄셈 연산을 수행하되, 두 가수 값을 비교하여 상대적을 큰 값과 작은 값 순으로 교환(swap)하여 정렬(Alignment) 과정을 수행하고, 상기 가수(mantissa)의 연산(Operation) 과정은, 두 가수 값에 대하여 부호 연산 로직에 따라 덧셈 또는 뺄셈 연산을 수행하고 반올림(Rounding) 과정을 위한 반올림 비트(rounding bit)를 생성하여 연산(Operation) 과정을 수행하고, 상기 가수(mantissa)의 1차 정규화(Normalization) 과정은, 상기 연산 결과 값의 선행 제로(leading zero)를 검출하여 지수 값의 변화량을 추출하고 부동 소수점(Floating Point)의 수 체계 형식으로 1차 정규화(Normalization) 과정을 수행하고, 상기 가수(mantissa)의 반올림(Rounding) 과정은, 상기 반올림 비트(rounding bit)를 이용하여 반올림(Rounding) 과정을 수행하고, 상기 가수(mantissa)의 2차 정규화(Post-Normalization) 과정은, 상기 가수(mantissa)의 반올림(Rounding) 과정에서 발생되는 오버플로우(overflow)를 체크하여 상기 지수(exponent)를 조정한 후 2차 정규화(Post-Normalization) 과정을 수행하여 최종 가수(mantissa)를 결정할 수 있다.
또한, 상기 크기 및 위상 연산 유닛은, 상기 버터플라이 연산 유닛의 FFT 연산 결과인 콤플렉스(complex) 수를
Figure pat00002
의 수식에 따라 크기 성분으로 연산하고, 상기 x는 FFT 연산 결과의 콤플렉스(complex) 수이고, 상기 max는 실수(Re) 성분과 허수(Im) 성분 중 수치가 상대적으로 큰 성분을 선택하는 연산식을 의미하며, 상기 콤플렉스(complex) 수의 실수(Re) 성분과 허수(Im) 성분을 입력 받아 최대 값과 최소 값을 비교한 후 시프트 가산기(shift-adder)를 통해 크기 성분의 근사 값을 계산할 수 있다.
또한, 상기 크기 및 위상 연산 유닛은, 상기 버터플라이 연산 유닛의 FFT 연산 결과에 대한 CORDIC(Coordinate Rotation Digital Computer) 알고리즘을 이용하여 위상 성분을 계산할 수 있다.
또한, 상기 CFAR 실행 유닛은, 상기 참조 셀들의 평균 값에 따라 문턱 값을 생성하고, 생성된 문턱 값과 상기 테스트 셀의 값 간을 비교하여 상기 테스트 셀에 대한 표적 여부를 결정하되, 상기 테스트 셀과 상기 참조 셀들을 모든 셀에 대해 변경해가며 표적을 검출할 수 있다.
본 발명의 다른 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법은, 윈도우 연산 유닛이, FMCW 레이다 수신신호에 대한 윈도우 연산을 수행하는 윈도우 연산 단계; 버터플라이 연산 유닛이, 상기 윈도우 연산 단계의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행하는 버터플라이 연산 단계; 크기 및 위상 연산 유닛이, 상기 버터플라이 연산 단계의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산하는 크기 및 위상 연산 단계; 데이터 누적 유닛이, 상기 크기 및 위상 연산 단계의 계산 결과를 누적하는 데이터 누적 단계; CFAR(Constant False Alarm Rate) 수행 유닛이, 표적 여부를 판단할 테스트 셀과 상기 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 상기 데이터 누적 단계에 누적된 크기 성분 간을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출하는 CFAR(Constant False Alarm Rate) 수행 단계; 및 표적 거리 및 속도 연산 유닛이, FMCW 레이다 송신신호와 상기 CFAR 수행 단계를 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산하는 표적 거리 및 속도 연산 유닛을 포함한다.
또한, 상기 윈도우 연산 단계는, FMCW 레이다 수신신호와 메모리에 재 설정 가능하게 저장된 윈도우 계수를 곱하여 윈도우 연산을 수행할 수 있다.
또한, 상기 윈도우 연산 단계는, 멀티플라이어가, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, XOR 게이트를 통해 상기 부호(sign)를 결정하고, 두 실제지수 값을 더 한 후 바이어스(bias) 값을 뺀 값으로 상기 지수(exponent)를 계산하고, 연산(operation) 과정을 통해 가수의 비트 수를 절반으로 줄이고, 상기 연산(operation)의 수행 결과에 대한 1차 정규화(Normalization) 과정을 수행하고, 상기 1차 정규화(Normalization)의 수행 결과에 대한 반올림(Rounding) 과정을 수행한 후, 상기 2차 정규화(Post-Normalization) 과정을 수행하여 상기 지수(exponent)를 조정한 후 상기 가수(mantissa)를 최종 출력할 수 있다.
또한, 상기 윈도우 연산 단계는, 멀티플렉서가, FFT 연산을 위해 상기 멀티플라이어의 출력 결과에 대한 시작부분과 끝부분을 제외한 중간부분을 선택적으로 출력할 수 있다.
또한, 상기 버터플라이 연산 단계는, 상기 윈도우 연산 단계의 윈도우 연산 결과를 병렬로 입력 받아 radix-4와 radix-2 연산을 반복 수행할 수 있다.
또한, 상기 버터플라이 연산 단계는, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, 지수(exponent) 값이 큰 수의 부호(sign)로 결정하며 지수(exponent) 값이 같을 경우 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)에 따라 상기 부호(sign)를 결정하고, 두 실제지수 값을 비교하여 더 큰 값을 선택한 후 가수(mantissa)의 연산 결과에 따라 연산하여 상기 지수(exponent) 값을 최종 결정하고, 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization) 과정을 통해 가수(mantissa)를 결정할 수 있다.
또한, 상기 가수(mantissa)의 정렬(Alignment) 과정은, 두 가수 값이 서로 다른 경우 두 실제지수 값의 자리 수를 맞춘 후 자리 수를 맞춘 부호 연산 로직에 따른 덧셈 또는 뺄셈 연산을 수행하되, 두 가수 값을 비교하여 상대적을 큰 값과 작은 값 순으로 교환(swap)하여 정렬(Alignment) 과정을 수행하고, 상기 가수(mantissa)의 연산(Operation) 과정은, 두 가수 값에 대하여 부호 연산 로직에 따라 덧셈 또는 뺄셈 연산을 수행하고 반올림(Rounding) 과정을 위한 반올림 비트(rounding bit)를 생성하여 연산(Operation) 과정을 수행하고, 상기 가수(mantissa)의 1차 정규화(Normalization) 과정은, 상기 연산 결과 값의 선행 제로(leading zero)를 검출하여 지수 값의 변화량을 추출하고 부동 소수점(Floating Point)의 수 체계 형식으로 1차 정규화(Normalization) 과정을 수행하고, 상기 가수(mantissa)의 반올림(Rounding) 과정은, 상기 반올림 비트(rounding bit)를 이용하여 반올림(Rounding) 과정을 수행하고, 상기 가수(mantissa)의 2차 정규화(Post-Normalization) 과정은, 상기 가수(mantissa)의 반올림(Rounding) 과정에서 발생되는 오버플로우(overflow)를 체크하여 상기 지수(exponent)를 조정한 후 2차 정규화(Post-Normalization) 과정을 수행하여 최종 가수(mantissa)를 결정할 수 있다.
또한, 상기 크기 및 위상 연산 단계는, 상기 버터플라이 연산 단계의 FFT 연산 결과인 콤플렉스(complex) 수를
Figure pat00003
의 수식에 따라 크기 성분으로 연산하고, 상기 x는 FFT 연산 결과의 콤플렉스(complex) 수이고, 상기 max는 실수(Re) 성분과 허수(Im) 성분 중 수치가 상대적으로 큰 성분을 선택하는 연산식을 의미하며, 상기 콤플렉스(complex) 수의 실수(Re) 성분과 허수(Im) 성분을 입력 받아 최대 값과 최소 값을 비교한 후 시프트 가산기(shift-adder)를 통해 크기 성분의 근사 값을 계산할 수 있다.
또한, 상기 크기 및 위상 연산 단계는, 상기 버터플라이 연산 단계의 FFT 연산 결과에 대한 CORDIC(Coordinate Rotation Digital Computer) 알고리즘을 이용하여 위상 성분을 계산할 수 있다.
또한, 상기 CFAR 수행 단계는, 상기 참조 셀들의 평균 값에 따라 문턱 값을 생성하고, 생성된 문턱 값과 상기 테스트 셀의 값 간을 비교하여 상기 테스트 셀에 대한 표적 여부를 결정하되, 상기 테스트 셀과 상기 참조 셀들을 모든 셀에 대해 변경해가며 표적을 검출할 수 있다.
본 발명에 따르면, FMCW 레이다 신호 처리를 위한 시간을 단축시키고, 하드웨어 리소스를 최소화시킬 수 있는 FMCW 레이다 신호 처리를 위한 FFT 장치 및 그 동작 방법을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치의 전체 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 윈도우 연산 유닛, 버터플라이 연산 유닛, 크기 및 위상 연산 유닛, 데이터 누적 유닛의 하드웨어 구성을 개략적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 HFP 멀티플라이어의 하드웨어 구성을 개략적으로 나타낸 회로도이다.
도 4는 본 발명의 일 실시예에 따른 HFP 가산기의 하드웨어 구성을 개략적으로 나타낸 회로도이다.
도 5는 본 발명의 일 실시예에 따른 크기 및 위상 연산 유닛의 하드웨어 구성을 개략적으로 나타낸 회로도이다.
도 6은 본 발명의 일 실시예에 따른 Arctan CORDIC의 하드웨어 구성을 개략적으로 나타낸 회로도이다.
도 7은 본 발명의 일 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치가 적용되는 FPGA 플랫폼 구조를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 FPGA 플랫폼의 검증 환경을 나타낸 사진이다.
도 9는 본 발명의 다른 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법을 나타낸 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치의 전체 구성을 나타낸 블록도이고, 도 2는 본 발명의 실시예에 따른 윈도우 연산 유닛, 버터플라이 연산 유닛, 크기 및 위상 연산 유닛, 데이터 누적 유닛의 하드웨어 구성을 개략적으로 나타낸 도면이고, 도 3은 본 발명의 일 실시예에 따른 HFP 멀티플라이어의 하드웨어 구성을 개략적으로 나타낸 회로도이고, 도 4는 본 발명의 일 실시예에 따른 HFP 가산기의 하드웨어 구성을 개략적으로 나타낸 회로도이고, 도 5는 본 발명의 일 실시예에 따른 크기 및 위상 연산 유닛의 하드웨어 구성을 개략적으로 나타낸 회로도이며, 도 6은 본 발명의 일 실시예에 따른 Arctan CORDIC의 하드웨어 구성을 개략적으로 나타낸 회로도이다.
FMCW 레이다 시스템에서 표적까지의 거리와 속도를 검출하는 가장 간단한 방법은 일정한 문턱 값(constant threshold)를 설정하여, FFT를 수행한 결과의 크기(Magnitude) 성분과 문턱 값(threshold)을 비교하여 크기 성분이 문턱 값보다 큰 신호일 때, 해당 신호를 표적으로부터 수신된 신호로 판단할 수 있다. 그러나, 노이즈 파워(noise power)는 시간에 따라 바뀐다. 따라서 로컬 노이즈 파워(local noise power)에 따라 문턱 값(threshold)을 변화시켜 거리와 속도 정보를 검출하는 CFAR(constant false alarm rate)를 수행한다. 또한, 크기(magnitude) 성분을 누적하여 CFAR를 수행할 경우, 연산량이 줄고 탐지 성능이 향상될 수 있다. 즉, 도 1에 도시된 바와 같이 표적의 거리 혹은 속도 측정을 위해 FFT 연산 결과의 크기(magnitude) 성분 출력과 누적이 필요하다. 또한, 호흡, 심박수 등 다양한 생체정보 획득을 위해 FFT 연산 결과의 phase 성분을 활용되고 있다. 이에 따라, FFT 연산 결과의 phase 성분에 대한 출력이 필요하다.
도 1을 참조하면, 본 발명의 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치(1000)는 윈도우 연산 유닛(100), 버터플라이 연산 유닛(200), 크기 및 위상 연산 유닛(300), 데이터 누적 유닛(400), CFAR(Constant False Alarm Rate) 실행 유닛(500) 및 표적 거리 및 속도 연산 유닛(600) 중 적어도 하나를 포함할 수 있다.
상기 윈도우 연산 유닛(100)은 FMCW 레이다 수신신호에 대한 윈도우 연산을 수행할 수 있으며, 좀 더 구체적으로는 FMCW 레이다 수신신호와 메모리에 재 설정 가능하게 저장된 윈도우 계수(Window coefficient)를 곱하여 윈도우 연산을 수행할 수 있다. 이러한 윈도우 연산 유닛(100)은 FFT를 하기 전 윈도윙(windowing) 연산을 수행하기 위한 구성요소로, 윈도우 계수는 도 2에 도시된 바와 같이 사용자에 따라 바꿀 수 있도록 윈도우 메모리(window memory)에서 데이터를 리드(read)하여 입력하는 방식으로 구현될 수 있다. 또한, 입력 데이터에 대한 윈도우 연산을 수행하지만, FFT 중간 값에서는 윈도윙(windowing)을 하지 않으므로 멀티플렉서를 통해 선택적으로 출력할 수 있다.
좀 더 구체적으로 윈도우 연산 유닛(100)은, 적어도 하나 이상의 멀티플라이어와 멀티플렉서를 포함할 수 있으며, 멀티플라이어는, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, XOR 게이트를 통해 상기 부호(sign)를 결정하고, 두 실제지수 값을 더 한 후 바이어스(bias) 값을 뺀 값으로 지수(exponent)를 계산하고, 연산(operation) 과정을 통해 가수의 비트 수를 절반으로 줄이고, 연산(operation)의 수행 결과에 대한 1차 정규화(Normalization) 과정을 수행하고, 1차 정규화(Normalization)의 수행 결과에 대한 반올림(Rounding) 과정을 수행한 후, 2차 정규화(Post-Normalization) 과정을 수행하여 상기 지수(exponent)를 조정한 후 상기 가수(mantissa)를 최종 출력할 수 있으며, 멀티플렉서는, FFT 연산을 위해 멀티플라이어의 출력 결과에 대한 시작부분과 끝부분을 제외한 중간부분을 선택적으로 출력할 수 있다.
상기 부동 소수점(Half Floating Point) 연산에 대하여 설명하면 다음과 같다. FMCW 레이더를 이용하여 표적의 범위와 속도를 측정하기 위해서는 ADC의 입력 데이터에 대해 2D FFT를 수행해야 한다. 2D FFT는 1D FFT에 비해 양자화 잡음을 증가시키므로 필수 정보가 손실될 수 있다. 예를 들어, 손동작 인식 레이더 시스템의 경우 인간 손의 레이더 단면적이 매우 작기 때문에 에코 신호의 값이 매우 작다. 양자화 잡음이 2D FFT에 의해 중첩되어 증가하면 작은 에코 신호 값을 갖는 손 제스처에 대한 중요한 데이터가 손실될 수 있다. 합리적인 인식 성능을 얻으려면 2D FFT의 SQNR이 충분히 커야 한다.
Figure pat00004
<표 1>
상기 표 1은 입력 데이터의 비트 수가 16~28일 때 고정 소수점 연산자와 부동 소수점 연산자를 기반으로 한 2D FFT SQNR 성능을 비교한 것이다. 반정밀도 부동 소수점(HFP) 형식이다. 표 1에 나타난 바와 같이, SQNR 열화는 고정 소수점 시스템에서 심각하게 발생하며, 특히 입력 데이터의 비트 수가 4096X4096 데이터에 대해 16~24인 경우에 심각하다. 고정 소수점 시스템은 비트 너비가 28비트일 때 심각한 성능 저하를 나타내지 않는다. 28비트일 때의 SQNR 성능은 HFP 시스템의 성능과 비슷하다.
Figure pat00005
<표 2>
상기 표 2는 28비트 고정 소수점 연산자 또는 HFP 연산자를 기반으로 FFT 프로세서를 설계 및 합성한 후 사용된 하드웨어 리소스를 비교한다. HFP 연산자로 구현된 FFT 프로세서가 고정 소수점 연산자로 구현된 것보다 더 많은 LUT를 사용하는 것으로 나타난다. 'Xilinx FPGA'의 BRAM은 16비트 단위로 구성되어 있기 때문에 고정 소수점 연산자로 구현된 FFT 프로세서는 BRAM의 두 배를 필요하다.
상기 HFP 멀티플라이어(HFP multiplier)는 부호(sign), 지수(exponent), 가수(mantissa)의 구성 요소를 나눠 연산을 수행할 수 있다. HFP 멀티플라이어(HFP multiplier)에서, 부호(sign)는 XOR 게이트를 이용한 간단한 로직으로 결정될 수 있다. IEEE 754에 규정된 부동 소수점(floating point) 수 체계의 지수(exponent)는 2의 보수(2's complement) 표현법이 아닌 바이어스(bias) 표현법을 사용한다. 따라서 HFP 멀티플라이어(HFP multiplier)에서 지수(exponent)는 그 두 값을 더한 뒤 바이어스(bias) 값을 빼야 올바른 값이 출력할 수 있다. 그 후에 HFP 가산기(HFP adder)와 같이 가수(mantissa) 연산에 의해 조정되어 최종 지수(exponent) 값을 출력한다. 지수(Mantissa) 값 연산은 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding), 마지막으로 2차 정규화(Post-Normalization) 순으로 연산이 이루어진다. HFP 가산기(HFP adder)와 달리 자리 수를 맞출 필요가 없으므로 정렬(alignment)은 생략된다. 연산(Operation)의 결과는 가수 비트(mantissa bit) 수를 2배로 만든다. 그 비트(bit) 수는 너무 크기 때문에 비트(bit) 수를 줄여서 구현하는 것이 일반적이다. HFP의 경우, 연산(operation) 결과 22bits를 12bits로 줄이고 반올림(rounding)을 위한 반올림 비트(rounding bit)를 생성할 수 있다. 이후, HFP 가산기(HFP adder)와 유사한 과정을 거칠 수 있다. 연산(Operation) 결과 값의 선행 제로(leading zero)를 검출하고 정규화(normalization) 과정을 수행한다. 이후, 반올림(rounding) 과정을 수행하고, 2차 정규화(post-normalization) 과정을 수행하여 지수(exponent) 값을 조정하고 최종 가수(mantissa)를 출력한다.
상기 버터플라이 연산 유닛(200)은, 윈도우 연산 유닛(100)의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행할 수 있다. 좀 더 구체적으로는, 윈도우 연산 유닛(100)의 윈도우 연산 결과를 병렬로 입력 받아 radix-4와 radix-2 연산을 반복 수행할 수 있다.
상기 버터플라이 연산 유닛(200)의 HFP 가산기는, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, 지수(exponent) 값이 큰 수의 부호(sign)로 결정하며 지수(exponent) 값이 같을 경우 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)에 따라 부호(sign)를 결정하고, 두 실제지수 값을 비교하여 더 큰 값을 선택한 후 가수(mantissa)의 연산 결과에 따라 연산하여 지수(exponent) 값을 최종 결정하고, 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization) 과정을 통해 가수(mantissa)를 결정할 수 있다. 여기서, 가수(mantissa)의 정렬(Alignment) 과정은, 두 가수 값이 서로 다른 경우 두 실제지수 값의 자리 수를 맞춘 후 자리 수를 맞춘 부호 연산 로직에 따른 덧셈 또는 뺄셈 연산을 수행하되, 두 가수 값을 비교하여 상대적을 큰 값과 작은 값 순으로 교환(swap)하여 정렬(Alignment) 과정을 수행할 수 있다. 가수(mantissa)의 연산(Operation) 과정은, 두 가수 값에 대하여 부호 연산 로직에 따라 덧셈 또는 뺄셈 연산을 수행하고 반올림(Rounding) 과정을 위한 반올림 비트(rounding bit)를 생성하여 연산(Operation) 과정을 수행할 수 있다. 가수(mantissa)의 1차 정규화(Normalization) 과정은, 연산 결과 값의 선행 제로(leading zero)를 검출하여 지수 값의 변화량을 추출하고 부동 소수점(Floating Point)의 수 체계 형식으로 1차 정규화(Normalization) 과정을 수행할 수 있다. 가수(mantissa)의 반올림(Rounding) 과정은, 상기 반올림 비트(rounding bit)를 이용하여 반올림(Rounding) 과정을 수행할 수 있다. 가수(mantissa)의 2차 정규화(Post-Normalization) 과정은, 가수(mantissa)의 반올림(Rounding) 과정에서 발생되는 오버플로우(overflow)를 체크하여 지수(exponent)를 조정한 후 2차 정규화(Post-Normalization) 과정을 수행하여 최종 가수(mantissa)를 결정할 수 있다.
이러한 HFP 가산기(HFP Adder)는 도 4에 도시된 바와 같이 부호(sign), 지수(exponent), 가수(mantissa)로 나눠서 연산을 진행할 수 있다. 부호(sign)는 부호 로직(sign logic)에 의해 결정된다. 여기서, 부호 로직(sign logic)은 지수(exponent) 값이 큰 수의 부호(sign)를 따라 가며, 지수(exponent) 값이 같을 경우, 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)을 따라 결정한다. 지수(exponent)는 두 지수(exponent) 값을 비교하여 큰 값으로 선택되고 이후, 가수(mantissa)의 연산 결과에 따라 값을 연산하여 최종 지수(exponent) 값이 결정된다. 가수(mantissa) 값은 3요소 중 가장 복잡한 과정을 걸쳐 결정된다. 일반적으로 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization)의 과정을 걸친다. 먼저, 두 입력 값의 지수(exponent)가 다르다면 자리 수를 맞추는 정렬(alignment) 과정이 필요하다. 정렬(Alignment) 과정을 통해 두 값의 자리 수를 맞춘 뒤, 두 값의 연산은 부호 로직(sign logic)의 부호(sign)에 따라 덧셈 혹은 뺄셈을 한다. 이 때 덧셈/뺄셈 연산기를 1개만 사용하기 위해 가수(mantissa)의 두 값을 비교하여 큰 값과 작은 값 순으로 교환(swap)하도록 구현하였다. 연산(Operation)에서 두 가수(mantissa) 값을 덧셈/뺄셈하고 반올림(rounding)을 위한 반올림 비트(rounding bits)를 생성한다. 그 결과 값의 선행 제로(leading zero)를 검출하여 지수(exponent) 값의 변화량을 추출하고, 부동 소수점(floating point) 수 체계 형식으로 1차 정규화(normalization)를 수행한다. 그 이후, 연산(operation) 과정에서 생성된 반올림 비트(rounding bits)를 이용하여 반올림(rounding) 과정을 수행한다. 반올림(Rounding) 과정에서 오버플로우(overflow)가 발생할 수 있기 때문에, 2차 정규화(post-normalization)를 통해 오버플로우(overflow)을 확인하여 지수(exponent)를 조정하고 정규화(normalization) 과정을 다시 수행하여 최종 가수(mantissa) 값을 출력한다.
상기 크기 및 위상 연산 유닛(300)은, 버터플라이 연산 유닛의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산할 수 있다. 이러한 크기 및 위상 연산 유닛(300)은, 버터플라이 연산 유닛(200)의 FFT 연산 결과인 콤플렉스(complex) 수를 하기의 수식 1에 따라 크기 성분으로 연산할 수 있다.
[수식 1]
Figure pat00006
수식 1에서 x는 FFT 연산 결과의 콤플렉스(complex) 수이고, max는 실수(Re) 성분과 허수(Im) 성분 중 수치가 상대적으로 큰 성분을 선택하는 연산식을 의미하며, 콤플렉스(complex) 수의 실수(Re) 성분과 허수(Im) 성분을 입력 받아 최대 값과 최소 값을 비교한 후 시프트 가산기(shift-adder)를 통해 크기 성분의 근사 값을 계산할 수 있다. 이러한 근사화 기법을 사용하면 성능 열화가 없으면서 곱셈 연산이 덧셈 연산으로 대체되므로 연산량을 효율적으로 감소시킬 수 있다. 수식 1을 하드웨어로 설계하면 도 5에 도시된 바와 같이 구현될 수 있다.
상기 크기 및 위상 연산 유닛(300)은, 하드웨어 리소스를 줄이기 위해 크기(magnitude) 성분과 위상(phase) 성분의 근사값을 성분버터플라이 연산 유닛(200)의 FFT 연산 결과에 대한 Arctan CORDIC(Coordinate Rotation Digital Computer) 알고리즘을 이용하여 위상 성분을 계산할 수 있으며, 본 실시예에는 하드웨어 리소스를 줄이기 위해 크기(magnitude) 성분과 위상(phase) 성분의 근사값을 구하기 위해 도 5에 도시된 ANC(Approximated Norm Calculation)와 도 6에 도시된 Arctan CORDIC로 구현될 수 있다.
상기 크기 및 위상 연산 유닛(300)은, FFT 결과를 위상(phase) 값으로 변환하기 위해 반복 연산을 수행하여 근사 값을 구하는 CORDIC 알고리즘을 이용하여 구현하여 하드웨어 리소스를 줄였다. 도 6에 도시된 바와 같이 쉬프터(Shifter), 컨트롤러(Controller), 멀티플렉서(MUX), 가산기(adder) 등으로 구성되어 있으며, FFT 결과 값이 연속적으로 나오기 때문에, 단일 유닛과 메모리를 이용하는 대신 파이프라인(pipeline)으로 구현할 수 있다. 따라서 n-1번째 출력 값은 n 번째 연산에 다시 입력되어 수행하며 위상(phase) 값을 추출한다. 여기서의 쉬프트(shifter)는 n 값에 의해 0~12bit를 쉬프트하면 LUT의 값도 달라진다.
상기 데이터 누적 유닛(400)은, 크기 및 위상 연산 유닛(300)의 계산 결과를 누적하기 위한 구성요소로, 이전 FFT의 결과값이나 누적 값에 현재 FFT의 결과값을 누적해야 하므로 이전 FFT의 결과값을 누적 메모리(accumulate memory)에 저장해야 한다.
상기 CFAR(Constant False Alarm Rate) 실행 유닛(500)은, 표적 여부를 판단할 테스트 셀과 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 데이터 누적 유닛(400)에 누적된 크기 성분 간을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출할 수 있다. 이러한 CFAR 실행 유닛(500)은, 참조 셀들의 평균 값에 따라 문턱 값을 생성하고, 생성된 문턱 값과 테스트 셀의 값 간을 비교하여 테스트 셀에 대한 표적 여부를 결정하되, 테스트 셀과 참조 셀들을 모든 셀에 대해 변경해가며 표적을 검출할 수 있다.
FMCW 레이다 시스템에서 표적을 탐지하기 위한 가장 간단한 방법은 표적으로부터 반사되어 수신된 신호에 대해 레인지(range) FFT 연산과 도플러(Doppler) FFT 연산을 수행한 값의 크기(Magnitude) 성분과 일정한 문턱 값(threshold)을 비교하여 이것보다 큰 신호를 표적으로 판단하는 방법이다. 그러나, 레이다 센서를 사용하는 시스템이 이동이나 운용 조건은 시간에 따라 변화하기 때문에 clutter 신호의 크기는 일정하지 않다. 따라서 일정한 문턱 값(threshold)을 사용하여 탐지할 경우, 오경보 확률(false alarm rate)이 굉장히 높아진다. 오경보의 발생은 계속된 탐지로 인해 레이다의 재원을 낭비하게 하여 시스템 성능에 직접적인 영향을 미친다. 이 문제를 극복하기 위해, CFAR 알고리즘이 제안되었고 레이다 시스템에서 많이 활용되고 있다. CFAR 알고리즘은 문턱 값(threshold)를 일정하게 유지하지 않고 로컬 신호의 평균에 따라 문턱 값을 조정한다.
기본적인 CFAR 알고리즘은 다음과 순서로 진행된다. 1) FFT 연산을 수행한 데이터의 크기(magnitude) 성분을 구한다. 2) 판단할 값과 주변의 값들을 테스트 셀(test-cell)과 참조 셀(reference-cell)로 구분하여 저장한다. 테스트 셀(Test-cell)은 표적인지 아닌지를 판단할 셀을 나타내며, 참조 셀(reference-cell)은 테스트 셀(test-cell)의 표적 여부를 판단할 주변 셀들을 나타낸다. 3) 테스트 셀(test-cell)은 참조 셀(reference-cell)을 이용하여 생성한 문턱 값과 비교하여 표적인지 아닌지를 결정한다. 4) 판단할 값과 주변의 값들을 변경하며 2~3 과정을 반복하여 모든 데이터에서 표적인지 아닌지를 판정한다.
FMCW 레이다 시스템은 표적과의 거리와 속도 정보를 추출하기 위해서 RDM을 레인지(range), 도플러(Doppler) 축에 대하여 각각 CFAR 알고리즘을 적용하여 거리와 속도 정보를 추출해야 한다. 이러한 RDM에 CFAR를 적용하기 위해서 참조 셀(reference-cell)은 2차원(two-dimensional) 정보를 사용하도록 확장해야 하고, 이를 2D CFAR라고 한다. 2D CFAR는 기본적인 CFAR에 비해 연산량이 높은 문제가 있다. 이를 해결하기 위해 RDM을 레인지(range) 또는 도플러(Doppler) 축으로 누적하여 1차원 데이터로 만든 뒤, CFAR 알고리즘을 적용한다. 또한, 누적된 데이터는 여러 'chirp'의 데이터를 누적한 것과 같기 때문에 단일 'chirp'에 비해 탐지 성능이 높아진다. 따라서 FFT의 결과물을 크기(magnitude) 성분으로 변환하고, 누적하는 기능이 필요하다.
상기 표적 거리 및 속도 연산 유닛(600)은, FMCW 레이다 송신신호와 CFAR 실행 유닛(500)을 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산할 수 있다.
FMCW 레이다는 시간에 따라 주파수가 선형으로 변하는 파형을 사용한다. 송신 파형에 따라 크게 'triangle'과 'sawtooth' 파형으로 구분된다. 'Ghost' 표적 문제로 인해 'sawtooth' 송신 파형의 FMCW 레이다가 많이 사용된다. 'Sawtooth' 기반 FMCW 레이다는 'up-chirp' 혹은 'down-chirp'만을 사용하며 송신 파형의 주파수는 하기의 수식 2와 같이 정의된다.
[수식 2]
Figure pat00007
수식 2에서
Figure pat00008
는 캐리어(carrier) 주파수, 는 대역폭(bandwidth), T는 주기, t는 시간을 의미한다. 계산 편의상 /를 α로 대체한다. 송신 파형의 순시 위상(instantaneous phase)은 송신 파형의 주파수를 하기의 수식 3과 같이 시간 t에 대한 적분으로 구할 수 있다.
[수식 3]
Figure pat00009
수식 3에서 시간 t는 n번째 'chirp'일 때의 시간이며, 하기의 수식 4과 같이 나타낼 수 있다.
[수식 4]
Figure pat00010
송신 신호의 초기 위상이
Figure pat00011
, A가 Amplitude 라면, 첫 번째 chirp의 송신 파형은 하기의 수식 5와 같다.
[수식 5]
Figure pat00012
따라서 n번째 송신 신호는 하기의 수식 6과 같이 정리할 수 있다.
[수식 6]
Figure pat00013
지연 시간 τ만큼의 시간이 지난 뒤, 수신 신호는 하기의 수식 7과 같이 정의될 수 있다.
[수식 7]
Figure pat00014
수식 7에서 A'는 수신 신호의 Amplitude, R은 표적과의 거리, 는 표적과의 상대 속도, c는 빛의 속도이다. 표적에 반사되어 돌아온 수신 신호와 송신 신호를 곱해서 복조(demodulated)를 수행하며 하기의 수식 8과 같다.
[수식 8]
Figure pat00015
복조된 신호
Figure pat00016
에서 위상(phase) 성분은 코사인 텀(term)의 합 형태이고 고주파 신호는 LPF(Low-Pass Filter)에 의해 제거된다. 그 신호의 'In-phase' 성분은 하기의 수식 9와 같이 정리된다.
[수식 9]
Figure pat00017
수식 9에서 C는 AA', Amplitude의 곱이다. 이를 정리하면 하기의 수식 10과 같다.
[수식 10]
Figure pat00018
수식 10에서
Figure pat00019
의 경우 c가 매우 크기 때문에 무시해도 될 만한 값이며
Figure pat00020
Figure pat00021
에 비해 매우 작기 때문에 무시할 수 있다. 이와 같은 방법으로 수식을 'in-phase', 'quadrature' 성분 모두 정리하면 하기의 수식 11과 같다.
[수식 11]
Figure pat00022
표적의 거리 R과
Figure pat00023
에 대해 하기의 수식 12와 같이 정리할 수 있다.
[수식 12]
Figure pat00024
수식 12에서
Figure pat00025
는 진동 주파수(beat frequency)를 나타낸다. 움직이는 표적에 반사된 수신 신호의 주파수는 도플러 효과(Doppler effect)에 의해 하기의 수식 13과 같이 정의된다.
[수식 13]
Figure pat00026
여기서
Figure pat00027
은 수신 주파수,
Figure pat00028
는 송신 주파수를 의미하며, 이항 정리(binomial series)를 이용하여 간략히 정리하면, 하기의 수식 14와 같다.
[수식 14]
Figure pat00029
빛의 속도 c가 매우 크므로 고차원 텀(term)을 제거하면 하기의 수식 15와 같이 정리된다.
[수식 15]
Figure pat00030
도플러 주파수는
Figure pat00031
로 정의되고, 복조된 수신 신호를
Figure pat00032
Figure pat00033
로 정리하면, 하기의 수식 16과 같다.
[수식 16]
Figure pat00034
오일러의 공식(Euler's Formula)에 의해 'In-phase' 성분과 'Quadrature' 성분을 지수함수 형태로 나타내면, 하기의 수식 17과 같이 정리할 수 있다.
[수식 17]
Figure pat00035
수식 17의
Figure pat00036
에 하나의 'chirp', 즉
Figure pat00037
에 대해 DFT(Discrete Fourier Transform)를 수행하면 진동 주파수(beat frequency)를 구할 수 있으며, 앞서의 수식들과 같이 진동 주파수(beat frequency)를 이용하면 표적과의 거리(R)을 구할 수 있다. 또한, 여러 'chirp'에 대한 신호의 주파수 변화, 즉 에 대해 DFT를 수행하면 도플러 주파수(Doppler frequency:
Figure pat00038
)를 구할 수 있으며, 상술한 수식들을 이용하여 도플러 주파수(Doppler frequency)를 이용하여 표적의 상대 속도(v)를 구할 수 있다.
Range-FFT length를 M이라고 정의하면, 샘플링되는 간격은 T/M이 되므로 샘플링 주파수(sampling frequency:
Figure pat00039
)는 하기의 수식 18과 같다.
[수식 18]
Figure pat00040
Doppler-FFT length를 N이라고 정의하면, 샘플링 주파수는 1/T이므로
Figure pat00041
는 하기의 수식 19와 같이 정리할 수 있다.
[수식 19]
Figure pat00042
수식 18과 수식 19를 통해 Range와 Doppler FFT length는 각각 최대 탐지 거리와 도플러 해상도를 결정 짓는 중요한 파라미터인 것을 알 수 있다. 레이다 응용에 따라 요구되는 최대 탐지 거리와 도플러 해상도가 다르므로, 다양한 FFT length를 지원할 필요가 있다.
도 7은 본 발명의 일 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치가 적용되는 FPGA 플랫폼 구조를 나타낸 도면이고, 도 8은 본 발명의 일 실시예에 따른 FPGA 플랫폼의 검증 환경을 나타낸 사진이다.
제안된 FFT 프로세서는 HDL(Hardware Description Language)을 사용하여 설계되었으며 Xilinx Zynq UltraScale+ 장치 기반 FPGA 플랫폼에서 구현하였다. 하기의 표 3과 같이 FFT 프로세서는 LUT 10,891개, FF 6365개, DSP 20개로 구현되었다. FFT 연산만 수행하는 BFU보다 1.69배 더 많은 하드웨어 자원을 사용했다.
Figure pat00043
<표 3>
도 7에 도시된 바와 같이 제안된 FFT 장치(또는 프로세스)는 검증을 위해 AXI(Advanced Extensible Interface) 버스 인터페이스를 사용하여 FPGA 플랫폼에서 구성되었다. 도 8은 FPGA 플랫폼의 검증 환경을 보여준다. 시스템 구조는 FFT 프로세서, DDR 메모리를 통한 데이터 송수신을 위한 마스터 인터페이스, 마이크로프로세서(MP)와 통신하기 위한 슬레이브 인터페이스, 내부 RAM 및 동작 모드를 변경할 수 있는 레지스터로 구성됩니다. FFT 프로세서. 하드웨어 검증을 위한 입력 데이터는 DDR 메모리에서 초기화되었으며, MP를 이용하여 FFT 길이를 설정하였다. FFT IP(39)의 시작 신호가 MP를 통해 입력되면 DDR 메모리의 초기 데이터는 FFT IP(39)의 내부 RAM에 저장됩니다. 모든 데이터를 읽은 후 FFT 프로세서는 필요한 작업을 수행했습니다. 이러한 작업이 완료되면 결과는 마스터 인터페이스를 통해 DDR 메모리에 저장됩니다.
하기의 표 4는 입력 데이터를 윈도잉하고, 2D FFT를 수행하고, 크기/위상 성분을 계산하고, 이를 누적하는 FMCW 레이더 신호 처리 시간에 대한 평가 결과를 보여준다. FFT 프로세서의 속도를 평가하기 위해 서로 다른 버전을 구현하여 세 가지 버전의 실행 시간을 측정했다. 하나는 소프트웨어만 사용하는 버전, 다른 하나는 FFT만 하드웨어(기존 FFT 프로세서와 유사)로 구현한 버전, 제안한 FFT 프로세서를 사용하는 버전이다.
Figure pat00044
<표 4>
4096 x 4096 데이터로 레이더 신호 처리를 수행할 때 하드웨어에서 FFT만 구현하면 소프트웨어만 사용할 때보다 실행 시간이 32.97초에서 4.54초로 단축되었다. 이는 7.26배 가속에 해당한다. 제안된 FFT 프로세서는 소프트웨어만으로 사용했을 때보다 실행 시간은 32.97초에서 0.62초로 단축되었다. 이는 53.29배 가속에 해당한다. 하드웨어에서 FFT만 구현하는 것과 비교하여 제안된 FFT 프로세서는 레이더 신호 처리를 7.32배 가속화했다.
하기의 표 5는 제안된 FFT 프로세서의 하드웨어 자원과 기존 FFT 프로세서(38) Xilinx의 FFT IP(39)의 하드웨어 자원을 비교한 것으로, 두 가지 모두 부동소수점 연산자를 이용한 메모리 기반 아키텍처로 구현되었다. 메모리 기반 FFT 아키텍처는 단일 나비 연산자를 기반으로 구현되었기 때문에 FPGA에서 LUT 및 FF는 변환 길이의 영향이 크지 않는다. 따라서, 변환 길이에 대한 정규화가 적용되지 않았다. FFT 연산만을 수행하였기 때문에 제안된 프로세서의 BFU의 하드웨어 자원만을 고려하는 것이 더 적절하다. FFT 프로세서(38)의 LUT와 FF를 비트 폭으로 정규화하였지만, 제안된 프로세서의 BFU가 더 적은 하드웨어 자원을 필요로 함을 알 수 있었다. FFT IP(39)와 비교하여 제안된 FFT 프로세서(38)의 BFU는 비슷한 클럭 주파수를 가진 비슷한 양의 하드웨어 자원을 필요로 하였다. 그러나, 제안된 FFT 프로세서(38)는 WMU, MPU 및 ACU의 통합으로 인해 FMCW 레이더 신호 처리의 경우 FFT IP(39)보다 훨씬 빠를 것으로 예상된다. 따라서 제안된 FFT 프로세서(38)는 하드웨어 자원과 실행 시간 간의 trade-off를 고려할 때 다른 프로세서보다 더 효율적이다.
Figure pat00045
<표 5>
본 실시예에서는 Mixed-radix 알고리즘을 적용하여 가변 길이를 지원하는 FMCW 레이더 신호 처리용 FFT 프로세서를 제안한다. 또한, 제안된 프로세서는 윈도우, 크기/위상 계산 및 누적 기능을 지원한다. 프로세서는 Xilinx Zynq UltraScale+ 장치를 사용하여 구현되어 10,891 LUTs, 6365 FFs, 10 RAM blocks 및 20 DSP가 하드웨어 리소스로 사용되었다.
일반 FFT 프로세서는 FFT 연산만 지원하므로 제안하는 프로세서의 BFU와 비교하는 것이 적절하다. Xilinx FFT 프로세서와 제안된 FFT 프로세서의 BFU는 유사한 하드웨어 자원을 사용하였다. 그러나 제안된 프로세서에는 더 많은 하드웨어 리소스가 필요하다. 윈도잉, 2D FFT, 크기/위상 계산 및 누적의 실행 시간을 비교하면 제안 프로세서가 Xilinx FFT 프로세서에 비해 7.32배 크게 단축되었다.
상술한 바와 같이 제안된 FFT 프로세서는 높은 SQNR과 윈도잉, 크기/위상 계산, 누적과 같은 특수 기능을 지원한다. 따라서 FMCW 레이더 신호 처리에 매우 효율적이며 OFDM(Orthogonal Frequency Division Multiplexing) 변조를 통한 무선 통신과 높은 SQNR 및 위에서 언급한 특수 기능이 필요한 주파수 분석이 있는 음성 인식 시스템 같은 다른 응용 분야에 사용할 수 있다(40,41).
도 9는 본 발명의 다른 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법을 나타낸 흐름도이다.
도 9를 참조하면, 본 발명의 실시예에 따른 FMCW 레이다 신호 처리를 위한 FFT 동작 방법(S1000)은 윈도우 연산 단계(S100), 버터플라이 연산 단계(S200), 크기 및 위상 연산 단계(S300), 데이터 누적 단계(S400), CFAR(Constant False Alarm Rate) 실행 단계(S500) 및 표적 거리 및 속도 연산 단계(S600) 중 적어도 하나를 포함할 수 있다.
상기 윈도우 연산 단계(S100)는 FMCW 레이다 수신신호에 대한 윈도우 연산을 수행할 수 있으며, 좀 더 구체적으로는 FMCW 레이다 수신신호와 메모리에 재 설정 가능하게 저장된 윈도우 계수(Window coefficient)를 곱하여 윈도우 연산을 수행할 수 있다. 이러한 윈도우 연산 단계(S100)는 FFT를 하기 전 윈도윙(windowing) 연산을 수행하기 위한 구성요소로, 윈도우 계수는 도 2에 도시된 바와 같이 사용자에 따라 바꿀 수 있도록 윈도우 메모리(window memory)에서 데이터를 리드(read)하여 입력하는 방식으로 구현될 수 있다. 또한, 입력 데이터에 대한 윈도우 연산을 수행하지만, FFT 중간 값에서는 윈도윙(windowing)을 하지 않으므로 멀티플렉서를 통해 선택적으로 출력할 수 있다.
상기 윈도우 연산 단계(S100)는, 적어도 하나 이상의 멀티플라이어와 멀티플렉서를 통한 윈도우 연산을 수행할 수 있으며, 멀티플라이어는, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, XOR 게이트를 통해 상기 부호(sign)를 결정하고, 두 실제지수 값을 더 한 후 바이어스(bias) 값을 뺀 값으로 지수(exponent)를 계산하고, 연산(operation) 과정을 통해 가수의 비트 수를 절반으로 줄이고, 연산(operation)의 수행 결과에 대한 1차 정규화(Normalization) 과정을 수행하고, 1차 정규화(Normalization)의 수행 결과에 대한 반올림(Rounding) 과정을 수행한 후, 2차 정규화(Post-Normalization) 과정을 수행하여 상기 지수(exponent)를 조정한 후 상기 가수(mantissa)를 최종 출력할 수 있고, 멀티플렉서는 FFT 연산을 위해 멀티플라이어의 출력 결과에 대한 시작부분과 끝부분을 제외한 중간부분을 선택적으로 출력할 수 있다.
상기 부동 소수점(Half Floating Point) 연산에 대하여 설명하면 다음과 같다. FMCW 레이더를 이용하여 표적의 범위와 속도를 측정하기 위해서는 ADC의 입력 데이터에 대해 2D FFT를 수행해야 한다. 2D FFT는 1D FFT에 비해 양자화 잡음을 증가시키므로 필수 정보가 손실될 수 있다. 예를 들어, 손동작 인식 레이더 시스템의 경우 인간 손의 레이더 단면적이 매우 작기 때문에 에코 신호의 값이 매우 작다. 양자화 잡음이 2D FFT에 의해 중첩되어 증가하면 작은 에코 신호 값을 갖는 손 제스처에 대한 중요한 데이터가 손실될 수 있다. 합리적인 인식 성능을 얻으려면 2D FFT의 SQNR이 충분히 커야 한다.
Figure pat00046
<표 1>
상기 표 6은 입력 데이터의 비트 수가 16~28일 때 고정 소수점 연산자와 부동 소수점 연산자를 기반으로 한 2D FFT SQNR 성능을 비교한 것이다. 반정밀도 부동 소수점(HFP) 형식이다. 표 6에 나타난 바와 같이, SQNR 열화는 고정 소수점 시스템에서 심각하게 발생하며, 특히 입력 데이터의 비트 수가 4096X4096 데이터에 대해 16~24인 경우에 심각하다. 고정 소수점 시스템은 비트 너비가 28비트일 때 심각한 성능 저하를 나타내지 않는다. 28비트일 때의 SQNR 성능은 HFP 시스템의 성능과 비슷하다.
Figure pat00047
<표 7>
표 7은 28비트 고정 소수점 연산자 또는 HFP 연산자를 기반으로 FFT 프로세서를 설계 및 합성한 후 사용된 하드웨어 리소스를 비교한다. HFP 연산자로 구현된 FFT 프로세서가 고정 소수점 연산자로 구현된 것보다 더 많은 LUT를 사용하는 것으로 나타난다. 'Xilinx FPGA'의 BRAM은 16비트 단위로 구성되어 있기 때문에 고정 소수점 연산자로 구현된 FFT 프로세서는 BRAM의 두 배를 필요하다.
상기 HFP 멀티플라이어(HFP multiplier)는 부호(sign), 지수(exponent), 가수(mantissa)의 구성 요소를 나눠 연산을 수행할 수 있다. HFP 멀티플라이어(HFP multiplier)에서, 부호(sign)는 XOR 게이트를 이용한 간단한 로직으로 결정될 수 있다. IEEE 754에 규정된 부동 소수점(floating point) 수 체계의 지수(exponent)는 2의 보수(2's complement) 표현법이 아닌 바이어스(bias) 표현법을 사용한다. 따라서 HFP 멀티플라이어(HFP multiplier)에서 지수(exponent)는 그 두 값을 더한 뒤 바이어스(bias) 값을 빼야 올바른 값이 출력할 수 있다. 그 후에 HFP 가산기(HFP adder)와 같이 가수(mantissa) 연산에 의해 조정되어 최종 지수(exponent) 값을 출력한다. 지수(Mantissa) 값 연산은 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding), 마지막으로 2차 정규화(Post-Normalization) 순으로 연산이 이루어진다. HFP 가산기(HFP adder)와 달리 자리 수를 맞출 필요가 없으므로 정렬(alignment)은 생략된다. 연산(Operation)의 결과는 가수 비트(mantissa bit) 수를 2배로 만든다. 그 비트(bit) 수는 너무 크기 때문에 비트(bit) 수를 줄여서 구현하는 것이 일반적이다. HFP의 경우, 연산(operation) 결과 22bits를 12bits로 줄이고 반올림(rounding)을 위한 반올림 비트(rounding bit)를 생성할 수 있다. 이후, HFP 가산기(HFP adder)와 유사한 과정을 거칠 수 있다. 연산(Operation) 결과 값의 선행 제로(leading zero)를 검출하고 정규화(normalization) 과정을 수행한다. 이후, 반올림(rounding) 과정을 수행하고, 2차 정규화(post-normalization) 과정을 수행하여 지수(exponent) 값을 조정하고 최종 가수(mantissa)를 출력한다.
상기 버터플라이 연산 단계(S200)는, 윈도우 연산 단계(S100)의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행할 수 있다. 좀 더 구체적으로는, 윈도우 연산 단계(S100)의 윈도우 연산 결과를 병렬로 입력 받아 radix-4와 radix-2 연산을 반복 수행할 수 있다.
상기 버터플라이 연산 단계(S200)의 HFP 가산기는, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, 지수(exponent) 값이 큰 수의 부호(sign)로 결정하며 지수(exponent) 값이 같을 경우 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)에 따라 부호(sign)를 결정하고, 두 실제지수 값을 비교하여 더 큰 값을 선택한 후 가수(mantissa)의 연산 결과에 따라 연산하여 지수(exponent) 값을 최종 결정하고, 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization) 과정을 통해 가수(mantissa)를 결정할 수 있다. 여기서, 가수(mantissa)의 정렬(Alignment) 과정은, 두 가수 값이 서로 다른 경우 두 실제지수 값의 자리 수를 맞춘 후 자리 수를 맞춘 부호 연산 로직에 따른 덧셈 또는 뺄셈 연산을 수행하되, 두 가수 값을 비교하여 상대적을 큰 값과 작은 값 순으로 교환(swap)하여 정렬(Alignment) 과정을 수행할 수 있다. 가수(mantissa)의 연산(Operation) 과정은, 두 가수 값에 대하여 부호 연산 로직에 따라 덧셈 또는 뺄셈 연산을 수행하고 반올림(Rounding) 과정을 위한 반올림 비트(rounding bit)를 생성하여 연산(Operation) 과정을 수행할 수 있다. 가수(mantissa)의 1차 정규화(Normalization) 과정은, 연산 결과 값의 선행 제로(leading zero)를 검출하여 지수 값의 변화량을 추출하고 부동 소수점(Floating Point)의 수 체계 형식으로 1차 정규화(Normalization) 과정을 수행할 수 있다. 가수(mantissa)의 반올림(Rounding) 과정은, 상기 반올림 비트(rounding bit)를 이용하여 반올림(Rounding) 과정을 수행할 수 있다. 가수(mantissa)의 2차 정규화(Post-Normalization) 과정은, 가수(mantissa)의 반올림(Rounding) 과정에서 발생되는 오버플로우(overflow)를 체크하여 지수(exponent)를 조정한 후 2차 정규화(Post-Normalization) 과정을 수행하여 최종 가수(mantissa)를 결정할 수 있다.
이러한 HFP 가산기(HFP Adder)는 도 4에 도시된 바와 같이 부호(sign), 지수(exponent), 가수(mantissa)로 나눠서 연산을 진행할 수 있다. 부호(sign)는 부호 로직(sign logic)에 의해 결정된다. 여기서, 부호 로직(sign logic)은 지수(exponent) 값이 큰 수의 부호(sign)를 따라 가며, 지수(exponent) 값이 같을 경우, 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)을 따라 결정한다. 지수(exponent)는 두 지수(exponent) 값을 비교하여 큰 값으로 선택되고 이후, 가수(mantissa)의 연산 결과에 따라 값을 연산하여 최종 지수(exponent) 값이 결정된다. 가수(mantissa) 값은 3요소 중 가장 복잡한 과정을 걸쳐 결정된다. 일반적으로 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization)의 과정을 걸친다. 먼저, 두 입력 값의 지수(exponent)가 다르다면 자리 수를 맞추는 정렬(alignment) 과정이 필요하다. 정렬(Alignment) 과정을 통해 두 값의 자리 수를 맞춘 뒤, 두 값의 연산은 부호 로직(sign logic)의 부호(sign)에 따라 덧셈 혹은 뺄셈을 한다. 이 때 덧셈/뺄셈 연산기를 1개만 사용하기 위해 가수(mantissa)의 두 값을 비교하여 큰 값과 작은 값 순으로 교환(swap)하도록 구현하였다. 연산(Operation)에서 두 가수(mantissa) 값을 덧셈/뺄셈하고 반올림(rounding)을 위한 반올림 비트(rounding bits)를 생성한다. 그 결과 값의 선행 제로(leading zero)를 검출하여 지수(exponent) 값의 변화량을 추출하고, 부동 소수점(floating point) 수 체계 형식으로 1차 정규화(normalization)를 수행한다. 그 이후, 연산(operation) 과정에서 생성된 반올림 비트(rounding bits)를 이용하여 반올림(rounding) 과정을 수행한다. 반올림(Rounding) 과정에서 오버플로우(overflow)가 발생할 수 있기 때문에, 2차 정규화(post-normalization)를 통해 오버플로우(overflow)을 확인하여 지수(exponent)를 조정하고 정규화(normalization) 과정을 다시 수행하여 최종 가수(mantissa) 값을 출력한다.
상기 크기 및 위상 연산 단계(S300)는, 버터플라이 연산 유닛의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산할 수 있다. 이러한 크기 및 위상 연산 단계(S300)는, 버터플라이 연산 단계(S200)의 FFT 연산 결과인 콤플렉스(complex) 수를 하기의 수식 20에 따라 크기 성분으로 연산할 수 있다.
[수식 20]
Figure pat00048
수식 20에서 x는 FFT 연산 결과의 콤플렉스(complex) 수이고, max는 실수(Re) 성분과 허수(Im) 성분 중 수치가 상대적으로 큰 성분을 선택하는 연산식을 의미하며, 콤플렉스(complex) 수의 실수(Re) 성분과 허수(Im) 성분을 입력 받아 최대 값과 최소 값을 비교한 후 시프트 가산기(shift-adder)를 통해 크기 성분의 근사 값을 계산할 수 있다. 이러한 근사화 기법을 사용하면 성능 열화가 없으면서 곱셈 연산이 덧셈 연산으로 대체되므로 연산량을 효율적으로 감소시킬 수 있다. 수식 20을 하드웨어로 설계하면 도 5에 도시된 바와 같이 구현될 수 있다.
상기 크기 및 위상 연산 단계(S300)는, 하드웨어 리소스를 줄이기 위해 크기(magnitude) 성분과 위상(phase) 성분의 근사값을 성분버터플라이 연산 단계(S200)의 FFT 연산 결과에 대한 Arctan CORDIC(Coordinate Rotation Digital Computer) 알고리즘을 이용하여 위상 성분을 계산할 수 있으며, 본 실시예에는 하드웨어 리소스를 줄이기 위해 크기(magnitude) 성분과 위상(phase) 성분의 근사값을 구하기 위해 도 5에 도시된 ANC(Approximated Norm Calculation)와 도 6에 도시된 Arctan CORDIC로 구현될 수 있다.
이러한 크기 및 위상 연산 단계(S300)는, FFT 결과를 위상(phase) 값으로 변환하기 위해 반복 연산을 수행하여 근사 값을 구하는 CORDIC 알고리즘을 이용하여 구현하여 하드웨어 리소스를 줄였다. 도 6에 도시된 바와 같이 쉬프터(Shifter), 컨트롤러(Controller), 멀티플렉서(MUX), 가산기(adder) 등으로 구성되어 있으며, FFT 결과 값이 연속적으로 나오기 때문에, 단일 유닛과 메모리를 이용하는 대신 파이프라인(pipeline)으로 구현할 수 있다. 따라서 n-1번째 출력 값은 n 번째 연산에 다시 입력되어 수행하며 위상(phase) 값을 추출한다. 여기서의 쉬프트(shifter)는 n 값에 의해 0~12bit를 쉬프트하면 LUT의 값도 달라진다.
상기 데이터 누적 단계(S400)는, 크기 및 위상 연산 단계(S300)의 계산 결과를 누적하기 위한 구성요소로, 이전 FFT의 결과값이나 누적 값에 현재 FFT의 결과값을 누적해야 하므로 이전 FFT의 결과값을 누적 메모리(accumulate memory)에 저장해야 한다.
상기 CFAR(Constant False Alarm Rate) 실행 단계(S500)는, 표적 여부를 판단할 테스트 셀과 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 테스트 셀을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출할 수 있다. 이러한 CFAR 실행 단계(S500)는, 참조 셀들의 평균 값에 따라 문턱 값을 생성하고, 생성된 문턱 값과 테스트 셀의 값 간을 비교하여 테스트 셀에 대한 표적 여부를 결정하되, 테스트 셀과 참조 셀들을 모든 셀에 대해 변경해가며 표적을 검출할 수 있다.
FMCW 레이다 시스템에서 표적을 탐지하기 위한 가장 간단한 방법은 표적으로부터 반사되어 수신된 신호에 대해 레인지(range) FFT 연산과 도플러(Doppler) FFT 연산을 수행한 값의 크기(Magnitude) 성분과 일정한 문턱 값(threshold)을 비교하여 이것보다 큰 신호를 표적으로 판단하는 방법이다. 그러나, 레이다 센서를 사용하는 시스템이 이동이나 운용 조건은 시간에 따라 변화하기 때문에 clutter 신호의 크기는 일정하지 않다. 따라서 일정한 문턱 값(threshold)을 사용하여 탐지할 경우, 오경보 확률(false alarm rate)이 굉장히 높아진다. 오경보의 발생은 계속된 탐지로 인해 레이다의 재원을 낭비하게 하여 시스템 성능에 직접적인 영향을 미친다. 이 문제를 극복하기 위해, CFAR 알고리즘이 제안되었고 레이다 시스템에서 많이 활용되고 있다. CFAR 알고리즘은 문턱 값(threshold)를 일정하게 유지하지 않고 로컬 신호의 평균에 따라 문턱 값을 조정한다.
기본적인 CFAR 알고리즘은 다음과 순서로 진행된다. 1) FFT 연산을 수행한 데이터의 크기(magnitude) 성분을 구한다. 2) 판단할 값과 주변의 값들을 테스트 셀(test-cell)과 참조 셀(reference-cell)로 구분하여 저장한다. 테스트 셀(Test-cell)은 표적인지 아닌지를 판단할 셀을 나타내며, 참조 셀(reference-cell)은 테스트 셀(test-cell)의 표적 여부를 판단할 주변 셀들을 나타낸다. 3) 테스트 셀(test-cell)은 참조 셀(reference-cell)을 이용하여 생성한 문턱 값과 비교하여 표적인지 아닌지를 결정한다. 4) 판단할 값과 주변의 값들을 변경하며 2~3 과정을 반복하여 모든 데이터에서 표적인지 아닌지를 판정한다.
FMCW 레이다 시스템은 표적과의 거리와 속도 정보를 추출하기 위해서 RDM을 레인지(range), 도플러(Doppler) 축에 대하여 각각 CFAR 알고리즘을 적용하여 거리와 속도 정보를 추출해야 한다. 이러한 RDM에 CFAR를 적용하기 위해서 참조 셀(reference-cell)은 2차원(two-dimensional) 정보를 사용하도록 확장해야 하고, 이를 2D CFAR라고 한다. 2D CFAR는 기본적인 CFAR에 비해 연산량이 높은 문제가 있다. 이를 해결하기 위해 RDM을 레인지(range) 또는 도플러(Doppler) 축으로 누적하여 1차원 데이터로 만든 뒤, CFAR 알고리즘을 적용한다. 또한, 누적된 데이터는 여러 'chirp'의 데이터를 누적한 것과 같기 때문에 단일 'chirp'에 비해 탐지 성능이 높아진다. 따라서 FFT의 결과물을 크기(magnitude) 성분으로 변환하고, 누적하는 기능이 필요하다.
상기 표적 거리 및 속도 연산 단계(S600)는, FMCW 레이다 송신신호와 CFAR 실행 단계(S500)를 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산할 수 있다.
FMCW 레이다는 시간에 따라 주파수가 선형으로 변하는 파형을 사용한다. 송신 파형에 따라 크게 'triangle'과 'sawtooth' 파형으로 구분된다. 'Ghost' 표적 문제로 인해 'sawtooth' 송신 파형의 FMCW 레이다가 많이 사용된다. 'Sawtooth' 기반 FMCW 레이다는 'up-chirp' 혹은 'down-chirp'만을 사용하며 송신 파형의 주파수는 하기의 수식 21과 같이 정의된다.
[수식 21]
Figure pat00049
수식 21에서
Figure pat00050
는 캐리어(carrier) 주파수, 는 대역폭(bandwidth), T는 주기, t는 시간을 의미한다. 계산 편의상 /를 α로 대체한다. 송신 파형의 순시 위상(instantaneous phase)은 송신 파형의 주파수를 하기의 수식 22와 같이 시간 t에 대한 적분으로 구할 수 있다.
[수식 22]
Figure pat00051
수식 22에서 시간 t는 n번째 'chirp'일 때의 시간이며, 하기의 수식 23과 같이 나타낼 수 있다.
[수식 23]
Figure pat00052
송신 신호의 초기 위상이
Figure pat00053
, A가 Amplitude 라면, 첫 번째 chirp의 송신 파형은 하기의 수식 24와 같다.
[수식 24]
Figure pat00054
따라서 n번째 송신 신호는 하기의 수식 25와 같이 정리할 수 있다.
[수식 25]
Figure pat00055
지연 시간 τ만큼의 시간이 지난 뒤, 수신 신호는 하기의 수식 26과 같이 정의될 수 있다.
[수식 26]
Figure pat00056
수식 26에서 A'는 수신 신호의 Amplitude, R은 표적과의 거리, 는 표적과의 상대 속도, c는 빛의 속도이다. 표적에 반사되어 돌아온 수신 신호와 송신 신호를 곱해서 복조(demodulated)를 수행하며 하기의 수식 27과 같다.
[수식 27]
Figure pat00057
복조된 신호
Figure pat00058
에서 위상(phase) 성분은 코사인 텀(term)의 합 형태이고 고주파 신호는 LPF(Low-Pass Filter)에 의해 제거된다. 그 신호의 'In-phase' 성분은 하기의 수식 28과 같이 정리된다.
[수식 28]
Figure pat00059
수식 28에서 C는 AA', Amplitude의 곱이다. 이를 정리하면 하기의 수식 29와 같다.
[수식 29]
Figure pat00060
수식 29에서
Figure pat00061
의 경우 c가 매우 크기 때문에 무시해도 될 만한 값이며
Figure pat00062
Figure pat00063
에 비해 매우 작기 때문에 무시할 수 있다. 이와 같은 방법으로 수식을 'in-phase', 'quadrature' 성분 모두 정리하면 하기의 수식 30과 같다.
[수식 30]
Figure pat00064
표적의 거리 R과
Figure pat00065
에 대해 하기의 수식 31과 같이 정리할 수 있다.
[수식 31]
Figure pat00066
수식 31에서
Figure pat00067
는 진동 주파수(beat frequency)를 나타낸다. 움직이는 표적에 반사된 수신 신호의 주파수는 도플러 효과(Doppler effect)에 의해 하기의 수식 32과 같이 정의된다.
[수식 32]
Figure pat00068
여기서
Figure pat00069
은 수신 주파수,
Figure pat00070
는 송신 주파수를 의미하며, 이항 정리(binomial series)를 이용하여 간략히 정리하면, 하기의 수식 33와 같다.
[수식 33]
Figure pat00071
빛의 속도 c가 매우 크므로 고차원 텀(term)을 제거하면 하기의 수식 34와 같이 정리된다.
[수식 34]
Figure pat00072
도플러 주파수는
Figure pat00073
로 정의되고, 복조된 수신 신호를
Figure pat00074
Figure pat00075
로 정리하면, 하기의 수식 35와 같다.
[수식 35]
Figure pat00076
오일러의 공식(Euler's Formula)에 의해 'In-phase' 성분과 'Quadrature' 성분을 지수함수 형태로 나타내면, 하기의 수식 36과 같이 정리할 수 있다.
[수식 36]
Figure pat00077
수식 36의
Figure pat00078
에 하나의 'chirp', 즉
Figure pat00079
에 대해 DFT(Discrete Fourier Transform)를 수행하면 진동 주파수(beat frequency)를 구할 수 있으며, 앞서의 수식들과 같이 진동 주파수(beat frequency)를 이용하면 표적과의 거리(R)을 구할 수 있다. 또한, 여러 'chirp'에 대한 신호의 주파수 변화, 즉 에 대해 DFT를 수행하면 도플러 주파수(Doppler frequency:
Figure pat00080
)를 구할 수 있으며, 상술한 수식들을 이용하여 도플러 주파수(Doppler frequency)를 이용하여 표적의 상대 속도(v)를 구할 수 있다.
Range-FFT length를 M이라고 정의하면, 샘플링되는 간격은 T/M이 되므로 샘플링 주파수(sampling frequency:
Figure pat00081
)는 하기의 수식 37과 같다.
[수식 37]
Figure pat00082
Doppler-FFT length를 N이라고 정의하면, 샘플링 주파수는 1/T이므로
Figure pat00083
는 하기의 수식 38과 같이 정리할 수 있다.
[수식 38]
Figure pat00084
수식 37과 수식 38을 통해 Range와 Doppler FFT length는 각각 최대 탐지 거리와 도플러 해상도를 결정 짓는 중요한 파라미터인 것을 알 수 있다. 레이다 응용에 따라 요구되는 최대 탐지 거리와 도플러 해상도가 다르므로, 다양한 FFT length를 지원할 필요가 있다.
이상에서 설명한 것은 본 발명에 의한 FMCW 레이다 신호 처리를 위한 FFT 장치 및 그 동작 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
1000: FMCW 레이다 신호 처리를 위한 FFT 장치
100: 윈도우 연산 유닛
200: 버터플라이 연산 유닛
300: 크기 및 위상 연산 유닛
400: 데이터 누적 유닛
500: CFAR 실행 유닛
600: 표적 거리 및 속도 연산 유닛
S1000: FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법
S100: 윈도우 연산 단계
S200: 버터플라이 연산 단계
S300: 크기 및 위상 연산 단계
S400: 데이터 누적 단계
S500: CFAR 실행 단계
S600: 표적 거리 및 속도 연산 단계

Claims (20)

  1. FMCW 레이다 수신신호에 대한 윈도우 연산을 수행하는 윈도우 연산 유닛;
    상기 윈도우 연산 유닛의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행하는 버터플라이 연산 유닛;
    상기 버터플라이 연산 유닛의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산하는 크기 및 위상 연산 유닛;
    상기 크기 및 위상 연산 유닛의 계산 결과를 누적하는 데이터 누적 유닛;
    표적 여부를 판단할 테스트 셀과 상기 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 상기 테스트 셀 간을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출하는 CFAR(Constant False Alarm Rate) 실행 유닛; 및
    FMCW 레이다 송신신호와 상기 CFAR 실행 유닛을 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산하는 표적 거리 및 속도 연산 유닛을 포함하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  2. 제1 항에 있어서,
    상기 윈도우 연산 유닛은,
    FMCW 레이다 수신신호와 메모리에 재 설정 가능하게 저장된 윈도우 계수를 곱하여 윈도우 연산을 수행하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  3. 제2 항에 있어서,
    상기 윈도우 연산 유닛은,
    부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, XOR 게이트를 통해 상기 부호(sign)를 결정하고, 두 실제지수 값을 더 한 후 바이어스(bias) 값을 뺀 값으로 상기 지수(exponent)를 계산하고, 연산(operation) 과정을 통해 가수의 비트 수를 절반으로 줄이고, 상기 연산(operation)의 수행 결과에 대한 1차 정규화(Normalization) 과정을 수행하고, 상기 1차 정규화(Normalization)의 수행 결과에 대한 반올림(Rounding) 과정을 수행한 후, 상기 2차 정규화(Post-Normalization) 과정을 수행하여 상기 지수(exponent)를 조정한 후 상기 가수(mantissa)를 최종 출력하는 멀티플라이어를 포함하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  4. 제3 항에 있어서,
    상기 윈도우 연산 유닛은,
    FFT 연산을 위해 상기 멀티플라이어의 출력 결과에 대한 시작부분과 끝부분을 제외한 중간부분을 선택적으로 출력하는 멀티플렉서를 더 포함하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  5. 제1 항에 있어서,
    상기 버터플라이 연산 유닛은,
    상기 윈도우 연산 유닛의 윈도우 연산 결과를 병렬로 입력 받아 radix-4와 radix-2 연산을 반복 수행하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  6. 제5 항에 있어서,
    상기 버터플라이 연산 유닛은,
    부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, 지수(exponent) 값이 큰 수의 부호(sign)로 결정하며 지수(exponent) 값이 같을 경우 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)에 따라 상기 부호(sign)를 결정하고, 두 실제지수 값을 비교하여 더 큰 값을 선택한 후 가수(mantissa)의 연산 결과에 따라 연산하여 상기 지수(exponent) 값을 최종 결정하고, 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization) 과정을 통해 가수(mantissa)를 결정하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  7. 제6 항에 있어서,
    상기 가수(mantissa)의 정렬(Alignment) 과정은,
    두 가수 값이 서로 다른 경우 두 실제지수 값의 자리 수를 맞춘 후 자리 수를 맞춘 부호 연산 로직에 따른 덧셈 또는 뺄셈 연산을 수행하되, 두 가수 값을 비교하여 상대적을 큰 값과 작은 값 순으로 교환(swap)하여 정렬(Alignment) 과정을 수행하고,
    상기 가수(mantissa)의 연산(Operation) 과정은,
    두 가수 값에 대하여 부호 연산 로직에 따라 덧셈 또는 뺄셈 연산을 수행하고 반올림(Rounding) 과정을 위한 반올림 비트(rounding bit)를 생성하여 연산(Operation) 과정을 수행하고,
    상기 가수(mantissa)의 1차 정규화(Normalization) 과정은,
    상기 연산 결과 값의 선행 제로(leading zero)를 검출하여 지수 값의 변화량을 추출하고 부동 소수점(Floating Point)의 수 체계 형식으로 1차 정규화(Normalization) 과정을 수행하고,
    상기 가수(mantissa)의 반올림(Rounding) 과정은,
    상기 반올림 비트(rounding bit)를 이용하여 반올림(Rounding) 과정을 수행하고,
    상기 가수(mantissa)의 2차 정규화(Post-Normalization) 과정은,
    상기 가수(mantissa)의 반올림(Rounding) 과정에서 발생되는 오버플로우(overflow)를 체크하여 상기 지수(exponent)를 조정한 후 2차 정규화(Post-Normalization) 과정을 수행하여 최종 가수(mantissa)를 결정하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  8. 제1 항에 있어서,
    상기 크기 및 위상 연산 유닛은,
    상기 버터플라이 연산 유닛의 FFT 연산 결과인 콤플렉스(complex) 수를 하기의 수식에 따라 크기 성분으로 연산하고,
    Figure pat00085

    상기 x는 FFT 연산 결과의 콤플렉스(complex) 수이고,
    상기 max는 실수(Re) 성분과 허수(Im) 성분 중 수치가 상대적으로 큰 성분을 선택하는 연산식을 의미하며, 상기 콤플렉스(complex) 수의 실수(Re) 성분과 허수(Im) 성분을 입력 받아 최대 값과 최소 값을 비교한 후 시프트 가산기(shift-adder)를 통해 크기 성분의 근사 값을 계산하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  9. 제1 항에 있어서,
    상기 크기 및 위상 연산 유닛은,
    상기 버터플라이 연산 유닛의 FFT 연산 결과에 대한 CORDIC(Coordinate Rotation Digital Computer) 알고리즘을 이용하여 위상 성분을 계산하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  10. 제1 항에 있어서,
    상기 CFAR 실행 유닛은,
    상기 참조 셀들의 평균 값에 따라 문턱 값을 생성하고, 생성된 문턱 값과 상기 테스트 셀의 값 간을 비교하여 상기 테스트 셀에 대한 표적 여부를 결정하되, 상기 테스트 셀과 상기 참조 셀들을 모든 셀에 대해 변경해가며 표적을 검출하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치.
  11. 윈도우 연산 유닛이, FMCW 레이다 수신신호에 대한 윈도우 연산을 수행하는 윈도우 연산 단계;
    버터플라이 연산 유닛이, 상기 윈도우 연산 단계의 윈도우 연산 결과에 대한 FFT 연산을 반복 수행하는 버터플라이 연산 단계;
    크기 및 위상 연산 유닛이, 상기 버터플라이 연산 단계의 FFT 연산 결과에 대해 근사화 기법을 이용하여 크기 성분과 위상 성분을 계산하는 크기 및 위상 연산 단계;
    데이터 누적 유닛이, 상기 크기 및 위상 연산 단계의 계산 결과를 누적하는 데이터 누적 단계;
    CFAR(Constant False Alarm Rate) 수행 유닛이, 표적 여부를 판단할 테스트 셀과 상기 테스트 셀의 주변의 값을 갖는 참조 셀을 이용하여 생성되는 문턱 값과, 상기 데이터 누적 단계에 누적된 크기 성분 간을 비교하여 FMCW 레이다 수신신호를 표적으로부터 수신된 신호인지 여부를 검출하는 CFAR(Constant False Alarm Rate) 수행 단계; 및
    표적 거리 및 속도 연산 유닛이, FMCW 레이다 송신신호와 상기 CFAR 수행 단계를 통해 표적으로 검출된 수신신호를 기반으로 표적과의 거리 및 표적의 상대 속도를 계산하는 표적 거리 및 속도 연산 유닛을 포함하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  12. 제11 항에 있어서,
    상기 윈도우 연산 단계는,
    FMCW 레이다 수신신호와 메모리에 재 설정 가능하게 저장된 윈도우 계수를 곱하여 윈도우 연산을 수행하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  13. 제12 항에 있어서,
    상기 윈도우 연산 단계는,
    멀티플라이어가, 부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, XOR 게이트를 통해 상기 부호(sign)를 결정하고, 두 실제지수 값을 더 한 후 바이어스(bias) 값을 뺀 값으로 상기 지수(exponent)를 계산하고, 연산(operation) 과정을 통해 가수의 비트 수를 절반으로 줄이고, 상기 연산(operation)의 수행 결과에 대한 1차 정규화(Normalization) 과정을 수행하고, 상기 1차 정규화(Normalization)의 수행 결과에 대한 반올림(Rounding) 과정을 수행한 후, 상기 2차 정규화(Post-Normalization) 과정을 수행하여 상기 지수(exponent)를 조정한 후 상기 가수(mantissa)를 최종 출력하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  14. 제13 항에 있어서,
    상기 윈도우 연산 단계는,
    멀티플렉서가, FFT 연산을 위해 상기 멀티플라이어의 출력 결과에 대한 시작부분과 끝부분을 제외한 중간부분을 선택적으로 출력하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  15. 제11 항에 있어서,
    상기 버터플라이 연산 단계는,
    상기 윈도우 연산 단계의 윈도우 연산 결과를 병렬로 입력 받아 radix-4와 radix-2 연산을 반복 수행하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  16. 제15 항에 있어서,
    상기 버터플라이 연산 단계는,
    부호(sign), 지수(exponent), 가수(mantissa)로 구성된 반정밀 부동 소수점(Half Floating Point) 포맷에 따라 연산하되, 지수(exponent) 값이 큰 수의 부호(sign)로 결정하며 지수(exponent) 값이 같을 경우 가수(mantissa) 값을 비교하여 큰 값의 부호(sign)에 따라 상기 부호(sign)를 결정하고, 두 실제지수 값을 비교하여 더 큰 값을 선택한 후 가수(mantissa)의 연산 결과에 따라 연산하여 상기 지수(exponent) 값을 최종 결정하고, 정렬(Alignment), 연산(Operation), 1차 정규화(Normalization), 반올림(Rounding) 및 2차 정규화(Post-Normalization) 과정을 통해 가수(mantissa)를 결정하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  17. 제16 항에 있어서,
    상기 가수(mantissa)의 정렬(Alignment) 과정은,
    두 가수 값이 서로 다른 경우 두 실제지수 값의 자리 수를 맞춘 후 자리 수를 맞춘 부호 연산 로직에 따른 덧셈 또는 뺄셈 연산을 수행하되, 두 가수 값을 비교하여 상대적을 큰 값과 작은 값 순으로 교환(swap)하여 정렬(Alignment) 과정을 수행하고,
    상기 가수(mantissa)의 연산(Operation) 과정은,
    두 가수 값에 대하여 부호 연산 로직에 따라 덧셈 또는 뺄셈 연산을 수행하고 반올림(Rounding) 과정을 위한 반올림 비트(rounding bit)를 생성하여 연산(Operation) 과정을 수행하고,
    상기 가수(mantissa)의 1차 정규화(Normalization) 과정은,
    상기 연산 결과 값의 선행 제로(leading zero)를 검출하여 지수 값의 변화량을 추출하고 부동 소수점(Floating Point)의 수 체계 형식으로 1차 정규화(Normalization) 과정을 수행하고,
    상기 가수(mantissa)의 반올림(Rounding) 과정은,
    상기 반올림 비트(rounding bit)를 이용하여 반올림(Rounding) 과정을 수행하고,
    상기 가수(mantissa)의 2차 정규화(Post-Normalization) 과정은,
    상기 가수(mantissa)의 반올림(Rounding) 과정에서 발생되는 오버플로우(overflow)를 체크하여 상기 지수(exponent)를 조정한 후 2차 정규화(Post-Normalization) 과정을 수행하여 최종 가수(mantissa)를 결정하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  18. 제11 항에 있어서,
    상기 크기 및 위상 연산 단계는,
    상기 버터플라이 연산 단계의 FFT 연산 결과인 콤플렉스(complex) 수를 하기의 수식에 따라 크기 성분으로 연산하고,
    Figure pat00086

    상기 x는 FFT 연산 결과의 콤플렉스(complex) 수이고,
    상기 max는 실수(Re) 성분과 허수(Im) 성분 중 수치가 상대적으로 큰 성분을 선택하는 연산식을 의미하며, 상기 콤플렉스(complex) 수의 실수(Re) 성분과 허수(Im) 성분을 입력 받아 최대 값과 최소 값을 비교한 후 시프트 가산기(shift-adder)를 통해 크기 성분의 근사 값을 계산하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  19. 제1 항에 있어서,
    상기 크기 및 위상 연산 단계는,
    상기 버터플라이 연산 단계의 FFT 연산 결과에 대한 CORDIC(Coordinate Rotation Digital Computer) 알고리즘을 이용하여 위상 성분을 계산하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
  20. 제11 항에 있어서,
    상기 CFAR 수행 단계는,
    상기 참조 셀들의 평균 값에 따라 문턱 값을 생성하고, 생성된 문턱 값과 상기 테스트 셀의 값 간을 비교하여 상기 테스트 셀에 대한 표적 여부를 결정하되, 상기 테스트 셀과 상기 참조 셀들을 모든 셀에 대해 변경해가며 표적을 검출하는 것을 특징으로 하는 FMCW 레이다 신호 처리를 위한 FFT 장치의 동작 방법.
KR1020210157233A 2021-11-16 2021-11-16 Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법 KR102658558B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210157233A KR102658558B1 (ko) 2021-11-16 2021-11-16 Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210157233A KR102658558B1 (ko) 2021-11-16 2021-11-16 Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20230071250A true KR20230071250A (ko) 2023-05-23
KR102658558B1 KR102658558B1 (ko) 2024-04-18

Family

ID=86544536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210157233A KR102658558B1 (ko) 2021-11-16 2021-11-16 Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102658558B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160055590A (ko) * 2014-11-10 2016-05-18 한국전자통신연구원 레이더 신호 처리를 위한 빔 형성 장치 및 그 방법
KR20190118911A (ko) * 2018-04-11 2019-10-21 한국전자통신연구원 Fmcw 레이다의 신호 처리 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160055590A (ko) * 2014-11-10 2016-05-18 한국전자통신연구원 레이더 신호 처리를 위한 빔 형성 장치 및 그 방법
KR20190118911A (ko) * 2018-04-11 2019-10-21 한국전자통신연구원 Fmcw 레이다의 신호 처리 방법 및 장치

Non-Patent Citations (34)

* Cited by examiner, † Cited by third party
Title
1. Piotrowsky, Lukas, et al. "Enabling high accuracy distance measurements with FMCW radar sensors." IEEE Transactions on Microwave Theory and Techniques 67.12 (2019): 5360-5371.
10. Chen, Xiaowen, et al. "A variable-size FFT hardware accelerator based on matrix transposition." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 26.10 (2018): 1953-1966.
11. Li, Yongrui, He Chen, and Yizhuang Xie. "An FPGA-Based Four-Channel 128k-Point FFT Processor Suitable for Spaceborne SAR." Electronics 10.7 (2021): 816.
12. Hou, Junjie, et al. "Enhancing precision and bandwidth in cloud computing: Implementation of a novel float-ing-point format on fpga." 2017 IEEE 4th International Conference on Cyber Security and Cloud Computing (CSCloud). IEEE, 2017.
13. Kronauge, Matthias, and Hermann Rohling. "Fast two-dimensional CFAR procedure." IEEE Transactions on Aerospace and Electronic Systems 49.3 (2013): 1817-1823.
14. Zhang, Shun-sheng, et al. "Dim target detection based on keystone transform." IEEE International Radar Conference, 2005.. IEEE, 2005.
15. Peng, Wang. "Decision-making Optimization of Logistics Supply Chain Based on Small Target Echo Coherent Accumulation Algorithm Based on LTE Signal." Acoustics, Speech and Signal Processing. Vol. 1. No. 1. Clausius Scientific Press, 2019.
16. Zheng, Qiangwen, et al. "A Target Detection Scheme with Decreased Complexity and Enhanced Performance for Range-Doppler FMCW Radar." IEEE Transactions on Instrumentation and Measurement 70 (2020): 1-13.
17. Hyun, Eugin, Young-Seok Jin, and Jong-Hun Lee. "Design and development of automotive blind spot detection radar system based on ROI pre-processing scheme." International journal of automotive technology 18.1 (2017): 165-177.
18. Alizadeh, Mostafa, et al. "Remote monitoring of human vital signs using mm-Wave FMCW radar." IEEE Access 7 (2019): 54958-54968.
19. Wang, Yong, et al. "Remote monitoring of human vital signs based on 77-GHz mm-wave FMCW ra-dar." Sensors 20.10 (2020): 2999.
2. Park, Junhyeong, et al. "Leakage mitigation in heterodyne FMCW radar for small drone detection with stationary point concentration technique." IEEE Transactions on Microwave Theory and Techniques 67.3 (2019): 1221-1232.
20. Garrido, Mario, et al. "Hardware architectures for the fast Fourier transform." Handbook of Signal Processing Systems. Springer, Cham, 2019. 613-647.
21. Garrido, Mario, et al. "A 4096-point radix-4 memory-based FFT using DSP slices." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 25.1 (2016): 375-379.
22. Liu, Shaohan, and Dake Liu. "A high-flexible low-latency memory-based FFT processor for 4G, WLAN, and future 5G." IEEE Transactions on Very Large Scale Integration (VLSI) Systems 27.3 (2018): 511-523.
23. Hsiao, Chen-Fong, Yuan Chen, and Chen-Yi Lee. "A generalized mixed-radix algorithm for memory-based FFT processors." IEEE Transactions on Circuits and Systems II: Express Briefs 57.1 (2010): 26-30.
24. Jung, Yongchul, et al. "Area-efficient pipelined FFT processor for zero-padded signals." Electronics 8.12 (2019): 1397.
25. Jeon, Hohyub, et al. "Area-Efficient Short-Time Fourier Transform Processor for Time-Frequency Analysis of Non-Stationary Signals." Applied Sciences 10.20 (2020): 7208.
26. Adjoudani, Ali, et al. "Prototype experience for MIMO BLAST over third-generation wireless system." IEEE Journal on Selected Areas in Communications 21.3 (2003): 440-451.
27. Gautam, Vinay, Kailash Chandra Ray, and Pauline Haddow. "Hardware efficient design of variable length FFT processor." 14th IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems. IEEE, 2011.
28. Chen, Jienan, Jianhao Hu, and Shuyang Li. "High throughput and hardware efficient FFT architecture for LTE application." 2012 IEEE Wireless Communications and Networking Conference (WCNC). IEEE, 2012.
29. Valencia, Daniel, and Amirhossein Alimohammad. "Compact and high-throughput parameterisable architectures for memory-based FFT algorithms." IET Circuits, Devices & Systems 13.5 (2019): 696-703.
3. Prez, Rodrigo, et al. "Single-frame vulnerable road users classification with a 77 GHz FMCW radar sensor and a convolutional neural network." 2018 19th International Radar Symposium (IRS). IEEE, 2018.
30. XU, WANG, et al. "A Configurable Floating-Point Discrete Hilbert Transform Processor for Accelerating the Calculation of Filter in Katsevich Formula." WSEAS Transactions on Communications 11.11 (2012): 395-404.
4. Zhang, Zhenyuan, Zengshan Tian, and Mu Zhou. "Latern: Dynamic continuous hand gesture recognition using FMCW radar sensor." IEEE Sensors Journal 18.8 (2018): 3278-3289.
5. Hyun, Eugin, Young-Seok Jin, and Jong-Hun Lee. "Moving and stationary target detection scheme using coherent integration and subtraction for automotive FMCW radar systems." 2017 IEEE Radar Conference (RadarConf). IEEE, 2017.
6. Hyun, Eugin, Young-Seok Jin, and Jong-Hun Lee. "A pedestrian detection scheme using a coherent phase difference method based on 2D range-Doppler FMCW radar." Sensors 16.1 (2016): 124.
7. Ahmad, Wael Abdullah, et al. "Multimode W-Band and D-Band MIMO Scalable Radar Platform." IEEE Transactions on Microwave Theory and Techniques (2020).
8. Swartzlander, Earl E., and Hani HM Saleh. "FFT implementation with fused floating-point operations." IEEE Transactions on Computers 61.2 (2010): 284-288.
9. Chen, Jiyang, et al. "Configurable floating-point FFT accelerator on FPGA based multiple-rotation CORDIC." Chinese Journal of Electronics 25.6 (2016): 1063-1070.
Adjoudani, Ali, et al. Prototype experience for MIMO BLAST over third-generation wireless system. IEEE Journal on Selected Areas in Communications. 2003.* *
aha, P., P. Bhattacharyya 외 1명. IMPROVED FLOATING POINT MULTIPLIER DESIGN BASED ON CANONICAL SIGN DIGIT. International Journal of Technology. 2014.* *
Zereen, Sabrina. An FPGA Based Controller for a MEMS Tri-mode FMCW Radar. Dissertation. University of Windsor. 2013.* *
허진무 외 2명. 레이다 신호 처리를 위한 FFT 프로세서 설계 및 구현. 대한전자공학회 학술대회. 2021.07.* *

Also Published As

Publication number Publication date
KR102658558B1 (ko) 2024-04-18

Similar Documents

Publication Publication Date Title
EP2533069A1 (en) Signal processing unit and method
WO2014106907A1 (ja) レーダ装置
CN104569961B (zh) 基于频谱细化的雷达测距方法
CN111736131A (zh) 一种剔除一比特信号谐波虚假目标的方法及相关组件
CN110308427B (zh) 基于fpga的lfm脉冲雷达频域脉冲压缩处理方法
US20190020504A1 (en) Phase-Modulated Signal Parameter Estimation Using Streaming Calculations
Kim et al. Extrapolation-RELAX estimator based on spectrum partitioning for DOA estimation of FMCW radar
EP3335058B1 (en) Processing received radiation reflected from a target
KR102215062B1 (ko) 무인기 탐지를 위한 다중모드 레이더 신호 처리 장치 및 그 방법
KR102658558B1 (ko) Fmcw 레이다 신호 처리를 위한 fft 장치 및 그 동작 방법
Zereen et al. An FPGA-based controller for a 77 GHz MEMS tri-mode automotive radar
CN117269950A (zh) 基于参差重频的快速解速度模糊方法、设备及存储介质
US11301542B2 (en) Methods and apparatuses involving fast fourier transforms processing of data in a signed magnitude form
JP7200570B2 (ja) 信号処理装置、信号処理方法及び制御プログラム
US7444365B2 (en) Non-linear digital rank filtering of input signal values
Tomikowski et al. Acceleration of Radio Direction Finder Algorithm in FPGA Computing Platform
CN103308900B (zh) 一种用于目标检测的快速keystone变换方法
JP4881239B2 (ja) 目標検出装置
Ryu et al. Phase difference compensation method for range estimation in an MFCW–CW radar
RU2359285C1 (ru) Способ распознавания протяженной по скорости цели и устройство для его осуществления
Singh et al. Doppler estimation from echo signal using FRFT
Kracvhenko et al. Justification of W-band FMCW radar functional blocks parameters using high-level system model
CN113906307A (zh) 雷达信号处理装置、雷达系统以及信号处理方法
US20230314560A1 (en) Automotive radar with hardware accelerated target detection capability
Simić et al. Hardware implementation of DIRLS mismatched compressor applied to a pulse-Doppler radar system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant