Scientific datasets are often contaminated with noise, either because of the data acquisition and transmission processes, or because of naturally occurring phenomena such as atmospheric disturbances. A first pre-processing step in analyzing such datasets is denoising, that is, estimating the signal of interest from the available noisy data. Wavelet transforms represent signals with a high degree of sparsity. This is the principle behind the non-linear wavelet based signal denoising technique and is what distinguishes it from entire linear denoising techniques such as least squares. It is well known that the use of non-decimated (Stationary) Wavelet Transforms (SWT) gives a redundant representation of an input signal, which minimizes the artifacts in the reconstructed data. In this work the stationary wavelet basis and the Wavelet Packet Transform (WPT) method are exploited to develop a Stationary Wavelet Packet Transform (SWPT)-based denoising algorithm. The decomposition of noisy signals is performed with stationary wavelets according to the optimum decomposition tree structure, determined through the WPT method. The thresholding is performed on the coefficients of the best tree, to make the denoising process more efficient. The performance of the denoising algorithm is assessed in terms of the Mean Squared Error (MSE) as a measure of the quality of denoisign. The obtained simulation results indicate that the combination of the SWT and WPT achieves superior denoising than the application of each of them separately. The proposed SWPT-based denoising algorithm is efficiently implemented on Xilinx Virtex Field Programmable Gate Array (FPGA).