0
$\begingroup$

I have a problem involving cut-off frequency.

I have a voice message in an audio file .mat which have an eletromagnetic noise. I am trying to recover the original message by applying digital Butterworth filter with MatLab. To this, besides of design the Butterworth filter, also I have to find the cut-off frequency to eliminate all, or partially, the electromagnetic noise.

The picture below shows the Fourier Spectrum of the voice message with the electromagnetic noise. How could I find the cut-off frequency to eliminate the noise? Thanks in advance!

Sampling frequency = 44.8 kHz.

enter image description here

$\endgroup$
3
  • $\begingroup$ um, that spectrum doesn't look good at all. I don't think a simple butterworth will do here (it's questionable a butterworth design is appropriate at all – you probably want some multi band-pass filter, but it's hard to say without knowing the properties of your noise). Looking at this rectangular nightmare, I'd presume you have something very peculiarly shaped in the time-domain signal, not something you'd cancel in frequency domain. $\endgroup$ Commented Nov 26, 2019 at 18:54
  • 1
    $\begingroup$ @MarcusMüller that noise? seems from a modulated sinc() function in time. Why is it there ? homework/project may be :-). I assumed that the noisy looking part towards the DC from the pulse was the message. Otherwise the message is a sinc() :-) $\endgroup$
    – Fat32
    Commented Nov 26, 2019 at 19:25
  • 1
    $\begingroup$ yesss, and the Gibb's on that signal looks incredibly textbook. And that means the thing is, even if it's not just a single impulse/burst (might be an elegantly arranged comb...), easy to spot in time domain $\endgroup$ Commented Nov 26, 2019 at 19:27

1 Answer 1

1
$\begingroup$

I think you consider that pulse in the spectrum as the noise. Then you should remove it by a lowpass filter of cutoff frequency $$ f_c = 5 ~\text{kHz.}$$

Slightly less than this should be used for guarding against the transition width of the lowpass filter. So you better select something like $4.8$ kHz for the lowpass filter cutoff frequency.

Note that your sampling frequency $F_s$, probably, is $44.1$ kHz and not $44.8$ kHz. Then your digital frequency for cutoff into the Matlab functions will be: $$f_{cd} = \frac{ 2 f_c }{F_s} $$

with the given values of $F_s$ and $F_c$ your digital cutoff will be:

$$f_{cd} = \frac{ 2 \times 5 \times 10^3 }{44.1 10^3} = 0.2268 $$

or better

$$f_{cd} = \frac{ 2 \times 4.8 \times 10^3 }{44.1 10^3} = 0.2177 $$

$\endgroup$
4
  • 1
    $\begingroup$ Shouldn't it be $\frac{2\pi f_c}{F_s}$? $\endgroup$
    – David
    Commented Nov 26, 2019 at 18:37
  • 1
    $\begingroup$ @David No. $f_c$ and $F_s$ are in Hz. and $f_{cd}$ is between $0$ and $1$. $\endgroup$
    – Fat32
    Commented Nov 26, 2019 at 18:39
  • 2
    $\begingroup$ Oh of course. Glossed over the 'into the Matlab functions' part. $\endgroup$
    – David
    Commented Nov 26, 2019 at 19:05
  • 1
    $\begingroup$ Thanks @Fat32 your help was fundamental. Thank you so much! $\endgroup$
    – mbenencase
    Commented Nov 26, 2019 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.