Filtering Gaussian noise with Matlab

Click For Summary
SUMMARY

This discussion focuses on filtering Gaussian noise from a 1 kHz square wave using MATLAB 6.5. The user is working with a sampling frequency of 100 kHz and aims to achieve a signal-to-noise ratio (SNR) of 0 dB. The conversation highlights the use of the MATLAB function filter(B,A,x) for time-domain filtering and discusses the design of Butterworth or Chebyshev filters. It is established that the cut-off frequency for the filter should be set at 50 kHz, which corresponds to the Nyquist Frequency.

PREREQUISITES
  • Understanding of MATLAB 6.5 programming
  • Knowledge of signal processing concepts, specifically filtering techniques
  • Familiarity with Butterworth and Chebyshev filter design
  • Basic understanding of noise characteristics and SNR calculations
NEXT STEPS
  • Research the implementation of Butterworth and Chebyshev filters in MATLAB
  • Learn about the besself function for designing Bessel filters in MATLAB
  • Explore techniques for determining optimal cut-off frequencies for various filter types
  • Study the effects of different filter orders on the performance of noise reduction
USEFUL FOR

Signal processing engineers, MATLAB users, and anyone involved in designing filters for noise reduction in signal analysis.

guru
Messages
38
Reaction score
0
I’m generating a 1 kHz square wave and adding Guassian noise to obtain a SNR of 0 dB (using Matlab6.5). The task is to design a filter that will filter out as much noise as possible from the square wave plus noise signal.
The sampling frequency is 100kHz.
Noise signal: 100.0*randn(1, length(t))
Square wave: 100*square(2*pi*1000*t)
What else do I need to know in order to design this filter using Butterworth or Chebyshev I or any filter? How do I determine the cut-off frequency for my filter?
The MATLAB function filter(B,A,x) will be used for the time-domain filtering operation.
I've started out by considering the frequency characteristics of each signal, but don't know how that will help i the design process.
Any help will be greatly appreciated.
Thanks
 
Last edited:
Physics news on Phys.org
You can design a low, high, or bandpass filter with the bessel function in matlab. Here is the link to it:
https://www.mathworks.com/help/signal/ref/besself.html

So, if the sampling frequency is 100khz, you should cut it off at 50khz. That is the Nyquist Frequency.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 5 ·
Replies
5
Views
6K
Replies
17
Views
6K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
10K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 4 ·
Replies
4
Views
7K
  • · Replies 4 ·
Replies
4
Views
5K