在昨天博文 使用數(shù)字示波器 DS6104 測(cè)量交流信號(hào)的幅值和相位[1]?中對(duì)于使用示波器測(cè)量正弦交流信號(hào)的幅值和相位進(jìn)行了分析和實(shí)驗(yàn)研究。但是對(duì)測(cè)量出的幅值和相位結(jié)果中的誤差隨著示波器的時(shí)基(?time base?)不同而改變的原因,究竟是在博文第二部分分析中理論上存在的誤差引起的,還是由于示波器本身在同步、AD 位數(shù)精度、數(shù)據(jù)處理窗口方面引起的呢?
關(guān)于這個(gè)問題可以通過計(jì)算機(jī)仿真實(shí)驗(yàn),對(duì)采集過程使用仿真來驗(yàn)證。
?
01 數(shù)據(jù)生成和計(jì)算方法
在實(shí)驗(yàn)中,根據(jù) DS6104 示波器的參數(shù),對(duì)于采集到的數(shù)據(jù)做一下假設(shè):數(shù)據(jù)點(diǎn)個(gè)數(shù),時(shí)基對(duì)應(yīng) 100 個(gè)數(shù)據(jù)采樣點(diǎn)。信號(hào)的頻率,相位。數(shù)據(jù)的中心對(duì)應(yīng)著時(shí)間 t=0 時(shí)刻,相當(dāng)于信號(hào)觸發(fā)同步的時(shí)間點(diǎn)位于示波器的中心。
下面給出生成數(shù)據(jù)的 Python 語句:下面給出當(dāng) ts=0.5ms 時(shí)對(duì)應(yīng)的數(shù)據(jù)波形。
▲ 設(shè)置 ts=0.5ms 時(shí)對(duì)應(yīng)的數(shù)據(jù)波形
利用在博文?使用數(shù)字示波器 DS6104 測(cè)量交流信號(hào)的幅值和相位[1]?中的計(jì)算方法求信號(hào)的有效值和相位。
測(cè)量得到的信號(hào)有效值和相位分別是:
E = 0.7071067811865476, ?theta=-1.0150610510858574e-17
02 采集位數(shù)對(duì)計(jì)算精度的影響
在示波器中,數(shù)據(jù)采集的位數(shù)為 8 位。下面對(duì)采集數(shù)據(jù)的位數(shù)分別從 1~16 進(jìn)行仿真實(shí)驗(yàn),驗(yàn)證采集數(shù)據(jù)的位數(shù)對(duì)測(cè)量的影響。
位數(shù) | 有效值 | 相位 | 有效值誤差 |
---|---|---|---|
1 | 0.7821 | 0.0000 | 0.0750 |
2 | 0.7372 | 0.0000 | 0.0301 |
3 | 0.7189 | 0.0000 | 0.0118 |
4 | 0.7076 | 0.0000 | 0.0005 |
5 | 0.7075 | 0.0000 | 0.0004 |
6 | 0.7078 | 0.0000 | 0.0007 |
7 | 0.7072 | 0.0000 | 0.0001 |
8 | 0.7072 | 0.0000 | 0.0001 |
9 | 0.7069 | 0.0000 | -0.0002 |
10 | 0.7072 | 0.0000 | 0.0001 |
11 | 0.7070 | 0.0000 | -0.0001 |
12 | 0.7071 | 0.0000 | 0.0000 |
13 | 0.7071 | 0.0000 | -0.0000 |
14 | 0.7071 | 0.0000 | 0.0000 |
15 | 0.7071 | 0.0000 | -0.0000 |
16 | 0.7071 | 0.0000 | 0.0000 |
▲ 采集位數(shù)與幅度計(jì)算誤差
▲ 不同采樣位數(shù)下對(duì)應(yīng)的采集波形
?
03 時(shí)基對(duì)誤差的影響
在下面的仿真中,采集量化位數(shù)。時(shí)基從 30us 到 5000us,采集 200 個(gè)實(shí)驗(yàn)點(diǎn)。
1. 不加窗時(shí)對(duì)應(yīng)的誤差
▲ 不同時(shí)基采樣對(duì)應(yīng)的波形
▲ 不同的時(shí)基對(duì)應(yīng)的計(jì)算誤差,量化 bit=8
?
通過實(shí)驗(yàn)可以驗(yàn)證,如果取消量化過程,所得到的測(cè)量誤差(幅值,相位)的情況與上面量化位數(shù)等于 8 時(shí)幾乎一樣。
對(duì)比在?使用數(shù)字示波器 DS6104 測(cè)量交流信號(hào)的幅值和相位[1]?中時(shí)基使用示波器測(cè)量的結(jié)果,可以看到,在 ts<0.002s 的時(shí)候,所得到的誤差與仿真的結(jié)果僅此,但當(dāng) ts 大于 0.002 之后,所得到的誤差就呈現(xiàn)了規(guī)律的鋸齒波的形狀。對(duì)于這個(gè)現(xiàn)象現(xiàn)在還無法解釋。
2. 加窗口之后對(duì)應(yīng)的誤差
通過對(duì)數(shù)據(jù)增加三角窗和?Hanning 窗口[2]?加權(quán)處理,來評(píng)估時(shí)基對(duì)參數(shù)計(jì)算誤差。
(1)增加參加窗口
▲ 增加三角窗口
▲ 使用三角窗對(duì)采集數(shù)據(jù)進(jìn)行處理之后的幅值誤差和相位
?
疑問:為何三角窗口對(duì)于相位影響這么大?
猜測(cè):?可能這個(gè)問題來自于對(duì)信號(hào)的量化誤差所帶來的。
▲ 將量化 8bit 去掉之后,使用三角窗口加權(quán)數(shù)據(jù)所得到的復(fù)制誤差和相位
?
(2)增加 Hanning 窗口
▲ 對(duì)數(shù)據(jù)施加 Hanning 窗口對(duì)應(yīng)的信號(hào)波形
▲ 使用 Hanning 窗口對(duì)數(shù)據(jù)加權(quán)計(jì)算的信號(hào)幅值誤差和相位
?
(3)增加 Hamming 窗口
▲ 增加 Hamming 窗口數(shù)據(jù)的波形
▲ 使用 Hamming 窗口對(duì)數(shù)據(jù)處理所得到的幅度誤差和相位
?
(4)對(duì)比三角窗口,Hanning 窗口以及 Hamming 窗口對(duì)于幅度誤差的影響
▲ 對(duì)比三種加窗方法測(cè)量幅值誤差曲線
▲ 對(duì)比三種加窗方法測(cè)量幅值誤差曲線(局部)
?
經(jīng)過放大之后,我們看到上面的幅值誤差曲線呈現(xiàn)了某種隨機(jī)的情況。猜測(cè)這可能 與量化誤差有關(guān)系,下面重新將上述加窗方法數(shù)據(jù)生成一邊,只是將對(duì)信號(hào)的量化部分去除掉。繪制出三種加窗方法測(cè)量得到的誤差曲線(局部)如下:
▲ 將量化誤差去掉之后,三種加窗方法對(duì)應(yīng)的幅值誤差曲線
?
可以看到?jīng)]有了量化誤差,測(cè)量誤差曲線與時(shí)基 ts 之間的關(guān)系變得有規(guī)律了,而不在呈現(xiàn)隨機(jī)狀態(tài)。
04 結(jié)論
通過實(shí)驗(yàn),可以看到在博文?使用數(shù)字示波器 DS6104 測(cè)量交流信號(hào)的幅值和相位[1]?中測(cè)量信號(hào)幅值和相位的過程中,時(shí)基 ts 對(duì)于測(cè)量誤差的影響所出現(xiàn)的現(xiàn)象并不能夠完全有理論仿真來解釋。特別是對(duì)于 ts 大于 0.002s 之后出現(xiàn)的情況,應(yīng)該與示波器本身的采集原理有關(guān)系。
這個(gè)分析也證實(shí)了,在實(shí)際工程實(shí)踐中,除了理論部分分析之外,還需要考慮到實(shí)際測(cè)量過程所出現(xiàn)的其它異樣的情況。
參考資料
[1]使用數(shù)字示波器 DS6104 測(cè)量交流信號(hào)的幅值和相位:?https://zhuoqing.blog.csdn.net/article/details/106439663
[2]Hanning 窗口:?https://dsp.stackexchange.com/questions/56400/hanning-and-hamming-window