MATLAB - 产生扫频非余弦波?

时间:2012-10-01 19:33:40

标签: matlab

我正在尝试产生扫描的方波或三角波。 chirp函数产生扫频余弦波;有没有办法用方波或锯齿波做到这一点?我现在的方法,至少是像方波一样,是

V = A*chirp(t,f0,t1,f1, 'linear', -90); %#change the cosine wave to a sine wave
V(V<0) = -A;
V(V>0) = A; 

我可以用三角波来做同样的事情,但是它有点烦人。

一般来说,有更简单的方法吗?

1 个答案:

答案 0 :(得分:2)

扫频与评估函数相同

function(2 * pi * integral(f(t) dt))

其中f(t)是时变频率,与时间呈线性关系。

只需以两点形式写出一条线的等式:

f(t) = f0 + (t - t0) * (f1 - f0) / (t1 - t0)

并整合:

function(phase0 + 2*pi*f0*t + pi * (t - t0)**2 * (f1 - f0) / (t1 - t0))

最简单的形式是t0 = f0 = phase0 = 0,然后你得到:

function(k * t**2)