【发布时间】:2017-05-19 16:23:43
【问题描述】:
假设我在 Matlab 中有这样的信号
x = cos(2*pi*10*t) + cos(2*pi*20*t) + cos(2*pi*50*t);
我想将 20 到 30 赫兹之间的值更改为 0。我该怎么做?我的意思是,那些从 x 公式生成的值,我想稍微改变一下。
【问题讨论】:
-
提示:使用logical operators。
-
@kedarps 哦,它们也适用于信号吗?我可以运行 x(0.4:0.6) = 0 之类的东西吗?
-
抱歉,我编辑了我的问题并使其更清晰
-
我假设,你有一个时间向量,
t。从时间向量中获取索引,例如idx = (t >= 0.2) & (t <= 0.3)。现在使用这些索引来改变你的信号向量,比如x(idx) = 0。 -
谢谢。它确实改变了它,但它根据x轴的值改变了它。我要改变的是根据hz。带通滤波器。这样生成的信号本身在 5 到 15 赫兹(例如)之间变为 0。而不必使用时间向量。
标签: matlab signals signal-processing