how to create a sine wave between two sine references

i have two sine references (red-green) of different amplitude and 50Hz frequency. i would like to create a third sine wave of 300Hz (blue) between these two signal as shown in this picture. <http://oi50.tinypic.com/2rrvtzb.jpg>
any ideas? i'm working in simulink. thanks
yeah, there was an attempt with a dynamic saturation block, thought of a sinc function too without any result...

5 Comments

but the blue signal is 'nt a sine wave!
and the blue signal don't seem to have a 300 Hz frequency
i just made up a quick sketch by hand for the blue one. let the amplitude of the reference signals be equal, i want to create a sine wave 300Hz, whose amplitude is bounded between the references...
what do you mean by whose amplitude is bounded between the references.. and like I said the frequency can't be 300 Hz, even done by hand
the peaks of the blue one to be just on the red and the green sine waves...

Sign in to comment.

Answers (2)

It seems like you just want to switch between the two signals every t/4 seconds (t=period of input wave=1/50), so you can use a Switch block whose control signal is a Pulse Generator block with the appropriate phase and period. Your hand-drawn signal however does not have the discontinuities that the Switch block will introduce, so you might need to add a low-pass filter.
%try this
close
f1=50;
f2=300;
t=0:0.0001:4/f1;
y1=-0.5*sin(2*pi*f1*t);
y2=sin(2*pi*f1*t);
yy=sin(2*pi*f2*t);
idx2=find(yy>max(y1,y2))
idx1=find(yy<min(y1,y2))
yy(idx1)=min(y1(idx1),y2(idx1))
yy(idx2)=max(y1(idx2),y2(idx2))
plot(t,y1,'r')
hold on;
plot(t,y2,'g')
plot(t,yy,'b')
hold off

Products

Asked:

on 4 Nov 2012

Community Treasure Hunt

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

Start Hunting!