I'm trying to use 5 FIR in a row to improve the S/N ratio on my signal, but I have some difficulties doing it.
In fact I have 2 signals, let's call them sig_I and sig_Q. I want to apply my 5 filter to them, and after that get the value PdB = 10*log( sqrt( sig_I² + sig_Q²) )
In order to do that the coefficients of the 4 first filters are given to me, and I have to be able to change the BW of the fifth one. It can be either 11 MHz or 60 MHz, but always with 32 coefficients.
At the end of this, I have an amplitude value, but my professor keeps telling me the amplitude is false, and that I should have about 7dB difference between the 2 cases (10*log(60/11) = 7.3 dB
), but I can't find that.
A code example for that would be (on matlab) :
%Filter coefficients
b1 = [1 3 3 1]/8;
b2 = [1 3 3 1]/8;
b3 = [ 1 4 6 4 1]/16;
b4 = [ 1 5 10 10 5 1 ]/32;
fe = 2.4e9
bwFir = 5.5e6; % Can be 5.5e6 or 30e6
Wn = 2*bwFir/fe;
b5= fir1(32,Wn);
%convoluate signals with FIR
sig_I = conv(sig_I,b1);
sig_I = conv(sig_I,b2);
sig_I = conv(sig_I,b3);
sig_I = conv(sig_I,b4);
sig_I = conv(sig_I,b5);
sig_Q = conv(sig_Q,b1);
sig_Q = conv(sig_Q,b2);
sig_Q = conv(sig_Q,b3);
sig_Q = conv(sig_Q,b4);
sig_Q = conv(sig_Q,b5);
mod = 10.*log10(sqrt(I.*I + Q.*Q));
plot(mod);
But for me the value of "mod" is kinda the same with 11 or 60 MHz. Am I doing something wrong?