Lines Matching +full:- +full:g
1 /* ----------------------------------------------------------------------
9 * Target Processor: Cortex-M and Cortex-A cores
10 * -------------------------------------------------------------------- */
12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.
14 * SPDX-License-Identifier: Apache-2.0
20 * www.apache.org/licenses/LICENSE-2.0
44 const float16_t * pCoeff = S->pTwiddleRFFT; /* Points to RFFT Twiddle factors */ in stage_rfft_f16()
62 k = (S->Sint).fftLen - 1; in stage_rfft_f16()
77 // U2 = XB(1) - XA(1); % It is imaginary in stage_rfft_f16()
80 // real(tw * (xB - xA)) = twR * (xBR - xAR) - twI * (xBI - xAI); in stage_rfft_f16()
81 // imag(tw * (xB - xA)) = twI * (xBR - xAR) + twR * (xBI - xAI); in stage_rfft_f16()
83 *pOut++ = 0.5f16 * ( (_Float16)t1a - (_Float16)t1b ); in stage_rfft_f16()
85 // XA(1) = 1/2*( U1 - imag(U2) + i*( U1 +imag(U2) )); in stage_rfft_f16()
86 pB = p + 2*k - 14; in stage_rfft_f16()
98 XB = conj(XA([1 end:-1:2])); in stage_rfft_f16()
99 TW = i*exp(-2*pi*i*[0:L/2-1]/L).'; in stage_rfft_f16()
101 XA(l) = 1/2 * (XA(l) + XB(l) + TW(l) * (XB(l) - XA(l))); in stage_rfft_f16()
103 …XA(1) = 1/2* (XA(1) + XB(1) + TW(1) * (XB(1) - XA(1))) + i*( 1/2*( XA(1) + XB(1) + i*( XA(1) - XB(… in stage_rfft_f16()
117 pB -= 16; in stage_rfft_f16()
147 blockCnt--; in stage_rfft_f16()
160 XB = conj(XA([1 end:-1:2])); in stage_rfft_f16()
161 TW = i*exp(-2*pi*i*[0:L/2-1]/L).'; in stage_rfft_f16()
163 XA(l) = 1/2 * (XA(l) + XB(l) + TW(l) * (XB(l) - XA(l))); in stage_rfft_f16()
165 …XA(1) = 1/2* (XA(1) + XB(1) + TW(1) * (XB(1) - XA(1))) + i*( 1/2*( XA(1) + XB(1) + i*( XA(1) - XB(… in stage_rfft_f16()
177 t1a = (_Float16)xBR - (_Float16)xAR ; in stage_rfft_f16()
180 // real(tw * (xB - xA)) = twR * (xBR - xAR) - twI * (xBI - xAI); in stage_rfft_f16()
181 // imag(tw * (xB - xA)) = twI * (xBR - xAR) + twR * (xBI - xAI); in stage_rfft_f16()
188 *pOut++ = 0.5f16 * ((_Float16)xAI - (_Float16)xBI + (_Float16)p1 - (_Float16)p2 ); //xAI in stage_rfft_f16()
191 pB -= 2; in stage_rfft_f16()
192 blockCnt--; in stage_rfft_f16()
204 const float16_t *pCoeff = S->pTwiddleRFFT; /* Points to RFFT Twiddle factors */ in merge_rfft_f16()
219 k = (S->Sint).fftLen - 1; in merge_rfft_f16()
227 *pOut++ = 0.5f16 * ( (_Float16)xAR - (_Float16)xAI ); in merge_rfft_f16()
229 pB = p + 2*k - 14; in merge_rfft_f16()
235 /* G is half of the frequency complex spectrum */ in merge_rfft_f16()
237 // Xk(k) = 1/2 * (G(k) + conj(G(N-k+2)) + Tw(k)*( G(k) - conj(G(N-k+2)))); in merge_rfft_f16()
247 pB -= 16; in merge_rfft_f16()
278 blockCnt--; in merge_rfft_f16()
285 /* G is half of the frequency complex spectrum */ in merge_rfft_f16()
287 // Xk(k) = 1/2 * (G(k) + conj(G(N-k+2)) + Tw(k)*( G(k) - conj(G(N-k+2)))); in merge_rfft_f16()
296 t1a = (_Float16)xAR - (_Float16)xBR ; in merge_rfft_f16()
304 // real(tw * (xA - xB)) = twR * (xAR - xBR) - twI * (xAI - xBI); in merge_rfft_f16()
305 // imag(tw * (xA - xB)) = twI * (xAR - xBR) + twR * (xAI - xBI); in merge_rfft_f16()
306 *pOut++ = 0.5f16 * ((_Float16)xAR + (_Float16)xBR - (_Float16)r - (_Float16)s ); //xAR in merge_rfft_f16()
307 *pOut++ = 0.5f16 * ((_Float16)xAI - (_Float16)xBI + (_Float16)t - (_Float16)u ); //xAI in merge_rfft_f16()
310 pB -= 2; in merge_rfft_f16()
311 blockCnt--; in merge_rfft_f16()
323 const float16_t * pCoeff = S->pTwiddleRFFT; /* Points to RFFT Twiddle factors */ in stage_rfft_f16()
331 k = (S->Sint).fftLen - 1; in stage_rfft_f16()
347 // U2 = XB(1) - XA(1); % It is imaginary in stage_rfft_f16()
350 // real(tw * (xB - xA)) = twR * (xBR - xAR) - twI * (xBI - xAI); in stage_rfft_f16()
351 // imag(tw * (xB - xA)) = twI * (xBR - xAR) + twR * (xBI - xAI); in stage_rfft_f16()
353 *pOut++ = 0.5f16 * ( (_Float16)t1a - (_Float16)t1b ); in stage_rfft_f16()
355 // XA(1) = 1/2*( U1 - imag(U2) + i*( U1 +imag(U2) )); in stage_rfft_f16()
367 XB = conj(XA([1 end:-1:2])); in stage_rfft_f16()
368 TW = i*exp(-2*pi*i*[0:L/2-1]/L).'; in stage_rfft_f16()
370 XA(l) = 1/2 * (XA(l) + XB(l) + TW(l) * (XB(l) - XA(l))); in stage_rfft_f16()
372 …XA(1) = 1/2* (XA(1) + XB(1) + TW(1) * (XB(1) - XA(1))) + i*( 1/2*( XA(1) + XB(1) + i*( XA(1) - XB(… in stage_rfft_f16()
384 t1a = (_Float16)xBR - (_Float16)xAR ; in stage_rfft_f16()
387 // real(tw * (xB - xA)) = twR * (xBR - xAR) - twI * (xBI - xAI); in stage_rfft_f16()
388 // imag(tw * (xB - xA)) = twI * (xBR - xAR) + twR * (xBI - xAI); in stage_rfft_f16()
395 *pOut++ = 0.5f16 * ((_Float16)xAI - (_Float16)xBI + (_Float16)p1 - (_Float16)p2 ); //xAI in stage_rfft_f16()
399 pB -= 2; in stage_rfft_f16()
400 k--; in stage_rfft_f16()
412 const float16_t *pCoeff = S->pTwiddleRFFT; /* Points to RFFT Twiddle factors */ in merge_rfft_f16()
418 k = (S->Sint).fftLen - 1; in merge_rfft_f16()
426 *pOut++ = 0.5f16 * ( (_Float16)xAR - (_Float16)xAI ); in merge_rfft_f16()
433 /* G is half of the frequency complex spectrum */ in merge_rfft_f16()
435 // Xk(k) = 1/2 * (G(k) + conj(G(N-k+2)) + Tw(k)*( G(k) - conj(G(N-k+2)))); in merge_rfft_f16()
444 t1a = (_Float16)xAR - (_Float16)xBR ; in merge_rfft_f16()
452 // real(tw * (xA - xB)) = twR * (xAR - xBR) - twI * (xAI - xBI); in merge_rfft_f16()
453 // imag(tw * (xA - xB)) = twI * (xAR - xBR) + twR * (xAI - xBI); in merge_rfft_f16()
454 *pOut++ = 0.5f16 * ((_Float16)xAR + (_Float16)xBR - (_Float16)r - (_Float16)s ); //xAR in merge_rfft_f16()
455 *pOut++ = 0.5f16 * ((_Float16)xAI - (_Float16)xBI + (_Float16)t - (_Float16)u ); //xAI in merge_rfft_f16()
458 pB -= 2; in merge_rfft_f16()
459 k--; in merge_rfft_f16()
480 @brief Processing function for the floating-point real FFT.
485 - value = 0: RFFT
486 - value = 1: RIFFT
495 const arm_cfft_instance_f16 * Sint = &(S->Sint); in arm_rfft_fast_f16()
503 /* Complex radix-4 IFFT process */ in arm_rfft_fast_f16()