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

原文轉載於:http://blog.csdn.net/hj199404182515/article/details/60467027   非常感謝。


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

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

  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功能時,依然可以以此爲參考。


發佈了117 篇原創文章 · 獲贊 294 · 訪問量 66萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章