From: Wayne King on
"Debora " <debi_can(a)yahoo.com.br> wrote in message <i3p99f$6p1$1(a)fred.mathworks.com>...
> Thanks Wayne. Your suggestion works, but it removes more signal instead of all the signal of that peak.
>
> Is there a way of removing all frequencies under 5 and having zero signal until then?
>
> Thank,
> Debora
>
> "Wayne King" <wmkingty(a)gmail.com> wrote in message <i3p181$p3l$1(a)fred.mathworks.com>...
> > "Debora " <debi_can(a)yahoo.com.br> wrote in message <i3otib$rjd$1(a)fred.mathworks.com>...
> > > Sorry, let me try to explain further.
> > >
> > > First, yes, I have used the filter design toolbox for the butterworth filter.
> > >
> > > As for the signal, I may not be using the appropriate terms, so I will try to write about it. My data has frequencies up to 1000 Hz. I am considering, from literature and previous works, that emg frequencies are from 20 to 500 Hz. Those are the frequencies I've used. Under 20 Hz, close to 0 Hz, I have this peak. This always happens with the equipment I've used, so I am sure this is noise and must be removed.
> > >
> > > Thanks, again,
> > > Debora
> >
> > Hi Debora, Assuming that you really want to remove this peak (I'm speaking about Jan's post). Then:
> > 1.) Identify the frequency corresponding to the peak.
> > 2.) Use iirnotch() from the Filter Design Toolbox to remove the oscillation.
> >
> > For example, just creating some data here:
> >
> > Fs = 1000;
> > t = linspace(0,1,1000);
> > % just simulating a 50-Hz component
> > x = cos(2*pi*50*t)+randn(size(t));
> > % identifying the frequency
> > h = spectrum.periodogram;
> > msspec = msspectrum(h,x,'Fs',1000,'NFFT',length(x));
> > [y,index] = max(msspec.Data);
> > freq = msspec.Frequencies(index);
> > % convert that frequency to normalized frequency
> > W = (2*freq)/Fs;
> > BW = W/35;
> > % get the notch filter
> > [b,a] = iirnotch(W,BW);
> > y = filtfilt(b,a,x);
> > msfilt = msspectrum(h,y,'Fs',1000,'NFFT',length(x));
> > subplot(211);
> > plot(msspec); title('Before Notch Filtering');
> > subplot(212);
> > plot(msfilt); title('After Notch Filtering');
> >
> > Hope that helps,
> > Wayne


Hi Debora, Yes, you can highpass filter the signal, removing everything below 5 Hz. What is your sampling frequency?

Wayne