Filter Frames of a Noisy Sine Wave Signal in Simulink

This example shows how to lowpass filter a noisy signal in Simulink® and visualize the original and filtered signals with a spectrum analyzer. For a MATLAB® version of this example, see Filter Frames of a Noisy Sine Wave Signal in MATLAB.

Open Model

To create a new blank model and open the library browser:

  1. On the MATLAB Home tab, click Simulink, and choose the Basic Filter model template.

  2. Click Create Model to create a basic filter model opens with settings suitable for use with DSP System Toolbox™. To access the library browser, in the Simulation tab, click Library Browser on the model toolstrip.

Basic filter model template contains two Sine Wave blocks, one Gaussian Noise block, one Lowpass FIR Filter block, and one spectrum Analyzer block. The two Sine Wave blocks and the Gaussian Noise block feed into an adder. The output of the adder block is the noisy sinusoidal signal. This noisy signal is fed into the Lowpass Filter block. The output of the Lowpass Filter block is the filtered signal. The noisy signal and the filtered signal are fed into the Spectrum Analyzer which shows the spectra of both the signals.

The new model using the template settings and contents appears in the Simulink Editor. The model is only in memory until you save it.

Inspect Model

Input Signal

Three source blocks comprise the input signal. The input signal consists of the sum of two sine waves and white Gaussian noise with mean 0 and variance 0.05. The frequencies of the sine waves are 1 kHz and 15 kHz. The sampling frequency is 44.1 kHz. The dialog box shows the block parameters for the 1 kHz sine wave.

The block dialog box of the first Sine Wave block. The settings on the block dialog are as follows. Main pane: Amplitude is set to 1, Frequency is set to 1000 Hz, Phase offset is set to 0 radians, Sample mode is set to Discrete, Output complexity is set to Real, Computation method is set to Trignometric fcn, Sample time is set to 1/44100, Samples per frame is set to 256, Resetting states when re-enabled is set to Restart at time zero.

 

Lowpass Filter

The lowpass filter is modeled using a Lowpass Filter block. The example uses a generalized Remez FIR filter design algorithm. The filter has a passband frequency of 8000 Hz, a stopband frequency of 10,000 Hz, a passband ripple of 0.1 dB, and a stopband attenuation of 80 dB.

The block dialog box of the Lowpass Filter block. The settings on the block dialog are as follows. Main pane: Filter type is set to FIR, Design minimum order filter check box is selected, Passband edge frequency is set to 8000 Hz, Stopband edge frequency is set to 10000 Hz, Maximum passband ripple is set to 0.1 dB, Minimum stopband attenuation is set to 80 dB, Inherit sample rate from input check box is not selected, Input sample rate is set to 44100 Hz, Simulate using is set to Interpreted execution.

 

The Lowpass Filter block uses frame-based processing to process data one frame at a time. Each frame of data contains sequential samples from an independent channel. Frame-based processing is advantageous for many signal processing applications because you can process multiple samples at once. By buffering your data into frames and processing multisample frames of data, you can improve the computational time of your signal processing algorithms.

Compare Original and Filtered Signal

Use a Spectrum Analyzer to compare the power spectra of the original and filtered signals. The spectrum units are in dBm.

To run the simulation, in the model, click Run. To stop the simulation, in the Spectrum Analyzer block, click Stop. Alternatively, you can execute the following code to run the simulation for 200 frames of data.

set_param(model,'StopTime','256/44100 * 200')
sim(model);

 

Output of the Spectrum Analyzer shows two signals. Original signal in yellow is unattenuated and has peaks at 1 KHz and 15 KHz. Filtered signal in blue is attenuated after 10 KHz.

 

Frequencies above 10 kHz in the source signal are attenuated. The resulting signal maintains the peak at 1 kHz because it falls in the passband of the lowpass filter.

Matlabsolutions.com provides guaranteed satisfaction with a commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been empanelled after extensive research and quality check.

Matlabsolutions.com provides undivided attention to each Matlab assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work done at the best price in industry.

Machine Learning in MATLAB

Train Classification Models in Classification Learner App

Train Regression Models in Regression Learner App

Distribution Plots

Explore the Random Number Generation UI

Design of Experiments

Machine Learning Models

Logistic regression

Logistic regression create generalized linear regression model - MATLAB fitglm 2

Support Vector Machines for Binary Classification

Support Vector Machines for Binary Classification 2

Support Vector Machines for Binary Classification 3

Support Vector Machines for Binary Classification 4

Support Vector Machines for Binary Classification 5

Assess Neural Network Classifier Performance

Naive Bayes Classification

ClassificationTree class

Discriminant Analysis Classification

Ensemble classifier

ClassificationTree class 2

Train Generalized Additive Model for Binary Classification

Train Generalized Additive Model for Binary Classification 2

Classification Using Nearest Neighbors

Classification Using Nearest Neighbors 2

Classification Using Nearest Neighbors 3

Classification Using Nearest Neighbors 4

Classification Using Nearest Neighbors 5

Linear Regression

Linear Regression 2

Linear Regression 3

Linear Regression 4

Nonlinear Regression

Nonlinear Regression 2

Visualizing Multivariate Data

Generalized Linear Models

Generalized Linear Models 2

RegressionTree class

RegressionTree class 2

Neural networks

Gaussian Process Regression Models

Gaussian Process Regression Models 2

Understanding Support Vector Machine Regression

Understanding Support Vector Machine Regression 2

RegressionEnsemble