top of page
LPF_1.png

Low-Pass Filter design:

​

To demonstrate the absolute basics, we demonstrate using a low pass filter for a signal and noise that are both singular sinusoidal waves. 

​

A signal of 1 Hz is generated. A noise signal of 10 Hz is generated. Adding them together in the time domain creates the noisy signal shown above. The noisy signal is displayed with half magnitude, because the sum of the two signals ranges from [-2, 2]. By inspection, it is clear that the noise appears exactly 10x more frequently than the original signal.

LPF_2.png

Low-Pass Filter design:

​

The low pass filter is as simple as possible.

LowPassFilter.png

The FFT of the combined signal is displayed in plot 2. As expected, there are frequency components at 1 Hz and 10 Hz, representing the original and the noise respectively. 

​

The third plot is the FFT of the recovered signal. After passing through a low pass filter, we see only the frequency of the original signal remains.

Feasibility

The Low-Pass filter works fine for this extremely simple example. Furthermore, it can be simply extended to a band pass filter as shown below. However, this still does not solve the problem of having more meaningful input which cannot be simply Band-Pass filtered either. 

BPF_1.png
BPF_2.png
BPF_3.png

As expected, more complex noise is trivial to filter with a band pass filter as long as our input is also trivial. However, we now move to the Weiner Filter, which is far more robust and will help us filter more interesting and meaningful signals and noises.

Practical Limits of Windowing

As we have seen, a signal can easily be reconstructed from its corrupted version when the spectrums of both the original signal and the noise are well known or easily predictable.  However, real-world noise is often unpredictable, and even the original signals themselves may vary in frequency.  The signal below (originally a simple sine wave) has been corrupted with randomly generated noise, such that the spectrum of the noise is inconsistent and unpredictable.

Screen Shot 2019-03-29 at 11.19.15 PM.pn

The final plot shows the reconstructed signal, using windows of varying widths.  Clearly, the reconstructed signal does not accurately recreate the original.  In order to recover the original signal, a more sophisticated filtering technique than windowing is needed.  Even when the window is made to be very narrow so as to block all high-frequency components, the reconstructed signal does not match the original.  This leads into the main focus of our project, the Wiener filter.

​

At this point in the project, we are still working on correctly implementing the Wiener filter in Matlab with well-recorded and group-generated signals.  In the next three weeks, our first task will be to implement this filter reliably with these simple data sets.  Once that is accomplished, we will move on to recorded audio signals which contain significant noise and varying frequencies in the original signals. 

bottom of page