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?
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?





RE: local extrema
makes no sense to me.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: local extrema
It creates the upper envelope and lower envelope of the signal.
RE: local extrema
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: local extrema
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 endLink to image