Creating Sine wave with random values
古いコメントを表示
Hello All,
I'm trying to introduce sine signal as false information to my system. Now presently, I have this siganl with values in array like
I= [6 16 6 16 75 1 22 6 6 6 6 22 25 25 25 25 23 5 5 16 9 9 9 9];
These are 24 values, I ploted this values and calculated the prices in such way that price for each value is determined. Now I wanted to introduce a sine wave signal as a fault signal, the problem is how to get only 24 valus like these discrete values for sine wave such that signal looks sinusidal with 24 discrete values and I dont know how to that, kindly help me out.
回答 (1 件)
Philippe Lebel
2019 年 11 月 26 日
here is my try:
random_phase_offset = rand(1,1)*2*pi;
max_amplitude = 20;
random_amplitude = rand(1,1)*max_amplitude;
t = (0:1/23:1)*2*pi;
signal = random_amplitude * sin(t+random_phase_offset);
plot(t,signal)
5 件のコメント
shane watson
2019 年 11 月 26 日
Philippe Lebel
2019 年 11 月 26 日
the example i provided is full cycle. Do you want 2 periods?
In order to have only positive starting values, you can restrict the phase offset to be only in the interval [0,pi].
here is the modified code.
random_phase_offset = rand(1,1)*pi;
max_amplitude = 20;
random_amplitude = rand(1,1)*max_amplitude;
t = (0:1/23:1)*4*pi;
signal = random_amplitude * sin(t+random_phase_offset);
plot(t,signal)
shane watson
2019 年 11 月 26 日
Philippe Lebel
2019 年 11 月 27 日
編集済み: Philippe Lebel
2019 年 11 月 27 日
by "start" what do you mean?
t is a list that goes from 0 to 4*pi in steps of 4*pi/23. It is written to have exactly 24 components.
Signal wouldn't have 24 values if "t" didn't have 24 values.
shane watson
2019 年 12 月 5 日
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!