×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

local extrema

local extrema

local extrema

(OP)
Hello everybody!

I am trying to determine and plot the local extrema (min(max) and max(min)) for the signal y=x.*w with x(400:1424)=sin(2*pi*t) and w(400:1424)=sin(52*pi*t).

I am using matlab 2010b with the following script:

clc
clear all

Fs=1024;
t = 0:1/Fs:1;
x=zeros(1,1824);
w=zeros(1,1824);
vm=1;vc=2

x(400:1424)=sin(2*pi*t);
w(400:1424)=sin(52*pi*t);
y=x.*w;

figure(1);
plot(y); hold on;

Is there anyone with an idea how to accomplish this?
Replies continue below

Recommended for you

RE: local extrema

(OP)
The min(max) is the minimum of the local maximum when you use a slide window on a signal. Max(min) is the opposite: the maximum of the local minimum.

It creates the upper envelope and lower envelope of the signal.

RE: local extrema

I was a bit confused by your use of indexing, but maybe this will get you started?

CODE --> MATLAB

f   = inline(vectorize('sin(w1*t)*sin(w2*t)'),'t','w1','w2');
df  = inline(vectorize('w1*cos(w1*t)*sin(w2*t)+w2*sin(w1*t)*cos(w2*t)'),...
             't','w1','w2');
ww1 = 2*pi;
ww2 = 52*pi;
tmin= 0; tmax= 1;
inc  = 0.01; k=1;
t = [tmin, tmin+inc];   %Set initial search range
while t(1) <= tmax
    % Check for sign change within search range
    A = sign(df(t(1),ww1,ww2));
    B = sign(df(t(2),ww1,ww2));
    if A~=B % If sign change, find where derivative equals zero
        tt(k) = fzero(@(t) df(t,ww1,ww2), t);
        k     = k+1;
        t     = [t(2), t(2)+inc];
    else
        t(2)=t(2)+inc;  % If no sign change, increase search field
    end
end 

Link to image

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login



News


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close