Azzera filtri
Azzera filtri

How to time shift a signal

12 visualizzazioni (ultimi 30 giorni)
Rohan Repale
Rohan Repale il 20 Mag 2013
Risposto: Sk Group il 27 Ott 2021
Hi,
I have this code,
clear all; close all; clc;
fc=30e3;
for n=1:3;
tc = gauspuls('cutoff',fc,0.4,[],-40);
t = -tc : 1e-7 : tc;
yi = gauspuls(t,fc,0.6);
plot(t,yi)
hold on
fc=fc+10e3;
end
It is supposed to generate 3 gaussian pulses each at 30kHz, 40kHz and 50kHz respectively. However they overlap each other and I want them to be time shifted in such a way that first is 30k then 40k and then 50k.
Thanks

Risposta accettata

Wayne King
Wayne King il 20 Mag 2013
You can just create a vector of zeros and fill it with the pulses
fc=30e3;
t = -tc : 1e-7 : tc;
y = zeros(3*length(t),1);
startidx = 1;
endidx = length(t);
for n = 1:3
yi = gauspuls(t,fc,0.6);
y(startidx:endidx) = yi;
fc = fc+1e4;
startidx = startidx+length(t)+1;
endidx = endidx+length(t)+1;
end
plot(y)
  2 Commenti
Youssef  Khmou
Youssef Khmou il 20 Mag 2013
right !
Rohan Repale
Rohan Repale il 20 Mag 2013
Thank you, exactly what I wanted

Accedi per commentare.

Più risposte (2)

Youssef  Khmou
Youssef Khmou il 20 Mag 2013
hi, try :
clear all; close all; clc;
fc=30e3;
for n=1:3
tc = gauspuls('cutoff',fc,0.4,[],-40);
t = -tc : 1e-7 : tc;
yi = gauspuls(t+n*1e-5,fc,0.6);
plot(t,yi)
hold on
fc=fc+10e3;
end

Sk Group
Sk Group il 27 Ott 2021

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by