KR102301144B1 - Device for processing short time fourier transform of low complexity and method thereof - Google Patents

Device for processing short time fourier transform of low complexity and method thereof Download PDF

Info

Publication number
KR102301144B1
KR102301144B1 KR1020190171943A KR20190171943A KR102301144B1 KR 102301144 B1 KR102301144 B1 KR 102301144B1 KR 1020190171943 A KR1020190171943 A KR 1020190171943A KR 20190171943 A KR20190171943 A KR 20190171943A KR 102301144 B1 KR102301144 B1 KR 102301144B1
Authority
KR
South Korea
Prior art keywords
stream data
channel stream
equation
output channel
output
Prior art date
Application number
KR1020190171943A
Other languages
Korean (ko)
Other versions
KR20210079796A (en
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 KR1020190171943A priority Critical patent/KR102301144B1/en
Publication of KR20210079796A publication Critical patent/KR20210079796A/en
Application granted granted Critical
Publication of KR102301144B1 publication Critical patent/KR102301144B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법에 관한 것으로, 해결하고자 하는 기술적 과제는 가변 윈도우 함수의 길이를 제공하고 윈도우 함수의 종류에 따라 정보의 손실을 최소로 할 수 있도록 가변 중첩 크기를 지원하여 다양한 시간과 주파수 분해능을 제공하는데 있다.
일례로, 1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 상기 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력하는 DMM; 상기 DMM을 통하여 출력되는 스트림 데이터를 미리 설정된 종류의 윈도우 함수에 따른 STFT 연산을 수행하여 STFT 연산된 4채널 스트림 데이터를 출력하는 R4BM; 상기 R4BM으로부터 상기 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 상기 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력하는 DRM; 및 상기 DMM를 통해 출력되는 4채널의 스트림 데이터를 입력 받고, 윈도우 길이에 따른 STFT 연산이 수행되도록 상기 R4BM 중 어느 하나로 출력하는 MUX를 포함하는 저 복잡도의 단시간 푸리에 변환 처리 장치를 개시한다.
The present invention relates to a low-complexity short-time Fourier transform processing apparatus and method, and a technical problem to be solved is to provide a length of a variable window function and a variable overlap size to minimize information loss according to the type of the window function. to provide a variety of time and frequency resolutions.
As an example, one channel of stream data is received and sequentially delayed at different rates to generate stream data of 4 channels that are overlapped at a certain rate between delayed stream data and arranged in parallel with each other, and the stream data of 4 channels are windowed. a DMM for outputting 4-channel stream data reconstructed according to the length of each window function by performing a multiplication operation with a type of window function according to the length; an R4BM for performing an STFT operation on the stream data output through the DMM according to a preset type of window function to output the STFT-calculated 4-channel stream data; a DRM for receiving the STFT-calculated 4-channel stream data from the R4BM, reconstructing it according to the input structure of the 1-channel stream data, and outputting it; and a MUX for receiving the stream data of 4 channels output through the DMM and outputting the data to any one of the R4BMs to perform an STFT operation according to a window length.

Figure R1020190171943
Figure R1020190171943

Description

저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법{DEVICE FOR PROCESSING SHORT TIME FOURIER TRANSFORM OF LOW COMPLEXITY AND METHOD THEREOF} Low-complexity short-time Fourier transform processing apparatus and method

본 발명의 실시예는 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법에 관한 것이다.An embodiment of the present invention relates to a low-complexity short-time Fourier transform processing apparatus and method.

STFT(short time Fourier transform)는 입력된 비정상적인 신호(non-stationary signal)를 프레임 단위로 윈도우 함수(window function)를 이동해가며 FFT(fast Fourier transform) 연산을 수행하여 시간의 변화에 따른 신호의 주파수 변화를 관찰할 수 있다. STFT (short time Fourier transform) performs a fast Fourier transform (FFT) operation on an input non-stationary signal by moving a window function on a frame-by-frame basis to change the frequency of a signal according to time can be observed.

이러한 특성으로 인해 STFT는 레이더 시스템, 음성 신호처리 시스템 및 RFID 시스템 등 시간에 따른 주파수 측정이 필요한 다양한 분야에서 널리 사용되고 있다. Due to these characteristics, STFT is widely used in various fields that require frequency measurement over time, such as radar systems, voice signal processing systems, and RFID systems.

연속적으로 들어오는 비정상적인 신호의 주파수를 실시간으로 측정하기 위해서는 STFT 알고리즘의 하드웨어 프로세서로의 구현이 필수적이다. In order to measure the frequency of a continuously incoming abnormal signal in real time, it is essential to implement the STFT algorithm into a hardware processor.

STFT 프로세서는 윈도우 함수와 FFT 프로세서로 구성되는데, 윈도우 함수는 비정상적인 신호를 일정한 길이의 프레임 단위로 분할시켜 사용자로 하여금 시간 정보를 얻게 해주며, 부엽(side lobe)의 크기를 감소시켜 잡음에 의해 발생되는 데이터의 손실(leakage)을 감소시키는 역할을 한다. 특히, STFT 프로세서에서 윈도우 함수의 종류와 길이는 성능과 밀접한 관련이 있으며, 각 응용에 맞게 적절한 윈도우 함수의 종류와 길이가 다르다. The STFT processor is composed of a window function and an FFT processor. The window function divides an abnormal signal into frames of a certain length and allows the user to obtain time information. It serves to reduce data leakage. In particular, the type and length of the window function in the STFT processor are closely related to the performance, and the type and length of the window function appropriate for each application are different.

STFT 프로세서에서 윈도우 함수의 길이는 신호의 분해능(resolution)과 관계가 있으며, 윈도우 함수의 길이가 길수록 높은 주파수 분해능을 지원하지만 시간 분해능은 낮아지게 된다. 특히, STFT 프로세서가 응용되는 분야마다 필요한 시간과 주파수의 분해능이 다르기 때문에, 다양한 시간과 주파수 분해능을 지원하기 위해 가변적으로 윈도우 함수의 길이를 정할 수 있어야 한다. In the STFT processor, the length of the window function is related to the resolution of the signal, and as the length of the window function is longer, high frequency resolution is supported, but the time resolution is lowered. In particular, since the resolution of time and frequency required for each field to which the STFT processor is applied is different, the length of the window function must be variably determined to support various resolutions of time and frequency.

STFT 프로세서의 윈도우 함수 종류는 데이터의 손실과 관련이 있으며, 부엽에 의한 스펙트럼 손실을 줄이기 위해 여러 유형의 테이퍼 윈도우 함수(tapering window function)가 사용된다. The type of window function of the STFT processor is related to data loss, and various types of tapering window functions are used to reduce spectral loss due to side lobe.

그러나, 테이퍼 윈도우 함수는 일반적으로 처음과 끝부분에서 매우 작거나 0이기 때문에, 경계 근처에서 데이터의 손실이 발생한다. 이를 해결하기 위해 윈도우 함수를 중첩(overlap)하여 데이터의 손실을 최소화해야 하는데, 윈도우 함수의 종류마다 데이터의 손실을 최소로 하는 중첩의 크기가 다르다. However, since the taper window function is usually very small or zero at the beginning and the end, data loss occurs near the boundary. To solve this problem, data loss should be minimized by overlapping window functions. Each type of window function has a different size of overlap that minimizes data loss.

윈도우 함수를 사용하였을 때 데이터의 손실을 최소로 하기 위해 일반적으로 윈도우 함수를 0%에서 75%의 중첩 하여 사용한다. 따라서, 윈도우 함수의 종류에 따라 데이터 손실을 최소화하는 중첩 크기를 지원할 수 있도록 가변적으로 중첩 크기를 변경할 수 있어야 한다.In order to minimize the loss of data when using the window function, the window function is generally used with overlap of 0% to 75%. Therefore, it should be possible to change the nesting size variably so as to support the overlapping size that minimizes data loss according to the type of the window function.

또한, 가변적으로 중첩 크기를 변경할 수 있는 실시간 STFT 프로세서를 구현하기 위해서는, 최소 4채널 FFT 프로세서가 요구된다. 다채널 구조에서는 단일 경로에서 가장 복잡한 비 단순 승산을 최소로 하는 특징을 가지는 SDF(Single-path Delay Feedback) 방식의 FFT 프로세서를 데이터 경로만큼 구현하는 방식이 보편적으로 사용된다. In addition, in order to implement a real-time STFT processor capable of variably changing the overlapping size, a minimum 4-channel FFT processor is required. In a multi-channel structure, a method of implementing an FFT processor of the single-path delay feedback (SDF) method having the feature of minimizing the most complex non-simple multiplication in a single path as much as the data path is commonly used.

그러나, 이는 하드웨어 복잡도가 데이터 경로 수에 따라 선형적으로 증가하는 문제가 생긴다. 이를 해결하기 위해, 종래에는 MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 사용하여 다중 데이터 경로를 하나의 FFT 프로세서로 처리함으로써 복잡도를 감소시키는 방법이 제안되었다.However, there is a problem in that the hardware complexity increases linearly with the number of data paths. In order to solve this problem, conventionally, a method for reducing complexity by processing multiple data paths with one FFT processor using a multi-path delay commutator (MDC) type FFT processor has been proposed.

STFT의 성능을 향상시키기 위해 현재까지도 많은 연구들이 진행되고 있다. In order to improve the performance of the STFT, many studies are still in progress.

한편, Zhang은 STFT 프로세서를 여러 개의 파이프라인 구조의 FFT 모듈을 병렬구조로 구현하는 방법을 제안하였는데, 이러한 방법에 의한 STFT 프로세서는 입력 신호에 윈도우 함수를 곱하여 그 결과를 FFT 프로세서의 입력으로 제공하는 방법을 적용한 것으로, 각 FFT 프로세서는 특정 시간에 동시에 주파수를 측정할 수 있으며, 윈도우 함수의 곱셈 연산이 FFT 연산과 분리되어 있음으로 다양한 윈도우 함수를 사용할 수 있는 장점이 있다. On the other hand, Zhang proposed a method of implementing the STFT processor in parallel with FFT modules having multiple pipeline structures. In this way, the STFT processor multiplies the input signal with a window function and provides the result as an input to the FFT processor. By applying the method, each FFT processor can simultaneously measure the frequency at a specific time, and since the multiplication operation of the window function is separated from the FFT operation, there is an advantage that various window functions can be used.

그러나, 이러한 STFT 프로세서는 많은 수의 FFT 모듈을 병렬로 구현해야 하므로, 하드웨어 측면에서 많은 면적을 필요로 하는 단점이 있다. However, since such an STFT processor needs to implement a large number of FFT modules in parallel, it has a disadvantage in that it requires a large area in terms of hardware.

또한, Nagapuri는 STFT 프로세서를 파이프라인 구조의 FFT 모듈로 구현하는 방법을 제안하였는데, 이러한 방법은 FFT 연산 결과를 재사용하여 하드웨어의 면적과 지연 속도(latency)를 감소시킨다는 장점이 있다. In addition, Nagapuri proposed a method of implementing the STFT processor as an FFT module of a pipeline structure. This method has the advantage of reducing the area and latency of hardware by reusing the FFT operation result.

그러나, 이러한 STFT 프로세서는 rectangular window인 경우에만 사용 가능하며, 50%의 중첩만 지원하는 단점이 있다.However, this STFT processor can be used only in the case of a rectangular window, and has the disadvantage of supporting only 50% overlap.

1. L. Liu, D. McLernon, M.Ghogho, W. Hu, J. Huang, "Ballistic missile detection via micro-Doppler frequency estimation from radar return," Digital Signal Processing, vol. 22, no. 1, pp. 87-95, Jan. 2012. 1. L. Liu, D. McLernon, M. Ghogho, W. Hu, J. Huang, “Ballistic missile detection via micro-Doppler frequency estimation from radar return,” Digital Signal Processing, vol. 22, no. 1, pp. 87-95, Jan. 2012. 2. Ahmet Elbir, Hamza Osman Ilhan, Gorkem Serbes, Nizamettin Aydin, “Short Time Fourier Transform based music Genre classification,” 2018 Electric Electronics Computer Science Biomedical Engineerings`Meeting (EBBT), 2018. 2. Ahmet Elbir, Hamza Osman Ilhan, Gorkem Serbes, Nizamettin Aydin, “Short Time Fourier Transform based music Genre classification,” 2018 Electric Electronics Computer Science Biomedical Engineerings` Meeting (EBBT), 2018. 3. Rubayet-E-Azim, N. Karmakar, E. Amin, “Short Time Fourier Transform (STFT) for collision detection in chipless RFID systems,” 2015 International Symposium on Antennas and Prpagation (ISAP), pp. 1-4, Nov 2015.3. Rubayet-E-Azim, N. Karmakar, E. Amin, “Short Time Fourier Transform (STFT) for collision detection in chipless RFID systems,” 2015 International Symposium on Antennas and Prpagation (ISAP), pp. 1-4, Nov 2015. 4. N. A. Khan, M. N. Jafri, S. A. Qazi, “Improved resolution short-time Fourier transform,” Emerging Technologies (ICET), pp. 1-3, 2011.4. N. A. Khan, M. N. Jafri, S. A. Qazi, “Improved resolution short-time Fourier transform,” Emerging Technologies (ICET), pp. 1-3, 2011. 5. C. Mateo, J. A. Talavera, “Short-time Fourier transform with the window size fixed in the frequency domain,” Digital Signal Processing, vol. 77, pp 13-21, June. 20185. C. Mateo, J. A. Talavera, “Short-time Fourier transform with the window size fixed in the frequency domain,” Digital Signal Processing, vol. 77, pp 13-21, June. 2018 6. Q. Yin, L. Shen, M. Lu, X. Wang, Z. Liu, “Selection of optimal window length using STFT for quantitative SNR analysis of LFM signal,” J. Syst. Eng. Electron., vol. 24, no. 1, pp. 26-35, Feb. 20136. Q. Yin, L. Shen, M. Lu, X. Wang, Z. Liu, “Selection of optimal window length using STFT for quantitative SNR analysis of LFM signal,” J. Syst. Eng. Electron., vol. 24, no. 1, pp. 26-35, Feb. 2013 7. G. Heinzel, A. Rudiger, R. Schilling, “Spectrum and spectral density estimation by the discrete Fourier transform (DFT) including a comprehensive list of window functions and some new at-top windows,” Albert-Einstein-Institut, Feb. 20027. G. Heinzel, A. Rudiger, R. Schilling, “Spectrum and spectral density estimation by the discrete Fourier transform (DFT) including a comprehensive list of window functions and some new at-top windows,” Albert-Einstein-Institut, Feb. 2002 8. S. He, M. Torkelson, “A new approach to pipeline FFT processor,” Proc. of IPPS, pp. 766-770, 1996.8. S. He, M. Torkelson, “A new approach to pipeline FFT processor,” Proc. of IPPS, pp. 766-770, 1996. 9. T. Sansaloni, A. Perez-Pascual, V. Torres, J. Valls, “Efficient pipeline FFT processors for WLAN MIMO-OFDM systems,” Electron. Lett., vol. 41, no. 19, pp. 1043-1044, Sep. 2005.9. T. Sansaloni, A. Perez-Pascual, V. Torres, J. Valls, “Efficient pipeline FFT processors for WLAN MIMO-OFDM systems,” Electron. Lett., vol. 41, no. 19, pp. 1043-1044, Sep. 2005. 10. S. Zhang, D. Yu, S. Sheng, “A discrete STFT processor for realtime spectrum anlysis,” APCCAS - Asia Pacific Conference on Circuits and Systems, 2006.10. S. Zhang, D. Yu, S. Sheng, “A discrete STFT processor for realtime spectrum anlysis,” APCCAS - Asia Pacific Conference on Circuits and Systems, 2006. 11. N. Srinivas, P. K. Kumar, G. Pradhan, “Low latency architecture design and implementation for short-time fourier transform algorithm on fpga,” Microwaves Antennas Communications and Electronic Systems (COMCAS) 2017 IEEE international Conference on, pp. 1-5, 2017.11. N. Srinivas, P. K. Kumar, G. Pradhan, “Low latency architecture design and implementation for short-time fourier transform algorithm on fpga,” Microwaves Antennas Communications and Electronic Systems (COMCAS) 2017 IEEE international Conference on, pp. 1-5, 2017. 12. Y. Jung, H. Yoon, J. Kim, “New efficient FFT algorithm and pipeline implementation results for OFDM/DMT applications,” IEEE Trans. Consumer Electron., vol. 49, pp. 14-20, Feb. 2003.12. Y. Jung, H. Yoon, J. Kim, “New efficient FFT algorithm and pipeline implementation results for OFDM/DMT applications,” IEEE Trans. Consumer Electron., vol. 49, pp. 14-20, Feb. 2003. 13. S. Yoshizawa, A. Orikasa, Y. Miyanaga, “An area and power efficient pipeline fft processor for \$8 times 8\$ mimo-ofdm systems,” IEEE int. Symp. Circuits and Systems (ISCAS) 2011, pp. 2705-2708, 2011.13. S. Yoshizawa, A. Orikasa, Y. Miyanaga, “An area and power efficient pipeline fft processor for \$8 times 8\$ mimo-ofdm systems,” IEEE int. Symp. Circuits and Systems (ISCAS) 2011, pp. 2705-2708, 2011.

본 발명의 실시예는, 가변 윈도우 함수의 길이를 제공하고 윈도우 함수의 종류에 따라 정보의 손실을 최소로 할 수 있도록 가변 중첩 크기를 지원하여 다양한 시간과 주파수 분해능을 제공할 수 있는 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법을 제공한다.An embodiment of the present invention provides a length of a variable window function and supports a variable overlap size to minimize loss of information according to the type of the window function, thereby providing various time and frequency resolutions for a short time with low complexity. A Fourier transform processing apparatus and method are provided.

본 발명의 실시예에 따른 저 복잡도 단시간 푸리에 변환 장치는, 1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 상기 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력하는 DMM(Data Matching Module); 상기 DMM을 통하여 출력되는 스트림 데이터를 미리 설정된 종류의 윈도우 함수에 따른 STFT(Short Time Fourier Transform) 연산을 수행하여 STFT 연산된 4채널 스트림 데이터를 출력하는 다수의 R4BM(Radix-4 Butterfly Module); 및 상기 R4BM으로부터 상기 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 상기 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력하는 DRM(Data Reordering Module)를 포함한다.A low-complexity short-time Fourier transform apparatus according to an embodiment of the present invention receives stream data of one channel, sequentially delays it at different rates, overlaps between delayed stream data at a certain rate, and parallel-aligns stream data of four channels a DMM (Data Matching Module) for generating and outputting 4-channel stream data reconstructed according to the length of each window function by multiplying the 4-channel stream data with a window function of a type according to a window length; a plurality of Radix-4 Butterfly Modules (R4BMs) that perform a Short Time Fourier Transform (STFT) operation on the stream data output through the DMM according to a preset type of window function to output STFT-calculated 4-channel stream data; and a Data Reordering Module (DRM) for receiving the STFT-calculated 4-channel stream data from the R4BM, reconstructing it according to the input structure of the 1-channel stream data, and outputting it.

또한, 상기 DMM를 통해 출력되는 4채널의 스트림 데이터를 윈도우 길이에 따른 STFT 연산이 수행되도록 상기 R4BM으로 출력하는 MUX(Multiplexer)를 더 포함할 수 있다.In addition, it may further include a MUX (multiplexer) for outputting the stream data of 4 channels output through the DMM to the R4BM to perform the STFT operation according to the window length.

또한, 상기 DMM은, 1채널의 스트림 데이터를 입력 받고, 입력된 1채널의 스트림 데이터 대비 75% 지연된 제1 채널 스트림 데이터, 50% 지연된 제2 채널 스트림 데이터, 25% 지연된 제3 채널 스트림 데이터, 0% 지연된 제4 채널 스트림 데이터를 생성하여 상기 제1 채널 스트림 데이터와 상기 제2 채널 스트림 데이터 간, 상기 제2 채널 스트림 데이터와 상기 제3 채널 스트림 데이터 간, 및 상기 제3 채널 스트림 데이터와 상기 제4 채널 스트림 데이터 간이 각각 75% 중첩(overlap)되도록 할 수 있다.In addition, the DMM receives the stream data of one channel, the first channel stream data delayed by 75% compared to the input stream data of one channel, the second channel stream data delayed by 50%, the third channel stream data delayed by 25%, 4 channel stream data with a 0% delay is generated between the first channel stream data and the second channel stream data, between the second channel stream data and the third channel stream data, and between the third channel stream data and the The fourth channel stream data may overlap each other by 75%.

또한, 상기 DMM은, 상기 제1 채널 스트림 데이터, 상기 제2 채널 스트림 데이터, 상기 제3 채널 스트림 데이터 및 상기 제4 채널 스트림 데이터를 상호 병렬 패턴으로 정렬한 상태에서, 4, 16, 64, 256 및 1024 포인트의 윈도우 길이에 따른 윈도우 함수 중 어느 하나의 윈도우 함수와 곱셈 연산하여 설정된 윈도우 함수의 길이에 맞게 재구성된 4채널의 스트림 데이터를 생성하여 출력할 수 있다.In addition, the DMM is configured to align the first channel stream data, the second channel stream data, the third channel stream data, and the fourth channel stream data in a mutually parallel pattern, 4, 16, 64, 256 and multiplication operation with any one of the window functions according to the window length of 1024 points to generate and output 4-channel stream data reconstructed according to the length of the set window function.

또한, 상기 R4BM은, 4채널(Radix-4) MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 이용하여 4, 16, 64, 256 및 1024 포인트의 윈도우 길이를 각각 지원하는 FFT 연산을 수행할 수 있다.In addition, the R4BM uses a 4-channel (Radix-4) MDC (Multi-path Delay Commutator) FFT processor to perform an FFT operation supporting window lengths of 4, 16, 64, 256 and 1024 points, respectively. can

또한, 상기 STFT 연산은 하기의 수식 1에 따라 정의되고,In addition, the STFT operation is defined according to Equation 1 below,

Figure 112021070479262-pat00001
[수식 1]
Figure 112021070479262-pat00001
[Formula 1]

상기 n은 비정상적인 신호의 시작점으로, n=lN로 나타내고, 상기 l은 ∞≤l≤∞의 범위를 갖고, 상기 k는 주파수 인덱스고, 상기 m은 이산 변수이고, 상기 N은 윈도우 함수의 길이를 나타내고, 상기

Figure 112021070479262-pat00053
Figure 112021070479262-pat00054
을 나타내는 것으로, 복소 평면에서 km값이 증가함에 따라 N단계에 걸쳐 시계방향으로 회전할 때의 트위터 팩터(twiddle factor)이며, 상기 x[n+m]의 신호가 윈도우 함수인 w[m]과 곱셈 연산되어 x(n)[m]의 신호로 됨으로써, 상기 STFT 연산은 x(n)[m]의 신호에 대한 FFT 연산을 수행할 수 있다.Wherein n is the starting point of an abnormal signal, represented by n=lN, where l has a range of ∞≤l≤∞, wherein k is a frequency index, m is a discrete variable, and N is the length of the window function. indicate, and
Figure 112021070479262-pat00053
silver
Figure 112021070479262-pat00054
is a tweeter factor when rotating clockwise over N steps as the value of km increases in the complex plane, and the signal of x[n+m] is the window function w[m] and Since the multiplication operation is performed to obtain a signal of x (n) [m], the STFT operation may perform an FFT operation on the signal of x (n) [m].

또한, 상기 수식 1의 상기 m과 상기 k를 인덱스 분해법을 이용하여 하기의 수식 2와 같이 정의할 수 있다.In addition, m and k in Equation 1 may be defined as in Equation 2 below using an index decomposition method.

Figure 112021070479262-pat00002
[수식 2]
Figure 112021070479262-pat00002
[Formula 2]

또한, 1024 포인트의 윈도우 길이를 갖는 FFT 연산은, 상기 수식 2를 상기 수식 1에 대입하여 하기의 수식 3와 같이 정의되고,In addition, the FFT operation having a window length of 1024 points is defined as Equation 3 below by substituting Equation 2 into Equation 1,

Figure 112021070479262-pat00003
[수식 3]
Figure 112021070479262-pat00003
[Equation 3]

상기 변수 A는 A=256m1+64m2+16m3+4m4+m5의 값을 갖고, 상기 변수 B는 B=k1+4k2+16k3+64k4+256k5의 값을 가질 수 있다.The variable A may have a value of A=256m 1 +64m 2 +16m 3 +4m 4 +m 5 , and the variable B may have a value of B=k 1 +4k 2 +16k 3 +64k 4 +256k 5 have.

또한, 256 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 4에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 256 points may be defined according to Equation 4 below.

Figure 112021070479262-pat00004
[수식 4]
Figure 112021070479262-pat00004
[Equation 4]

또한, 64 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 5에 따라 정의될 수 있다.Also, an FFT operation having a window length of 64 points may be defined according to Equation 5 below.

Figure 112021070479262-pat00005
[수식 5]
Figure 112021070479262-pat00005
[Equation 5]

또한, 16 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 6에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 16 points may be defined according to Equation 6 below.

Figure 112021070479262-pat00006
[수식 6]
Figure 112021070479262-pat00006
[Equation 6]

또한, 4 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 7에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 4 points may be defined according to Equation 7 below.

Figure 112021070479262-pat00007
[수식 7]
Figure 112021070479262-pat00007
[Equation 7]

또한, 상기 수식 3을 통해 상기 1024 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 4에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 3, the FFT operation having a window length of 1024 points can be calculated by adding a radix-4 butterfly operation to Equation 4 above.

또한, 상기 수식 4를 통해 상기 256 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 5에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 4, the FFT operation having a window length of 256 points can be calculated by adding a radix-4 butterfly operation to Equation 5 above.

또한, 상기 수식 5를 통해 상기 64 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 6에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 5, the FFT operation having a window length of 64 points can be calculated by adding a radix-4 butterfly operation to Equation 6 above.

또한, 상기 수식 6을 통해 상기 16 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 7에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 6, the FFT operation having a window length of 16 points can be calculated by adding a radix-4 butterfly operation to Equation 7 above.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공할 수 있다.In addition, among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, the first output channel stream data, the second output channel If the stream data, the third output channel stream data, and the fourth output channel stream data are selected in order, an overlapping FFT result of 75% may be provided.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공할 수 있다.In addition, among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the third output channel Choosing in order of stream data can give 50% overlapping FFT results.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공할 수 있다.In addition, among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, the first output channel stream data and the fourth output channel If the stream data, the third output channel stream data, and the second output channel stream data are selected in this order, an overlapping FFT result of 25% may be provided.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공할 수 있다.In addition, if only the first output channel stream data is selected in the order of the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, 0 % of the superimposed FFT results.

또한, 상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하여, 0%, 25%, 50% 및 75%의 가변 중첩 크기의 4채널 스트림 데이터에 대한 FFT를 제공할 수 있다.In addition, when the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data are selected in order, an overlapping FFT result of 75% is provided, When the first output channel stream data and the third output channel stream data are selected in order, an overlapping FFT result of 50% is provided, the first output channel stream data, the fourth output channel stream data, and the third output channel stream Selecting in the order of data and the second output channel stream data provides an overlapping FFT result of 25%, and selecting only the first output channel stream data in order provides an overlapping FFT result of 0%, 0%, It can provide FFT for 4 channel stream data with variable overlap size of 25%, 50% and 75%.

본 발명의 다른 실시예에 따른 저 복잡도의 단시간 푸리에 변환 처리 방법은, DMM(Data Matching Module), 다수의 R4BM(Radix-4 Butterfly Module), DRM(Data Reordering Module) 및 MUX(Multiplexer)를 포함하는 단시간 푸리에 변환 처리 방법을 이용하여 단시간 푸리에 변환을 처리하는 방법에 관한 것으로, 상기 DMM을 이용하여, 1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 상기 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력하는 데이터 매칭 단계; 상기 DMM을 통하여 출력되는 스트림 데이터를 상기 R4BM을 이용하여, 미리 설정된 종류의 윈도우 함수에 따른 STFT(Short Time Fourier Transform) 연산을 수행해 STFT 연산된 4채널 스트림 데이터를 출력하는 STFT 연산 단계; 및 상기 DRM을 이용하여, 상기 R4BM으로부터 상기 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 상기 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력할 수 있다.A low-complexity short-time Fourier transform processing method according to another embodiment of the present invention includes a Data Matching Module (DMM), a plurality of Radix-4 Butterfly Modules (R4BMs), a Data Reordering Module (DRM), and a Multiplexer (MUX). A method of processing a short-time Fourier transform using a short-time Fourier transform processing method, wherein, using the DMM, stream data of one channel is received and sequentially delayed at different rates to overlap the delayed stream data at a certain rate Data that generates 4-channel stream data aligned in parallel with each other, and multiplies the 4-channel stream data with a window function of a type according to the window length to output 4-channel stream data reconstructed according to the length of each window function matching step; an STFT operation step of outputting the STFT-calculated 4-channel stream data by performing an STFT (Short Time Fourier Transform) operation according to a preset type of window function using the R4BM on the stream data output through the DMM; and using the DRM, the STFT-calculated 4-channel stream data may be received from the R4BM, reconstructed according to an input structure of the 1-channel stream data, and output.

또한, 상기 데이터 매칭 단계와 상기 STFT 연산 단계 사이에, 상기 DMM를 통해 출력되는 4채널의 스트림 데이터를 윈도우 길이에 따른 STFT 연산이 수행되도록 상기 MUX를 이용하여 상기 R4BM으로 출력하는 R4BM 선택 단계를 더 포함할 수 있다.In addition, between the data matching step and the STFT operation step, an R4BM selection step of outputting the 4-channel stream data output through the DMM to the R4BM using the MUX so that the STFT operation according to the window length is performed is further performed. may include

또한, 상기 데이터 매칭 단계는, 상기 DMM을 이용하여, 1채널의 스트림 데이터를 입력 받고, 입력된 1채널의 스트림 데이터 대비 75% 지연된 제1 채널 스트림 데이터, 50% 지연된 제2 채널 스트림 데이터, 25% 지연된 제3 채널 스트림 데이터, 0% 지연된 제4 채널 스트림 데이터를 생성하여 상기 제1 채널 스트림 데이터와 상기 제2 채널 스트림 데이터 간, 상기 제2 채널 스트림 데이터와 상기 제3 채널 스트림 데이터 간, 및 상기 제3 채널 스트림 데이터와 상기 제4 채널 스트림 데이터 간이 각각 75% 중첩(overlap)되도록 할 수 있다.In addition, the data matching step includes receiving, using the DMM, stream data of one channel, first channel stream data delayed by 75% compared to the input stream data of one channel, second channel stream data delayed by 50%, 25 % delayed third channel stream data, 0% delayed fourth channel stream data is generated between the first channel stream data and the second channel stream data, between the second channel stream data and the third channel stream data, and The third channel stream data and the fourth channel stream data may overlap each other by 75%.

또한, 상기 데이터 매칭 단계는, 상기 DMM을 이용하여, 상기 제1 채널 스트림 데이터, 상기 제2 채널 스트림 데이터, 상기 제3 채널 스트림 데이터 및 상기 제4 채널 스트림 데이터를 상호 병렬 패턴으로 정렬한 상태에서, 4, 16, 64, 256 및 1024 포인트의 윈도우 길이에 따른 윈도우 함수 중 어느 하나의 윈도우 함수와 곱셈 연산하여 설정된 윈도우 함수의 길이에 맞게 재구성된 4채널의 스트림 데이터를 생성하여 출력할 수 있다.In addition, the data matching step may include aligning the first channel stream data, the second channel stream data, the third channel stream data, and the fourth channel stream data in a mutually parallel pattern using the DMM. , 4, 16, 64, 256, and 1024 points may be multiplied with any one of the window functions according to the window length to generate and output 4-channel stream data reconstructed according to the length of the set window function.

또한, 상기 STFT 연산 단계는, 상기 R4BM을 이용하여, 4채널(Radix-4) MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 이용하여 4, 16, 64, 256 및 1024 포인트의 윈도우 길이를 각각 지원하는 FFT 연산을 수행할 수 있다.In addition, the STFT operation step uses the R4BM to determine the window lengths of 4, 16, 64, 256 and 1024 points using an FFT processor of a 4-channel (Radix-4) MDC (Multi-path Delay Commutator) method. Each supported FFT operation can be performed.

또한, 상기 STFT 연산은 하기의 수식 1에 따라 정의되고,In addition, the STFT operation is defined according to Equation 1 below,

Figure 112021070479262-pat00008
[수식 1]
Figure 112021070479262-pat00008
[Formula 1]

상기 n은 비정상적인 신호의 시작점으로, n=lN로 나타내고, 상기 l은 ∞≤l≤∞의 범위를 갖고, 상기 k는 주파수 인덱스고, 상기 m은 이산 변수이고, 상기 N은 윈도우 함수의 길이를 나타내고, 상기

Figure 112021070479262-pat00055
Figure 112021070479262-pat00056
을 나타내는 것으로, 복소 평면에서 km값이 증가함에 따라 N단계에 걸쳐 시계방향으로 회전할 때의 트위터 팩터(twiddle factor)이며, 상기 x[n+m]의 신호가 윈도우 함수인 w[m]과 곱셈 연산되어 x(n)[m]의 신호로 됨으로써, 상기 STFT 연산은 x(n)[m]의 신호에 대한 FFT 연산을 수행할 수 있다.Wherein n is the starting point of an abnormal signal, represented by n=lN, where l has a range of ∞≤l≤∞, wherein k is a frequency index, m is a discrete variable, and N is the length of the window function. indicate, and
Figure 112021070479262-pat00055
silver
Figure 112021070479262-pat00056
is a tweeter factor when rotating clockwise over N steps as the value of km increases in the complex plane, and the signal of x[n+m] is the window function w[m] and Since the multiplication operation is performed to obtain a signal of x (n) [m], the STFT operation may perform an FFT operation on the signal of x (n) [m].

또한, 상기 수식 1의 상기 m과 상기 k를 인덱스 분해법을 이용하여 하기의 수식 2와 같이 정의할 수 있다.In addition, m and k in Equation 1 may be defined as in Equation 2 below using an index decomposition method.

Figure 112021070479262-pat00009
[수식 2]
Figure 112021070479262-pat00009
[Formula 2]

또한, 1024 포인트의 윈도우 길이를 갖는 FFT 연산은, 상기 수식 2를 상기 수식 1에 대입하여 하기의 수식 3와 같이 정의되고,In addition, the FFT operation having a window length of 1024 points is defined as Equation 3 below by substituting Equation 2 into Equation 1,

Figure 112021070479262-pat00010
[수식 3]
Figure 112021070479262-pat00010
[Equation 3]

상기 변수 A는 A=256m1+64m2+16m3+4m4+m5의 값을 갖고, 상기 변수 B는 B=k1+4k2+16k3+64k4+256k5의 값을 가질 수 있다.The variable A may have a value of A=256m 1 +64m 2 +16m 3 +4m 4 +m 5 , and the variable B may have a value of B=k 1 +4k 2 +16k 3 +64k 4 +256k 5 have.

또한, 256 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 4에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 256 points may be defined according to Equation 4 below.

Figure 112021070479262-pat00011
[수식 4]
Figure 112021070479262-pat00011
[Equation 4]

또한, 64 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 5에 따라 정의될 수 있다.Also, an FFT operation having a window length of 64 points may be defined according to Equation 5 below.

Figure 112021070479262-pat00012
[수식 5]
Figure 112021070479262-pat00012
[Equation 5]

또한, 16 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 6에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 16 points may be defined according to Equation 6 below.

Figure 112021070479262-pat00013
[수식 6]
Figure 112021070479262-pat00013
[Equation 6]

또한, 4 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 7에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 4 points may be defined according to Equation 7 below.

Figure 112021070479262-pat00014
[수식 7]
Figure 112021070479262-pat00014
[Equation 7]

또한, 상기 수식 3을 통해 상기 1024 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 4에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 3, the FFT operation having a window length of 1024 points can be calculated by adding a radix-4 butterfly operation to Equation 4 above.

또한, 상기 수식 4를 통해 상기 256 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 5에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 4, the FFT operation having a window length of 256 points can be calculated by adding a radix-4 butterfly operation to Equation 5 above.

또한, 상기 수식 5를 통해 상기 64 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 6에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 5, the FFT operation having a window length of 64 points can be calculated by adding a radix-4 butterfly operation to Equation 6 above.

또한, 상기 수식 6을 통해 상기 16 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 7에 radix-4 butterfly 연산이 추가되어 연산될 수 있다.In addition, through Equation 6, the FFT operation having a window length of 16 points can be calculated by adding a radix-4 butterfly operation to Equation 7 above.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공할 수 있다.In addition, among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, the first output channel stream data, the second output channel If the stream data, the third output channel stream data, and the fourth output channel stream data are selected in order, an overlapping FFT result of 75% may be provided.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공할 수 있다.In addition, among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the third output channel Choosing in order of stream data can give 50% overlapping FFT results.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공할 수 있다.In addition, among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, the first output channel stream data and the fourth output channel If the stream data, the third output channel stream data, and the second output channel stream data are selected in this order, an overlapping FFT result of 25% may be provided.

또한, 상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공할 수 있다.In addition, if only the first output channel stream data is selected in the order of the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, 0 % of the superimposed FFT results.

또한, 상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하여, 0%, 25%, 50% 및 75%의 가변 중첩 크기의 4채널 스트림 데이터에 대한 FFT를 제공할 수 있다.In addition, when the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data are selected in order, an overlapping FFT result of 75% is provided, When the first output channel stream data and the third output channel stream data are selected in order, an overlapping FFT result of 50% is provided, the first output channel stream data, the fourth output channel stream data, and the third output channel stream Selecting in the order of data and the second output channel stream data provides an overlapping FFT result of 25%, and selecting only the first output channel stream data in order provides an overlapping FFT result of 0%, 0%, It can provide FFT for 4 channel stream data with variable overlap size of 25%, 50% and 75%.

본 발명에 따르면, 가변 윈도우 함수의 길이를 제공하고 윈도우 함수의 종류에 따라 정보의 손실을 최소로 할 수 있도록 가변 중첩 크기를 지원하여 다양한 시간과 주파수 분해능을 제공할 수 있는 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법을 제공할 수 있다.According to the present invention, a low-complexity short-time Fourier transform capable of providing various time and frequency resolutions by providing a length of a variable window function and supporting a variable overlap size to minimize information loss according to the type of window function A processing apparatus and a method thereof can be provided.

도 1은 본 발명의 실시예에 따른 단시간 푸리에 변환 처리 장치의 전체 구성을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 DMM의 입력과 출력의 데이터 흐름을 설명하기 위해 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 인접 스트림 데이터 채널 간 중첩을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 FFT 연산에 따른 출력 데이터 흐름을 설명하기 위해 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 DMM의 내부 회로 구성을 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 R4BM의 내부 회로 구성을 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 DRM의 내부 회로 구성을 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 단시간 푸리에 변환 처리 방법을 나타낸 흐름도이다.
1 is a diagram showing the overall configuration of a short-time Fourier transform processing apparatus according to an embodiment of the present invention.
2 is a diagram illustrating a data flow of input and output of a DMM according to an embodiment of the present invention.
3 is a diagram illustrating overlap between adjacent stream data channels according to an embodiment of the present invention.
4 is a diagram illustrating an output data flow according to an FFT operation according to an embodiment of the present invention.
5 is a diagram illustrating an internal circuit configuration of a DMM according to an embodiment of the present invention.
6 is a diagram illustrating an internal circuit configuration of an R4BM according to an embodiment of the present invention.
7 is a diagram illustrating an internal circuit configuration of a DRM according to an embodiment of the present invention.
8 is a flowchart illustrating a short-time Fourier transform processing method according to an embodiment of the present invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.Terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part "includes" a certain element throughout the specification, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art can easily carry out the embodiments of the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

도 1은 본 발명의 실시예에 따른 단시간 푸리에 변환 처리 장치의 전체 구성을 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 DMM의 입력과 출력의 데이터 흐름을 설명하기 위해 나타낸 도면이고, 도 3은 본 발명의 실시예에 따른 인접 스트림 데이터 채널 간 중첩을 나타낸 도면이고, 도 4는 본 발명의 실시예에 따른 FFT 연산에 따른 출력 데이터 흐름을 설명하기 위해 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 DMM의 내부 회로 구성을 나타낸 도면이고, 도 6은 본 발명의 실시예에 따른 R4BM의 내부 회로 구성을 나타낸 도면이며, 도 7은 본 발명의 실시예에 따른 DRM의 내부 회로 구성을 나타낸 도면이다.1 is a diagram showing the overall configuration of a short-time Fourier transform processing apparatus according to an embodiment of the present invention, FIG. 2 is a diagram illustrating an input and output data flow of a DMM according to an embodiment of the present invention, FIG. 3 is a diagram illustrating overlap between adjacent stream data channels according to an embodiment of the present invention, FIG. 4 is a diagram illustrating an output data flow according to an FFT operation according to an embodiment of the present invention, and FIG. 5 is a diagram illustrating the present invention is a diagram showing the internal circuit configuration of the DMM according to the embodiment of the present invention, Figure 6 is a diagram showing the internal circuit configuration of the R4BM according to the embodiment of the present invention, Figure 7 is the internal circuit configuration of the DRM according to the embodiment of the present invention is a diagram showing

도 1을 참조하면, 본 발명의 실시예에 따른 저 복잡도 단시간 푸리에 변환 처리 장치(100)는 DMM(Data Matching Module)(110), R4BM(Radix-4 Butterfly Module)(120), DRM(Data Reordering Module)(130) 및 MUX(Multiplexer)(140)를 포함한다.Referring to FIG. 1 , a low-complexity short-time Fourier transform processing apparatus 100 according to an embodiment of the present invention includes a Data Matching Module (DMM) 110 , a Radix-4 Butterfly Module (R4BM) 120 , and Data Reordering (DRM). Module) 130 and a Multiplexer (MUX) 140 .

