150Hz Sine wave in MATLAB simulink
29 ビュー (過去 30 日間)
古いコメントを表示
Manuprabha Ravikumar
2024 年 6 月 25 日 5:59
コメント済み: Manuprabha Ravikumar
2024 年 6 月 25 日 7:18
When I feed 150 Hz to a sine wave block with scope settings of 0.04 seconds of time span and 0.00166 as sample time, my output wave looks like a triangle wave rather than a sine wave. How do I make it appear as a sine wave?
0 件のコメント
採用された回答
Sam Chak
2024 年 6 月 25 日 7:03
In short, your sinusoidal signal is undersampled. There are only 5 samples in one cycle.
ts = 1/600 % sample time
t = 0:ts:0.04;
f = 150;
P = 1/150 % Period (1 cycle)
sam = P/ts + 1 % number of samples in 1 cycle
y = sin(2*pi*f*t);
plot(t, y), grid on, xlabel('t')
However, the curve looks smoother if you decrease the sample time by 100 times, as there are 401 samples (> 360 samples) in 1 cycle.
ts = ts/100 % sample time
sam = P/ts + 1 % number of samples in 1 cycle
t = 0:ts:0.04;
y = sin(2*pi*f*t);
plot(t, y), grid on, xlabel('t')
0 件のコメント
その他の回答 (1 件)
halleyhit
2024 年 6 月 25 日 6:18
Hi Manuprabha, please make sure you feed 150*2*pi to the block, because the unit is rad/s. Then, please use a smaller sample time, and you will have a wave more like sine.
参考
カテゴリ
Help Center および File Exchange で Sources についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!