如何相移正弦波 - MATLAB?

时间:2016-03-28 07:06:27

标签: matlab phase

我想相移一个正弦波,如下所示。

enter image description here

这里发生的是在红线点发生相移。因此,它不是遵循其自然路径(虚线),而是开始沿着移位路径(虚线)。

我尝试按如下方式对其进行编码。

clear;

t =(0:10000)/10000';

for ii = 1:length(t)

 x(ii)=exp(i*2*100*t(ii));

   if ii == 235      % point at which the phase shift occurs

        x(ii) = x(ii)*exp(-i*(pi/4));

   end

 end
 plot(t,real(x));

有人能告诉我代码中的错误吗?

1 个答案:

答案 0 :(得分:1)

clear;

t =(0:1000)/10000';

for ii = 1:length(t)

 x(ii)=exp(i*2*100*t(ii));

   if ii >= 235      % point at which the phase shift occurs

        x(ii) = x(ii)*exp(i*(pi/4));

   end

 end
 plot(t,real(x));

只需在if语句中更改== as> =。

结果如下。

enter image description here