How to time shift a signal
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Rohan Repale
le 20 Mai 2013
Réponse apportée : Sk Group
le 27 Oct 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
0 commentaires
Réponse acceptée
Wayne King
le 20 Mai 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 commentaires
Plus de réponses (2)
Youssef Khmou
le 20 Mai 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
0 commentaires
Sk Group
le 27 Oct 2021
For detailed post and complete code visit: https://www.swebllc.com/time-shifting-in-matlab-code-output/
0 commentaires
Voir également
Catégories
En savoir plus sur Waveform Generation dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!