Implementing Notch filter for an audio signal

4 views (last 30 days)
Hello, I have the folowing filter expressed as an equasion
If you put in Exel for example values from 0khz to 15khz in 1Hz increments, you get a response that looks like this
Now when I wanted to implement this in matlab, and used this audio sample: https://transfer.sh/ruffRk/test.wav
[y,Fs] = audioread('test.wav');
filtered = (1+1i*6.4*y)/(5+1i*6.4*y);
sound(filtered,Fs);
I got the folowing error
Error using /
Requested 3888467x3888467 (225308.2GB) array exceeds maximum array size
preference (32.0GB). This might cause MATLAB to become unresponsive.
Now I don't know how to implement this notch filter properly in matlab, I guess its just requires too much RAM, that I don't have or is there any other way?
Thanks for Anwsering and Best Regards
  6 Comments
Mitja Kocjancic
Mitja Kocjancic on 12 Apr 2022
@Mathieu NOE you made my day, thanks man, not sure how to accept this anwser but yey it finaly works :)
now I have it like this
function result = k_notch(signal, phase, Fs)
disp("Applying Notch filter for: " + phase);
num = [6.4/(2*pi) 1];
den = [6.4/(2*pi) 5];
%Discrete this
[ad, bd] = bilinear(num, den, Fs);
%Filter signal
result = filter(ad,bd,signal);
end
and I am happy :)

Sign in to comment.

Answers (0)

Categories

Find more on Audio Processing Algorithm Design in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!