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 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 4 日
but the blue signal is 'nt a sine wave!
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 4 日
編集済み: Azzi Abdelmalek 2012 年 11 月 4 日
and the blue signal don't seem to have a 300 Hz frequency
Andreas
Andreas 2012 年 11 月 4 日
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...
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 4 日
編集済み: Azzi Abdelmalek 2012 年 11 月 4 日
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
Andreas 2012 年 11 月 4 日
the peaks of the blue one to be just on the red and the green sine waves...

サインインしてコメントする。

回答 (2 件)

Kaustubha Govind
Kaustubha Govind 2012 年 11 月 5 日

1 投票

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 件のコメント

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 5 日
The third signal has another frequency (300 Hz)

サインインしてコメントする。

Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 4 日
編集済み: Azzi Abdelmalek 2012 年 11 月 4 日

0 投票

%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

製品

質問済み:

2012 年 11 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by