|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
數據采集 與 頻率計算 |
| 作者:busy 欄目:單片機 |
請教有大蝦 例如工頻數據采集: 等間隔時間采樣,20MS內采樣64個點,如何快速算出頻率? 歡迎討論。 |
| 2樓: | >>參與討論 |
| 作者: lws 于 2006/4/26 8:24:00 發(fā)布:
如果頻率基本恒定 軟件濾波然后找連續(xù)二個波峰或波谷,周期不就出來了,最多1個周期多點 |
|
| 3樓: | >>參與討論 |
| 作者: busy 于 2006/4/26 18:15:00 發(fā)布:
等待高手! 等待高手! |
|
| 4樓: | >>參與討論 |
| 作者: 老狼 于 2006/4/27 0:04:00 發(fā)布:
找到過0點, 一個值為正,它的相鄰點位負, 如果你的cpu夠快,就用fft |
|
| 5樓: | >>參與討論 |
| 作者: 老狼 于 2006/4/27 0:08:00 發(fā)布:
最好的方法 直接將你的模擬信號,開環(huán)放大,然后用比較器正形成方波,用io口測量f. |
|
| 6樓: | >>參與討論 |
| 作者: busy 于 2006/4/27 19:13:00 發(fā)布:
re:老狼 1、FFT算法計算量比較大,非常耗MCU。 2、采樣數據算過零點,誤差太大,除非快速多點、采樣,這也不是好方法。 3、用硬件比較器計算周期、脈寬是比較快速的方法,我也用過!可是硬件上我不想增加成本。 所以想找個軟件高效的方法。 不知道是否還有其它方法? |
|
| 7樓: | >>參與討論 |
| 作者: IceAge 于 2006/4/27 21:27:00 發(fā)布:
兩種方法: 1, 使用 fundamental DFT, 注意:不是FFT ! 這樣可以通過 (R1 + jI1) * (R2 - jI2) 計算角差,可得頻率。此法 dft 運算量不大,但 arctan 計算量不小,如果不能自己優(yōu)化的話。 2. Cross Zero. 判斷過零點。對過零點做線性插值處理,可獲得相當高精度的周期時間。此法計算量不大,精度略低于 dft 法。 |
|
| 8樓: | >>參與討論 |
| 作者: busy 于 2006/4/28 20:46:00 發(fā)布:
re: IceAge 非常認可IceAge的做法。 特別是第2種“對過零點做線性插值處理”,一語驚醒夢中人啊!不過存在問題是:只能針對單一順正的波形。 對與第1種算法,不知道IceAge大俠是否有源代碼提供? 實在是感激! zby8020@163.com |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |