フィルターのクリア

How to time shift a signal

12 ビュー (過去 30 日間)
Rohan Repale
Rohan Repale 2013 年 5 月 20 日
回答済み: Sk Group 2021 年 10 月 27 日
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

採用された回答

Wayne King
Wayne King 2013 年 5 月 20 日
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 件のコメント
Youssef  Khmou
Youssef Khmou 2013 年 5 月 20 日
right !
Rohan Repale
Rohan Repale 2013 年 5 月 20 日
Thank you, exactly what I wanted

サインインしてコメントする。

その他の回答 (2 件)

Youssef  Khmou
Youssef Khmou 2013 年 5 月 20 日
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 2021 年 10 月 27 日

カテゴリ

Help Center および File ExchangeWaveform Generation についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by