상기 DMM(110)(또는 DMM1)은, 가변되는 윈도우 함수의 길이를 지원하여 FFT 연산을 수행할 수 있으며, DMM(110) 이외에 R4BM(130) 사이에 설치되는 DMM2(112), DMM3(113), DMM4(114), 및 DMM5(115)도 구성될 수 있다. 이러한 DMM2(112), DMM3(113), DMM4(114), 및 DMM5(115)은 4채널 스트림 데이터의 입력을 다음 단의 R4BM(130)에 필요한 입력 데이터 구조로 재구성하는 역할을 하며, 지연소자와 교환기(Commutator)로 구성될 수 있다. 이러한 DMM2(112), DMM3(113), DMM4(114), 및 DMM5(115)은 서로 유사하게 구성되나, 다음 단의 R4BM(130)에 필요한 입력 데이터 구조가 다르기 때문에 시프트 레지스터의 길이가 서로 차이가 있을 수 있다.The DMM 110 (or DMM1) can perform an FFT operation by supporting the length of a variable window function, and the DMM2 112 and DMM3 113 installed between the R4BM 130 in addition to the DMM 110 . , DMM4 114 , and DMM5 115 may also be configured. These DMM2 (112), DMM3 (113), DMM4 (114), and DMM5 (115) serve to reconstruct the input of the 4-channel stream data into an input data structure required for the R4BM 130 of the next stage, and a delay element and a commutator. These DMM2 112 , DMM3 113 , DMM4 114 , and DMM5 115 are configured similarly to each other, but the length of the shift register is different because the input data structure required for the next R4BM 130 is different. there may be

