location zero crossings of the signal

The following program produces sine signal plus noise. I have to write a function(Call zero crossing function that you see in the code below) in MATLAB to identify location zero crossings of the signal,found the locations where Signal changes sign.
clc
clear all
close all
N=1000; %Number of samples
n=0:N-1; % Sample index
Ts=0.0025; %Sample interval
f1=2; %freq=2Hz
%Generate signal+noise
x=0.5*sin(2*pi*f1*n*Ts+pi/4)+0.01*randn(size(n));
*_%Call zero crossing function
I=find_zero_cross_fnc(x);
s=zeros(size(I));_*
% Plot results
figure
stairs(x,'Linewidth',1), hold on
stem(I,s,'*r','Linewidth',3)

3 Comments

So what are you asking from us?
function(zero crossing) that identify location zero crossings of the signal,found the locations where Signal changes sign.
See my answer below.

Sign in to comment.

Answers (1)

You could let this be your zero crossing function.
zind = diff(x>0);

Tags

Asked:

on 14 Dec 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!