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

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

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

崔耿豪 喬嬌嬌 曹瑛嬋

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

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

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

1?背景

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

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

1.2?DSP芯片的主要發(fā)展過程簡介

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

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

2?集成開發(fā)環(huán)境

2.1集成開發(fā)環(huán)境CCS概述和軟件安裝

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

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

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

2.2?C語言工程的創(chuàng)建

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

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

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

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

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

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

2.3?C語言工程的創(chuàng)建與調(diào)試

建立配置文件。選擇菜單“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模式,出現(xiàn)Debug窗口。對于C語言工程來講,程序入口地址為main()函數(shù)入口處。

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

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

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

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

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

2.6圖形顯示工具

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

3?TMS320C55指令系統(tǒng)

3.1尋址方式

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

3.2指令系統(tǒng)

4??C語言程序設計

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

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

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

4.1.2.2?關鍵字

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

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

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

4.1.3?asm指令和Pragma指令

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

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

4.2應用程序的設計

4.2.1基礎算數(shù)運算

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

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

采用C語言也可以很容易地實現(xiàn)直接型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濾波器的實現(xiàn)有兩個基本操作,一個是輸入信號向量與濾波器系數(shù)向量的內(nèi)積計算,另一個是輸入信號的更新處理。每個采樣周期信號緩沖器都要更新一次,最開始的采樣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公司提供的一個優(yōu)化的DSP函數(shù)庫,它包括50多個在C程序中調(diào)用的匯編優(yōu)化的通用信號處理程序。

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

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

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

Q.3.12:含有3個整數(shù)位和12個小數(shù)位。

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

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

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

參考文獻:

[1]?黃鶴松,趙洪亮TMS320C55x?DSP應用系統(tǒng)設計[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應用系統(tǒng)設計及實例剖析—基于TMS320C/DM64x平臺[M].北京:北京航空航天大學出版社,2012,1:105-10

主站蜘蛛池模板: 成人综合网址| 天堂久久久久久中文字幕| 青草视频网站在线观看| 国产欧美精品午夜在线播放| 欧美日韩国产在线观看一区二区三区 | 亚洲码在线中文在线观看| 国产人在线成免费视频| 婷婷亚洲综合五月天在线| 国产真实乱了在线播放| 伊人婷婷色香五月综合缴缴情| 国产精品久久久久久久久kt| 永久免费无码日韩视频| 国产成人精品免费av| 日本高清在线看免费观看| 国产高清不卡| 国产免费高清无需播放器 | 黄色片中文字幕| 国产成人调教在线视频| 2020最新国产精品视频| 久久这里只有精品66| 欧美成人一区午夜福利在线| 亚洲资源站av无码网址| 一级毛片无毒不卡直接观看| 白浆视频在线观看| 欧美丝袜高跟鞋一区二区| 在线观看国产黄色| 欧美在线视频不卡第一页| 欧美97色| 亚洲精品成人福利在线电影| 国产日韩欧美视频| 韩国v欧美v亚洲v日本v| 天堂av高清一区二区三区| 亚洲日韩AV无码一区二区三区人| 67194成是人免费无码| 国产欧美精品午夜在线播放| 国产精品99久久久| 国产在线精彩视频论坛| 一级毛片a女人刺激视频免费| 色哟哟国产精品| 日韩精品无码免费专网站| 日韩美一区二区| 精品国产美女福到在线不卡f| 免费人成又黄又爽的视频网站| 2018日日摸夜夜添狠狠躁| 黄色免费在线网址| 99精品这里只有精品高清视频| 午夜精品国产自在| 九色综合伊人久久富二代| 人妻少妇乱子伦精品无码专区毛片| 久久黄色视频影| 亚洲视频三级| 精品一区二区久久久久网站| 国产成人综合网| A级毛片高清免费视频就| 国产美女无遮挡免费视频网站| 日韩欧美国产三级| 99久久精品免费看国产电影| 91小视频版在线观看www| 情侣午夜国产在线一区无码| 亚洲日韩每日更新| 在线观看亚洲精品福利片| 视频在线观看一区二区| 成人av手机在线观看| 国产成人无码综合亚洲日韩不卡| 伊人色婷婷| 在线免费不卡视频| 国产理论精品| 国产无人区一区二区三区| 呦女精品网站| 精品视频第一页| 色偷偷综合网| 中文字幕 91| 久久综合九九亚洲一区| 国产爽妇精品| 国产va在线| 欧美亚洲香蕉| 成年片色大黄全免费网站久久| 毛片大全免费观看| 国产综合色在线视频播放线视 | 亚洲免费人成影院| 91 九色视频丝袜| 日韩在线影院|