新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > Matlab與TDS系列數(shù)字示波器的通信過程

Matlab與TDS系列數(shù)字示波器的通信過程

作者: 時間:2017-01-12 來源:網(wǎng)絡(luò) 收藏

  RS-232串行通信接口被廣泛應(yīng)用于近距離的計算機和終端之間的相互通信當中,TDS210示波器也配接有DB9型插件的RS-232接口。當采用硬件握手方式進行通信控制時,示波器使用CD、CTS、RI三個控制信號表明其當前狀態(tài),而Matlab使用RTS信號請求數(shù)據(jù)發(fā)送。由于采用異步通信協(xié)議對通信雙方的時鐘同步要求不太嚴格,由數(shù)據(jù)的起始位作為雙方通信的同步信號,因此Matlab與示波器之間采用異步通信,編制的從示波器讀取數(shù)據(jù)的部分程序如下:

  %創(chuàng)造設(shè)備對象

  g=serial(com1);

  %通信初始化g.InputBufferSize=10000;

  g.timeout=10;

  %設(shè)定傳輸波特率為9600b/s,字符格式為:8位數(shù)據(jù)位,1位停止位,終止符為LF,沒有奇偶校驗位,使用硬件握手方式。

  g.BaudRate=9600;

  g.Parity=none;

  g.StopBits=1;

  g.Terminator=LF;

  g.FlowControl=hardware;

  %連接設(shè)備對象

  fopen(g)

  %數(shù)據(jù)傳輸

  fprintf(g,select: refa on);

  fprintf(g,data:source refa);

  fprintf(g,data:encdg srib);

  fprintf(g,data:start 1);

  fprintf(g,data:stop 2500);

  fprinft(g,data:width 2);

  fprintf(g,wfmpre:xzero?);

  xzero=fscanf(g,%f);

  fprintf(g,wfmpre:xincr?);

  xincr=fscanf(g,%f);

  fprintf(g,wfmpre:yzero?);

  yzero=fscanf(g,%f);

  fprintf(g,wfmpre:ymult?);

  ymult=fscanf(g,%f);

  fprintf(g,wfmpre:yoff?);

  yoff=fscanf(g,%f);

  fprintf(g,curve?);

  out=fread(g,2500,int16);

  

  

  %釋放設(shè)備對象與端口

  fclose(g);

  delete(g);

  freeserial(com1);

  用上述程序?qū)κ静ㄆ鬟M行讀取的方波信號如圖2所示。

  3 數(shù)據(jù)分析與實例

  從示波器讀取的數(shù)據(jù)按(1)式轉(zhuǎn)換后就是實現(xiàn)測量所得的波形數(shù)據(jù)值,相應(yīng)的采樣頻率為1/Xincr。L1空間的信號滿足絕對可積條件,可以用快速傅立葉變換算法直接進行頻譜分析。圖3為對讀取的方波所做的FFT結(jié)果。由于對采樣信號的截取相當于對信號加矩形窗,不可避免地引起頻譜泄漏和混疊,在滿足采樣定理和保證示波器波形周期完整的條件下,所做的頻譜分析結(jié)果與示波器所得的波形周期數(shù)無關(guān)。對于噪聲信號可作功率譜估計,上述采樣信號的功率譜估計如圖4所示。

  從上面的數(shù)據(jù)通信過程和對采樣信號頻譜分析及功率譜估計實例可以看出:Matlab與示波器組成了一個信號采集及分析系統(tǒng),示波器在其間起數(shù)據(jù)采集和存儲作用,而Matlab則實現(xiàn)對采樣得到的信號進行分析和處理。


上一頁 1 2 下一頁

評論


技術(shù)專區(qū)

關(guān)閉