Could you explain in more detail, what exactly you want to "normalize" and/or for what purpose you want to normalize?
Without further information, I can only guess what you want to achieve...
"Amplitude normalization" seems to be the easier part. "Normalization" to a reference interval (e.g., [0..1]) should be straightforward. If you want to normalize the baseline (i.e., remove the baseline drift), a high pass filter should be the means of choice (look for, e.g., the Pan-Tompkins algorithm for QRS detection (PMID: 3997178) which includes a baseline drift correction by high pass filtering).
As regards period normalization, I have currently no idea what the intention could be. Usually the period is a carrier of important information, so why should it be "normlaized"?
Amplitude Normalization: Each sample of signal is divided from max of absolute value of signal i.e. xi/max(|x|). It is used to limit signal dynamic range from -1 to 1. Sometimes after signal acquisition, we cannot predict about the amplitude dynamic range in each observation So applying amplitude thresholding in the signal becomes difficult, without knowing the amplitude limit.
Period Normalization: Let we have some signals of different sample lengths, and if we want to perform any mathematical operation between these signals (such as +, -, ||.||, or x), which is possible if and only if their sample length must be same. Making these signals with a same sample length is called Period Normalization. It can be performed by interpolation or decimation process. As an application, in the context of ECG, each heart beat need to be period normalized, to perform any mathematical operation on these.