특히, DMM(110)은, 1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력할 수 있다.In particular, the DMM 110 receives stream data of one channel and sequentially delays it at different rates to generate stream data of four channels that are overlapped at a certain rate between the delayed stream data and arranged in parallel with each other, By multiplying stream data with a window function of a type according to the window length, it is possible to output 4-channel stream data reconstructed according to the length of each window function.

이러한 DMM(110)은, 도 2에 도시된 바와 같이 1채널의 스트림 데이터(Input)를 입력 받고, 입력된 1채널의 스트림 데이터(Input1) 대비 75% 지연된 제1 채널 스트림 데이터(Output1), 50% 지연된 제2 채널 스트림 데이터(Output2), 25% 지연된 제3 채널 스트림 데이터(Output3), 0% 지연된 제4 채널 스트림 데이터(Output4)를 생성하여 도 3에 도시된 바와 같이, 출력되는 제1 채널 스트림 데이터(Channel1)와 제2 채널 스트림 데이터(Channel2) 간, 제2 채널 스트림 데이터(Channel2)와 제3 채널 스트림 데이터(Channel3) 간, 및 제3 채널 스트림 데이터(Channel3)와 제4 채널 스트림 데이터(Channel4) 간이 각각 75% 중첩(overlap)되도록 할 수 있다.As shown in FIG. 2 , the DMM 110 receives the stream data of one channel (Input), and the first channel stream data (Output1), which is delayed by 75% compared to the input stream data of one channel (Input1), 50 The % delayed second channel stream data (Output2), the 25% delayed third channel stream data (Output3), and the 0% delayed fourth channel stream data (Output4) are generated to generate the output first channel as shown in FIG. 3 . Between the stream data (Channel1) and the second channel stream data (Channel2), between the second channel stream data (Channel2) and the third channel stream data (Channel3), and between the third channel stream data (Channel3) and the fourth channel stream data (Channel4) The livers can each overlap 75%.

본 실시예에서, 0, 25, 50과 75% 중첩 크기가 가변 되는 STFT 프로세서를 구현하기 위해 4채널 FFT 프로세서의 각 채널에 75% 중첩된 입력을 넣어야 하며, FFT 프로세서의 출력 채널을 부분적으로 선택하여 중첩 크기를 가변할 수 있다. STFT 프로세서에 1개의 채널로 스트림 데이터가 들어옴으로, 1개의 스트림 데이터를 받아 75% 중첩된 4개의 스트림 데이터를 만들어줄 수 있으며, 윈도우 길이가 N-point 일 때 DMM의 입력과 출력의 스트림 데이터의 흐름은 도 1에 도시된 바와 같다. 이때, DMM의 1채널 출력 스트림 데이터는 입력 스트림 데이터가 3N/4 cycle 지연되어 출력되고 2채널 출력 스트림 데이터는 입력 스트림 데이터가 N/2 cycle 지연되어 출력되며, 3채널 출력 스트림 데이터는 입력 스트림 데이터가 N/4 cycle 지연되어 출력되며, 마지막으로 4채널 출력 스트림 데이터는 입력 스트림 데이터가 지연되지 않은 채 출력된다. FFT 연산은 1채널의 첫 데이터가 3N/4 cycle 지연된 후 시작되며, FFT 연산이 시작되는 지점의 ‘1채널과 2채널’, ‘2채널과 3채널’ 그리고 ‘3채널과 4채널’의 데이터는 각각 75% 중첩되어 있다. 즉, FFT 프로세서의 각 채널에 75% 중첩된 스트림 데이터가 입력으로 들어간다. FFT 프로세서의 각 채널에 75% 중첩되어 입력으로 들어간 스트림 데이터는 4채널 FFT 프로세서의 연산을 거쳐 출력 결과도 각 채널에서 75% 중첩된 결과가 나오며, 윈도우 함수의 길이가 N-포인트일 때 출력 스트림 데이터의 흐름은 도 4에 도시된 바와 같다.In this embodiment, in order to implement an STFT processor with variable 0, 25, 50 and 75% overlap size, it is necessary to put an input with 75% overlap to each channel of the 4-channel FFT processor, and partially select the output channel of the FFT processor. Thus, the nesting size can be varied. As stream data enters the STFT processor through one channel, it can receive one stream data and create four stream data overlapping 75%, and when the window length is N-point, The flow is as shown in FIG. 1 . At this time, the 1-channel output stream data of the DMM is output with the input stream data delayed by 3N/4 cycles, the 2-channel output stream data is output with the input stream data delayed by N/2 cycles, and the 3-channel output stream data is output with the input stream data is output with N/4 cycle delay, and finally, 4 channel output stream data is output without input stream data delayed. FFT operation starts after the first data of 1 channel is delayed by 3N/4 cycle are each overlapped by 75%. That is, stream data superimposed 75% on each channel of the FFT processor enters the input. Stream data entered as input with 75% overlap in each channel of the FFT processor goes through the operation of the 4-channel FFT processor, and the output result is also overlapped by 75% in each channel. When the window function length is N-points, the output stream The data flow is as shown in FIG. 4 .

이러한 DMM(110)의 동작원리는 처음 1채널의 스트림 데이터가 DMM(110)을 통해 75% 중첩된 4개의 스트림 데이터로 변환과 동시에 설정한 윈도우 함수의 길이에 맞는 정확한 길이로 재구성되며, 설정한 윈도우 함수의 길이에 맞게 입력 신호와 윈도우 함수를 곱해 다음 단에 입력된다. 예를 들어, 1024-포인트 STFT 연산이 수행되어야 할 경우, 재구성된 4채널의 스트림 데이터가 MUX1(141)에 의해 R4BM1(121)에 입력되어 1024-포인트 STFT 연산이 이루어진다. 256-포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 256-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX2(142)에 의해 R4BM2(122)에 입력되어 256-포인트 STFT 연산이 이루어진다. 64-포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 64-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX3(143)에 의해 R4BM3(123)에 입력되어 64-포인트 STFT 연산이 이루어진다. 16- 포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 16-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX4(144)에 의해 R4BM4(124)에 입력되어 16-포인트 STFT 연산이 이루어진다. 4-포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 4-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX4(145)에 의해 R4BM5(125))에 입력되어 4-포인트 STFT 연산이 이루어진다.The operating principle of this DMM 110 is that the stream data of the first 1 channel is converted to 4 stream data overlapped by 75% through the DMM 110 and reconstructed to an exact length suitable for the length of the set window function at the same time, The input signal is multiplied by the window function according to the length of the window function and input to the next stage. For example, when 1024-point STFT operation is to be performed, reconstructed 4-channel stream data is input to R4BM1 121 by MUX1 141 to perform 1024-point STFT operation. When the 256-point STFT operation is to be performed, the input stream data reconstructed for the 256-point STFT through the DMM 110 is input to the R4BM2 122 by the MUX2 142 to perform the 256-point STFT operation. When the 64-point STFT operation is to be performed, input stream data reconstructed for 64-point STFT through the DMM 110 is input to the R4BM3 123 by the MUX3 143 to perform the 64-point STFT operation. When the 16-point STFT operation is to be performed, the input stream data reconstructed for the 16-point STFT through the DMM 110 is input to the R4BM4 124 by the MUX4 144 to perform the 16-point STFT operation. When 4-point STFT operation is to be performed, input stream data reconstructed for 4-point STFT is inputted to R4BM5 (125) by MUX4 (145) through DMM 110, and 4-point STFT operation is performed. .

본 실시예에 따른 STFT 프로세서의 구조는 radix-4 기반의 4채널 MDC(Multi-path Delay Commutator) 구조를 적용함으로써 복소수 승산기 수를 줄여 하드웨어 비용을 줄일 수 있고, 구현도 간단해진다. 또한, 가변 윈도우 함수 길이에 따른 STFT 프로세서는 각 포인트 연산에 수행되는 연산과정의 수식을 통해 공통으로 사용되는 연산 블록을 공유하게 함으로써 하드웨어 복잡도를 줄일 수 있는 하드웨어 구조를 제안하였다. 또한, 다수 개의 하드웨어 자원을 사용하는 대신 다수 개의 입력 스트림 데이터를 이용한 연산을 통해 하드웨어 효율성을 높였으며, DMM(110)에 사용되는 지연 소자의 수를 기존 MDC 구조의 DMM(110)에 사용되는 지연 소자의 수보다 2304개 감소시킴으로써 하드웨어의 면적을 감소시켰다.The structure of the STFT processor according to the present embodiment can reduce the hardware cost by reducing the number of complex multipliers by applying a radix-4 based 4-channel multi-path delay commutator (MDC) structure, and the implementation is simplified. In addition, the STFT processor according to the variable window function length proposes a hardware structure capable of reducing hardware complexity by sharing a commonly used operation block through an equation of an operation process performed for each point operation. In addition, the hardware efficiency is improved through operation using a plurality of input stream data instead of using a plurality of hardware resources, and the number of delay elements used in the DMM 110 is reduced to the delay used in the DMM 110 of the existing MDC structure. By reducing the number of elements by 2304, the area of the hardware was reduced.

이러한 DMM(110)은, 제1 채널 스트림 데이터(Channel1 or Output1), 제2 채널 스트림 데이터(Channel2 or Output2), 제3 채널 스트림 데이터(Channel3 or Output3) 및 제4 채널 스트림 데이터(Channel4 or Output4)를 상호 병렬 패턴으로 정렬한 상태에서, 4, 16, 64, 256 및 1024 포인트의 윈도우 길이에 따른 윈도우 함수 중 어느 하나의 윈도우 함수와 곱셈 연산하여 설정된 윈도우 함수의 길이에 맞게 재구성된 4채널의 스트림 데이터(Output 1, 2, 3, 4)를 생성하여 출력할 수 있다.The DMM 110 includes a first channel stream data (Channel1 or Output1), a second channel stream data (Channel2 or Output2), a third channel stream data (Channel3 or Output3), and a fourth channel stream data (Channel4 or Output4) A stream of 4 channels reconstructed according to the length of the window function set by multiplying with any one of the window functions according to the window length of 4, 16, 64, 256, and 1024 points in a state in which . Data (Output 1, 2, 3, 4) can be generated and output.

좀 더 구체적으로, DMM(110)은 1채널의 스트림 데이터를 지연 소자를 이용해 일정한 데이터 정렬 패턴으로 4개의 병렬로 구성하여 윈도우 함수를 곱한 후 다음 단으로 밀어준다. 기존 MDC 방식의 FFT 프로세서 하드웨어 구조는 FFT의 포인트 수와 데이터 경로가 증가할수록 지연소자로 인한 하드웨어 면적이 증가하는 문제가 있다. 기존 구조에서는 R4BM에 맞게 데이터를 재구성해주는 DMM1 부분과 처음의 입력 구조에 맞게 재구성해 출력해주는 DRM 부분의 지연소자의 면적이 가장 크다. 기존 radix-4 MDC 구조의 1024-포인트 FFT의 경우 DMM1에 4채널의 입력을 받아 3072개의 지연 소자를 이용하여 다음 R4BM1에 필요한 패턴으로 재구성시켜주지만, 본 실시예에 따른 DMM(110)의 구조의 경우 1채널의 입력을 받아 768개의 지연 소자를 이용하여 다음 R4BM1(121)에 필요한 패턴으로 재구성시켜 하드웨어 면적을 감소시킬 수 있다. 또한, 본 실시예에 따른 DMM(110)은 4/16/64/256/1024-point의 가변 길이를 지원해야 하므로 MUX(140)를 이용해 4/16/64/256/1024-point에 맞게 데이터 정렬 패턴을 결정할 수 있으며, DMM(110) 중 DMM(110)의 하드웨어 구조는 도 5에 도시된 바와 같다.More specifically, the DMM 110 configures four streams of one channel data in parallel in a constant data alignment pattern using a delay element, multiplies the window function, and then pushes it to the next stage. The existing MDC-type FFT processor hardware structure has a problem in that the hardware area due to the delay element increases as the number of FFT points and data paths increases. In the existing structure, the area of the delay element of the DMM1 part that reconstructs data according to the R4BM and the DRM part that reconstructs and outputs the data according to the initial input structure has the largest area. In the case of 1024-point FFT of the existing radix-4 MDC structure, it receives 4 channels of input from DMM1 and reconstructs it into a pattern required for the next R4BM1 using 3072 delay elements, but the structure of the DMM 110 according to this embodiment In this case, it is possible to reduce the hardware area by receiving an input of one channel and reconfiguring it into a pattern required for the next R4BM1 (121) using 768 delay elements. In addition, since the DMM 110 according to the present embodiment must support a variable length of 4/16/64/256/1024-point, the data according to 4/16/64/256/1024-point using the MUX 140 is used. The alignment pattern may be determined, and the hardware structure of the DMM 110 among the DMM 110 is as shown in FIG. 5 .

