數(shù)字示波器在高頻信號采集中的應用
1 高頻信號的采集
當要對一個高頻信號(比如高達100MHz的雷達波形)進行采集和處理的時候。通常會設計一個高速或者超高速硬件采集電路,包括放大部分、濾波部分;A/D和D/A轉(zhuǎn)換部分等,這種電路的要求非常高,要求邊采集邊存儲,電路速度高,而且要考慮各種輻射干擾等,同時,目前市場上成品價格很難承受。并且根據(jù)采樣定理,一個最高頻率為/的連續(xù)信號,完全可以用時間上相隔了=1/2f的一系列離散采樣值來表示。所以采樣頻率F應等于或大于被采樣信號的最高頻率f的2倍,即F≥2f??紤]到實際恢復波形的低通濾波器不可能具有完全理想的特性,為了正確恢復信號,通常取9=(2.5-5)f或更高。當采樣的信號高達100MHz時,就應該達到500MHz的采樣率。
2 示波器與計算機的通信
Tektronix公司的TDS系列數(shù)字實時示波器早已經(jīng)在各處得到廣泛應用,并且其配套的擴展模塊TDS2CM和TDS2MM模塊具有與外部設備雙向通訊的功能,可直接與打印機、微機連接,使波形的存儲打印等工作變得十分方便。其中TDS220數(shù)字示波器擁有100MHZ的帶寬,以10 倍的掃描方式,達到1GS/s的采樣率。當配套的TDS2CM模塊采用RS232電纜用串口通信與計算機連接后,利用相應軟件(如Matlab等)可以對示波器的數(shù)據(jù)、波形直接進行讀取、處理。
因此可以采用數(shù)字示波器與PC機間的通訊,在數(shù)字信號處理方面,此時數(shù)字示波器相當于一個高速信號采集器,他把數(shù)據(jù)傳輸?shù)接嬎銠C中,配合Matlab,能實現(xiàn)對高頻信號的采集與處理,而且與一般意義上的硬件處理器相比沒有了A/D和D/A轉(zhuǎn)換過程,是處理的精度和速度都有了明顯的提高,而且價格上示波器配套模塊TDSCM2模塊也比相應功能的硬件處理器便宜不少。
3 優(yōu)缺點
數(shù)字示波器與PC機的通訊不僅具有一般臺式數(shù)字存儲示波器的功能,而且充分發(fā)揮了計算機強大的功能和軟件設計的靈活性,他具有4個顯著特征:
(1)采用編程語言Matlab和面向?qū)ο缶幊碳夹g,軟件開發(fā)效率高,可操作性和可維護性好;
(2)為數(shù)字存儲示波器增加了頻域分析功能;
(3)充分利用了計算機的存儲與外設連接的能力,測量結果和波形可直接打印輸出或通過網(wǎng)絡共享;
(4)在相同硬件條件下,可以通過修改或增加軟件模塊,形成新的儀器功能。
由于要用到示波器,計算機以及RS232的連接,沒有單個硬件電路簡單明了,是其不足之處。
4 應用情況
4.1 通信原理
Matlab是美國Math Works公司推出的一種以矩陣為基本編程單位的高效數(shù)值計算語言,是一個集科學計算、圖像處理、聲音處理于一體的高度集成系統(tǒng)。他具有強大的數(shù)值計算功能,其中的Instrument Control Toolbox提供對GPIB,RS-232,VXI,Centronics等端口進行控制的功能。當用Matlab軟件通過RS232與TDS2CM模塊串口連接可以實現(xiàn)示波器與計算機之間的數(shù)據(jù)通訊,同時利用Matlab數(shù)值處理、矩陣運算功能對示波器記錄的波形數(shù)據(jù)進行各種分析和處理。
Matlab通過調(diào)用M文件函數(shù)來創(chuàng)建設備對象,得到設備的文件句柄,這樣可以像操作文件一樣操作設備,對外設進行相關的讀寫。原理圖如圖1所示。
當直接通過RS232進行硬件通信控制時,示波器通過DCD(載波檢測),CTS(清除發(fā)送),RI(振鈴提示)3個控制信號表示當前狀態(tài),用RTS(請求發(fā)送)發(fā)送數(shù)據(jù)。
4.2 數(shù)據(jù)傳榆
當Matlab以二進制格式對示波器的波形進行數(shù)據(jù)讀寫時,讀寫數(shù)據(jù)與示波器實際數(shù)據(jù)換算由式(1)給出:
Xn=Xzero+Xiner·n
Yn=yzero+Ymult(Yn-Yoff)(1)
其中:Yn為輸入、輸出緩沖區(qū)中的數(shù)據(jù),
n為數(shù)據(jù)個數(shù):
Xn,Yn為示波器中實際采樣時間與信號幅值,
Xzero是所采集波形第一個點的時間,
Xiner是水平軸上的采樣率,
yzero是0dB時的幅值,
Ymul是垂直軸上的比例因子;
Yoff是垂直偏移量。
由式(1)可見,所傳輸?shù)臄?shù)據(jù)完全按照示波器的采樣率,波形真實可靠。程序流程圖如圖2所示。
對示波器的命令由fprintf函數(shù)以字符串的形式輸出。
設置和詢問命令由具體的示波器廠商定義。
從示波器讀取數(shù)據(jù)的部分程序如下:
g=serial(′coml′);
g.InputBufferSize=10000;
g.timeout=10;
g.BaudRate=9600;
g.Parity='none';
g.StopBits=1;
g.Terminator='LF'
g.FlowControl='hardware';
fopen(g);
fprintf(g,'select:chl on′);
fprintf(g,'data:source chl′);
fprintf(g,'data:encdg srib′);
fprintf(g,'data:start l′);
fprintf(g,'data:stop 2500′);
fprintf(g,'data:width 2′);
fprintf(g,'wfmpre:xzero? ′);
xzero=fscanf(g,'%f′);
fprintf(g,'curve? ′);
out=fread(g,2500,'intl6′);
fclose(g);
delete(g);
freeserial('coml′);
用上述程序?qū)?00MHz雷達波形的讀取如圖3所示。
4.3 數(shù)據(jù)分析處理與實例
從示波器讀取的數(shù)據(jù)按式(1)轉(zhuǎn)換后就是實現(xiàn)測量所得的波形數(shù)據(jù)值,并且可以在計算機中做相應的頻譜分析。
5 結 語
在現(xiàn)有的實驗條件下,利用數(shù)字示波器與計算機之間的通信對高頻信號進行采集與處理,能完全滿足一般意義上的信號采集工作,可以成為實驗室物美價廉的實驗工具。
評論