In a discrete digital multitone (DMT) digital subscriber loop (xDSL) telecommunications system having a transmitter portion including a bit encoder, an inverse fast Fourier transform (IFFT), parallel-to-serial converter, digital-to-analog converter and line driver for transmitting data signals to a twisted pair telephone line and a receiver portion including an analog-to-digital converter, a serial-to-parallel converter, a forward fast Fourier transform (FFT) and a bit decoder for receiving data signals from the twisted pair telephone line, the IFFT and FFT being implemented in N-bit precision using a fixed point M-bit (M<N) processor by downscaling input data at each IFFT and FFT stage to prevent fixed point values from overflowing during multiply and add operations of the processor;
- the improvement comprising implementing the IFFT and FFT in fixed point M-bit processing using variable scaling including the following steps:
- looking at data input to both the inverse FFT and forward FFT before each said IFFT and FFT stage to determine whether overflow is possible;
- downscaling the FFT and IFFT input data by a given number of bits if the determination shows that overflow is possible;
- leaving the FFT and IFFT input data unscaled if the determination shows that overflow is not possible;
- maintaining track of whether downscaling was done;
- rescaling data output from the FFT and IFFT at the completion of the FFT and IFFT operation if downscaling was done;
- and
- leaving the FFT and IFFT output data unrescaled if downscaling was not done.