Multiplying sine wave with step function

15 Ansichten (letzte 30 Tage)
xRah
xRah am 5 Nov. 2020
Beantwortet: xRah am 5 Nov. 2020
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.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 5 Nov. 2020
Bearbeitet: Ameer Hamza am 5 Nov. 2020
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 Kommentare
xRah
xRah am 5 Nov. 2020
oh and the index vector is supposed to be -3:14
xRah
xRah am 5 Nov. 2020
i seem to have forgotten it -.-

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

madhan ravi
madhan ravi am 5 Nov. 2020
uu = @(nn) +(nn >= 0);
xxuu = xx .* uu(t)

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

xRah
xRah am 5 Nov. 2020
Thank you all for your input and help :)

Kategorien

Mehr zu Audio Processing Algorithm Design finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by