999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C語言的dsp程序設計研究

2022-05-24 07:51:27崔耿豪喬嬌嬌曹瑛嬋
科技風 2022年12期

崔耿豪 喬嬌嬌 曹瑛嬋

摘要:數字現代化是當今社會的潮流,是電子產品現代化的象征。數字信號處理器可以準確高效處理計算機的各種信號,這些都是模擬信號無法做到的。DSP芯片作為數字處理使用,在軍事、醫學等領域有著不可替代的作用,因此DSP技術作為各種電子產品的核心是當今大學生以及科研人員應該掌握的一門功課。

本文主要講述采用C語言進行C55x軟件開發的基礎知識,參照TI公司系列資料以及其它有關教材與文獻著作,結合本人三個月來的對開發DPS系統的學習體會,進行充實、提高和編撰而成。

關鍵詞:C語言;DSP芯片;C55x

1?背景

1.1課題背景和基礎研究的重要意義

當前,我國移動數字電話已擁有數億多的用戶,其中數字電視等各類數字產品已經進入千家萬戶,這些產品均充分采用了先進的數字信號處理(DSP)技術對信號進行快速處理。因此,研究本課題對于數字現代化發展和物聯網等技術的進步有著深刻的意義,能大大推動智能現代化的趁勢。所以做為研究生的我們必須熟練掌握DSP這門課程。

1.2?DSP芯片的主要發展過程簡介

DSP芯片起源于20世紀70年代末,20世紀80年代后期和90年代初期DSP在硬件結構上更適合數字信號處理的要求,擁有了硬件乘法和單指令濾波處理兩種功能。

現在,DSP的制造封裝工藝普遍采用貼片式封裝,甚至采用BGA封裝。主頻也普遍達到1GHz,指令周期普遍縮短到10ns以下。其儲存容量也越來越大。現在的DSP芯片內部一般都采用多級流水線結構,使DSP數據處理等功能有了很大的提高。DSP的字長也由以前的8位逐漸增長到現在的64位。較完善的開發工具也給開發者開發應用程序帶來了很大的方便。

2?集成開發環境

2.1集成開發環境CCS概述和軟件安裝

CCS5.4是基于Eclipse開放源軟件架構的TI嵌入式處理器集成開發環境。E-clipse軟件架構是作為一種建立開發工具的開放架構發展起來的,目前已廣泛應用于建立軟件開發環境,成為一種被很多嵌入式軟件開發商采用的標準架構。

系統配置要求:windows2000/XP/Win7操作系統下,1GB以上RAM,4GB以上的剩余硬盤空間。

CCS5.4的安裝過程十分簡單。雙擊安裝程序,按照提示操作就行了。安裝完畢,把CCS5.4軟件許可證文件拷貝到ccs\ccsv\ccs_base\debugServer路徑下。安裝成功后,桌面上自動會出現CCS5.4圖標。

2.2?C語言工程的創建

(1)選擇菜單“File”中“New……”菜單選項“CCS?Project”項。彈出“New?CCS?Project”對話框。

(2)在Project?name欄中,輸入“Ex3_2.pjt”。

(3)在Output?type欄中,選擇“Executable”。

(4)在Use?default?location欄中選“√”。Location欄中將出現啟動CCS時設置的Workspace路徑。

(5)在Device-Family下拉選單中,選擇“C55xx”。對于Device-Connection下拉選單中,選擇空白。對于Advanced?settings的各欄,均選擇缺省項。

(6)在Project?templates?and?example中選擇“Empty?Project”。單擊“Finish”按鈕,完成Ex3_2工程的建立。

2.3?C語言工程的創建與調試

建立配置文件。選擇菜單“File→New→New?Target?Configuration”項,彈出“New?Target?Configuration”對話框,填入配置的文件名字,單擊Finish按鈕。在彈出的對話框中的“Connection”欄中選擇:Texas?Instrument?Simulator,在“Board?or?Device”欄中選擇:C55xx?Rex2.x?CPU?Cycle?Accurate?Simulator,單擊“Save”按鈕退出,即可完成配置文件的建立。

進入Debug模式,出現Debug窗口。對于C語言工程來講,程序入口地址為main()函數入口處。

C語言工程中單步運行、連續運行、斷點的設置與取消等程序運行控制的方法與匯編語言工程基本相同。單擊窗口上面“run”菜單進行操作。

2.4寄存器、存儲器的觀察和修改

