Multiplying sine wave with step function

36 ビュー (過去 30 日間)
xRah
xRah 2020 年 11 月 5 日
回答済み: xRah 2020 年 11 月 5 日
Hi again!
I'm trying to produce a sampled data vector of a sine wave with the following parameters:
  • Amplitude 0.187
  • Signal Freq. 187Hz
  • Sampling rate 1600s^-1
I am running into an error and cannot figure out what the issue is with element wise multiplication of the step function and the sine wave. Code is as follows:
nn = -3:14; % index vector
uu = double(nn >= 0);% unit step
Ts = 1.6e-3;% sample time
Fs = 1600; % sample rate
t = linspace(-3, 14, Fs); % time
w = 2*pi*187; % omega
xx = 0.187*sin(w*t);% x(t) = 0.187sin(w*t)
xxuu = xx .* uu; % multiplying step function with sine wave
stem(t, xxuu)% stem plot
I am not entirely sure if this is the best way to go about this problem either. My code includes some hints I got from this site.

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 11 月 5 日
編集済み: Ameer Hamza 2020 年 11 月 5 日
I am not sure how you defined 'uu' vector. But the following code works fine
Ts = 1.6e-3;% sample time
Fs = 1600; % sample rate
t = linspace(-3, 14, Fs); % time
uu = 1*(t>=0);
w = 2*pi*187; % omega
xx = 0.187*sin(w*t);% x(t) = 0.187sin(w*t)
xxuu = xx .* uu; % multiplying step function with sine wave
stem(t, xxuu)% stem plot
  3 件のコメント
xRah
xRah 2020 年 11 月 5 日
oh and the index vector is supposed to be -3:14
xRah
xRah 2020 年 11 月 5 日
i seem to have forgotten it -.-

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

その他の回答 (3 件)

madhan ravi
madhan ravi 2020 年 11 月 5 日
uu = @(nn) +(nn >= 0);
xxuu = xx .* uu(t)

Paul
Paul 2020 年 11 月 5 日
Change one line to:
xxuu = xx .* (t >= tstep); % set tstep as the time when the unit step is applied

xRah
xRah 2020 年 11 月 5 日
Thank you all for your input and help :)

カテゴリ

Help Center および File ExchangeSpectral Measurements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by