Problem:thinkdsp中,有一個類Linear Chirp,做用是給一個頻率範圍,他給你一個Signal,這個Signal的對應的波的頻率從低頻到高頻。好比1s的Linear Chirp波,頻率從1Hz到25Hz,如圖所示。那麼這個波是如何算出來的呢?
函數
你須要知道/假設的幾個條件:
1,波的表示爲ts, ys,一個表明時間點,一個表明事件點對應的函數值。
2,要算這個波,你的目標是根據ts算出ys,能夠假設ts是均勻的。
3,假設這個Signal是餘弦波,這個波持續1s。
4,假設採樣率是符合標準的,最大的頻率/2 < Nyquist Frequency
ui
這個算式只能處理均勻的,對於非均勻的點,使用一樣的思想。只不過dt改爲了每一個兩個點之間的差距。看代碼感覺一下。code
dts = np.diff(ts) dps = PI2 * freqs * dts phases = np.cumsum(dps) phases = np.insert(phases, 0, 0) ys = self.amp * np.cos(phases)