상기 R4BM(Radix-4 Butterfly Module)(120)은, DMM(110)을 통하여 출력되는 스트림 데이터를 미리 설정된 종류의 윈도우 함수에 따른 STFT(Short Time Fourier Transform) 연산을 수행하여 STFT 연산된 4채널 스트림 데이터를 출력할 수 있다.The Radix-4 Butterfly Module (R4BM) 120 performs STFT (Short Time Fourier Transform) operation on the stream data output through the DMM 110 according to a preset type of window function to perform the STFT operation of the 4-channel stream data can be output.

좀 더 구체적으로 R4BM(120)은, 4채널(Radix-4) MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 이용하여 4, 16, 64, 256 및 1024 포인트의 윈도우 길이를 각각 지원하는 FFT 연산을 수행할 수 있다.More specifically, the R4BM 120 uses a 4-channel (Radix-4) MDC (Multi-path Delay Commutator) type FFT processor to support window lengths of 4, 16, 64, 256 and 1024 points, respectively. operation can be performed.

윈도우 함수는 스펙트럼 손실을 방지하는데 중요한 역할을 하므로, 상황에 맞는 윈도우 함수를 선택할 수 있어야 한다. 본 실시예에 따른 FFT 기반의 STFT 프로세서는 이러한 요구 조건을 충족시킨다. N-포인트 STFT 연산은 하기의 수식 1에 따라 정의되고,The window function plays an important role in preventing spectral loss, so it is important to be able to choose a window function that suits the situation. The FFT-based STFT processor according to the present embodiment satisfies these requirements. The N-point STFT operation is defined according to Equation 1 below,

[수식 1][Formula 1]

Figure 112019132211116-pat00015
Figure 112019132211116-pat00015

수식 1에서 n은 비정상적인 신호의 시작점으로, n=lN로 나타내고, l은 ∞≤l≤∞의 범위를 갖고, k는 주파수 인덱스고, m은 이산 변수이고, N은 윈도우 함수의 길이를 나타내고, 상기

Figure 112021070479262-pat00057
Figure 112021070479262-pat00058
을 나타내는 것으로, 복소 평면에서 km값이 증가함에 따라 N단계에 걸쳐 시계방향으로 회전할 때의 트위터 팩터(twiddle factor)이다. 수식 1에서 x[n+m]의 신호가 윈도우 함수인 w[m]과 곱셈 연산되어 x(n)[m]의 신호로 됨으로써, STFT 연산은 x(n)[m]의 신호에 대한 FFT 연산을 수행할 수 있다. 이와 같이 적절한 윈도우 함수 w[m]을 통해 신호 x[n]을 이동시키고 윈도우 함수 내의 샘플(포인트)들을 FFT 연산을 수행함으로써 시간에 따른 주파수를 측정할 수 있다.In Equation 1, n is the starting point of the abnormal signal, expressed as n=lN, l has a range of ∞≤l≤∞, k is a frequency index, m is a discrete variable, N represents the length of the window function, remind
Figure 112021070479262-pat00057
silver
Figure 112021070479262-pat00058
is a tweeter factor when rotating clockwise over N steps as the value of km increases in the complex plane. Whereby in the formula 1 into a signal of x [n + m] signal is calculated in w [m] window functions and the multiplication of x (n) [m], STFT operation FFT on the signals x (n) [m] operation can be performed. In this way, the frequency according to time can be measured by moving the signal x[n] through an appropriate window function w[m] and performing an FFT operation on the samples (points) in the window function.

STFT 프로세서에 사용되는 FFT 알고리즘에는 radix-2와 radix-4 알고리즘이 보편적으로 사용된다. 파이프라인 구조일 경우, radix-4는 radix-2에 비해 수율 면에서 이득을 얻을 수 있지만, 하드웨어 측면에서는 더 복잡한 구조를 가진다. 즉, radix-k에서 k가 커질수록, 복소수 승산이 적어지고 하드웨어 구조는 더 복잡해진다. For FFT algorithms used in STFT processors, radix-2 and radix-4 algorithms are commonly used. In the case of a pipeline structure, radix-4 can obtain a benefit in terms of yield compared to radix-2, but has a more complex structure in terms of hardware. That is, the larger k in radix-k, the less complex multiplication and the more complicated the hardware structure.

STFT 프로세서를 설계하기 위해서 고려할 수 있는 FFT 하드웨어 구조는 크게 단일 버터플라이 구조를 이용하는 방법, 파이프라인 구조를 이용하는 방법, 병렬 구조를 이용하는 방법 등이 있다. 수율의 측면에서 병렬 구조가 가장 큰 이점을 갖지만, 하드웨어 복잡도가 너무 커지는 단점이 있으며, 단일 버터플라이 연산자 구조는 가장 작은 하드웨어 복잡도를 가지나 수율이 낮은 단점이 있다. 다양한 시스템에 사용되는 STFT 프로세서의 경우 수율이 커야 하는 특징과 더불어 복잡도가 낮아야 한다. FFT hardware structures that can be considered for designing an STFT processor include a method using a single butterfly structure, a method using a pipeline structure, a method using a parallel structure, and the like. Although the parallel structure has the greatest advantage in terms of yield, it has the disadvantage that the hardware complexity becomes too large, and the single butterfly operator structure has the smallest hardware complexity but has a low yield. STFT processors used in a variety of systems require low complexity along with high yield characteristics.

따라서, 수율과 복잡도의 교환 관계 (trade-off)를 가장 잘 만족시키는 파이프라인 방식이 STFT 프로세서에 사용되는 FFT 프로세서 구현 방법으로 적합하다. Therefore, a pipeline method that best satisfies the trade-off between yield and complexity is suitable as a method for implementing the FFT processor used in the STFT processor.

STFT 프로세서에 사용되는 FFT 프로세서의 구현을 위한 파이프라인 방식은 크게 SDF(single-path delay feedback), MDC 방식의 FFT 프로세서로 구분된다. SDF 방식의 FFT 프로세서는 단일 경로를 통해 데이터를 전달하며, 변경된 버터플라이 연산자를 통해 데이터의 정렬을 수행한다. 경로당 하나의 복소 승산기를 요구하므로, 복잡도는 작아지나 단일 경로라는 특징으로 인해 수율이 낮고, 버터플라이 연산자의 구조가 복잡하므로 컨트롤이 어려운 단점을 갖는다. MDC 방식의 FFT 프로세서는 다중 경로를 통해 데이터를 전달하며, 지연 교환기로 signal flow graph (SFG)에 해당하는 데이터의 정렬을 수행한다. 이러한 특징으로 인해 큰 수율을 가지며 컨트롤이 쉬운 장점이 있지만, 경로당 하나의 복소 승산기를 요구하므로 복잡도가 증가하는 단점이 있다.A pipeline method for implementing the FFT processor used in the STFT processor is largely divided into a single-path delay feedback (SDF) and an MDC-type FFT processor. The SDF-type FFT processor transfers data through a single path and sorts the data through the modified butterfly operator. Since one complex multiplier is required per path, the complexity is reduced, but the yield is low due to the feature of a single path, and the structure of the butterfly operator is complicated, so it is difficult to control. The MDC-type FFT processor delivers data through multiple paths, and arranges data corresponding to the signal flow graph (SFG) with a delay switch. Due to these characteristics, it has an advantage of having a large yield and easy control, but it has a disadvantage of increasing complexity because it requires one complex multiplier per path.

이에 본 실시예에서는 4채널 STFT 프로세서를 구현하기 때문에 SDF 방식의 FFT 프로세서를 이용하면 경로 수에 따라 4개의 FFT 모듈이 필요하며, 그에 따른 복소수 승산 수가 증가되어 하드웨어 복잡도와 면적이 증가한다. Accordingly, in this embodiment, since a 4-channel STFT processor is implemented, when an SDF-type FFT processor is used, four FFT modules are required according to the number of paths, and the number of complex multiplications is increased accordingly, thereby increasing hardware complexity and area.

그러나, 4채널 STFT 프로세서의 경우 radix-4 MDC 방식의 FFT 프로세서는 단일 프로세서로 설계할 수 있어 하드웨어 복잡도와 면적을 크게 증가시키지 않고도 4개의 데이터 경로를 처리할 수 있으며, 수율을 높일 수 있다. 따라서, 4채널 MDC 방식의 FFT 프로세서가 STFT 프로세서 구현에 효율적이다.However, in the case of a 4-channel STFT processor, the radix-4 MDC FFT processor can be designed as a single processor, so it can process four data paths without significantly increasing hardware complexity and area, and can increase the yield. Therefore, the FFT processor of the 4-channel MDC method is effective for implementing the STFT processor.

4채널 STFT 프로세서를 단일 프로세서로 설계하기 위해서 본 실시예에서는 상술한 바와 같이 radix-4 알고리즘을 사용한다. Radix-4 알고리즘을 이용하여 가변되는 윈도우 함수의 길이를 지원하는 FFT 연산을 수행할 수 있고, 이때 발생하는 복소수 승산을 줄일 수 있다. 수식 1의 m과 k를 인덱스 분해법을 이용하여 하기의 수식 2와 같이 정의할 수 있다.In order to design a 4-channel STFT processor as a single processor, the radix-4 algorithm is used in this embodiment as described above. The FFT operation supporting the variable length of the window function can be performed using the Radix-4 algorithm, and complex multiplication that occurs at this time can be reduced. m and k in Equation 1 can be defined as in Equation 2 below using the index decomposition method.

[수식 2][Formula 2]

Figure 112019132211116-pat00016
Figure 112019132211116-pat00016

1024 포인트의 윈도우 길이를 갖는 FFT 연산은, 수식 2를 수식 1에 대입하여 하기의 수식 3와 같이 정의되고,The FFT operation having a window length of 1024 points is defined as in Equation 3 below by substituting Equation 2 into Equation 1,

[수식 3][Equation 3]

Figure 112019132211116-pat00017
Figure 112019132211116-pat00017

수식 3에서 변수 A는 A=256m1+64m2+16m3+4m4+m5의 값을 갖고, 변수 B는 B=k1+4k2+16k3+64k4+256k5의 값을 가질 수 있다.In Equation 3, variable A has a value of A=256m 1 +64m 2 +16m 3 +4m 4 +m 5 , and variable B has a value of B=k 1 +4k 2 +16k 3 +64k 4 +256k 5 . can

또한, 256 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 4에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 256 points may be defined according to Equation 4 below.

[수식 4][Equation 4]

Figure 112019132211116-pat00018
Figure 112019132211116-pat00018

또한, 64 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 5에 따라 정의될 수 있다.Also, an FFT operation having a window length of 64 points may be defined according to Equation 5 below.

[수식 5][Equation 5]

Figure 112019132211116-pat00019
Figure 112019132211116-pat00019

또한, 16 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 6에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 16 points may be defined according to Equation 6 below.

[수식 6][Equation 6]

Figure 112019132211116-pat00020
Figure 112019132211116-pat00020

또한, 4 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 7에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 4 points may be defined according to Equation 7 below.

[수식 7][Equation 7]

Figure 112019132211116-pat00021
Figure 112019132211116-pat00021

이와 같이, 수식 3을 통해 상기 1024 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 4에 radix-4 butterfly 연산이 추가되어 연산되고, 수식 4를 통해 256 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 5에 radix-4 butterfly 연산이 추가되어 연산되고, 수식 5를 통해 64 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 6에 radix-4 butterfly 연산이 추가되어 연산되며, 수식 6을 통해 16 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 7에 radix-4 butterfly 연산이 추가되어 연산되며, 이는 하나의 FFT 프로세서를 이용하여 다양한 윈도우 함수 길이(또는 크기)의 FFT 연산을 지원(또는 수행)할 수 있음을 의미한다.As described above, through Equation 3, the FFT operation having a window length of 1024 points is calculated by adding a radix-4 butterfly operation to Equation 4, and the FFT operation having a window length of 256 points through Equation 4 is radix in Equation 5 A -4 butterfly operation is added and calculated, and an FFT operation with a window length of 64 points through Equation 5 is calculated by adding a radix-4 butterfly operation to Equation 6, and an FFT operation with a window length of 16 points through Equation 6 The operation is calculated by adding a radix-4 butterfly operation to Equation 7, which means that FFT operations of various window function lengths (or sizes) can be supported (or performed) using one FFT processor.

본 실시예에 따른 R4BM(120)의 세부 구조는 도 6에 도시된 바와 같으며, 1개의 radix-4 버터플라이 연산자, 3개의 승산기, round & clip으로 구성되어 있다. DMM(110)의 4채널의 출력이 4/16/64/256/1024-포인트(윈도우 함수 길이) 설정에 맞게 R4BM(120) 4채널의 입력으로 들어오며, 들어온 4채널의 스트림 데이터는 1개의 radix-4 버터플라이 연산자를 수행한 다음 3개의 승산기를 통과하고 round & clip을 거쳐 출력된다.The detailed structure of the R4BM 120 according to the present embodiment is as shown in FIG. 6, and consists of one radix-4 butterfly operator, three multipliers, and round & clip. The output of the 4 channels of the DMM 110 is input to the 4 channels of the R4BM 120 according to the 4/16/64/256/1024-point (window function length) setting, and the stream data of the 4 channels is one After performing the radix-4 butterfly operator, it passes through three multipliers and is output through round & clip.

상기 DRM(Data Reordering Module)(130)은, R4BM5(125)로부터 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력할 수 있다.The DRM (Data Reordering Module) 130 may receive the STFT-calculated stream data of 4 channels from the R4BM5 125 and reconstruct and output the stream data of one channel according to the input structure.

이러한 DRM(130)은 FFT 연산이 수행된 4채널의 스트림 데이터를 처음의 입력 구조에 맞게 재구성해 출력할 수 있다. 기존 MDC 방식의 FFT 프로세서 하드웨어 구조는 면적을 많이 차지하는 문제점이 있음으로 도 7에 도시된 바와 같이 pre-commutator, post-commutator와 4개의 dual port RAM을 기존 DMM의 지연 소자와 commutator를 대신해 하드웨어 면적을 감소시키는 구조로 구현된다. Pre-commutator는 4채널의 입력 데이터를 dual-port RAM에 맞게 재구성해주는 역할을 한다. 이때, 4/16/64/256/1024-포인트의 가변 길이를 지원해야 하므로 MUX(140)를 이용해 각각 4/16/64/256/1024-포인트 FFT에 맞게 데이터 정렬 패턴을 결정한다. Dual port RAM의 출력은 post-commutator 구조에 맞게 재구성해주며, post-commutator는 pre-commutator와 마찬가지로 MUX(140)를 이용해 MDC 구조에 맞게 재구성한다.The DRM 130 may reconstruct and output the stream data of 4 channels on which the FFT operation is performed according to the initial input structure. The existing MDC-type FFT processor hardware structure has a problem in that it takes up a lot of area, so as shown in FIG. 7, a pre-commutator, a post-commutator, and four dual port RAMs are used instead of the delay element and commutator of the existing DMM. It is implemented in a reduced structure. Pre-commutator plays the role of reconfiguring the input data of 4 channels to fit the dual-port RAM. At this time, since a variable length of 4/16/64/256/1024-points must be supported, a data alignment pattern is determined according to each 4/16/64/256/1024-point FFT using the MUX 140 . The output of the dual port RAM is reconfigured according to the post-commutator structure, and the post-commutator is reconfigured according to the MDC structure using the MUX 140 like the pre-commutator.

상기 MUX(Multiplexer)(140)은, DMM(110)를 통해 출력되는 4채널의 스트림 데이터를 입력 받고, 윈도우 길이에 따른 STFT 연산이 수행되도록 4/16/64/256/1024-포인트를 갖는 윈도우 함수의 길이 설정에 따라 R4BM1, 2, 3, 4, 5(121, 122, 123, 124, 125) 중 어느 하나로 출력할 수 있다. 예를 들어, 1024-포인트를 갖는 윈도우 함수에 대한 연산이 수행되어야 할 경우, 4채널 스트림 데이터를 R4BM1으로 입력시키고, 이후 DMM2(112), R4BM2(122), DMM3(113), R4BM3(123), DMM4(114), R4BM4(124), DMM5(115), R4BM5(125) 순서로 FFT 연산과 데이터 정렬 처리를 거쳐 DRM(130)으로 입력시킬 수 있다.The MUX (Multiplexer) 140 receives the stream data of 4 channels output through the DMM 110, and a window having 4/16/64/256/1024-points so that an STFT operation is performed according to the window length. Depending on the length setting of the function, one of R4BM1, 2, 3, 4, 5 (121, 122, 123, 124, 125) can be output. For example, when an operation for a window function having 1024-points is to be performed, 4-channel stream data is input to R4BM1, and then DMM2(112), R4BM2(122), DMM3(113), R4BM3(123) , DMM4 (114), R4BM4 (124), DMM5 (115), R4BM5 (125) can be input to the DRM 130 through the FFT operation and data alignment processing in the order.

한편, 본 실시예에 따른 단시간 푸리에 변환 장치(100)는 DRM(110)을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하고, 제1 출력 채널 스트림 데이터 및 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하고, 제1 출력 채널 스트림 데이터, 제4 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하며, 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하여, 0%, 25%, 50% 및 75%의 가변 중첩 크기의 4채널 스트림 데이터에 대한 FFT를 제공할 수 있다. Meanwhile, in the short-time Fourier transform apparatus 100 according to the present embodiment, the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM 110 . Among them, if the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data are selected in the order, an overlapping FFT result of 75% is provided, and the first output channel stream data is selected. and a third output channel stream data order provides an overlapping FFT result of 50%, and a first output channel stream data, a fourth output channel stream data, a third output channel stream data, and a second output channel stream data in the order Select to give 25% superimposed FFT result, and select only in first output channel stream data order to give 0% superimposed FFT result, variable overlap of 0%, 25%, 50% and 75% It is possible to provide an FFT for the size of 4-channel stream data.

상술한 바와 같이, 1채널의 N개 스트림 데이터와 2채널의 N개 스트림 데이터, 2채널의 N개 스트림 데이터와 3채널의 N개 스트림 데이터, 3채널의 N개 스트림 데이터와 4채널의 N개 스트림 데이터, 그리고 4채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 1채널의 N개 스트림 데이터는 75% 중첩된 FFT 연산의 출력 결과를 나타내며, 1채널의 N개 스트림 데이터와 3채널의 N개 스트림 데이터 그리고 3채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 1채널의 N개 스트림 데이터는 50% 중첩된 FFT 연산 결과를 나타낸다. 그리고 1채널의 N개 스트림 데이터와 4채널의 N개 스트림 데이터, 4채널의 N개 스트림 데이터의 다음 FFT 연산 결과의 3채널의 N개 스트림 데이터, 3채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 2채널의 N개 스트림 데이터, 2채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 1채널의 N개 스트림 데이터는 25% 중첩된 FFT 연산 결과를 나타내며, 채널 1번만 보게 되면 0% 중첩된 FFT 연산 결과를 나타낸다. As described above, N stream data of 1 channel and N stream data of 2 channels, N stream data of 2 channels and N stream data of 3 channels, N stream data of 3 channels and N streams of 4 channels Stream data, N stream data of 4 channels and N stream data of 1 channel of the next FFT operation result represent the output result of FFT operation overlapped by 75%, N stream data of 1 channel and N stream data of 3 channels Stream data and N stream data of 3 channels and N stream data of 1 channel of the next FFT operation result represent 50% overlapping FFT operation results. And N stream data of 1 channel and N stream data of 4 channels, N stream data of 3 channels of the next FFT operation result of N stream data of 4 channels, N stream data of 3 channels and the next FFT operation result N stream data of 2 channels, N stream data of 2 channels, and N stream data of 1 channel of the following FFT operation result indicate 25% overlapping FFT operation results. Indicates the operation result.

