Multiplying sine wave with step function

15 ビュー (過去 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 ExchangeAudio Processing Algorithm Design についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by