關於CCS軟件的Graph功能使用詳解


  裝載自:

      http://blog.csdn.net/HJ199404182515/article/details/60467027?locationNum=5&fps=1

 

我們在學習使用TI的DSP集成開發環境CCS(Code Compose Studio)時,有時特別想在線的看一下內存中的數據到底是個什么樣子,或者想看一下它的頻譜是個什么樣子,如果不知道CCS自帶有繪圖功能或者知道但不是很會使用,這無疑會使程序調試帶來很大的不便。對於新手來說這一功能顯得有些"高大上",讓很多人感覺它很難使用。今天筆者就來詳細的介紹一下如何正確的使用其自帶的Graph功能。

     為了更好的演示,筆者自己寫了一段演示代碼,先貼上來。

 

[cpp]  view plain  copy
 
 print?
  1. #include "math.h"  
  2.   
  3. #define PI                           3.1415926      //定義圓周率  
  4. #define Fs                           1000                //定義采樣頻率 Hz  
  5. #define F1                          100                  //信號頻率  Hz  
  6. #define F2                          20  
  7. #define Sample_points    1024               //采樣點數  
  8.   
  9. float signal1[Sample_points];  
  10. float signal2[Sample_points];  
  11.   
  12. int main(void)  
  13. {  
  14.     int i;  
  15.     float t;  
  16.   
  17.     for(i=0;i<Sample_points;i++)  
  18.     {  
  19.         t = i*1.0/Fs;  
  20.         signal1[i] = sin(2*PI*F1*t);  
  21.         signal2[i] = sin(2*PI*F2*t);  
  22.     }  
  23.       
  24.     while(1);  
  25. }  

    很簡單的一段代碼,大致意思就是生成了兩個不同頻率的正弦信號。分別保存在了數組signal1和signal2中。編譯該程序,然后連上仿真器連上相應的DSP芯片,筆者用的是TMS320C6748,連上后讓程序運行到while(1);然后停止運行。如下圖所示

 

 

 

 

Single Time使用演示

點擊菜單欄Tools->Graph->Single Time,如圖所示

點開后出現如下的對話窗口:

下面對里面的每一項參數進行一下說明

Acquisition Buffer Size:表示通過仿真器從DSP的內存中讀取的數據的大小,由於程序里用於存儲信號的數組大小是1024,這里我們設置成1024,當然也可以設置成比他更小的值,這樣就只能看到信號的部分圖像。

Dsp Data Type:表示你的數據是什么類型的,它一共有如下幾種類型可選如圖所示:

演示程序中的數組是float型的所以選擇32 bit floating point。

Index Increment:索引增量,表示每個數據點序號的相差值,這里我們是逐點顯示的,因此默認設置為1,如果想要每隔一個點顯示一個那么你就應該設置成2。

Q_Value:Q值,一般這不常用,默認就行。

Sampling Rate Hz:以Hz為單位的采樣率,在這里我們的采樣率是1K,因此設置成1000。

Start Address:開始地址,表示你要顯示的數組的首地址,我們現在想要看的是數組signal1因此,設置成signal1。

Auto Scale:自動調整顯示比例使其適應整個顯示窗口。  這里我們開啟。

Axis Display :顯示坐標軸,這里我們開啟。

Data Plot Style:數據繪制類型,有Line和Bar兩種,這里我們選擇Line。

Display Data Size:顯示數據大小,表示要將多少個點的數據進行顯示,注意這個值一定要小於等於Acquisition Buffer Size,這里我們設置成1024。

Grid Style:網格類型,有 No Grid, Minor Grid, Major Grid三種選項,這里我們選擇No Grid。

Magnitude Display Scale:幅值顯示類型,有Linear(線性的)Logarithmic(對數的),這里我們選擇Linear。

Time Display Unit:顯示時間的單位有sample, s, ms, us幾種可選,其中sample表示顯示的點的序號,這里我們選擇ms。

Use Dc Value For Graph:是否使用Dc值,一般不常用,默認就行。

整個的設置如下:

設置完成后,點擊OK。出現如下的窗口。

可以通過窗口右上方的菜單對圖像進行調整,比如我想放大,這是可以點擊帶+號的放大鏡。如下圖所示。

 

Dual Time的使用方法與Signle Time相比,除了能夠同時顯示兩個數組的圖像,其它的都一樣。

FFT Magnitude使用演示

點擊菜單欄Tools->Graph->FFT Magnitude,如圖所示

里面有些參數之前已經介紹,這里不再重復,這里只介紹沒有的。

Signal Type :信號類型,有Real,Complex這兩種,由於演示程序里的是實數據,因此我們選擇Real,如果你的數據類型是Complex,那么請選擇Complex,此時會多出一些參數,因為我們平時用的大多數是實數據,因此在此不介紹Complex的。

Frequency Display Unit :頻率顯示單位,有Hz,KHz,MHz三種,這里我們選擇Hz。

FFT Order :FFT的階數,由它來決定FFT Frame Size,例如 FFT Order 設置為5 那么FFT Frame Size 就為32 = 2^5。這里我們設置成10,那么FFT Frame Size就是1024。

FFT  Frame Size :FFT一幀變換點數,它由FFT Order決定。

FFT Window Function :FFT窗函數,就是選擇做FFT變換時采用什么窗函數,有Rectangular(矩形窗,相當於沒有加窗),Bartlett,Blackman,Hamming,Hanning,至於選擇什么窗函數根據實際的需求來決定到底采用哪一個窗函數(不知道這些窗函數是什么的,請閱讀信號與系統方面的書籍),這里我們選擇的是Rectanguar,也就是不加窗。

設置好的參數如下圖所示。

點擊OK,出現如下所示窗口。

峰值點正好在100Hz處。

 

        關於FFT Magnitude PhaseComplex FFTFFT Watterfall的使用他們都與FFT Magnitude的類似,相信讀者在熟練掌握了Signle TimeFFT Magnitude的使用方法后,很快的就能學會使用其它的繪圖方法。

 

筆者使用的CCS版本是6.13,在其它的版本上使用方法與之類似,讀者在學習其他版本的Graph功能時,依然可以以此為參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM