等精度频率计
一、理想頻率計
找出單位時間內待測脈沖的個數。通常這個單位時間是指1s,當然也可以設置0.1是,可以換算出頻率。
比如上圖的頻率是6Hz。
*1.1、測頻原理
基準時鐘CLK_FS,為晶振輸入的自由運行的時鐘。
上述的單位時間,我們稱作為門控時間。
在門控時間內基準時鐘的個數成為fs_cnt
gate_time = fs_cnt*(1/CLK_FS) .
待測信號頻率clk_fx;
門控時間內clk_fx的個數為fx_cnt。
gate_time=fx_cnt*(1/clk_fx)
fx_cnt*(1/clk_fx)== fs_cnt*(1/CLK_FS).
clk_fx=fx_cnt*CLK_FS/fs_cnt.
二、傳統頻率計
上圖是一個理想情況:門控信號正好是基準時鐘和待測信號的整數倍。
對于第一個門控信號,待測信號個數是7個;對于第二個門控信號待測信號個數是6個,脈沖個數誤差是±1。
將誤差帶入clk_fx公式,可以得到被測頻率誤差為±1/gate_time。可以看到傳統的測量方法的誤差與門控時間直接相關,比如門控時間是1s,那么誤差就是1Hz。
相對誤差的定義:誤差值/準確結果。即△clk_fx/clk_fx
△clk_fx的絕對值是1/gate_time. 1/gate_time=clk_fx/fx_cnt.所以最終誤差等于被測脈沖個數分之1.
由上述推導可以得出傳統頻率計的誤差為被測信號在門控內的計數次數。對于高頻來說,這個數值很大,但是對于低頻來說,這個計數很小,誤差就很大。
三、等精度頻率計
與傳統頻率計不同的是,傳統頻率計的門控信號是由基準時鐘產生的,它會對被測信號在統計上有±1的誤差。
等精度頻率計的門控信號是由被測信號產生的,這樣子對被測信號統計沒有誤差,但是對于基準時鐘來在統計上有一個誤差。
由于門控時間的計算是由fs_cnt*1/CLK_FS。fs_cnt有誤差,門控時間的計算也有誤差。
由上述圖片推導可以看出,等精度頻率計的誤差為gate_time * 基準頻率的倒數。也就是說基準頻率和門控時間越大,誤差越小。
四、代碼實現
1.由基準時鐘產生門控信號。
2.對門控信號使用被測信號進行同步。
3.同步后的門控信號作為基準時鐘計數和待測信號計數的使能。
4.有了以上2個計數和基準時鐘頻率就可以算出待測信號頻率。
總結
- 上一篇: GAN综述及其在图像生成领域的应用(含原
- 下一篇: 批量删除时传参的转换