Effacer les filtres
Effacer les filtres

How to time shift a signal

12 vues (au cours des 30 derniers jours)
Rohan Repale
Rohan Repale le 20 Mai 2013
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

Réponse acceptée

Wayne King
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
Youssef  Khmou
Youssef Khmou le 20 Mai 2013
right !
Rohan Repale
Rohan Repale le 20 Mai 2013
Thank you, exactly what I wanted

Connectez-vous pour commenter.

Plus de réponses (2)

Youssef  Khmou
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

Sk Group
Sk Group le 27 Oct 2021

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by