首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对称移位高斯脉冲

对称移位高斯脉冲
EN

Stack Overflow用户
提问于 2018-04-16 22:29:26
回答 1查看 119关注 0票数 1

请考虑以下简短代码:

代码语言:javascript
复制
fc=2e9;
fs = 100e9;
for n=1:2
  tc = gmonopuls('cutoff',fc);
  t{n}  = -2*tc:1/fs:2*tc;
  y{n} = gmonopuls(t{n}+n*5e-11,fc);
  fc=fc+5e3;
end
plot(t{1},y{1},'r',t{2},y{2},'k')

它产生两个高斯单脉冲,稍微移动一些:

我的问题是:如何使这个对称?请注意,对于红脉冲和黑脉冲,尾部匹配的up...they都是零。我是新的信号处理工具箱中的matlab,并希望修改下面的代码有匹配的头部也。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-17 02:12:48

gmonopuls计算以0为中心的高斯脉冲:

代码语言:javascript
复制
t = -2*tc:1/fs:2*tc;
y = gmonopuls(t,fc);
plot(t, y, 'k');

在不同时间对此函数进行评估不会改变曲线的基本形状。它只会改变你正在取样的曲线的哪一部分:

代码语言:javascript
复制
K = 2*tc;
for n=1:3
  t{n} = -2*tc:1/fs:2*tc + (n-2)*K;
  y{n} = gmonopuls(t{n},fc);
end
plot(t{1},y{1},'rx', t{2},y{2},'k', t{3},y{3},'bs');
legend('t-K','t','t+K');

要获得沿时间轴移动的曲线,只需在计算函数之后添加时间偏移:

代码语言:javascript
复制
for n=1:2
  tc = gmonopuls('cutoff',fc);
  t{n} = -2*tc:1/fs:2*tc;
  y{n} = gmonopuls(t{n},fc);
  t{n} = t{n} - n*5e-11;
  fc=fc+5e3;
end
plot(t{1},y{1},'r',t{2},y{2},'k')

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49867162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档