An embedded system comprises: a processing circuit comprising at least one single instruction, multiple data, SIMD, vector processor configured to support an implementation of a non-power-of-2 fast Fourier transform, FFT, of length N using a multiplication of at least two smaller FFTs of a respective first length N1 and second length N2, where N1 and N2 are whole numbers and multiples of Q and where Q is a number of processing elements that are operated in parallel; and a memory, operably coupled to the processing circuit and comprising at least input data; wherein the processing circuit is configured to: receive an input data complex number sequence; adapt the input data complex number sequence to result in an excess number of data points above N, by re-writing a smaller FFT with length (N1 - 1) using twiddle factors the smaller FFT with length (N1 - 1) with a last twiddle factor being set as a zero, such that the twiddle factor zero realizes a multiple-of-Q FFT; perform the smaller FFT of length N1 on the adapted input data complex number sequence and produce a first output complex number sequence; restore a number of data points of the first output complex number sequence to N after performing the first decomposed FFT; and perform a second decomposed FFT of a respective second length N2 on the adapted first output complex number sequence and produce a final FFT output complex number sequence. a processing circuit comprising at least one single instruction, multiple data, SIMD, vector processor configured to support an implementation of a non-power-of-2 fast Fourier transform, FFT, of length N using a multiplication of at least two smaller FFTs of a respective first length N1 and second length N2, where N1 and N2 are whole numbers and multiples of Q and where Q is a number of processing elements that are operated in parallel; and a memory, operably coupled to the processing circuit and comprising at least input data; wherein the processing circuit is configured to: receive an input data complex number sequence; adapt the input data complex number sequence to result in an excess number of data points above N, by re-writing a smaller FFT with length (N1 - 1) using twiddle factors the smaller FFT with length (N1 - 1) with a last twiddle factor being set as a zero, such that the twiddle factor zero realizes a multiple-of-Q FFT; perform the smaller FFT of length N1 on the adapted input data complex number sequence and produce a first output complex number sequence; restore a number of data points of the first output complex number sequence to N after performing the first decomposed FFT; and perform a second decomposed FFT of a respective second length N2 on the adapted first output complex number sequence and produce a final FFT output complex number sequence. receive an input data complex number sequence; adapt the input data complex number sequence to result in an excess number of data points above N, by re-writing a smaller FFT with length (N1 - 1) using twiddle factors the smaller FFT with length (N1 - 1) with a last twiddle factor being set as a zero, such that the twiddle factor zero realizes a multiple-of-Q FFT; perform the smaller FFT of length N1 on the adapted input data complex number sequence and produce a first output complex number sequence; restore a number of data points of the first output complex number sequence to N after performing the first decomposed FFT; and perform a second decomposed FFT of a respective second length N2 on the adapted first output complex number sequence and produce a final FFT output complex number sequence.