Implementing Notch filter for an audio signal

조회 수: 4 (최근 30일)
Mitja Kocjancic
Mitja Kocjancic 2022년 4월 9일
댓글: Mathieu NOE 2022년 4월 13일
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
Mitja Kocjancic
Mitja Kocjancic 2022년 4월 12일
@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 :)
Mathieu NOE
Mathieu NOE 2022년 4월 13일
My pleasure !

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Audio Processing Algorithm Design에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by