自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

模擬和數(shù)字信號的橋梁——奈奎斯特采樣定理

開發(fā) 前端
在我們周圍有著各種各樣的模擬信號,比如,電流,電磁波,溫度,聲音等等。作為計算機(jī)系統(tǒng)來說,它只認(rèn)識0和1,意味著它只能處理數(shù)字信息,但是,它是如何處理我們周圍的這些模擬信號的呢?

[[376497]]

在我們周圍有著各種各樣的模擬信號,比如,電流,電磁波,溫度,聲音等等。作為計算機(jī)系統(tǒng)來說,它只認(rèn)識0和1,意味著它只能處理數(shù)字信息,但是,它是如何處理我們周圍的這些模擬信號的呢?要理解這個問題,我們需要理解在數(shù)字信號處理領(lǐng)域中一個非常重要的定理——采樣定理,它是模擬信號數(shù)字信號之間的一個基本橋梁,本文將和大家一起學(xué)習(xí)奈奎斯特-香農(nóng)采樣定理。

采樣定理1928年由美國電信工程師奈奎斯特首先提出來的,因此稱為奈奎斯特采樣定理。1933年由蘇聯(lián)工程師科捷利尼科夫首次用公式嚴(yán)格地表述這一定理,因此在蘇聯(lián)文獻(xiàn)中稱為科捷利尼科夫采樣定理。1948年信息論的創(chuàng)始人香農(nóng)對這一定理加以明確地說明并正式作為定理引用,因此在許多文獻(xiàn)中又稱為香農(nóng)采樣定理。

我們先來看下面一個例子,對于一個正弦信號:

如果我們分別以0.5,0.25,0.1,0.01的間隔取點(diǎn),然后再將每個點(diǎn)用直線連接起來。

從上面的圖中可以發(fā)現(xiàn),時間間隔越小,記錄這個信號的點(diǎn)數(shù)也多,信號還原的就越精確。顯然,我們不可能無限多的點(diǎn)數(shù)去記錄這個信號,如何才能準(zhǔn)確的表達(dá)信號,又能合理的使用計算機(jī)資源?

其實(shí)大佬們早就有研究,就是我們今天要學(xué)習(xí)的奈奎斯特-香農(nóng)采樣定理。

采樣頻率要大于信號最高頻率的2倍,才能無失真的保留信號的完整信息。

即:

這里,我們將這個信號頻率(這個臨界點(diǎn))叫做奈奎斯特頻率。下面我們不妨先通過一個實(shí)驗(yàn)來理解這個定理,假如有下面這樣一個信號:

令f=5 Hz, 再分別依次以5Hz,10Hz,20Hz,40Hz,100Hz的采樣率進(jìn)行采樣,觀察不同采樣率情況下時域和頻域的信號還原情況,老規(guī)矩先上代碼。

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3.  
  4. def signalCreate(_fs, _N, _f0): 
  5.     fs = _fs # 采樣率 
  6.     N = _N # 數(shù)據(jù)點(diǎn)數(shù) 
  7.     f0 = _f0 
  8.     n = np.linspace(0, N-1, N) 
  9.     t = n / fs 
  10.     yt = np.exp(1j*2*np.pi*f0*t) 
  11.     f = n * fs / N - fs/2 
  12.     yf = np.fft.fftshift(np.fft.fft(yt)) 
  13.  
  14.     return t, yt, f, yf 
  15.  
  16. t, yt, f, yf = signalCreate(5, 128, 5) 
  17. plt.subplot(5, 2, 1) 
  18. plt.plot(t, yt) 
  19. plt.subplot(5, 2, 2) 
  20. plt.plot(f, np.abs(yf)) 
  21.  
  22. t, yt, f, yf = signalCreate(10, 128, 5) 
  23. plt.subplot(5, 2, 3) 
  24. plt.plot(t, yt) 
  25. plt.subplot(5, 2, 4) 
  26. plt.plot(f, np.abs(yf)) 
  27.  
  28. t, yt, f, yf = signalCreate(20, 128, 5) 
  29. plt.subplot(5, 2, 5) 
  30. plt.plot(t, yt) 
  31. plt.subplot(5, 2, 6) 
  32. plt.plot(f, np.abs(yf)) 
  33.  
  34. t, yt, f, yf = signalCreate(40, 128, 5) 
  35. plt.subplot(5, 2, 7) 
  36. plt.plot(t, yt) 
  37. plt.subplot(5, 2, 8) 
  38. plt.plot(f, np.abs(yf)) 
  39.  
  40. t, yt, f, yf = signalCreate(100, 128, 5) 
  41. plt.subplot(5, 2, 9) 
  42. plt.plot(t, yt) 
  43. plt.subplot(5, 2, 10) 
  44. plt.plot(f, np.abs(yf)) 
  45.  
  46. plt.show() 