따라서, FFT 프로세서의 출력 채널을 1채널 2채널 3채널 4채널 순서로 선택을 하면 75% 중첩된 FFT 결과를 얻을 수 있으며, 1채널 3채널 순서로 선택을 하면 50% 중첩된 FFT 결과를 얻을 수 있다. 그리고 1채널 4채널 3채널 2채널 순서로 선택을 하게 되면 25% 중첩된 FFT 결과를 얻을 수 있으며, 1채널만 선택을 하게 되면 0% 중첩된 FFT 결과를 얻을 수 있다.Therefore, if you select the output channels of the FFT processor in the order of 1, 2, 3, 4, channels, you can get a 75% overlapping FFT result. have. And if you select 1 channel, 4 channels, 3 channels, 2 channels in order, you can get 25% overlapping FFT results, and if you select only 1 channel, you can get 0% overlapping FFT results.

도 8은 본 발명의 실시예에 따른 단시간 푸리에 변환 처리 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a short-time Fourier transform processing method according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 실시예에 따른 단시간 푸리에 변환 처리 방법(S110)은, DMM(110), R4BM(120), DRM(130) 및 MUX(140)를 포함하는 단시간 푸리에 변환 처리 장치(100)를 이용하여 단시간 푸리에 변환을 처리하는 방법에 관한 것으로, 데이터 매칭 단계(S110), R4BM 선택 단계(S120), STFT 연산 단계(S130), 데이터 재배열 단계(S140) 및 데이터 가변 중첩 크기 선택 단계(S150)를 포함한다.Referring to FIG. 8 , the short-time Fourier transform processing method S110 according to an embodiment of the present invention is a short-time Fourier transform processing apparatus including a DMM 110 , an R4BM 120 , a DRM 130 and a MUX 140 . (100) relates to a method of processing a short-time Fourier transform using a data matching step (S110), an R4BM selection step (S120), an STFT operation step (S130), a data rearrangement step (S140), and a data variable overlap size and a selection step (S150).

상기 데이터 매칭 단계(S110)에서는, DMM(Data Matching Module)(110)을 이용하여, 1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력할 수 있다.In the data matching step (S110), by using the DMM (Data Matching Module) 110, one channel of stream data is received and sequentially delayed at different rates so that the delayed stream data is overlapped at a certain rate and mutually parallel. It is possible to generate sorted 4-channel stream data, multiply the 4-channel stream data with a window function of a type according to the window length, and output 4-channel stream data reconstructed according to the length of each window function.

여기서, DMM(110)은, 가변되는 윈도우 함수의 길이를 지원하여 FFT 연산을 수행할 수 있도록 하기 위해, 5개의 DMM 즉 DMM(110), DMM2(112), DMM3(113), DMM4(114), 및 DMM5(115)로 구성될 수 있다.Here, the DMM 110 supports the length of a variable window function to perform an FFT operation, and thus, five DMMs, namely DMM 110 , DMM2 112 , DMM3 113 , and DMM4 114 . , and DMM5 115 .

특히, DMM(110)은, 도 2에 도시된 바와 같이 1채널의 스트림 데이터(Input)를 입력 받고, 입력된 1채널의 스트림 데이터(Input1) 대비 75% 지연된 제1 채널 스트림 데이터(Output1), 50% 지연된 제2 채널 스트림 데이터(Output2), 25% 지연된 제3 채널 스트림 데이터(Output3), 0% 지연된 제4 채널 스트림 데이터(Output4)를 생성하여 도 3에 도시된 바와 같이, 출력되는 제1 채널 스트림 데이터(Channel1)와 제2 채널 스트림 데이터(Channel2) 간, 제2 채널 스트림 데이터(Channel2)와 제3 채널 스트림 데이터(Channel3) 간, 및 제3 채널 스트림 데이터(Channel3)와 제4 채널 스트림 데이터(Channel4) 간이 각각 75% 중첩(overlap)되도록 할 수 있다.In particular, the DMM 110 receives, as shown in FIG. 2, stream data of one channel (Input), the first channel stream data (Output1) delayed by 75% compared to the input stream data of one channel (Input1), As shown in FIG. 3 , the first outputted first channel stream data (Output2) delayed by 50%, third channel stream data delayed by 25% (Output3), and fourth channel stream data delayed by 0% (Output4) are generated as shown in FIG. 3 . Between the channel stream data (Channel1) and the second channel stream data (Channel2), between the second channel stream data (Channel2) and the third channel stream data (Channel3), and between the third channel stream data (Channel3) and the fourth channel stream The data Channel4 may overlap each other by 75%.

본 실시예에서, 0, 25, 50과 75% 중첩 크기가 가변 되는 STFT 프로세서를 구현하기 위해 4채널 FFT 프로세서의 각 채널에 75% 중첩된 입력을 넣어야 하며, FFT 프로세서의 출력 채널을 부분적으로 선택하여 중첩 크기를 가변할 수 있다. STFT 프로세서에 1개의 채널로 스트림 데이터가 들어옴으로, 1개의 스트림 데이터를 받아 75% 중첩된 4개의 스트림 데이터를 만들어줄 수 있으며, 윈도우 길이가 N-point 일 때 DMM의 입력과 출력의 스트림 데이터의 흐름은 도 1에 도시된 바와 같다. 이때, DMM의 1채널 출력 스트림 데이터는 입력 스트림 데이터가 3N/4 cycle 지연되어 출력되고 2채널 출력 스트림 데이터는 입력 스트림 데이터가 N/2 cycle 지연되어 출력되며, 3채널 출력 스트림 데이터는 입력 스트림 데이터가 N/4 cycle 지연되어 출력되며, 마지막으로 4채널 출력 스트림 데이터는 입력 스트림 데이터가 지연되지 않은 채 출력된다. FFT 연산은 1채널의 첫 데이터가 3N/4 cycle 지연된 후 시작되며, FFT 연산이 시작되는 지점의 ‘1채널과 2채널’, ‘2채널과 3채널’ 그리고 ‘3채널과 4채널’의 데이터는 각각 75% 중첩되어 있다. 즉, FFT 프로세서의 각 채널에 75% 중첩된 스트림 데이터가 입력으로 들어간다. FFT 프로세서의 각 채널에 75% 중첩되어 입력으로 들어간 스트림 데이터는 4채널 FFT 프로세서의 연산을 거쳐 출력 결과도 각 채널에서 75% 중첩된 결과가 나오며, 윈도우 함수의 길이가 N-포인트일 때 출력 스트림 데이터의 흐름은 도 4에 도시된 바와 같다.In this embodiment, in order to implement an STFT processor with variable 0, 25, 50 and 75% overlap size, it is necessary to put an input with 75% overlap to each channel of the 4-channel FFT processor, and partially select the output channel of the FFT processor. Thus, the nesting size can be varied. As stream data enters the STFT processor through one channel, it can receive one stream data and create four stream data overlapping 75%, and when the window length is N-point, The flow is as shown in FIG. 1 . At this time, the 1-channel output stream data of the DMM is output with the input stream data delayed by 3N/4 cycles, the 2-channel output stream data is output with the input stream data delayed by N/2 cycles, and the 3-channel output stream data is output with the input stream data is output with N/4 cycle delay, and finally, 4 channel output stream data is output without input stream data delayed. FFT operation starts after the first data of 1 channel is delayed by 3N/4 cycle are each overlapped by 75%. That is, stream data superimposed 75% on each channel of the FFT processor enters the input. Stream data entered as input with 75% overlap in each channel of the FFT processor goes through the operation of the 4-channel FFT processor, and the output result is also overlapped by 75% in each channel. When the window function length is N-points, the output stream The data flow is as shown in FIG. 4 .

이러한 DMM(110)의 동작원리는 처음 1채널의 스트림 데이터가 DMM(110)을 통해 75% 중첩된 4개의 스트림 데이터로 변환과 동시에 설정한 윈도우 함수의 길이에 맞는 정확한 길이로 재구성되며, 설정한 윈도우 함수의 길이에 맞게 입력 신호와 윈도우 함수를 곱해 다음 단에 입력된다. 예를 들어, 1024-포인트 STFT 연산이 수행되어야 할 경우, 재구성된 4채널의 스트림 데이터가 MUX1(141)에 의해 R4BM1(121)에 입력되어 1024-포인트 STFT 연산이 이루어진다. 256-포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 256-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX2(142)에 의해 R4BM2(122)에 입력되어 256-포인트 STFT 연산이 이루어진다. 64-포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 64-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX3(143)에 의해 R4BM3(123)에 입력되어 64-포인트 STFT 연산이 이루어진다. 16- 포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 16-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX4(144)에 의해 R4BM4(124)에 입력되어 16-포인트 STFT 연산이 이루어진다. 4-포인트 STFT 연산이 수행되어야 할 경우는 DMM(110)을 통해 4-포인트 STFT에 맞게 재구성된 입력 스트림 데이터가 MUX4(145)에 의해 R4BM5(125))에 입력되어 4-포인트 STFT 연산이 이루어진다.The operating principle of this DMM 110 is that the stream data of the first 1 channel is converted to 4 stream data overlapped by 75% through the DMM 110 and reconstructed to an exact length suitable for the length of the set window function at the same time, The input signal is multiplied by the window function according to the length of the window function and input to the next stage. For example, when 1024-point STFT operation is to be performed, reconstructed 4-channel stream data is input to R4BM1 121 by MUX1 141 to perform 1024-point STFT operation. When the 256-point STFT operation is to be performed, the input stream data reconstructed for the 256-point STFT through the DMM 110 is input to the R4BM2 122 by the MUX2 142 to perform the 256-point STFT operation. When the 64-point STFT operation is to be performed, input stream data reconstructed for 64-point STFT through the DMM 110 is input to the R4BM3 123 by the MUX3 143 to perform the 64-point STFT operation. When the 16-point STFT operation is to be performed, the input stream data reconstructed for the 16-point STFT through the DMM 110 is input to the R4BM4 124 by the MUX4 144 to perform the 16-point STFT operation. When 4-point STFT operation is to be performed, input stream data reconstructed for 4-point STFT is inputted to R4BM5 (125) by MUX4 (145) through DMM 110, and 4-point STFT operation is performed. .

본 실시예에 따른 STFT 프로세서의 구조는 radix-4 기반의 4채널 MDC(Multi-path Delay Commutator) 구조를 적용함으로써 복소수 승산기 수를 줄여 하드웨어 비용을 줄일 수 있고, 구현도 간단해진다. 또한, 가변 윈도우 함수 길이에 따른 STFT 프로세서는 각 포인트 연산에 수행되는 연산과정의 수식을 통해 공통으로 사용되는 연산 블록을 공유하게 함으로써 하드웨어 복잡도를 줄일 수 있는 하드웨어 구조를 제안하였다. 또한, 다수 개의 하드웨어 자원을 사용하는 대신 다수 개의 입력 스트림 데이터를 이용한 연산을 통해 하드웨어 효율성을 높였으며, DMM(110)에 사용되는 지연 소자의 수를 기존 MDC 구조의 DMM(110)에 사용되는 지연 소자의 수보다 2304개 감소시킴으로써 하드웨어의 면적을 감소시켰다.The structure of the STFT processor according to the present embodiment can reduce the hardware cost by reducing the number of complex multipliers by applying a radix-4 based 4-channel multi-path delay commutator (MDC) structure, and the implementation is simplified. In addition, the STFT processor according to the variable window function length proposes a hardware structure capable of reducing hardware complexity by sharing a commonly used operation block through an equation of an operation process performed for each point operation. In addition, the hardware efficiency is improved through operation using a plurality of input stream data instead of using a plurality of hardware resources, and the number of delay elements used in the DMM 110 is reduced to the delay used in the DMM 110 of the existing MDC structure. By reducing the number of elements by 2304, the area of the hardware was reduced.

이러한 DMM(110)은, 제1 채널 스트림 데이터(Channel1 or Output1), 제2 채널 스트림 데이터(Channel2 or Output2), 제3 채널 스트림 데이터(Channel3 or Output3) 및 제4 채널 스트림 데이터(Channel4 or Output4)를 상호 병렬 패턴으로 정렬한 상태에서, 4, 16, 64, 256 및 1024 포인트의 윈도우 길이에 따른 윈도우 함수 중 어느 하나의 윈도우 함수와 곱셈 연산하여 설정된 윈도우 함수의 길이에 맞게 재구성된 4채널의 스트림 데이터(Output 1, 2, 3, 4)를 생성하여 출력할 수 있다.The DMM 110 includes a first channel stream data (Channel1 or Output1), a second channel stream data (Channel2 or Output2), a third channel stream data (Channel3 or Output3), and a fourth channel stream data (Channel4 or Output4) A stream of 4 channels reconstructed according to the length of the window function set by multiplying with any one of the window functions according to the window length of 4, 16, 64, 256, and 1024 points in a state in which . Data (Output 1, 2, 3, 4) can be generated and output.

좀 더 구체적으로, DMM(110)은 1채널의 스트림 데이터를 지연 소자를 이용해 일정한 데이터 정렬 패턴으로 4개의 병렬로 구성하여 윈도우 함수를 곱한 후 다음 단으로 밀어준다. 기존 MDC 방식의 FFT 프로세서 하드웨어 구조는 FFT의 포인트 수와 데이터 경로가 증가할수록 지연소자로 인한 하드웨어 면적이 증가하는 문제가 있다. 기존 구조에서는 R4BM에 맞게 데이터를 재구성해주는 DMM1 부분과 처음의 입력 구조에 맞게 재구성해 출력해주는 DRM 부분의 지연소자의 면적이 가장 크다. 기존 radix-4 MDC 구조의 1024-포인트 FFT의 경우 DMM1에 4채널의 입력을 받아 3072개의 지연 소자를 이용하여 다음 R4BM1에 필요한 패턴으로 재구성시켜주지만, 본 실시예에 따른 DMM(110)의 구조의 경우 1채널의 입력을 받아 768개의 지연 소자를 이용하여 다음 R4BM(120)에 필요한 패턴으로 재구성시켜 하드웨어 면적을 감소시킬 수 있다. 또한, 본 실시예에 따른 DMM(110)은 4/16/64/256/1024-point의 가변 길이를 지원해야 하므로 MUX(140)를 이용해 4/16/64/256/1024-point에 맞게 데이터 정렬 패턴을 결정할 수 있으며, DMM(120)의 하드웨어 구조는 도 5에 도시된 바와 같다.More specifically, the DMM 110 configures four streams of one channel data in parallel in a constant data alignment pattern using a delay element, multiplies the window function, and then pushes it to the next stage. The existing MDC-type FFT processor hardware structure has a problem in that the hardware area due to the delay element increases as the number of FFT points and data paths increases. In the existing structure, the area of the delay element of the DMM1 part that reconstructs data according to the R4BM and the DRM part that reconstructs and outputs the data according to the initial input structure has the largest area. In the case of 1024-point FFT of the existing radix-4 MDC structure, it receives 4 channels of input from DMM1 and reconstructs it into a pattern required for the next R4BM1 using 3072 delay elements, but the structure of the DMM 110 according to this embodiment In this case, it is possible to reduce the hardware area by receiving an input of one channel and reconstructing it into a pattern required for the next R4BM 120 using 768 delay elements. In addition, since the DMM 110 according to the present embodiment must support a variable length of 4/16/64/256/1024-point, the data according to 4/16/64/256/1024-point using the MUX 140 is used. The alignment pattern may be determined, and the hardware structure of the DMM 120 is as shown in FIG. 5 .

상기 R4BM 선택 단계(S120)에서는, DMM(110)를 통해 출력되는 4채널의 스트림 데이터를 MUX(Multiplexer)(140)를 통해 입력 받고, 윈도우 길이에 따른 STFT 연산이 수행되도록 4/16/64/256/1024-포인트를 갖는 윈도우 함수의 길이 설정에 따라 R4BM1, 2, 3, 4, 5(121, 122, 123, 124, 125) 중 어느 하나로 출력할 수 있다.In the R4BM selection step (S120), 4/16/64/ 4/16/64/ stream data output through the DMM 110 is received through the MUX (Multiplexer) 140, and STFT operation is performed according to the window length. Depending on the length setting of the window function with 256/1024-points, it can be output in any one of R4BM1, 2, 3, 4, 5 (121, 122, 123, 124, 125).

상기 STFT 연산 단계(S130)에서는, DMM(110)을 통해 출력되는 스트림 데이터를 미리 설정된 종류의 윈도우 함수에 따른 STFT(Short Time Fourier Transform) 연산을 R4BM(Radix-4 Butterfly Module)(120)을 이용해 수행함으로써 STFT 연산된 4채널 스트림 데이터를 출력할 수 있다.In the STFT operation step (S130), a Short Time Fourier Transform (STFT) operation according to a window function of a preset type is performed on the stream data output through the DMM 110 using a Radix-4 Butterfly Module (R4BM) 120 . By performing the STFT operation, 4-channel stream data can be output.

좀 더 구체적으로 R4BM 선택 단계(S120)에서는, 4채널(Radix-4) MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 이용하여 4, 16, 64, 256 및 1024 포인트의 윈도우 길이를 각각 지원하는 FFT 연산을 수행할 수 있다.More specifically, in the R4BM selection step (S120), a window length of 4, 16, 64, 256, and 1024 points is supported using a 4-channel (Radix-4) multi-path delay commutator (MDC) type FFT processor, respectively. FFT operation can be performed.

윈도우 함수는 스펙트럼 손실을 방지하는데 중요한 역할을 하므로, 상황에 맞는 윈도우 함수를 선택할 수 있어야 한다. 본 실시예에 따른 FFT 기반의 STFT 프로세서는 이러한 요구 조건을 충족시킨다. N-포인트 STFT 연산은 하기의 수식 1에 따라 정의되고,The window function plays an important role in preventing spectral loss, so it is important to be able to choose a window function that suits the situation. The FFT-based STFT processor according to the present embodiment satisfies these requirements. The N-point STFT operation is defined according to Equation 1 below,

[수식 1][Formula 1]

Figure 112019132211116-pat00022
Figure 112019132211116-pat00022

수식 1에서 n은 비정상적인 신호의 시작점으로, n=lN로 나타내고, l은 ∞≤l≤∞의 범위를 갖고, k는 주파수 인덱스고, m은 이산 변수이고, N은 윈도우 함수의 길이를 나타내고, 상기

Figure 112021070479262-pat00059
Figure 112021070479262-pat00060
을 나타내는 것으로, 복소 평면에서 km값이 증가함에 따라 N단계에 걸쳐 시계방향으로 회전할 때의 트위터 팩터(twiddle factor)이다. 수식 1에서 x[n+m]의 신호가 윈도우 함수인 w[m]과 곱셈 연산되어 x(n)[m]의 신호로 됨으로써, STFT 연산은 x(n)[m]의 신호에 대한 FFT 연산을 수행할 수 있다. 이와 같이 적절한 윈도우 함수 w[m]을 통해 신호 x[n]을 이동시키고 윈도우 함수 내의 샘플(포인트)들을 FFT 연산을 수행함으로써 시간에 따른 주파수를 측정할 수 있다.In Equation 1, n is the starting point of the abnormal signal, expressed as n=lN, l has a range of ∞≤l≤∞, k is a frequency index, m is a discrete variable, N represents the length of the window function, remind
Figure 112021070479262-pat00059
silver
Figure 112021070479262-pat00060
is a tweeter factor when rotating clockwise over N steps as the value of km increases in the complex plane. Whereby in the formula 1 into a signal of x [n + m] signal is calculated in w [m] window functions and the multiplication of x (n) [m], STFT operation FFT on the signals x (n) [m] operation can be performed. In this way, the frequency according to time can be measured by moving the signal x[n] through an appropriate window function w[m] and performing an FFT operation on the samples (points) in the window function.

STFT 프로세서에 사용되는 FFT 알고리즘에는 radix-2와 radix-4 알고리즘이 보편적으로 사용된다. 파이프라인 구조일 경우, radix-4는 radix-2에 비해 수율 면에서 이득을 얻을 수 있지만, 하드웨어 측면에서는 더 복잡한 구조를 가진다. 즉, radix-k에서 k가 커질수록, 복소수 승산이 적어지고 하드웨어 구조는 더 복잡해진다. For FFT algorithms used in STFT processors, radix-2 and radix-4 algorithms are commonly used. In the case of a pipeline structure, radix-4 can obtain a benefit in terms of yield compared to radix-2, but has a more complex structure in terms of hardware. That is, the larger k in radix-k, the less complex multiplication and the more complicated the hardware structure.

STFT 프로세서를 설계하기 위해서 고려할 수 있는 FFT 하드웨어 구조는 크게 단일 버터플라이 구조를 이용하는 방법, 파이프라인 구조를 이용하는 방법, 병렬 구조를 이용하는 방법 등이 있다. 수율의 측면에서 병렬 구조가 가장 큰 이점을 갖지만, 하드웨어 복잡도가 너무 커지는 단점이 있으며, 단일 버터플라이 연산자 구조는 가장 작은 하드웨어 복잡도를 가지나 수율이 낮은 단점이 있다. 다양한 시스템에 사용되는 STFT 프로세서의 경우 수율이 커야 하는 특징과 더불어 복잡도가 낮아야 한다. FFT hardware structures that can be considered for designing an STFT processor include a method using a single butterfly structure, a method using a pipeline structure, a method using a parallel structure, and the like. Although the parallel structure has the greatest advantage in terms of yield, it has the disadvantage that the hardware complexity becomes too large, and the single butterfly operator structure has the smallest hardware complexity but has a low yield. STFT processors used in a variety of systems require low complexity along with high yield characteristics.

따라서, 수율과 복잡도의 교환 관계 (trade-off)를 가장 잘 만족시키는 파이프라인 방식이 STFT 프로세서에 사용되는 FFT 프로세서 구현 방법으로 적합하다. Therefore, a pipeline method that best satisfies the trade-off between yield and complexity is suitable as a method for implementing the FFT processor used in the STFT processor.

STFT 프로세서에 사용되는 FFT 프로세서의 구현을 위한 파이프라인 방식은 크게 SDF(single-path delay feedback), MDC 방식의 FFT 프로세서로 구분된다. SDF 방식의 FFT 프로세서는 단일 경로를 통해 데이터를 전달하며, 변경된 버터플라이 연산자를 통해 데이터의 정렬을 수행한다. 경로당 하나의 복소 승산기를 요구하므로, 복잡도는 작아지나 단일 경로라는 특징으로 인해 수율이 낮고, 버터플라이 연산자의 구조가 복잡하므로 컨트롤이 어려운 단점을 갖는다. MDC 방식의 FFT 프로세서는 다중 경로를 통해 데이터를 전달하며, 지연 교환기로 signal flow graph (SFG)에 해당하는 데이터의 정렬을 수행한다. 이러한 특징으로 인해 큰 수율을 가지며 컨트롤이 쉬운 장점이 있지만, 경로당 하나의 복소 승산기를 요구하므로 복잡도가 증가하는 단점이 있다.A pipeline method for implementing the FFT processor used in the STFT processor is largely divided into a single-path delay feedback (SDF) and an MDC-type FFT processor. The SDF-type FFT processor transfers data through a single path and sorts the data through the modified butterfly operator. Since one complex multiplier is required per path, the complexity is reduced, but the yield is low due to the feature of a single path, and the structure of the butterfly operator is complicated, so it is difficult to control. The MDC-type FFT processor delivers data through multiple paths, and arranges data corresponding to the signal flow graph (SFG) with a delay switch. Due to these characteristics, it has an advantage of having a large yield and easy control, but it has a disadvantage of increasing complexity because it requires one complex multiplier per path.

이에 본 실시예에서는 4채널 STFT 프로세서를 구현하기 때문에 SDF 방식의 FFT 프로세서를 이용하면 경로 수에 따라 4개의 FFT 모듈이 필요하며, 그에 따른 복소수 승산 수가 증가되어 하드웨어 복잡도와 면적이 증가한다. Accordingly, in this embodiment, since a 4-channel STFT processor is implemented, when an SDF-type FFT processor is used, four FFT modules are required according to the number of paths, and the number of complex multiplications is increased accordingly, thereby increasing hardware complexity and area.

그러나, 4채널 STFT 프로세서의 경우 radix-4 MDC 방식의 FFT 프로세서는 단일 프로세서로 설계할 수 있어 하드웨어 복잡도와 면적을 크게 증가시키지 않고도 4개의 데이터 경로를 처리할 수 있으며, 수율을 높일 수 있다. 따라서, 4채널 MDC 방식의 FFT 프로세서가 STFT 프로세서 구현에 효율적이다.However, in the case of a 4-channel STFT processor, the radix-4 MDC FFT processor can be designed as a single processor, so it can process four data paths without significantly increasing hardware complexity and area, and can increase the yield. Therefore, the FFT processor of the 4-channel MDC method is effective for implementing the STFT processor.

4채널 STFT 프로세서를 단일 프로세서로 설계하기 위해서 본 실시예에서는 상술한 바와 같이 radix-4 알고리즘을 사용한다. Radix-4 알고리즘을 이용하여 가변되는 윈도우 함수의 길이를 지원하는 FFT 연산을 수행할 수 있고, 이때 발생하는 복소수 승산을 줄일 수 있다. 수식 1의 m과 k를 인덱스 분해법을 이용하여 하기의 수식 2와 같이 정의할 수 있다.In order to design a 4-channel STFT processor as a single processor, the radix-4 algorithm is used in this embodiment as described above. The FFT operation supporting the variable length of the window function can be performed using the Radix-4 algorithm, and complex multiplication that occurs at this time can be reduced. m and k in Equation 1 can be defined as in Equation 2 below using the index decomposition method.

[수식 2][Formula 2]

Figure 112019132211116-pat00023
Figure 112019132211116-pat00023

1024 포인트의 윈도우 길이를 갖는 FFT 연산은, 수식 2를 수식 1에 대입하여 하기의 수식 3와 같이 정의되고,The FFT operation having a window length of 1024 points is defined as in Equation 3 below by substituting Equation 2 into Equation 1,

[수식 3][Equation 3]

Figure 112019132211116-pat00024
Figure 112019132211116-pat00024

수식 3에서 변수 A는 A=256m1+64m2+16m3+4m4+m5의 값을 갖고, 변수 B는 B=k1+4k2+16k3+64k4+256k5의 값을 가질 수 있다.In Equation 3, variable A has a value of A=256m 1 +64m 2 +16m 3 +4m 4 +m 5 , and variable B has a value of B=k 1 +4k 2 +16k 3 +64k 4 +256k 5 . can

또한, 256 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 4에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 256 points may be defined according to Equation 4 below.

[수식 4][Equation 4]

Figure 112019132211116-pat00025
Figure 112019132211116-pat00025

또한, 64 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 5에 따라 정의될 수 있다.Also, an FFT operation having a window length of 64 points may be defined according to Equation 5 below.

[수식 5][Equation 5]

Figure 112019132211116-pat00026
Figure 112019132211116-pat00026

또한, 16 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 6에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 16 points may be defined according to Equation 6 below.

[수식 6][Equation 6]

Figure 112019132211116-pat00027
Figure 112019132211116-pat00027

또한, 4 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 7에 따라 정의될 수 있다.In addition, an FFT operation having a window length of 4 points may be defined according to Equation 7 below.

[수식 7][Equation 7]

Figure 112019132211116-pat00028
Figure 112019132211116-pat00028

이와 같이, 수식 3을 통해 상기 1024 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 4에 radix-4 butterfly 연산이 추가되어 연산되고, 수식 4를 통해 256 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 5에 radix-4 butterfly 연산이 추가되어 연산되고, 수식 5를 통해 64 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 6에 radix-4 butterfly 연산이 추가되어 연산되며, 수식 6을 통해 16 포인트의 윈도우 길이를 갖는 FFT 연산은 수식 7에 radix-4 butterfly 연산이 추가되어 연산되며, 이는 하나의 FFT 프로세서를 이용하여 다양한 윈도우 함수 길이(또는 크기)의 FFT 연산을 지원(또는 수행)할 수 있음을 의미한다.As described above, through Equation 3, the FFT operation having a window length of 1024 points is calculated by adding a radix-4 butterfly operation to Equation 4, and the FFT operation having a window length of 256 points through Equation 4 is radix in Equation 5 A -4 butterfly operation is added and calculated, and an FFT operation with a window length of 64 points through Equation 5 is calculated by adding a radix-4 butterfly operation to Equation 6, and an FFT operation with a window length of 16 points through Equation 6 The operation is calculated by adding a radix-4 butterfly operation to Equation 7, which means that FFT operations of various window function lengths (or sizes) can be supported (or performed) using one FFT processor.

본 실시예에 따른 R4BM(120)의 세부 구조는 도 6에 도시된 바와 같으며, 1개의 radix-4 버터플라이 연산자, 3개의 승산기, round & clip으로 구성되어 있다. DMM(110)의 4채널의 출력이 4/16/64/256/1024-포인트(윈도우 함수 길이) 설정에 맞게 R4BM(120) 4채널의 입력으로 들어오며, 들어온 4채널의 스트림 데이터는 1개의 radix-4 버터플라이 연산자를 수행한 다음 3개의 승산기를 통과하고 round & clip을 거쳐 출력된다.The detailed structure of the R4BM 120 according to the present embodiment is as shown in FIG. 6, and consists of one radix-4 butterfly operator, three multipliers, and round & clip. The output of the 4 channels of the DMM 110 is input to the 4 channels of the R4BM 120 according to the 4/16/64/256/1024-point (window function length) setting, and the stream data of the 4 channels is one After performing the radix-4 butterfly operator, it passes through three multipliers and is output through round & clip.

상기 데이터 재배열 단계(S140)에서는, DRM(Data Reordering Module)(130)를 이용하여, 다수의 R4BM(120) 중 마지막 단에 배치된 R4BM5(125)로부터 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력할 수 있다.In the data rearrangement step (S140), using the DRM (Data Reordering Module) 130, the STFT-calculated stream data of 4 channels from the R4BM5 (125) disposed at the last stage among the plurality of R4BMs (120) is input. It can be reconstructed and output according to the input structure of the stream data of one channel.

이러한 DRM(130)은 FFT 연산이 수행된 4채널의 스트림 데이터를 처음의 입력 구조에 맞게 재구성해 출력할 수 있다. 기존 MDC 방식의 FFT 프로세서 하드웨어 구조는 면적을 많이 차지하는 문제점이 있음으로 도 7에 도시된 바와 같이 pre-commutator, post-commutator와 4개의 dual port RAM을 기존 DMM의 지연 소자와 commutator를 대신해 하드웨어 면적을 감소시키는 구조로 구현된다. Pre-commutator는 4채널의 입력 데이터를 dual-port RAM에 맞게 재구성해주는 역할을 한다. 이때, 4/16/64/256/1024-포인트의 가변 길이를 지원해야 하므로 MUX(140)를 이용해 각각 4/16/64/256/1024-포인트 FFT에 맞게 데이터 정렬 패턴을 결정한다. Dual port RAM의 출력은 post-commutator 구조에 맞게 재구성해주며, post-commutator는 pre-commutator와 마찬가지로 MUX(140)를 이용해 MDC 구조에 맞게 재구성한다.The DRM 130 may reconstruct and output the stream data of 4 channels on which the FFT operation is performed according to the initial input structure. The existing MDC-type FFT processor hardware structure has a problem in that it takes up a lot of area, so as shown in FIG. 7, a pre-commutator, a post-commutator, and four dual port RAMs are used instead of the delay element and commutator of the existing DMM. It is implemented in a reduced structure. Pre-commutator plays the role of reconfiguring the input data of 4 channels to fit the dual-port RAM. At this time, since a variable length of 4/16/64/256/1024-points must be supported, a data alignment pattern is determined according to each 4/16/64/256/1024-point FFT using the MUX 140 . The output of the dual port RAM is reconfigured according to the post-commutator structure, and the post-commutator is reconfigured according to the MDC structure using the MUX 140 like the pre-commutator.

상기 MUX(Multiplexer)(140)은, DMM(110)를 통해 출력되는 4채널의 스트림 데이터를 입력 받고, 윈도우 길이에 따른 STFT 연산이 수행되도록 4/16/64/256/1024-포인트를 갖는 윈도우 함수의 길이 설정에 따라 R4BM1, 2, 3, 4, 5(121, 122, 123, 124, 125) 중 어느 하나로 출력할 수 있다.The MUX (Multiplexer) 140 receives the stream data of 4 channels output through the DMM 110, and a window having 4/16/64/256/1024-points so that an STFT operation is performed according to the window length. Depending on the length setting of the function, one of R4BM1, 2, 3, 4, 5 (121, 122, 123, 124, 125) can be output.

상기 데이터 가변 중첩 크기 선택 단계(S150)에서는, DRM(110)을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하고, 제1 출력 채널 스트림 데이터 및 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하고, 제1 출력 채널 스트림 데이터, 제4 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하며, 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하여, 0%, 25%, 50% 및 75%의 가변 중첩 크기의 4채널 스트림 데이터에 대한 FFT를 제공할 수 있다. In the data variable overlap size selection step (S150), among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM 110, Selecting 1st output channel stream data, 2nd output channel stream data, 3rd output channel stream data, and 4th output channel stream data in this order provides an overlapping FFT result of 75%, first output channel stream data and third output channel stream data Selecting in the order of output channel stream data provides a 50% superimposed FFT result, selecting in the order of first output channel stream data, fourth output channel stream data, third output channel stream data, and second output channel stream data It provides 25% overlapped FFT results, and selection of only the first output channel stream data in order gives 0% overlapped FFT results, 4 with variable overlap sizes of 0%, 25%, 50% and 75%. An FFT for channel stream data may be provided.

상술한 바와 같이, 1채널의 N개 스트림 데이터와 2채널의 N개 스트림 데이터, 2채널의 N개 스트림 데이터와 3채널의 N개 스트림 데이터, 3채널의 N개 스트림 데이터와 4채널의 N개 스트림 데이터, 그리고 4채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 1채널의 N개 스트림 데이터는 75% 중첩된 FFT 연산의 출력 결과를 나타내며, 1채널의 N개 스트림 데이터와 3채널의 N개 스트림 데이터 그리고 3채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 1채널의 N개 스트림 데이터는 50% 중첩된 FFT 연산 결과를 나타낸다. 그리고 1채널의 N개 스트림 데이터와 4채널의 N개 스트림 데이터, 4채널의 N개 스트림 데이터의 다음 FFT 연산 결과의 3채널의 N개 스트림 데이터, 3채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 2채널의 N개 스트림 데이터, 2채널의 N개 스트림 데이터와 다음 FFT 연산 결과의 1채널의 N개 스트림 데이터는 25% 중첩된 FFT 연산 결과를 나타내며, 채널 1번만 보게 되면 0% 중첩된 FFT 연산 결과를 나타낸다. As described above, N stream data of 1 channel and N stream data of 2 channels, N stream data of 2 channels and N stream data of 3 channels, N stream data of 3 channels and N streams of 4 channels Stream data, N stream data of 4 channels and N stream data of 1 channel of the next FFT operation result represent the output result of FFT operation overlapped by 75%, N stream data of 1 channel and N stream data of 3 channels Stream data and N stream data of 3 channels and N stream data of 1 channel of the next FFT operation result represent 50% overlapping FFT operation results. And N stream data of 1 channel and N stream data of 4 channels, N stream data of 3 channels of the next FFT operation result of N stream data of 4 channels, N stream data of 3 channels and the next FFT operation result N stream data of 2 channels, N stream data of 2 channels, and N stream data of 1 channel of the following FFT operation result indicate 25% overlapping FFT operation results. Indicates the operation result.

따라서, FFT 프로세서의 출력 채널을 1채널 2채널 3채널 4채널 순서로 선택을 하면 75% 중첩된 FFT 결과를 얻을 수 있으며, 1채널 3채널 순서로 선택을 하면 50% 중첩된 FFT 결과를 얻을 수 있다. 그리고 1채널 4채널 3채널 2채널 순서로 선택을 하게 되면 25% 중첩된 FFT 결과를 얻을 수 있으며, 1채널만 선택을 하게 되면 0% 중첩된 FFT 결과를 얻을 수 있다.Therefore, if you select the output channels of the FFT processor in the order of 1, 2, 3, 4, channels, you can get a 75% overlapping FFT result. have. And if you select 1 channel, 4 channels, 3 channels, 2 channels in order, you can get 25% overlapping FFT results, and if you select only 1 channel, you can get 0% overlapping FFT results.

하기의 표 1은 윈도우 함수 길이와 중첩 크기가 가변 가능한 4채널 STFT 프로세서 구현을 위해 필요한 conventional FFT와 제안된 radix-4 MDC FFT 구조의 하드웨어 연산기의 수를 비교하여 나타낸 것이다. Table 1 below compares the number of hardware operators of the conventional FFT and the proposed radix-4 MDC FFT structure required to implement a 4-channel STFT processor in which the window function length and overlap size are variable.

[표 1][Table 1]

Figure 112019132211116-pat00029
Figure 112019132211116-pat00029

상기의 표 1은 4채널임으로 k=4이고 N=4q 이며, 복소수 승산기, 복소수 가산기, 지연 소자를 비교하여 하드웨어의 면적을 비교하여 보여준다. 제안된 radix-4 MDC 구조는 기존의 radix-4 MDC 구조와 비교했을 때 복소수 승산기와 복소수 가산기의 수는 동일하지만, 지연 소자의 수는 제안된 radix-4 MDC 구조가 적다.Table 1 above shows 4 channels, so k=4 and N=4 q , and the area of hardware is compared by comparing the complex multiplier, the complex adder, and the delay element. Compared with the existing radix-4 MDC structure, the proposed radix-4 MDC structure has the same number of complex multipliers and complex adders, but the number of delay elements is smaller than the proposed radix-4 MDC structure.

또한, 제안된 radix-4 MDC 구조와 conventional SDF 구조를 비교했을 때 복소수 승산기, 복소수 가산기, 지연 소자 모두 적게 사용한다. 즉, 제안된 MDC 구조의 FFT를 사용함으로써 다양한 point의 FFT 연산을 지원하며, 복소수 승산기와 복소수 가산기의 수를 최소화하여 복잡도 측면에서 효율적일 뿐만 아니라 지연 소자의 수를 최소화하여 하드웨어의 면적 측면에서 가장 효율적이다.In addition, when the proposed radix-4 MDC structure and the conventional SDF structure are compared, the complex multiplier, complex adder, and delay element are all used less. That is, by using the FFT of the proposed MDC structure, the FFT operation of various points is supported, and it is efficient in terms of complexity by minimizing the number of complex multipliers and complex adders, and it is the most efficient in terms of hardware area by minimizing the number of delay elements. am.

또한, 제안된 STFT 프로세서가 하드웨어 복잡도와 면적 측면에서 효율적이라는 것을 검증하기 위해, 윈도우 함수 길이와 중첩 크기가 가변 가능한 4채널 STFT 프로세서를 raidx-4 SDF, radix-4 MDC 구조와 제안된 radix-4 MDC 구조로 구현해 비교하였다. SQNR(signal to quantization noise ratio)이 40dB 이상 될 수 있도록 입력 데이터의 실수부와 허수부를 각각 12bit로 설정하였다. In addition, in order to verify that the proposed STFT processor is efficient in terms of hardware complexity and area, a four-channel STFT processor with variable window function length and overlap size was developed with the raidx-4 SDF, radix-4 MDC structure and the proposed radix-4 Implemented and compared with the MDC structure. The real part and the imaginary part of the input data were set to 12 bits each so that the signal to quantization noise ratio (SQNR) could be 40 dB or more.

3개의 STFT 프로세서는 Verilog-HDL로 설계되었으며, 65nm CMOS 스탠다드 셀 라이브러리를 사용하여 게이트 레벨 회로로 합성되었다. 하기의 표 2는 로직 게이트의 수를 비교할 수 있도록 정리한 것이다. 제안된 radix-4 MDC 구조의 STFT 프로세서는 기존의 radix-4 MDC STFT 구조의 프로세서보다 47%의 게이트의 수를 감소시킬 수 있으며, Radix-4 SDF 구조의 STFT 프로세서보다 56%의 게이트 수를 감소시켰다. 이 결과를 통해 윈도우 함수 길이와 중첩크기가 가변 가능한 4채널 STFT 프로세서 구현을 위해 제안된 radix-4 MDC FFT 구조가 가장 효율적임을 알 수 있다.The three STFT processors are designed in Verilog-HDL and synthesized as gate-level circuits using a 65nm CMOS standard cell library. Table 2 below is arranged so that the number of logic gates can be compared. The STFT processor of the proposed radix-4 MDC structure can reduce the number of gates by 47% compared to the processor of the existing radix-4 MDC STFT structure, and reduce the number of gates by 56% compared to the STFT processor of the Radix-4 SDF structure. did it From this result, it can be seen that the proposed radix-4 MDC FFT structure for implementing a 4-channel STFT processor with variable window function length and overlapping size is the most efficient.

[표 2][Table 2]

Figure 112019132211116-pat00030
Figure 112019132211116-pat00030

본 실시예에서는 다양한 시간-주파수 분해능을 제공하기 위해 4/16/64/256/1024-포인트를 지원하며, 윈도우 함수의 종류에 따라 정보의 손실을 최소로 할 수 있도록 0, 25, 50과 75% 가변 중첩 크기를 지원하는 4채널 STFT 프로세서를 하드웨어로 구현 및 검증하였다. In this embodiment, 4/16/64/256/1024-points are supported to provide various time-frequency resolutions, and 0, 25, 50 and 75 to minimize information loss according to the type of window function. A 4-channel STFT processor supporting % variable overlap size was implemented and verified in hardware.

본 실시예에 따른 radix-4 MDC FFT 구조를 이용하여 다수 개의 입력 데이터를 하나의 FFT 프로세서로 처리했으며, 제안된 DMM 구조를 통해 면적 측면에서 가장 큰 비중을 차지하는 지연 소자의 수를 크게 줄였다.Using the radix-4 MDC FFT structure according to this embodiment, a plurality of input data was processed by one FFT processor, and the number of delay elements, which occupies the largest portion in terms of area, was greatly reduced through the proposed DMM structure.

또한, 본 실시예에 따른 STFT 프로세서의 복잡도 비교를 위해 radix-4 SDF 구조, radix-4 MDC 구조, 제안된 radix-4 MDC 구조의 STFT 프로세서를 구현하였다. In addition, in order to compare the complexity of the STFT processor according to the present embodiment, an STFT processor having a radix-4 SDF structure, a radix-4 MDC structure, and a proposed radix-4 MDC structure is implemented.

그 결과, 본 실시예에 따른 STFT 프로세서는 radix-4 SDF 구조의 STFT 프로세서 보다 56%의 게이트 수를 감소시킬 수 있으며, radix-4 MDC 구조의 STFT 프로세서와 비교하면 47%의 감소된 게이트로 구현이 가능함을 확인하여 제안된 radix-4 MDC 구조가 시간의 변화에 따른 주파수의 변화를 관찰하는 STFT 프로세서 구현에 있어서 가장 효율적이다.As a result, the STFT processor according to this embodiment can reduce the number of gates by 56% compared to the STFT processor of the radix-4 SDF structure, and is implemented with the gates reduced by 47% compared to the STFT processor of the radix-4 MDC structure. By confirming that this is possible, the proposed radix-4 MDC structure is the most efficient in the implementation of the STFT processor that observes the frequency change according to the time change.

이상에서 설명한 것은 본 발명에 의한 저 복잡도의 단시간 푸리에 변환 처리 장치 및 그 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is only one embodiment for implementing the low-complexity short-time Fourier transform processing apparatus and method according to the present invention, and the present invention is not limited to the above embodiment, and is claimed in the following claims. As described above, without departing from the gist of the present invention, it will be said that the technical spirit of the present invention exists to the extent that various modifications can be made by anyone with ordinary knowledge in the field to which the present invention belongs.

100: 단시간 푸리에 변환 처리 장치
110: DMM(Data Matching Module)(또는 DMM1)
112: DMM2
113: DMM3
114: DMM4
115: DMM5
120: R4BM(Radix-4 Butterfly Module)
121: R4BM1
122: R4BM2
123: R4BM3
124: R4BM4
125: R4BM5
130: DRM(Data Reordering Module)
140: MUX(Multiplexer)
141: MUX1
142: MUX2
143: MUX3
144: MUX4
145: MUX5
S100: 단시간 푸리에 변환 처리 방법
S110: 데이터 매칭 단계
S120: R4BM 선택 단계
S130: STFT 연산 단계
S140: 데이터 재배열 단계
S150: 데이터 가변 중첩 크기 선택 단계
100: short-time Fourier transform processing unit
110: Data Matching Module (DMM) (or DMM1)
112: DMM2
113: DMM3
114: DMM4
115: DMM5
120: R4BM (Radix-4 Butterfly Module)
121: R4BM1
122: R4BM2
123: R4BM3
124: R4BM4
125: R4BM5
130: DRM (Data Reordering Module)
140: MUX (Multiplexer)
141: MUX1
142: MUX2
143: MUX3
144: MUX4
145: MUX5
S100: Short-time Fourier transform processing method
S110: data matching step
S120: R4BM selection step
S130: STFT operation step
S140: data rearrangement step
S150: data variable nesting size selection step

Claims (42)

1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 상기 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력하는 DMM(Data Matching Module);
상기 DMM을 통하여 출력되는 스트림 데이터를 미리 설정된 종류의 윈도우 함수에 따른 STFT(Short Time Fourier Transform) 연산을 수행하여 STFT 연산된 4채널 스트림 데이터를 출력하는 다수의 R4BM(Radix-4 Butterfly Module); 및
상기 R4BM으로부터 상기 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 상기 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력하는 DRM(Data Reordering Module)를 포함하고,
상기 DMM은,
1채널의 스트림 데이터를 입력 받고, 입력된 1채널의 스트림 데이터 대비 75% 지연된 제1 채널 스트림 데이터, 50% 지연된 제2 채널 스트림 데이터, 25% 지연된 제3 채널 스트림 데이터, 0% 지연된 제4 채널 스트림 데이터를 생성하여 상기 제1 채널 스트림 데이터와 상기 제2 채널 스트림 데이터 간, 상기 제2 채널 스트림 데이터와 상기 제3 채널 스트림 데이터 간, 및 상기 제3 채널 스트림 데이터와 상기 제4 채널 스트림 데이터 간이 각각 75% 중첩(overlap)되도록 하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
Receives one-channel stream data and sequentially delays them at different rates to generate stream data of 4 channels that are overlapped at a certain rate between delayed stream data and arranged in parallel with each other, and the stream data of 4 channels according to the window length DMM (Data Matching Module) for outputting 4-channel stream data reconstructed according to the length of each window function by performing a multiplication operation with a type of window function;
a plurality of Radix-4 Butterfly Modules (R4BMs) that perform a Short Time Fourier Transform (STFT) operation on the stream data output through the DMM according to a preset type of window function to output STFT-calculated 4-channel stream data; and
and a DRM (Data Reordering Module) that receives the STFT-calculated stream data of 4 channels from the R4BM and reconstructs and outputs the stream data according to the input structure of the 1 channel stream data,
The DMM is
Receives one-channel stream data, 75% delayed first channel stream data, 50% delayed second channel stream data, 25% delayed third channel stream data, 0% delayed fourth channel compared to input one-channel stream data Stream data is generated between the first channel stream data and the second channel stream data, between the second channel stream data and the third channel stream data, and between the third channel stream data and the fourth channel stream data. A low-complexity short-time Fourier transform processing apparatus, characterized in that each overlaps by 75%.
제1 항에 있어서,
상기 DMM를 통해 출력되는 4채널의 스트림 데이터를 윈도우 길이에 따른 STFT 연산이 수행되도록 상기 R4BM으로 출력하는 MUX(Multiplexer)를 더 포함하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
According to claim 1,
The apparatus for processing a short-time Fourier transform of low complexity, characterized in that it further comprises a multiplexer (MUX) for outputting the stream data of 4 channels output through the DMM to the R4BM to perform an STFT operation according to a window length.
삭제delete 제1 항에 있어서,
상기 DMM은,
상기 제1 채널 스트림 데이터, 상기 제2 채널 스트림 데이터, 상기 제3 채널 스트림 데이터 및 상기 제4 채널 스트림 데이터를 상호 병렬 패턴으로 정렬한 상태에서, 4, 16, 64, 256 및 1024 포인트의 윈도우 길이에 따른 윈도우 함수 중 어느 하나의 윈도우 함수와 곱셈 연산하여 설정된 윈도우 함수의 길이에 맞게 재구성된 4채널의 스트림 데이터를 생성하여 출력하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
According to claim 1,
The DMM is
In a state in which the first channel stream data, the second channel stream data, the third channel stream data, and the fourth channel stream data are arranged in a mutually parallel pattern, a window length of 4, 16, 64, 256 and 1024 points A low-complexity short-time Fourier transform processing apparatus for generating and outputting stream data of 4 channels reconstructed according to the length of the set window function by performing a multiplication operation with any one of the window functions according to .
제4 항에 있어서,
상기 R4BM은,
4채널(Radix-4) MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 이용하여 4, 16, 64, 256 및 1024 포인트의 윈도우 길이를 각각 지원하는 FFT 연산을 수행하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
5. The method of claim 4,
The R4BM is,
Low complexity characterized by performing FFT operation supporting window lengths of 4, 16, 64, 256 and 1024 points, respectively, using a 4-channel (Radix-4) MDC (Multi-path Delay Commutator) FFT processor short-time Fourier transform processing unit.
제5 항에 있어서,
상기 STFT 연산은 하기의 수식 1에 따라 정의되고,
[수식 1]
Figure 112021502293918-pat00031

상기 n은 비정상적인 신호의 시작점으로, n=lN로 나타내고,
상기 l은 -∞≤l≤∞의 범위를 갖고,
상기 k는 주파수 인덱스고,
상기 m은 이산 변수이고,
상기 N은 윈도우 함수의 길이를 나타내고,
상기
Figure 112021502293918-pat00061
Figure 112021502293918-pat00062
을 나타내는 것으로, 복소 평면에서 km값이 증가함에 따라 N단계에 걸쳐 시계방향으로 회전할 때의 트위터 팩터(twiddle factor)이며,
상기 x[n+m]의 신호가 윈도우 함수인 w[m]과 곱셈 연산되어 x(n)[m]의 신호로 됨으로써, 상기 STFT 연산은 x(n)[m]의 신호에 대한 FFT 연산을 수행하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
6. The method of claim 5,
The STFT operation is defined according to Equation 1 below,
[Formula 1]
Figure 112021502293918-pat00031

Where n is the starting point of the abnormal signal, represented by n = 1N,
wherein l has the range of -∞≤l≤∞,
where k is a frequency index,
wherein m is a discrete variable,
Wherein N represents the length of the window function,
remind
Figure 112021502293918-pat00061
silver
Figure 112021502293918-pat00062
is the tweeter factor when rotating clockwise over N steps as the value of km increases in the complex plane,
The signal of x[n+m] is multiplied with w[m], which is a window function, to become a signal of x (n) [m], so that the STFT operation is an FFT operation on the signal of x(n)[m]. A low-complexity short-time Fourier transform processing apparatus, characterized in that
제6 항에 있어서,
상기 수식 1의 상기 m과 상기 k를 인덱스 분해법을 이용하여 하기의 수식 2와 같이 정의하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
[수식 2]
Figure 112021070479262-pat00032

7. The method of claim 6,
A low-complexity short-time Fourier transform processing apparatus, characterized in that m and k in Equation 1 are defined as in Equation 2 below using an index decomposition method.
[Formula 2]
Figure 112021070479262-pat00032

제7 항에 있어서,
1024 포인트의 윈도우 길이를 갖는 FFT 연산은, 상기 수식 2를 상기 수식 1에 대입하여 하기의 수식 3와 같이 정의되고,
[수식 3]
Figure 112021070479262-pat00033

상기 변수 A는 A=256m1+64m2+16m3+4m4+m5의 값을 갖고,
상기 변수 B는 B=k1+4k2+16k3+64k4+256k5의 값을 갖는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
8. The method of claim 7,
The FFT operation having a window length of 1024 points is defined as Equation 3 below by substituting Equation 2 into Equation 1,
[Equation 3]
Figure 112021070479262-pat00033

The variable A has a value of A=256m 1 +64m 2 +16m 3 +4m 4 +m 5 ,
wherein the variable B has a value of B=k 1 +4k 2 +16k 3 +64k 4 +256k 5 .
제8 항에 있어서,
256 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 4에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
[수식 4]
Figure 112021070479262-pat00034

9. The method of claim 8,
An FFT operation having a window length of 256 points is a low-complexity short-time Fourier transform processing apparatus, characterized in that it is defined according to Equation 4 below.
[Equation 4]
Figure 112021070479262-pat00034

제9 항에 있어서,
64 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 5에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
[수식 5]
Figure 112021070479262-pat00035

10. The method of claim 9,
A low-complexity short-time Fourier transform processing apparatus, characterized in that the FFT operation having a window length of 64 points is defined according to Equation 5 below.
[Equation 5]
Figure 112021070479262-pat00035

제10 항에 있어서,
16 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 6에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
[수식 6]
Figure 112021070479262-pat00036

11. The method of claim 10,
A low-complexity short-time Fourier transform processing apparatus, characterized in that the FFT operation having a window length of 16 points is defined according to Equation 6 below.
[Equation 6]
Figure 112021070479262-pat00036

제11 항에 있어서,
4 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 7에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
[수식 7]
Figure 112021070479262-pat00037

12. The method of claim 11,
A low-complexity short-time Fourier transform processing apparatus, characterized in that the FFT operation having a window length of 4 points is defined according to Equation 7 below.
[Equation 7]
Figure 112021070479262-pat00037

