段皞一
摘要:鎖相放大器也稱相位檢測器,是一種從干擾極大的環(huán)境中分離出特定載波頻率信號的放大器,具有十分廣泛的應用價值。該課題基于鎖相放大器發(fā)展迅速的背景,結合鎖相放大器的工作原理,運用單片機自主搭建具備基礎功能的鎖相放大器,探討如何運用鎖相放大器測量弱聲壓信號,并進行相應的數據分析。該實驗設計的鎖相放大器主要由信號發(fā)射、運算放大、乘法器、低通濾波、移相器、示波器幾個模塊組成。與公司生產的鎖相放大器相比,該實驗自主設計的鎖相放大器結構比較簡單,省去了鎖相環(huán)、濾波整形等非必需的模塊,具有成本低廉的特點。
關鍵詞:鎖相放大器;模塊化;信號通道;乘法器;移相器;濾波器
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)34-0116-03
1 基本原理
1.1信號測量原理
鎖相放大器是根據正弦函數的正交性原理工作的。其核心部分就是讓一個頻率為[ω]的正弦函數與另一個頻率為[ω]的正弦函數相乘,然后對乘積進行積分(積分時間遠大于兩個函數的周期),其結果為零。實驗的要點就是如何產生出頻率相同的參考信號與待測信號,并且將兩個信號通過乘法器相乘,最終通過低通濾波器,得出最終的直流信號,推算出待測信號與參考信號的相位差,從而完成待測信號,即弱聲壓信號的測量。
在檢測微弱信號的同時,常常會檢測到較強的干擾信號。干擾信號通常是無規(guī)律的,不能表示為與時間相關的確定函數;待測信號則是周期性信號,與時間變量存在確定的函數關系。利用這一性質的差異,可以從干擾信號中檢測微弱的信號。
1.2 實驗原理
自相關檢測和互相關檢測的實驗原理分別如圖1和圖2所示。
當待測信號非常微弱難以被儀器檢測時,可以使輸入信號先通過放大器。放大器增益可調,以適應被測信號的大小。此外,可以在乘法器前串聯(lián)帶通濾波器,將中心頻率調到與被測信號相同的頻率,對干擾信號進行初步抑制。
1.3 公式推導
一般的周期性函數可以展開成傅里葉級數,也可以進行類似的計算。以待測信號為時間的正弦函數為例,進行公式推導。
1.3.1 自相關檢測的公式推導
設待測信號隨時間變化的關系為
s(t)=Asin(ωt+ψ)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
干擾信號的隨時間的變化關系為n(t),則輸入信號為
x(t)=s(t)+n(t)= Asin(ωt+ψ)+n(t)? ? ? ? ? ? ? ? (2)
經過延時器的輸入信號會延遲時間τ,延時器的輸出為
x(t-τ)= Asin(ωt-ωτ+ψ)+n(t-τ)? ? ? ? ? ? ?(3)
輸入信號和延時器的輸出信號依次做相乘運算和積分運算,積分的時間從t0到T,其中T趨于無窮,計算結果為Rxx(τ)
Rxx(τ)=[limT→∞1Tt0T+t0x(t)x(t?τ)dt]
= Rss(τ)+ Rsn(τ)+ Rns(τ)+ Rnn(τ)? ? ? ? ? ? ? ? ? (4)
其中
Rss(τ)=[ limT→∞1Tt0T+t0A2sin (ωt+ψ)sin(ωt?ωτ+ψ)dt]
Rsn(τ)=[ limT→∞1Tt0T+t0Asinωt+ψn(t?τ)dt]
Rns(τ)=[ limT→∞1Tt0T+t0Asin(ωt?ωτ+ψ)n(t)dt]
Rnn(τ)=[ limT→∞1Tt0T+t0ntn(t?τ)dt]? ? ? ? ? ? ? ? ? ? ? ?(5)? ? ? ? ? ? ? ? ? ? 當T趨于無窮,由于s(t)和n(t)不相關且平均值為0,Rsn(τ)和Rns(τ)趨于0。當τ越大時,n(t)和n(t-τ)的相關性越低,Rnn(τ)趨于0。因此,當T趨于無窮且τ較大時,可得:
Rxx(τ)= Rss(τ)=[limT→∞1Tt0T+t0A2sin (ωt+ψ)sin(ωt?ωτ+ψ)dt]
=[limT→∞?A22Tt0T+t0[cos2ωt?ωτ+2ψ?cosωτ]dt]
=[limT→∞A22Tt0T+t0cosωτdt]
=[A22 cosωτ]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)
從最后結果可以看出,當cos[ωτ≠0]時,輸出信號為直流信號??梢愿淖僛τ]的大小,觀察輸出結果大小的變化規(guī)律,推出待測信號的參數A和[ω]的值。
1.3.2 互相關檢測的公式推導
設待測信號隨時間變化的關系為
s(t)=Asin(ωt+ψ)? ? ? ? ? ? ? ? ? ? ? ? ? (7)
干擾信號的隨時間的變化關系為n(t),則輸入信號為
x(t)=s(t)+n(t)= Asin(ωt+ψ)+n(t)? ? ? ? ? ?(8)
參考信號與待測信號具有相同周期,色參考信號隨時間變化關系為
y(t) =Bsin(ωt+ψ0)? ? ? ? ? ? ? ? ? ? ? (9)
輸入信號和參考信號依次做相乘運算和積分運算,積分的時間從t0到T,其中T趨于無窮,計算結果為R(t)
R(t)=[limT→∞1Tt0T+t0xtytdt]
=[limT→∞1Tt0T+t0ABsinωt+ψsinωt+ψ0+Bn(t)sinωt+ψ0dt]
=[limT→∞?AB2Tt0T+t0[cos2ωt+ψ+ψ0?cosψ?ψ0]dt]
=[limT→∞AB2Tt0T+t0cosψ?ψ0]dt]
=[AB2cosψ?ψ0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (10)]
從最后結果可以看出,輸出信號為直流信號。由于參考信號參數已知,可以求出待測信號的振幅A和初相[ψ]的大小。
2 儀器系統(tǒng)
本實驗設計的鎖相放大器系統(tǒng)原理示意圖如圖3所示。
其中,參考信號是由Arduino板通過代碼生成1000Hz的方波信號;待測信號一開始是基于Arduino自行搭建的,后來由于不能調整頻率,且穩(wěn)定性較弱,改用Arduino配合AD9850模塊產生的正弦波,頻率也是1000Hz;運算放大器使用的是AD620模塊;乘法器是AD835模塊;低通濾波器是UAF42模塊;移相部分一開始使用基于MAX232芯片自行搭建的模塊,后來因為可調電阻的阻值調節(jié)具有較大誤差,導致相位調節(jié)的結果準確度不夠高,所以選擇在參考信號的產生端使用編程手段對相位進行改變;示波器使用的是實驗室的RIGOL DS2072A示波器,以及自行搭建的基于Arduino的簡易顯示器。
3 實驗與分析
3.1 實驗步驟
查閱鎖相放大器相關文獻資料,掌握鎖相放大器的原理,并且將鎖相放大器劃分為參考信號通道、待測信號通道、運算放大器、移相器、乘法器、低通濾波器、電壓源等幾個模塊。之后小組成員每個人主要負責其中的一個模塊。
考慮到各個模塊相互之間的兼容性,我們每個模塊都選了幾個備選項,通過調試與不斷的試錯,最終確定了我們最終的模塊型號,它們都是使用Arduino自帶的5V電壓源進行供電,相互之間較為適配。
每個模塊都調試好了以后,我們開始搭建最終的模塊。其中出現了許多意料之外的問題,比如,辛辛苦苦焊接了將近一個月的移相器模塊,雖然能夠進行移相的操作,但是同時讓波形產生了抖動,電壓的峰值也發(fā)生了改變(變化了10%左右),究其原因可能是由于模塊中使用的電阻與大小與理論狀態(tài)有所偏差,以及焊接過程中在接頭處產生了不可避免的誤差。發(fā)現這一問題以后,我們使用參考信號的產生端使用編程手段對相位進行改變。還有,一開始搭建的正弦波信號一直不穩(wěn)定,最后也做了調整。
最終,對整個鎖相放大器模塊進行數據的采集,并對數據進行分析。
3.2 弱聲壓信號測量
本實驗的參考方波信號頻率為1000Hz,峰峰值為8.6V。下面以相位差為90°為例,推導實驗結果的計算過程。
首先,給出實驗數據依據的相關公式:
被測信號:[asin (ωt+α)] V
參照信號:[bsin (ωt+β)] V
乘法運算:[ab?cosβ?α2?ab?cos2ωt+α+β2] V
低通濾波器:[ab?cosβ?α2] V
實驗中的信號頻率采用1000Hz
[ω=2πf=2π?1000=6283rad/s]
方波信號:[8.6sin (6283t+α)] V
正弦信號:[1.298sin (6283t+β)] V
方波信號與正弦信號相乘:
理論值:(相位差為90°)
[1.298×8.6(cosβ?α2?cos2×6823?t+α+β2)] V
實際值如圖:
濾波信號:由于相位差為90°,所以理論值應當為0V,即
[1.298×8.6?cosβ?α2=1.298×8.6?cos90°2=0]
而實際值為32mV.
[cosβ?α2=32×10?31.298×8.6 ]
[cosβ?α=0.00966]
[β?α=89.67°]
誤差為[σ=90?89.6790×100%=0.4%.]
運用鎖相放大器對弱聲壓信號的測量,測量了10組數據,誤差在0.4%到5.7%之間,結果如表1所示。
3.3 分析
3.3.1 誤差來源
待測信號本身頻率不精確等于1000Hz;放大器、移相器模塊有信號的損失;乘法器計算的波形有誤差、濾波過程有誤差。
3.3.2 誤差分析
首先,實驗中的信號通道模塊都是我們自主設計的,方波信號是由Arduino的代碼產生的,相對具有較高的穩(wěn)定性,在示波器上保持1000Hz的頻率和8.600V的峰峰值。而由于Arduino自身不帶有正弦信號產生的功能,所以實驗中,我們使用Arduino Uno單片機和AD985應用模塊配合產生正弦波信號,該信號峰峰值穩(wěn)定在1.298V,但是頻率不是精確的1000Hz,而是988Hz,相當于乘法器過后的濾波是針對正弦波的分量進行的,并不是正弦信號本身,這給信號的測量帶來了系統(tǒng)上的誤差。
乘法器的計算也有一定的誤差,以下是實驗中90°相位差的參考信號和待測信號經過乘法器后產生的理論和實際的波形圖的對比。
4 總結
實驗采用988.1Hz,峰峰值為8.600V的方波作為參考信號,1000Hz、峰峰值為1.298V的正弦波作為待測信號,通過Verilog調整相位差,進行了10組測量實驗,相位差的誤差在0.4%到5.7%之間,基于單片機搭建的鎖相放大器實現了測量弱聲壓信號的功能,取得了較為滿意的實驗結果。
本實驗注重于原理與公式的理解,以及各自模塊的選擇和最終模塊的組裝。起初,我們對于誤差這一塊并不抱有太大的希望,因為造成誤差的地方實在是太多了,而且相對于公司生產的鎖相放大器商品,本課題基于單片機搭建的鎖相放大器在架構上本身就少了相敏檢波器、鎖相環(huán)、濾波整形器等減小實驗誤差的模塊。最終的實驗誤差并不是太大,可能是由于各個導致實驗誤差的因素之間相互抵消了一部分的結果。
之后,本課題設計的鎖相放大器可以提升地方有以下幾點:
首先,能夠測量多種頻率的信號。要實現該功能只需要每次更改參考信號和待測信號的Arduino代碼即可。其次,能夠對相位進行檢測,從而減小實驗誤差,這就要求搭建一個更加精確可用的相敏檢波器模塊。另外,可以探討如何解決自主焊接的移相器模塊誤差較大的問題;如何改變接線,讓自主設計的正弦信號不再呈現鋸齒狀;如何改良自主搭建的顯示器模塊,使其能夠更加清晰、穩(wěn)定地顯示波形圖,并且顯示更多的參數。最后,我們可以搭建類似3D打印機的電控三維掃描支架,與探測協(xié)同工作。
參考文獻:
[1] 劉芳芳.基于AD630的鎖相放大器的設計與分析[D].哈爾濱:哈爾濱理工大學,2016.
[2] 聶婭琴.基于鎖相放大器的微弱信號檢測研究[D].長沙:中南大學,2014.
[3] 李鳳鳴.基于DSP的數字鎖相放大器的設計[D].哈爾濱:哈爾濱工程大學,2011.
[4] 陳德煌.模擬乘法器AD834的原理與應用[J].國外電子元器件,2000,8(6):16-17,19.
【通聯(lián)編輯:代影】