非週期訊號 進行傅利葉變換

2021-10-03 23:21:51 字數 1603 閱讀 8284

概念:非週期序列包括:準週期與瞬態訊號。前者是指 組成訊號的正弦函式頻率之比不是有理數。後者指 一段時間內訊號的頻率,幅值是變化的。

**********====準週期訊號********************==

# 取樣間隔

dt = 0.001

# 取樣時間t1與t2

t1 = np.linspace(0,100,int(100/dt))  #因為100/dt是乙個浮點數 需要int轉化一下

t2 = np.linspace(1,100,int(100/dt))

#f1=10sqrt(2)  f2=10sqrt(6)  f3=10sqrt(12)

f1 = 10

w1 = np.sqrt(2)*2*np.pi*f1 

w2 = np.sqrt(3)*w1

w3 = np.sqrt(6)*w1

# 構造出兩個訊號f1與f2 兩者區別只是取樣時間不同

f1 = np.sin(w1*t1)+np.sin(w2*t1)+np.sin(w3*t1)

f2 = np.sin(w1*t2)+np.sin(w2*t2)+np.sin(w3*t2)

得到兩個幅頻圖:

分析:為什麼有的幅值不是1,而有的幾乎接近1 。

頻率依次為 10*sqrt(2) 10*sqrt(6)  10*sqrt(12)

週期依次為 1/(10*sqrt(2))  1/(10*sqrt(6))  1/(10*sqrt(12))

***************瞬態訊號********************=

#取樣間隔

dt = 0.001

#三個時間段,每個時間段內的頻率不同

t1 = np.linspace(0,50,int(50/dt))

t2 = np.linspace(51,60,int(9/dt))

t3 = np.linspace(61,100,int(39/dt))

#f1=10  f2=50  f3=10

f1 = 10

w1 = 2*np.pi*f1 

w2 = 5*w1       

w3 = w1         

f1 = np.sin(w1*t1)

f2 = np.sin(w2*t2)

f3 = np.sin(w3*t3)

f = np.hstack((f1,f2,f3))  #用了hstack函式將陣列連線起來

得到訊號的幅頻圖:

可見,不光能量縮減,而且缺乏時間資訊,第乙個與第三個時間段的訊號頻率相同,但重疊在一起根本無法區分。

關於隨時間而頻率變化的訊號,需要進行時頻分析,取樣短時傅利葉變換以及小波變換。

用matlab對訊號進行傅利葉變換

傅氏變換分析是訊號分析中很重要的方法,借助matlab可以很方便的對各類訊號進行傅氏頻域分析。本文介紹了集中離散的傅氏變換以及matlab實現方法。1.離散序列的傅利葉變換dtft discrete time fourier transform 1 n 8 原離散訊號有8點 2 n 0 1 n 1 ...

用matlab對訊號進行傅利葉變換

傅氏變換分析是訊號分析中很重要的方法,借助matlab可以很方便的對各類訊號進行傅氏頻域分析。本文介紹了集中離散的傅氏變換以及matlab實現方法。1.離散序列的傅利葉變換dtft discrete time fourier transform 1 n 8 原離散訊號有8點 2 n 0 1 n 1 ...

因果訊號的傅利葉變換 常用訊號的傅利葉變換對

第一部分 傅利葉變換的匯出和常用訊號的傅利葉變換 續 傅利葉變換 1 續 來自訊號與系統和數字訊號處理 00 00 09 09 音訊提綱 文字簡略而枯燥,語音才更加詳細生動哦 接上文 下圖是我自己整理的 常用訊號的傅利葉變換對 並不全面,但包含了基本的變換對,而且以傅利葉變換的性質為橋梁把它們之間的...