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
2012 年 11 月 4 日
but the blue signal is 'nt a sine wave!
Azzi Abdelmalek
2012 年 11 月 4 日
編集済み: Azzi Abdelmalek
2012 年 11 月 4 日
and the blue signal don't seem to have a 300 Hz frequency
Andreas
2012 年 11 月 4 日
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
2012 年 11 月 4 日
回答 (2 件)
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
2012 年 11 月 5 日
The third signal has another frequency (300 Hz)
Azzi Abdelmalek
2012 年 11 月 4 日
編集済み: Azzi Abdelmalek
2012 年 11 月 4 日
%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
カテゴリ
ヘルプ センター および File Exchange で Signal Generation についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!