how to create a sine wave between two sine references
Show older comments
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
Azzi Abdelmalek
on 4 Nov 2012
but the blue signal is 'nt a sine wave!
Azzi Abdelmalek
on 4 Nov 2012
Edited: Azzi Abdelmalek
on 4 Nov 2012
and the blue signal don't seem to have a 300 Hz frequency
Andreas
on 4 Nov 2012
Azzi Abdelmalek
on 4 Nov 2012
Edited: Azzi Abdelmalek
on 4 Nov 2012
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
Andreas
on 4 Nov 2012
Answers (2)
Kaustubha Govind
on 5 Nov 2012
1 vote
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.
1 Comment
Azzi Abdelmalek
on 5 Nov 2012
The third signal has another frequency (300 Hz)
Azzi Abdelmalek
on 4 Nov 2012
Edited: Azzi Abdelmalek
on 4 Nov 2012
%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
Categories
Find more on Signal Import and Export in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!