通過執行菜單命令“View-Registers”或“View-Memory?Browser”,可以打開寄存器窗口或儲存器觀察窗口,查看或修改C55x?CPU寄存器的數值或存儲單元的數值。如果想要修改某存儲器單元的值,可以選中相應的存儲單元,之后輸入新的值,單擊鼠標左鍵或鍵盤回車鍵即可。

2.5表達式窗口和變量窗口的使用

CCS5.4還提供了表達式(Expressions)窗口和變量(Variables)窗口,用于實時地觀察和修改變局變量和局部變量的值。通過執行菜單命令“View-Expressions”和“View-Variables”可以打開相應的窗口。

2.6圖形顯示工具

執行菜單中的命令“Tools-Graph-XX”,可以打開相應的圖形信息顯示窗口。例如,執行菜單命令“Tools-Graph-Single?Time”可以打開相應的圖形性質(Graph?Properties)窗口。這里要顯示的是向量x的圖形,其長度為200,數據類型為16位浮點(float型)。將相應參數填入圖形性質(Graph?Properties)窗口,單擊OK按鈕確認,即可直接得到如圖所示的向量x的一個時域圖形。

3?TMS320C55指令系統

3.1尋址方式

C55x可以用直接、間接、絕對三種類型的尋址方式來訪問數據空間、存儲器映射寄存器、寄存器位和I/O空間。

3.2指令系統

4??C語言程序設計

4.?1??C55x?C語言的編程理論基礎

在程序設計中,匯編語言較依賴于計算機的硬件,程序沒有好的可移植性。其它的高級語言可以解決這一狀況,但是匯編語言的一些功能難以在這些高級語言上實現。因此,我們通常選用C語言作為開發DSP的常用語言,并且這樣還能直接對硬件進行操作,解決匯編語言上某些方面上的問題。

數據類型有字符型、帶符號字符型、無符號字符型、浮點、雙精度等類型,每種類型的長度、內容、最大值和最小值各有不同,使用時根據需要選擇合適的類型[4]。

4.1.2.2?關鍵字

(1)const:當定義任意變量和數組時,這個關鍵詞可以用來確保它們的值保持不變。

(2)ioport:編輯器對原始的C語言進行了擴展,增加了ioport這個詞來支持I/O尋址模式。

Interrupt、onchip、volatile等其它關鍵詞不再列舉。

4.1.3?asm指令和Pragma指令

(1)asm指令:提供了C不能提供的對硬件的訪問功能。

(2)pragma指令:告訴了編譯器的預處理器如何運行函數。

4.2應用程序的設計

4.2.1基礎算數運算

DSP程序也有像計算機語言程序一樣的各種加減乘除算法,從而實現各種邏輯功能。此處不再一一列舉。

數字濾波器是DPS的基本應用,分為有限沖擊響應濾波器和無限沖擊濾波器兩大類。在對相位要求不高的情況下,可選用IIR濾波器,在需要線性相位的情況下,則選擇用FIR濾波器[5]。

采用C語言也可以很容易地實現直接型FIR濾波器。例如:

float?fir(float?x_in,float?*x,float?*b,int?L)

{

float?y_out;int?I;

for(i=L-1;i>0;i--)

{

x[i]=x[i-1];

}

x[0]=x_in;y_out=0.0;

for(i=0;i<L;i++)

{

y_out=y_out+b[i]*x[i];

}

Return?y_out;

}

直接型FIR濾波器的實現有兩個基本操作,一個是輸入信號向量與濾波器系數向量的內積計算,另一個是輸入信號的更新處理。每個采樣周期信號緩沖器都要更新一次,最開始的采樣x(n-L+1)被拋棄,而其它信號則向緩沖器的右方移動一個單元,一個新的采樣被插入存儲單元,并被標記x(n)。

實例程序[6]

6,?11

XE?"6"?:

Temp=xin;

for(k=0;k<N_IIR;k++)

{

w[0][k]=temp-a[1][k]*w[1][k]-a[2][k]*w[2][k];

temp=b[0][k]*w[0][k]+b[1][k]*w[1][k]+b[2][k]*w[2][k];

w[2][k]=w[1][k];

w[1][k]=w[0][k];

}

Xoutput=temp;

(1)DSPLLB是TI公司提供的一個優化的DSP函數庫,它包括50多個在C程序中調用的匯編優化的通用信號處理程序。

(2)DSPLLB新定義了Q.15(DATA)、Q.31(LDATA)、Q.3.12三個數據類型。

