i have generated a white gaussian noise. now, how can i generate a colored noise from the white gaussian noise by passing it through a FIR bandpass filter for a particular power level such as 3 db?
3dB is a relative quantity and has to be compared to a reference level. Say you have a signal of 1 watts,and you want a noise level 3dB below it, then your noise power is 0.5. Use that as an example, you would first generate a white noise at this power level, such as
x = sqrt(0.5)*randn(1000,1)
Then you can define a filter with coefficients of b and a. In general, if you use MATLAB, most pass band is around 0dB so you can assume in pass band your noise power does not change. To get your colored noise, you just need to run
y = filter(b,a,x)