I am a newbie in DSP. Now I am studying about noise, I've already known how to generate an AWGN in the channel model and how to primarily deal with it by an Automatic Gain Control (AGC) at the Receiver Side of my naive communications system. All of my works are limited in simulated programs by MatLAB.
Now I let my white noise through a shaping LPF to produce a Colored Noise, the question is that: Is there any way to cope with this type of noise by AGC (probably a modified version) ? If it is so, please demonstrate with a MatLAB code.
Here is my transmitted signal, with flat fading added:
Code:
%Flat fadings profile
lr = length(rsc); % length of transmitted signal vector
fp = [ones(1,floor(0.2*lr)),0.4*ones(1,lr-floor(0.2*lr))] ;
rsc = rsc.*fp ; % apply profile to transmitted signal
After going through a band-pass filter and a simple carrier phase syncronization at the receiver, the signal rsc (with white noise added) becomes s_r (with the length of N*M. N is the length of my baseband input signal and M is the oversampling factor) and go through an AGC as illustrate below:
Code:
a = zeros (1 , N*M) ; a(1)=1; % i n i t i a l i z e AGC parameter
s = zeros (1 , N*M ) ; % i n i t i a l i z e outputs
ds = 0.25; %desired power of output
mu_agc=0.01; % algorithm s t e p s i z e
for k_agc = 1:N*M-1
s(k_agc)= a(k_agc)*r(k_agc); % normalize by a to get s
a(k_agc + 1) = a(k_agc) - mu_agc*(s(k_agc)^2 - ds); % adaptive update of a( k )
end
% disp(rp);
% figure(1);
% subplot(2,1,1); plot(rp);
% subplot(2,1,2); plot(s);
s_r_agc = a.*s_r;
s_r_agc is the singal after multiplied with the adaptive gain a, and its amplitude has been maintained constantly.