제12 항에 있어서,
상기 수식 3을 통해 상기 1024 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 4에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
13. The method of claim 12,
The FFT operation having a window length of 1024 points through Equation 3 is a low-complexity short-time Fourier transform processing apparatus, characterized in that the radix-4 butterfly operation is added to Equation 4 above.
제13 항에 있어서,
상기 수식 4를 통해 상기 256 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 5에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
14. The method of claim 13,
The FFT operation having a window length of 256 points through Equation 4 is a low-complexity short-time Fourier transform processing apparatus, characterized in that the radix-4 butterfly operation is added to Equation 5 above.
제14 항에 있어서,
상기 수식 5를 통해 상기 64 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 6에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
15. The method of claim 14,
The FFT operation having a window length of 64 points through Equation 5 is a low-complexity short-time Fourier transform processing apparatus, characterized in that the radix-4 butterfly operation is added to Equation 6 above.
제15 항에 있어서,
상기 수식 6을 통해 상기 16 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 7에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
16. The method of claim 15,
The low-complexity short-time Fourier transform processing apparatus according to Equation 6, wherein the FFT operation having a window length of 16 points is calculated by adding a radix-4 butterfly operation to Equation 7 above.
제1 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
According to claim 1,
Among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the second output channel stream data .
제17 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
18. The method of claim 17,
Among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the third output channel stream data A low-complexity short-time Fourier transform processing unit, characterized in that it provides a 50% superimposed FFT result when selected in order.
제18 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
19. The method of claim 18,
Among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the fourth output channel stream data .
제19 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
20. The method of claim 19,
From among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, when only the first output channel stream data is selected in the order of 0% A low-complexity short-time Fourier transform processing apparatus, characterized in that it provides superimposed FFT results.
제20 항에 있어서,
상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하여, 0%, 25%, 50% 및 75%의 가변 중첩 크기의 4채널 스트림 데이터에 대한 FFT를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 장치.
21. The method of claim 20,
When the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data are selected in this order, an overlapping FFT result of 75% is provided, and the first output When the channel stream data and the third output channel stream data are selected in order, an overlapping FFT result of 50% is provided, and the first output channel stream data, the fourth output channel stream data, the third output channel stream data and Selecting in the order of the second output channel stream data provides an overlapping FFT result of 25%, and selecting only the first output channel stream data in order provides an overlapping FFT result of 0%, 0%, 25% , a low-complexity short-time Fourier transform processing apparatus, characterized in that it provides an FFT for 4-channel stream data with variable overlap sizes of 50% and 75%.
DMM(Data Matching Module), 다수의 R4BM(Radix-4 Butterfly Module), DRM(Data Reordering Module) 및 MUX(Multiplexer)를 포함하는 단시간 푸리에 변환 처리 방법을 이용하여 단시간 푸리에 변환을 처리하는 방법에 관한 것으로,
상기 DMM을 이용하여, 1채널의 스트림 데이터를 입력 받고, 각기 다른 비율로 순차적으로 지연시켜 지연된 스트림 데이터 간에 일정 비율로 중첩되며 상호 병렬 정렬된 4채널의 스트림 데이터를 생성하고, 상기 4채널의 스트림 데이터를 윈도우 길이에 따른 종류의 윈도우 함수와 곱셈 연산하여 각 윈도우 함수의 길이에 맞게 재구성된 4채널 스트림 데이터를 출력하는 데이터 매칭 단계;
상기 DMM을 통하여 출력되는 스트림 데이터를 상기 R4BM을 이용하여, 미리 설정된 종류의 윈도우 함수에 따른 STFT(Short Time Fourier Transform) 연산을 수행해 STFT 연산된 4채널 스트림 데이터를 출력하는 STFT 연산 단계; 및
상기 DRM을 이용하여, 상기 R4BM으로부터 상기 STFT 연산된 4채널의 스트림 데이터를 입력 받고, 상기 1채널의 스트림 데이터의 입력구조에 맞게 재구성하여 출력하는 데이터 재배열 단계를 포함하고,
상기 데이터 매칭 단계는,
상기 DMM을 이용하여, 1채널의 스트림 데이터를 입력 받고, 입력된 1채널의 스트림 데이터 대비 75% 지연된 제1 채널 스트림 데이터, 50% 지연된 제2 채널 스트림 데이터, 25% 지연된 제3 채널 스트림 데이터, 0% 지연된 제4 채널 스트림 데이터를 생성하여 상기 제1 채널 스트림 데이터와 상기 제2 채널 스트림 데이터 간, 상기 제2 채널 스트림 데이터와 상기 제3 채널 스트림 데이터 간, 및 상기 제3 채널 스트림 데이터와 상기 제4 채널 스트림 데이터 간이 각각 75% 중첩(overlap)되도록 하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
It relates to a method of processing a short-time Fourier transform using a short-time Fourier transform processing method including a Data Matching Module (DMM), a plurality of Radix-4 Butterfly Modules (R4BM), a Data Reordering Module (DRM), and a Multiplexer (MUX). ,
By using the DMM, one channel of stream data is received and sequentially delayed at different rates to generate stream data of 4 channels arranged in parallel and overlapped at a certain rate between the delayed stream data, and the stream of the 4 channels a data matching step of multiplying data with a type of window function according to a window length to output 4-channel stream data reconstructed according to the length of each window function;
an STFT operation step of outputting the STFT-calculated 4-channel stream data by performing an STFT (Short Time Fourier Transform) operation according to a preset type of window function using the R4BM on the stream data output through the DMM; and
and a data rearrangement step of receiving the STFT-calculated 4-channel stream data from the R4BM using the DRM, reconstructing it according to the input structure of the 1-channel stream data and outputting,
The data matching step is
By using the DMM, one channel of stream data is received, the first channel stream data delayed by 75% compared to the inputted one channel stream data, the second channel stream data delayed by 50%, the third channel stream data delayed by 25%, 4 channel stream data with a 0% delay is generated between the first channel stream data and the second channel stream data, between the second channel stream data and the third channel stream data, and between the third channel stream data and the A low-complexity short-time Fourier transform processing method, characterized in that each of the fourth channel stream data overlaps by 75%.
제22 항에 있어서,
상기 데이터 매칭 단계와 상기 STFT 연산 단계 사이에, 상기 DMM를 통해 출력되는 4채널의 스트림 데이터를 윈도우 길이에 따른 STFT 연산이 수행되도록 상기 MUX를 이용하여 상기 R4BM으로 출력하는 R4BM 선택 단계를 더 포함하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
23. The method of claim 22,
Between the data matching step and the STFT operation step, the R4BM selection step of outputting the stream data of 4 channels output through the DMM to the R4BM using the MUX so that the STFT operation according to the window length is performed. A low-complexity short-time Fourier transform processing method, characterized in that.
삭제delete 제22 항에 있어서,
상기 데이터 매칭 단계는,
상기 DMM을 이용하여, 상기 제1 채널 스트림 데이터, 상기 제2 채널 스트림 데이터, 상기 제3 채널 스트림 데이터 및 상기 제4 채널 스트림 데이터를 상호 병렬 패턴으로 정렬한 상태에서, 4, 16, 64, 256 및 1024 포인트의 윈도우 길이에 따른 윈도우 함수 중 어느 하나의 윈도우 함수와 곱셈 연산하여 설정된 윈도우 함수의 길이에 맞게 재구성된 4채널의 스트림 데이터를 생성하여 출력하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
23. The method of claim 22,
The data matching step is
4, 16, 64, 256 in a state in which the first channel stream data, the second channel stream data, the third channel stream data, and the fourth channel stream data are arranged in a mutually parallel pattern using the DMM and low-complexity short-time Fourier transform processing, characterized in that the 4-channel stream data reconstructed according to the length of the set window function is generated and output by multiplication operation with any one of the window functions according to the window length of 1024 points. Way.
제25 항에 있어서,
상기 STFT 연산 단계는,
상기 R4BM을 이용하여, 4채널(Radix-4) MDC(Multi-path Delay Commutator) 방식의 FFT 프로세서를 이용하여 4, 16, 64, 256 및 1024 포인트의 윈도우 길이를 각각 지원하는 FFT 연산을 수행하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
26. The method of claim 25,
The STFT operation step is
Using the R4BM, using an FFT processor of a 4-channel (Radix-4) MDC (Multi-path Delay Commutator) method to perform an FFT operation supporting window lengths of 4, 16, 64, 256 and 1024 points, respectively. A low-complexity short-time Fourier transform processing method, characterized in that.
제26 항에 있어서,
상기 STFT 연산은 하기의 수식 1에 따라 정의되고,
[수식 1]
Figure 112021502293918-pat00063

상기 n은 비정상적인 신호의 시작점으로, n=lN로 나타내고,
상기 l은 -∞≤l≤∞의 범위를 갖고,
상기 k는 주파수 인덱스고,
상기 m은 이산 변수이고,
상기 N은 윈도우 함수의 길이를 나타내고,
상기
Figure 112021502293918-pat00064
Figure 112021502293918-pat00065
을 나타내는 것으로, 복소 평면에서 km값이 증가함에 따라 N단계에 걸쳐 시계방향으로 회전할 때의 트위터 팩터(twiddle factor)이며,
상기 x[n+m]의 신호가 윈도우 함수인 w[m]과 곱셈 연산되어 x(n)[m]의 신호로 됨으로써, 상기 STFT 연산은 x(n)[m]의 신호에 대한 FFT 연산을 수행하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
27. The method of claim 26,
The STFT operation is defined according to Equation 1 below,
[Formula 1]
Figure 112021502293918-pat00063

Where n is the starting point of the abnormal signal, represented by n = 1N,
wherein l has the range of -∞≤l≤∞,
where k is a frequency index,
wherein m is a discrete variable,
Wherein N represents the length of the window function,
remind
Figure 112021502293918-pat00064
silver
Figure 112021502293918-pat00065
is the tweeter factor when rotating clockwise over N steps as the value of km increases in the complex plane,
The signal of x[n+m] is multiplied with w[m], which is a window function, to become a signal of x (n) [m], so that the STFT operation is an FFT operation on the signal of x(n)[m]. A low-complexity short-time Fourier transform processing method, characterized in that
제27 항에 있어서,
상기 수식 1의 상기 m과 상기 k를 인덱스 분해법을 이용하여 하기의 수식 2와 같이 정의하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
[수식 2]
Figure 112021070479262-pat00039

28. The method of claim 27,
A low-complexity short-time Fourier transform processing method, characterized in that the m and k of Equation 1 are defined as in Equation 2 below using an index decomposition method.
[Formula 2]
Figure 112021070479262-pat00039

제28 항에 있어서,
1024 포인트의 윈도우 길이를 갖는 FFT 연산은, 상기 수식 2를 상기 수식 1에 대입하여 하기의 수식 3와 같이 정의되고,
[수식 3]
Figure 112021070479262-pat00040

상기 변수 A는 A=256m1+64m2+16m3+4m4+m5의 값을 갖고,
상기 변수 B는 B=k1+4k2+16k3+64k4+256k5의 값을 갖는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
29. The method of claim 28,
The FFT operation having a window length of 1024 points is defined as Equation 3 below by substituting Equation 2 into Equation 1,
[Equation 3]
Figure 112021070479262-pat00040

The variable A has a value of A=256m 1 +64m 2 +16m 3 +4m 4 +m 5 ,
The variable B has a value of B=k 1 +4k 2 +16k 3 +64k 4 +256k 5. A low-complexity short-time Fourier transform processing method.
제29 항에 있어서,
256 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 4에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
[수식 4]
Figure 112021070479262-pat00041

30. The method of claim 29,
A low-complexity short-time Fourier transform processing method, characterized in that the FFT operation having a window length of 256 points is defined according to Equation 4 below.
[Equation 4]
Figure 112021070479262-pat00041

제30 항에 있어서,
64 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 5에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
[수식 5]
Figure 112021070479262-pat00042

31. The method of claim 30,
An FFT operation having a window length of 64 points is a low-complexity short-time Fourier transform processing method, characterized in that it is defined according to Equation 5 below.
[Equation 5]
Figure 112021070479262-pat00042

제31 항에 있어서,
16 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 6에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
[수식 6]
Figure 112021070479262-pat00043

32. The method of claim 31,
A low-complexity short-time Fourier transform processing method, characterized in that the FFT operation having a window length of 16 points is defined according to Equation 6 below.
[Equation 6]
Figure 112021070479262-pat00043

제32 항에 있어서,
4 포인트의 윈도우 길이를 갖는 FFT 연산은 하기의 수식 7에 따라 정의되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
[수식 7]
Figure 112021070479262-pat00044

33. The method of claim 32,
A low-complexity short-time Fourier transform processing method, characterized in that the FFT operation having a window length of 4 points is defined according to Equation 7 below.
[Equation 7]
Figure 112021070479262-pat00044

제33 항에 있어서,
상기 수식 3을 통해 상기 1024 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 4에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
34. The method of claim 33,
The FFT operation having a window length of 1024 points through Equation 3 is a low-complexity short-time Fourier transform processing method, characterized in that the radix-4 butterfly operation is added to Equation 4 above.
제34 항에 있어서,
상기 수식 4를 통해 상기 256 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 5에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
35. The method of claim 34,
The FFT operation having a window length of 256 points through Equation 4 is a low-complexity short-time Fourier transform processing method, characterized in that the radix-4 butterfly operation is added to Equation 5 above.
제35 항에 있어서,
상기 수식 5를 통해 상기 64 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 6에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
36. The method of claim 35,
The FFT operation having a window length of 64 points through Equation 5 is a low-complexity short-time Fourier transform processing method, characterized in that the radix-4 butterfly operation is added to Equation 6 above.
제36 항에 있어서,
상기 수식 6을 통해 상기 16 포인트의 윈도우 길이를 갖는 FFT 연산은 상기 수식 7에 radix-4 butterfly 연산이 추가되어 연산되는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
37. The method of claim 36,
The FFT operation having a window length of 16 points through Equation 6 is a low-complexity short-time Fourier transform processing method, characterized in that the radix-4 butterfly operation is added to Equation 7 above.
제22 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
23. The method of claim 22,
Among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the second output channel stream data .
제38 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
39. The method of claim 38,
Among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the third output channel stream data A low-complexity short-time Fourier transform processing method, characterized in that it provides 50% superimposed FFT results when selected in order.
제39 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
40. The method of claim 39,
Among the first output channel stream data, second output channel stream data, third output channel stream data, and fourth output channel stream data output through the DRM, the first output channel stream data and the fourth output channel stream data .
제40 항에 있어서,
상기 DRM을 통해 출력되는 제1 출력 채널 스트림 데이터, 제2 출력 채널 스트림 데이터, 제3 출력 채널 스트림 데이터 및 제4 출력 채널 스트림 데이터 중에서, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
41. The method of claim 40,
From among the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data output through the DRM, when only the first output channel stream data is selected in the order of 0% A method for processing a low-complexity short-time Fourier transform, characterized in that it provides a superimposed FFT result.
제41 항에 있어서,
상기 제1 출력 채널 스트림 데이터, 상기 제2 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제4 출력 채널 스트림 데이터 순으로 선택하면 75%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 및 상기 제3 출력 채널 스트림 데이터 순으로 선택하면 50%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터, 상기 제4 출력 채널 스트림 데이터, 상기 제3 출력 채널 스트림 데이터 및 상기 제2 출력 채널 스트림 데이터 순으로 선택하면 25%의 중첩된 FFT 결과를 제공하고, 상기 제1 출력 채널 스트림 데이터 순으로만 선택하면 0%의 중첩된 FFT 결과를 제공하여, 0%, 25%, 50% 및 75%의 가변 중첩 크기의 4채널 스트림 데이터에 대한 FFT를 제공하는 것을 특징으로 하는 저 복잡도의 단시간 푸리에 변환 처리 방법.
42. The method of claim 41,
When the first output channel stream data, the second output channel stream data, the third output channel stream data, and the fourth output channel stream data are selected in this order, an overlapping FFT result of 75% is provided, and the first output When the channel stream data and the third output channel stream data are selected in order, an overlapping FFT result of 50% is provided, and the first output channel stream data, the fourth output channel stream data, the third output channel stream data and Selecting in the order of the second output channel stream data provides an overlapping FFT result of 25%, and selecting only the first output channel stream data in order provides an overlapping FFT result of 0%, 0%, 25% , a short-time Fourier transform processing method of low complexity, characterized in that it provides an FFT for 4-channel stream data with variable overlap sizes of 50% and 75%.
KR1020190171943A 2019-12-20 2019-12-20 Device for processing short time fourier transform of low complexity and method thereof KR102301144B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190171943A KR102301144B1 (en) 2019-12-20 2019-12-20 Device for processing short time fourier transform of low complexity and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190171943A KR102301144B1 (en) 2019-12-20 2019-12-20 Device for processing short time fourier transform of low complexity and method thereof

Publications (2)

Publication Number Publication Date
KR20210079796A KR20210079796A (en) 2021-06-30
KR102301144B1 true KR102301144B1 (en) 2021-09-10

Family

ID=76602489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190171943A KR102301144B1 (en) 2019-12-20 2019-12-20 Device for processing short time fourier transform of low complexity and method thereof

Country Status (1)

Country Link
KR (1) KR102301144B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114722334B (en) * 2022-04-11 2022-12-27 哈尔滨工程大学 STFT-based online identification method for gas injection time characteristics of high-pressure natural gas direct injection engine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929393B1 (en) * 2007-07-26 2009-12-02 연세대학교 산학협력단 Fast Fourier Transform Method and Apparatus for 4 × 4 Multi-input Orthogonal Frequency Division Multiplexed Wireless LAN System
KR101332850B1 (en) * 2012-09-18 2013-11-27 한국항공대학교산학협력단 Fast fourier transform apparatus and method for mimo-ofdm system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929393B1 (en) * 2007-07-26 2009-12-02 연세대학교 산학협력단 Fast Fourier Transform Method and Apparatus for 4 × 4 Multi-input Orthogonal Frequency Division Multiplexed Wireless LAN System
KR101332850B1 (en) * 2012-09-18 2013-11-27 한국항공대학교산학협력단 Fast fourier transform apparatus and method for mimo-ofdm system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이현소 외 3명, "STFT 기법을 적용한 스펙트럼 센싱 모듈 구현", 한국콘텐츠학회논문지‘10, Vol.10, no.1, (2010.1.28.)*

Also Published As

Publication number Publication date
KR20210079796A (en) 2021-06-30

Similar Documents

Publication Publication Date Title
Ayinala et al. FFT architectures for real-valued signals based on radix-$2^{3} $ and radix-$2^{4} $ algorithms
Lin et al. A 1-gs/s fft/ifft processor for uwb applications
Garrido et al. Pipelined radix-$2^{k} $ feedforward FFT architectures
Jung et al. New efficient FFT algorithm and pipeline implementation results for OFDM/DMT applications
Garrido et al. Feedforward FFT hardware architectures based on rotator allocation
Mirfarshbafan et al. SMUL-FFT: A streaming multiplierless fast Fourier transform
Mookherjee et al. A low power radix-2 FFT accelerator for FPGA
KR102301144B1 (en) Device for processing short time fourier transform of low complexity and method thereof
Chang et al. An OFDM-specified lossless FFT architecture
Garrido et al. Optimum MDC FFT hardware architectures in terms of delays and multiplexers
Sanchez et al. Digital channelised receivers on FPGAs platforms
Dali et al. Efficient FPGA implementation of high-throughput mixed radix multipath delay commutator FFT processor for MIMO-OFDM
Lee et al. Modified sdf architecture for mixed dif/dit fft
Yang et al. Area-efficient mixed-radix variable-length FFT processor
Cortés et al. An approach to simplify the design of IFFT/FFT cores for OFDM systems
Mookherjee et al. A high throughput and low power radix-4 FFT architecture
Mangaiyarkarasi et al. Performance analysis between Radix2, Radix4, mixed Radix4-2 and mixed Radix8-2 FFT
Xu et al. Split-Radix FFT pruning for the reduction of computational complexity in OFDM based Cognitive Radio system
More et al. FPGA implementation of FFT processor using vedic algorithm
Gupta et al. A high-speed single-path delay feedback pipeline FFT processor using vedic-multiplier
Sarode et al. Mixed-radix and CORDIC algorithm for implementation of FFT
Nazmy et al. A Novel Generic Low Latency Hybrid Architecture for Parallel Pipelined Radix-2 k Feed Forward FFT
Bhavanam et al. Goertzel algorithm based DTMF detection
KR101908699B1 (en) Zero padded fast Fourier transform apparatus and method
Sakib et al. Use of single bin Fourier transform algorithm for high speed tone detection and parallel processing

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