看板 ASM 關於我們 聯絡資訊
大家好~最近再研究利用arduino做類比取樣的問題 使用訊號產生器做輸入訊號~輸入正弦波 在低頻的時候 可以把數值一個一個透過serial顯示出來 並且從取樣的數值可以大概猜測出這是一個正弦波來 但是來到1k Hz 之後就量測不出完整的波形了 有沒有先進 可以稍微講一下改善的方向? 謝謝 我的方法一開始是利用 DELAY(1) 每一毫秒去做取樣 這個在10HZ的時候 波形都還看得清楚~ 但是來到100HZ 之後就沒法將正弦波的每段訊號擷取 再後來 為了提高擷取頻率 所以使用了delayMicroseconds(3) 每三微秒 取擷取訊號~3微秒聽說是極限 可似乎狀況未見改善,所以後來索性就直接把delay拿掉 直接不斷取樣 可獲得的訊號還是一樣會有誤差的問題,所以才想說上來問問 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.206.167 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1432217662.A.EF8.html
MasterChang: 先說你取樣頻率是多少吧? 05/21 22:21
※ 編輯: hcf456 (123.193.206.167), 05/21/2015 22:35:21
johnpage: Delay的時間不是取樣頻率 05/22 05:57
johnpage: 1K hz 需要 0.5 ms 的取樣率 05/22 05:59
hongsiangfu: arduino使用的atmega328or2560,一個取樣花13cycles 05/23 15:48
hongsiangfu: 加上analog.read的做法,從AD request到轉換完畢 05/23 15:51
hongsiangfu: 系統會呈現idle狀態,更耗費時間。 05/23 15:51
hongsiangfu: 另外就是用USART去print資料也有速限,所以... 05/23 15:53
hongsiangfu: 上述有誤之處,請其他前輩更正,感謝。 05/23 15:54
ohm22k: 這直覺可以分兩個部分去看 05/24 00:48
ohm22k: 一是你的ADC取樣的時間最少要大於訊號變化的2倍(奈奎斯特) 05/24 00:49
ohm22k: 二是你用UART傳出來的速度問題 05/24 00:50
鮑率會影響嗎~假設頻率1K的話
ohm22k: 這邊要看你的serial傳輸速度多快 05/24 00:51
ohm22k: 且看你一次傳多少筆數據去顯示 05/24 00:51
感謝上面的前輩指點 我會再研究 屆時跟大家分享~ ※ 編輯: hcf456 (123.193.206.167), 05/24/2015 21:56:29
escorpion: Serial.print會大大增加運算時間,建議把它拿掉用示波 06/20 14:32
escorpion: 器看 06/20 14:32