I'm woking on signal processing and Filtering. i create a noisy signal and i want to use bandpass filter to get my desire frequency.
i generate noisy signal "y" by this code :

```
Fs = 16000;                    % Sampling frequency
fNy = Fs / 2;
T = 1/Fs;                     % Sample time
L = 60000;                     % Length of signal
t = (0:L-1)*T;                % Time vector
% Sum of a 50 Hz , 5.8 , 12.6 , 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t) +  sin(2*pi*5.8*t) +  sin(2*pi*12.6*t); 
x1 = 15.3 * sin(2*pi*15.5 * t );

a = 5.2;
b = 35.5;
r = a + (b-a).*rand(1,1); 
y = x + x1 + r*randn(size(t));     % Sinusoids plus noise

```

and i filter my signal to get 15.5 Hz signal by FIR algorithm like Chebyshev. i use FDATool to design bandpass filter. like this :

```
Fs = 16000;  % Sampling Frequency

N             = 16 * 4096;     % Order
Fc1           = 15.48;    % First Cutoff Frequency
Fc2           = 15.52;    % Second Cutoff Frequency
flag          = 'scale';  % Sampling Flag
SidelobeAtten = 100;      % Window Parameter
% Create the window vector for the design algorithm.
win = chebwin(N+1, SidelobeAtten);

% Calculate the coefficients using the FIR1 function.
b  = fir1(N, [Fc1 Fc2]/(Fs/2), 'bandpass', win, flag);
Hd = dfilt.dffir(b);

```

and use filter function in matlab to get my desire signal :

```
filteredSignal = filter(Hd.Numerator,1,y);
max_amp = max(filteredSignal );

```

and after filtering i get maximum of signal amplitude. it is work fine. but there is a big problem for me. 
because of random noise i have diffrent values of filtered signal max.
 like : `10.552 , 10.493 , 10.876 , 10.524 , 10.617`

and when i decrease value of random noise like this :

```
r = 0.001;
y = x + x1 + r*randn(size(t));     % Sinusoids plus noise

```

i get this values of filterd signal maximum like :

```
10.541 , 10.541 ,10.541 , 10.541, 10.541

```

**and now my question is :
how to reduce or decrease noise effect on my filtered signal? what should i do for get same value of max amplitude of signal after filtering?**

thanks.