How generating band limited white noise with matlab

69 views (last 30 days)
In matlab I use if true % code randn(1,length(N)) end to generate white noise... Now I would like to generate band limited white noise (e. g. from 240 to 435 Hz). How must I code that in matlab!?

Accepted Answer

Wayne King
Wayne King on 2 Jul 2013
That's not a very good approximation to a bandpass filter between 240 and 435 Hz.
Look at your magnitude response:
fvtool(B,A,'Fs',2000)
If you're going to use the window method, can you up the order significantly?
Compare your filter to:
[B1,A1] = fir1(48,[fd fu]/fn);
fvtool(B1,A1,'Fs',2000)
Now you can do:
noise_limited = filter(B1,A1,white_noise);

More Answers (1)

Wayne King
Wayne King on 30 Jun 2013
Edited: Wayne King on 30 Jun 2013
band limited white noise is not possible. White noise by definition has a flat power spectral density function.
You can generate a white noise sequence and then filter that sequence to generate a band-limited noise but that noise will not be white.
You do not tell us what the sampling frequency is, which is a critical piece of information to have in designing the filter (you cannot design the filter without it), but I'll assume 2,000 Hz in the following example.
d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2', 150,240,435,550,60,0.5,60,2000);
Hd = design(d);
y = filter(Hd,randn(1000,1));
You can view the filter's magnitude response
fvtool(Hd)
I've also given you a minimum-order design with 60-dB of stopband attenuation. If you need less stopband attenuation, you can specify that, or if you wish to specify your filter with a certain order, you can also do that with fdesign.bandpass
  2 Comments
Randy82
Randy82 on 2 Jul 2013
Ok, there are a lot of parameters i need to design the filter... My sampling frequency is e.g.
fs = 2000;
What about to generate band limited noise in this way:
fn = 0.5*fs;
fd = 240;
fu = 435;
[B, A] = fir1(10,[fd fu]/fn);
noise_limited = filter(B, A, white_noise);

Sign in to comment.

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!