Q.15(DATA):一個Q.15操作數表達為short數據類型(16bit),在dsplibh頭文件中預定義為DATA。

Q.31(LDATA):一個Q.31操作數表達long數據類型(32bit),在dsplib.h頭文件中預定義為LDATA。

Q.3.12:含有3個整數位和12個小數位。

(3)DSPLLB庫函數采用的操作數通常為向量形式。威脅函數也可用于處理標量,標量可是為維數為1的向量。

(4)DSPLIB可以分為8類:FFT函數、濾波和卷積、自適應濾波、相關、數學、三角、矩陣、其它。

快速傅里葉變換是離散傅里葉變換的一種快速算法。雖然DFT的應用十分廣泛,但是計算量太大,因此FFT算法就是為了實時應用而提出的。通過FFT算法,可以使DFT的計算量大大減少,運算時間縮短1到2個數量級。

參考文獻:

[1]?黃鶴松,趙洪亮TMS320C55x?DSP應用系統設計[M].?北京:北京航空航天大學出版社,2014,3:31-36.

[2]趙中偉.DSP應用設計綜合實驗[M].杭州:浙江工商大學出版社,2013,1:51-53.

[3]楊勇.DSP控制技術與應用[M].北京:中國電力出版社,2015,5:79-80.

[4]蘇濤.DSP接口電路設計與編程[M].西安:西安電子科技大學出版,2003,11:59-61.

[5]楊鳳開.DSP原理及應用[M]湖北:華中科技大學出版社,?2012,2:45-46.

[6]鄭紅,劉振強.嵌入式DSP應用系統設計及實例剖析—基于TMS320C/DM64x平臺[M].北京:北京航空航天大學出版社,2012,1:105-10

主站蜘蛛池模板: 精品久久综合1区2区3区激情| 亚洲国产精品人久久电影| 超碰免费91| 国产美女在线免费观看| 丁香六月激情婷婷| 国产精品片在线观看手机版 | 精品国产网站| 国产福利免费观看| 欧美日韩久久综合| 狠狠亚洲五月天| 亚洲中文字幕日产无码2021| 四虎亚洲国产成人久久精品| 亚洲VA中文字幕| 97久久精品人人| 国产成人精品一区二区三区| 精品综合久久久久久97| 在线观看热码亚洲av每日更新| 欧美激情伊人| 日韩在线第三页| 国产91全国探花系列在线播放 | 国产乱子伦精品视频| 亚洲精品自在线拍| 国产无遮挡猛进猛出免费软件| 国产91小视频| 亚洲色图另类| 伊人久久婷婷| 久久香蕉国产线看观看亚洲片| 欧美一区二区啪啪| 欧美一区精品| 国产成人夜色91| 久久夜夜视频| 亚洲h视频在线| 精品亚洲麻豆1区2区3区| 欧美精品在线看| 九九久久精品免费观看| 久久精品波多野结衣| 欧美成人区| 中文字幕第1页在线播| 伊人成人在线视频| 日韩欧美国产综合| 午夜在线不卡| 国产精品浪潮Av| 国产精品无码AV片在线观看播放| 玩两个丰满老熟女久久网| 人与鲁专区| 青青热久免费精品视频6| 成人国产一区二区三区| 色亚洲激情综合精品无码视频| 国产精品思思热在线| 亚洲成人高清在线观看| 亚洲福利网址| 波多野结衣一区二区三视频| 激情视频综合网| 国产欧美精品专区一区二区| 国产91小视频| 国产男女XX00免费观看| 欧美日韩午夜| 国产日韩欧美在线播放| 成人午夜亚洲影视在线观看| 日本不卡视频在线| 日韩欧美网址| 最新国产你懂的在线网址| 国产亚洲欧美在线人成aaaa| 91麻豆精品国产高清在线| 久久人午夜亚洲精品无码区| 亚洲Va中文字幕久久一区| 天堂久久久久久中文字幕| 亚洲精品无码在线播放网站| 一本一道波多野结衣一区二区| 亚洲精品天堂在线观看| 波多野结衣在线se| 亚洲国产天堂久久九九九| 99久久成人国产精品免费| 老司机午夜精品视频你懂的| 成人毛片免费观看| 免费一级大毛片a一观看不卡| 亚洲一区无码在线| 欧美成人a∨视频免费观看| 9丨情侣偷在线精品国产| 九色综合伊人久久富二代| 欧美影院久久| 亚洲 欧美 日韩综合一区|