Removing noise from a sine wave

Technical Source
2 min readMar 4, 2021

--

Hello, I have two sets of measurement data (sine wave of 10 = Hz and fs = 2048 Hz) with lots of noise. I tried to filter them using a butterworth lowpass filter using filtfilt function.

Unfortunately, the filtered signal is not a pure sine wave and hence i couldn’t use them further.

Can anyone guide me how exactly to process this signal?

PS: Can i add .fig to my post?

ANSWER

Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.

You might try the Savitzky Golay filter, in the Signal Processing Toolbox. It fits a polynomial to the signal in a sliding window.

My demo below is for an image but you could easily adapt it to a 1D signal. After all, an image is just a bunch of 1D signals stacked on top of each other (each row or column could be considered a 1D signal). That’s what I do, just extract a row or column and call sgolayfilt() on each row or column.

% Filter using Savitzky-Golay filtering.
% By Image Analyst
% Change the current folder to the folder of this m-file.
if(~isdeployed)
cd(fileparts(which(mfilename)));
end
clc; % Clear command window.
clear; % Delete all variables.
close all; % Close all figure windows except those created by imtool.
imtool close all; % Close all figure windows created by imtool.
workspace; % Make sure the workspace panel is showing.
fontSize = 14;
% Read in standard MATLAB gray scale demo image.
% imageArray = imread('football.jpg');
imageArray = imread('cameraman.tif');
imageArray = double(imageArray);
[rows columns numberOfColorBands] = size(imageArray);
subplot(2, 2, 1);

SEE COMPLETE ANSWER CLICK THE LINK

--

--

Technical Source
Technical Source

Written by Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

No responses yet