Can anybody help me with the following code?

1 view (last 30 days)
[z,fs]=audioread('bird1.mp3');
bfil=fft(z); %fft of input signal
wn=[4000 8000]/(fs/2); %bandpass
[b,a]=butter(6,wn);
fvtool(b,a);
I was able to draw the graph for this particular range. Can i draw wn=[8000 12000]/(fs/2); n the same graph itself, instead of another figure???

Accepted Answer

GEEVARGHESE TITUS
GEEVARGHESE TITUS on 16 Mar 2017
I not sure of obtaining multiple plots in the same window using fvtool. Instead you can get what you required, using functions freqz(), plot() and hold on.
[z,fs]=audioread('bird1.mp3');
bfil=fft(z); %fft of input signal
wn=[4000 8000]/(fs/2); %bandpass
[b,a]=butter(6,wn);
[h,w]=freqz(b,a);
plot(w/pi,20*log10(abs(h)),'r');
hold on;
wn=[8000 12000]/(fs/2);
[b,a]=butter(6,wn);
[h,w]=freqz(b,a);
plot(w/pi,20*log10(abs(h)),'b');
  3 Comments
GEEVARGHESE TITUS
GEEVARGHESE TITUS on 17 Mar 2017
Sorry , i was not able to understand your question? Elaborate please. Are you thinking of bank of butterworth filers?
Darsana P M
Darsana P M on 17 Mar 2017
yaa exactlty. How can i write a code for a bank of butterworth filters? Such that i can divide the given audio signal into different bands ie 10-20Khz, 20-30Khz and so on.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!