2012-10-01 32 views
1

我正試圖產生一個正方形或三角波。函數chirp產生掃頻餘弦波;有沒有辦法做到這一點與正方形或鋸齒波?我的做法,現在,至少對像方波,是MATLAB - 產生掃描非餘弦波?

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; 

我可以做一個三角波相同類型的事情,但它是一個小更惱人。

一般來說,有沒有更直接的方法?

回答

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) 
+0

不是那麼簡單:啁啾的相應時域函數是弧度相位的正弦,其中t他的階段是頻率的整數http://en.wikipedia.org/wiki/Chirp#Linear_chirp – learnvst

+0

@learnvst:是的,我想這種差異創造了我忽略的1/2的因子。結果仍然是二次關係。 –

+0

這可能實際上工作。 chirp函數不一定符合我想要的;將餘弦波轉換爲正弦波,如我的示例中所示,導致初始凹曲線而不是凹曲線。 –