結(jié)果如下圖,左邊是時域右邊是頻域。當(dāng)采樣頻率是5Hz時,還原出來的信號是一個頻率為0的直流信號,顯然,這里當(dāng)采樣頻率小于信號頻率的兩倍時是無法準(zhǔn)確還原原信號的;當(dāng)采樣頻率是10Hz時,還原出來的信號似乎也還是有些不對的地方,在頻域上很明顯信號不能完整的顯示出來;當(dāng)采樣頻率是20Hz時,不管是時域還是頻域還原出來信號都已經(jīng)很接近原始信號了;當(dāng)然我們繼續(xù)增加采樣頻率,當(dāng)采樣頻率是40Hz和100Hz時,還原出的信號更加接近真實(shí)信號了。

不同采樣率采樣

不過,我們對比采樣頻率40Hz和100Hz的頻域圖形可以發(fā)現(xiàn),100Hz的明顯要“胖”一些。這是因?yàn)轭l率分辨率變大了,采樣點(diǎn)數(shù)不變,采樣分辨率隨著采樣頻域增加而增加,采樣分辨率可以用下面的公式計算:

顯然,采樣頻率如果太低就不能正確還原真實(shí)信號;但是如果采樣頻率太高,會有較大的頻率分辨率,同時又會有產(chǎn)生大量的數(shù)據(jù)。通常,在實(shí)際應(yīng)用中采樣頻率會選擇比兩倍奈奎斯特頻率要大一些(比如3~5倍)。

另外,在采樣的過程中,對比采樣頻率和奈奎斯特頻率大小關(guān)系,我們還可以這樣來描述:

  • 采樣頻率高于兩倍奈奎斯特頻率,這種采樣被稱為過采樣;
  • 采樣頻率低于兩倍奈奎斯特頻率,這種采樣被稱為欠采樣。

本文轉(zhuǎn)載自微信公眾號「 Will的大食堂」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Will的大食堂公眾號。

 

責(zé)任編輯:武曉燕 來源: Will的大食堂
相關(guān)推薦

2015-07-23 15:00:41

DSP

2015-09-10 13:17:48

DSP

2021-10-13 10:57:29

數(shù)據(jù)泄露勒索軟件信息安全

2024-10-15 13:30:03

2022-08-03 07:50:15

射頻IQ采樣信號處理

2023-09-22 10:40:28

數(shù)字化轉(zhuǎn)型數(shù)字化

2023-03-21 18:06:49

ADC數(shù)字轉(zhuǎn)換器

2023-03-20 16:21:26

ADC數(shù)字轉(zhuǎn)換器

2015-08-13 11:22:26

2021-02-08 22:32:43

程序員 靜態(tài)網(wǎng)頁

2018-09-18 09:28:05

PCB布線數(shù)字布線經(jīng)驗(yàn)

2013-09-18 09:57:01

Android開源雅虎

2010-10-08 21:14:08

2023-09-06 15:27:22

ADC鴻蒙

2021-03-05 11:52:50

LinuxSPI驅(qū)動詳解

2012-08-21 15:00:43

谷歌AndroidAOSP

2021-03-04 20:33:09

補(bǔ)碼小數(shù)符號位

2015-08-28 09:52:27

2022-06-09 10:35:51

客戶體驗(yàn)CIO首席信息官
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號