第一篇:dsp 期末作業(yè)
Yibin University
DSP期末學(xué)科設(shè)計(jì)報(bào)告
題 目 第五章5-
18、5-19 院 別 物理與電子工程學(xué)院 專(zhuān) 業(yè) 電子信息科學(xué)與技術(shù)
學(xué)生姓名 梁 杰 學(xué) 號(hào) 110303038 班級(jí) 11 級(jí) 3 班
年1月日
2014 6
一、實(shí)驗(yàn)?zāi)康?/p>
1、了解巴特沃斯方法
2、掌握脈沖響應(yīng)不變法設(shè)計(jì)數(shù)字低通濾波器
3、熟悉各種濾波器特點(diǎn)
二、實(shí)驗(yàn)原理
1、脈沖不變法原理
脈沖響應(yīng)不變法是實(shí)現(xiàn)模擬濾波器數(shù)字化的一種直觀(guān)而常用的方法。它特別適合于對(duì)濾波器的時(shí)域特性有一定要求的場(chǎng)合。
脈沖響應(yīng)不變法的核心原理是通過(guò)對(duì)連續(xù)函數(shù)ha(t)等間隔采樣得到離散序列ha(nT)。令h(n)= ha(nT),T為采樣間隔。它是一種時(shí)域上的轉(zhuǎn)換方法。一個(gè)模擬濾波器的傳遞函數(shù)可以用有理分式表達(dá)式表示為:
M01MNaN01a?as?...?as H(s)???...?bbsbs通過(guò)反拉普拉斯變換我們就可以得到它的沖激相應(yīng):
h(t)?L[Ha?1a(s)]
脈沖響應(yīng)不變法就是要保證脈沖響應(yīng)不變,即:
h(n)?ha(nT)
對(duì)上式的沖激相應(yīng)序列h(n)作Z變換,就可以得到數(shù)字濾波器的傳遞函數(shù):
H(z)?ZT[ha(nT)]
一般來(lái)說(shuō),H(s)的分母多項(xiàng)式階次總是大于分子多項(xiàng)式的階次。假定H(s)aa的沒(méi)有多重極點(diǎn),則式就可分解為:
Ha(s)??i?1NA
s?sii式中si,Ai均為復(fù)數(shù),si是H(s)的極點(diǎn)。其拉氏變換為
aha(t)??Aiei?1Nsi.Tnu(n)
一般來(lái)說(shuō),Ha(s)的分母多項(xiàng)式階次總是大于分子多項(xiàng)式的階次。數(shù)字濾波器的傳遞函數(shù)H(z)經(jīng)過(guò)合并簡(jiǎn)化,成為一般形式的有理分式傳遞函數(shù)
c0?c1z?1?...?cLz?L H(z)?
d0?d1z?1?...?dNz?N
在討論采樣序列z變換與模擬信號(hào)拉氏變換之間關(guān)系的有關(guān)章節(jié)中,我們已經(jīng)知道
1H(z)|z?esT?TK????H??a(s?j2?K)T按照z=eST的關(guān)系,每一個(gè)s平面上寬度為2?/T的水平條帶將重迭映射到z平面上。因此脈沖響應(yīng)不變法將s平面映射到z平面,不是一個(gè)簡(jiǎn)單的一一對(duì)應(yīng)的關(guān)系。對(duì)于高采樣頻率(T小)的情況,數(shù)字濾波器在頻域可能有極高的增益。為此我們采用
H(z)??TAi
SIT?11?ezi?1NIN
h(n)?Tha(nT)??TAieSTnu(n)
i?1在脈沖響應(yīng)不變法設(shè)計(jì)中,模擬頻率與數(shù)字頻率之間的轉(zhuǎn)換關(guān)系是線(xiàn)性的(???*T)。同時(shí),它可以保持脈沖響應(yīng)不變,h(t)=ha(nT)。因此,這一方法往往用于低通時(shí)域數(shù)字濾波器設(shè)計(jì)及相應(yīng)的模擬系統(tǒng)數(shù)字仿真設(shè)計(jì)。
2、雙線(xiàn)性變換法設(shè)計(jì)數(shù)字濾波器原理
將S平面j?軸壓縮變換到s1平面j?軸上的-?/T到?/T一段,可以采用以下變換關(guān)系:
??T? ??tan?1?
?2??1???T,??0變換到?1?0,可將上式寫(xiě)成 這樣????變換到
j??eej?1T2?1T2?e?e?j?1T2?1T2j?j
令j??s,j?1?s1,解析延拓到整個(gè)s平面和s1平面,可得
s?ees1T2s1T2?e?e?s1T2s1T2?
再將s1平面通過(guò)以下變換關(guān)系映射到z平面,即
z?es1T
從而得到s平面和z平面的單值映射關(guān)系為
1?z?1s? 1?z?1z?1?s 1?s 一般來(lái)說(shuō),為了使模擬濾波器的某一頻率與數(shù)字濾波器的任一頻率有對(duì)應(yīng)關(guān)系,可引入待定常數(shù)c,??T???ctan?1?
?2?1?e?s1Ts?c ?s1T1?es1Tz?e將代入到上式,可得
1?z?1s?c
1?z?1z?c?s c?s在MATLAB中,雙線(xiàn)性Z變換可以通過(guò)bilinear函數(shù)實(shí)現(xiàn),其調(diào)用格式為:
[Bz,Az]=bilinear(B,A,F(xiàn)s); 其中B,A為模擬濾波器傳遞函數(shù)G(s)的分子分母多項(xiàng)式的系數(shù)向量,而B(niǎo)z,Az為數(shù)字濾波器的傳遞函數(shù)H(z)的分子分母多項(xiàng)式的系數(shù)向量。
三、實(shí)驗(yàn)內(nèi)容 1、5-18題用脈沖響應(yīng)不變法設(shè)計(jì)一個(gè)三階巴特沃思數(shù)字低通濾波器,截止頻率fc=1kHz,設(shè)采樣頻率fs=6.28kHz。
根據(jù)解題思路,編寫(xiě)源程序如下:
%截止頻率wc=1Kz,采樣頻率fs=6.283 KHz fs=6.283*1000;wc=2*pi*1000;[B,A]=butter(3,wc,'s');
[num,den]=impinvar(B,A,fs);
[db,mag,pha,grd,w]=freqz_m(num,den);f=0.5*fs*w/pi;
plot(f,db,'-');grid;
xlabel('以HZ為單位的頻率');ylabel('對(duì)數(shù)幅度/db');title('巴特沃斯低通濾波器');
圖
一、實(shí)驗(yàn)1仿真結(jié)果圖 2、5-20題用雙曲線(xiàn)變換法設(shè)計(jì)一個(gè)滿(mǎn)足下面指標(biāo)的數(shù)字帶阻巴特沃思濾波器;通帶上下邊帶各為0-95Hz和105-500Hz,通帶波動(dòng)3dB,阻帶為99-101Hz,阻帶衰減13dB,取樣頻率為1kHz。
根據(jù)題意及解題思路,程序設(shè)計(jì)如下:
Rp=3;Rs=13;T=0.001;fp1=95;fp2=105;fs1=99;fs2=101;
wp1=2*pi*fp1*T;wp2=2*pi*fp2*T;ws1=2*pi*fs1*T;ws2=2*pi*fs2*T;wp3=(2/T)*tan(wp1/2);wp4=(2/T)*tan(wp2/2);ws3=(2/T)*tan(ws1/2);ws4=(2/T)*tan(ws2/2);wp=[wp3,wp4];ws=[ws3,ws4];
[n,wn]=buttord(wp,ws,Rp,Rs,'s');
[z,p,k]=buttap(n);[b,a]=zp2tf(z,p,k);w0=sqrt(wp3*wp4);Bw=wp4-wp3;[b1,a1]=lp2bs(b,a,w0,Bw);[bz,az]=bilinear(b1,a1,1/T);
subplot(2,1,1);plot(w/pi/T/2,db);grid
xlabel('以HZ為單位的頻率');ylabel('對(duì)數(shù)幅度/db');title('帶阻巴特沃斯濾波器');
subplot(2,1,2);plot(w/pi,db);grid
xlabel('以PI為單位的頻率');ylabel('對(duì)數(shù)幅度/db');title('帶阻巴特沃斯濾波器');
圖
二、實(shí)驗(yàn)2仿真結(jié)果圖
四、思考與總結(jié)
1、在設(shè)計(jì)過(guò)程中我思考了兩種方案
①?gòu)臍w一化模擬低通原型出發(fā),先在模擬域內(nèi)經(jīng)頻率變換成為所需類(lèi)型的模擬濾 波器;然后進(jìn)行雙線(xiàn)性變換,由S域變換到Z域,而得到所需類(lèi)型的數(shù)字濾波器。
②先進(jìn)行雙線(xiàn)性變換,將模擬低通原型濾波器變換成數(shù)字低通濾波器;然后在Z域內(nèi)經(jīng)數(shù)字頻率變換為所需類(lèi)型的數(shù)字濾波器。
以上兩種方案都可以,我最后選擇了第一種方案進(jìn)行設(shè)計(jì),即先在模擬域內(nèi)經(jīng)頻率變換成為所需類(lèi)型的模擬濾波器;然后進(jìn)行雙線(xiàn)性變換,由S域變換到Z域,而得到所需類(lèi)型的數(shù)字濾波器。因?yàn)楦咄?,帶通濾波器的設(shè)計(jì)方法是先將要設(shè)計(jì)的濾波器的技術(shù)特性指標(biāo)通過(guò)頻率轉(zhuǎn)換成模擬低通濾波器的技術(shù)指標(biāo),再根據(jù)這些性能指標(biāo)設(shè)計(jì)出低通濾波器的傳遞函數(shù),為了設(shè)計(jì)程序的簡(jiǎn)潔,故選擇了方案一。
2、仿真過(guò)程遇到的問(wèn)題
①帶通濾波器的仿真結(jié)果雖然符合其帶通特性,但要求得到的性能指標(biāo)存在較大誤差,由于時(shí)間緊迫,將在課后進(jìn)一步尋找原因及解決方案。
②一個(gè)線(xiàn)性是不變系統(tǒng)的典型表達(dá)式有狀態(tài)空間型、傳遞函數(shù)型、零極增益型、極點(diǎn)留數(shù)型共四種,在開(kāi)始的設(shè)計(jì)過(guò)程中我發(fā)現(xiàn)在把零極點(diǎn)增益型向傳遞函數(shù)型的轉(zhuǎn)換過(guò)程中多用了一步,即先把零極點(diǎn)增益型轉(zhuǎn)換為狀態(tài)空間型,進(jìn)行相應(yīng)的頻率變換和雙線(xiàn)性變換后,再由狀態(tài)空間型轉(zhuǎn)換為傳遞函數(shù)型,進(jìn)而繪制出其頻率響應(yīng)圖,但是經(jīng)仿真分析后發(fā)現(xiàn),性能并不理想,所以并沒(méi)有采用。
③實(shí)驗(yàn)開(kāi)始仿真沒(méi)有對(duì)響應(yīng)的函數(shù)進(jìn)行定義,在網(wǎng)上查找響應(yīng)的定義函數(shù),最后找到響應(yīng)的函數(shù)定義。定義程序如下: %freqz的修正函數(shù) 產(chǎn)生以絕對(duì)值的幅度響應(yīng)以及相對(duì)dB標(biāo)尺的幅度響應(yīng),相位響應(yīng)和群時(shí)延響應(yīng) %------------
% db = relative magnitude in dB computed over 0 to pi radians % mag = absolute magnitude computed over 0 to pi radians % pha = phase response in radians over 0 to pi radians % grd = group delay over 0 to pi radians % w = 501 frequency samples between 0 to pi radians % b = numerator polynomial of H(z)(for FIR : b=h)
% a = denominator polynomial of H(z)(for FIR :a=[1])%
[Hh,w] =freqz(b,a,1000,'whole');
Hh =(Hh(1:1:500))';w =(w(1:1:500))';mag =abs(Hh);
db =20*log10((mag+eps)/max(mag));pha =angle(Hh);
grd =grpdelay(b,a,w);
五、心得體會(huì)
本次其實(shí)就是對(duì)本期的一個(gè)綜合考察,在平時(shí)的學(xué)習(xí)中我學(xué)習(xí)了關(guān)于本次課程設(shè)計(jì)的一些內(nèi)容,對(duì)于MATLAB軟件在數(shù)字濾波器的設(shè)計(jì)中的一些函數(shù)也有初步的了解,通過(guò)這一周多的時(shí)間更是讓自己在這個(gè)方面的學(xué)習(xí)更上了一層樓,使自己在這方面的學(xué)習(xí)深度有所提高。
本次用雙線(xiàn)性變換法和脈沖響應(yīng)不變法對(duì)巴特沃斯低通、帶阻濾波器的設(shè)計(jì),要求我能夠用所學(xué)理論知識(shí)對(duì)巴特沃斯低通通濾波器進(jìn)行設(shè)計(jì),并能夠?qū)υO(shè)計(jì)的濾波器的頻率特性進(jìn)行分析。在設(shè)計(jì)過(guò)程中,首先,我通過(guò)查找資料等途徑,對(duì)關(guān)于所要設(shè)計(jì)的題目進(jìn)行更加全面深入的學(xué)習(xí),認(rèn)真分析其中的原理,弄明白設(shè)計(jì)的思路;其次,根據(jù)自己選擇的性能指標(biāo)要求,結(jié)合自己通過(guò)學(xué)習(xí)掌握的知識(shí)和資料進(jìn)行程序設(shè)計(jì),根據(jù)自己提出的方案利用軟件實(shí)現(xiàn);最后,運(yùn)行程序,分析所得結(jié)果是否符合自己的設(shè)計(jì)要求,對(duì)結(jié)果進(jìn)行分析,實(shí)現(xiàn)由理論到實(shí)踐,再由實(shí)踐結(jié)果驗(yàn)證理論的過(guò)程。
總的來(lái)說(shuō),這次課程設(shè)計(jì)讓我對(duì)MATLAB有了更深刻的了解,對(duì)數(shù)字濾波器的設(shè)計(jì)流程有了大致的了解,掌握了一些設(shè)計(jì)濾波器的基本方法,提高了理論用于實(shí)踐的能力,掌握了更多專(zhuān)業(yè)相關(guān)的使用知識(shí)與技能。同時(shí),也暴露了我很多的不足,在以后的學(xué)習(xí)中,將進(jìn)一步發(fā)揚(yáng)優(yōu)點(diǎn),克服缺點(diǎn)。
最后祝老師寒假愉快!
第二篇:dsp作業(yè)
.c圖
實(shí)驗(yàn)二
#define UINT unsigned int UINT i,*p,*n;void main(void){
p=(UINT *)0x0300;
for(i=0;i<20;i++)
{
if(*p==0x8888)
n=p;
p++;
} }.cmd圖
MEMORY {
PAGE 0: PROG:
origin = 1a00h, length = 2580h
vectors: origin = 3f80h, length = 80h
PAGE 1: DATA:
origin = 0200h, length = 1800h }
SECTIONS {
.text
> PROG PAGE 0
.cinit > PROG PAGE 0
//.switch > PROG PAGE 0
vect
> vectors PAGE 0
.data
> DATA PAGE 1
.bss
> DATA PAGE 1
.const > DATA PAGE 1
.sysmem > DATA PAGE 1
.stack > DATA PAGE 1 } xf高低電平等時(shí)間循環(huán)變化截圖如下所示:
找出由地址0x0300~0x0320中存儲(chǔ)數(shù)據(jù)為0x8888的地址截圖如下所示:
心得體會(huì):
經(jīng)過(guò)這次實(shí)驗(yàn),理解了對(duì)地址0x0300~0x0320中存儲(chǔ)數(shù)據(jù)為0x8888的尋找和設(shè)置。
第三篇:DSP大作業(yè)
無(wú)限沖激響應(yīng)濾波器(IIR)算法
姓名:張曉 指導(dǎo)老師:陳恩慶 專(zhuān)業(yè)名稱(chēng):通信 學(xué)號(hào):20102460434
2014年3月18日
無(wú)限沖激響應(yīng)濾波器(IIR)算法
摘要:21世紀(jì)是數(shù)字化的時(shí)代,隨著信息處理技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)逐漸發(fā)展成為一門(mén)主流技術(shù)。相對(duì)于模擬濾波器,數(shù)字濾波器沒(méi)有漂移,能夠處理低頻信號(hào),頻率特性可做成非常接近于理想的特性,且精度可以達(dá)到很高,容易集成等。這些優(yōu)勢(shì)決定數(shù)字濾波器的應(yīng)用越來(lái)越廣泛。數(shù)字濾波器是數(shù)字信號(hào)處理中最重要的組成部分之一,被廣泛應(yīng)用于語(yǔ)音圖像處理、數(shù)字通信、譜分析、模式識(shí)別、自動(dòng)控制等領(lǐng)域。本課題通過(guò)軟件設(shè)計(jì)IIR數(shù)字濾波器,并對(duì)所設(shè)計(jì)的濾波器進(jìn)行仿真:應(yīng)用DSP集成開(kāi)發(fā)環(huán)境—CCS調(diào)試程序,用TMS320F2812實(shí)現(xiàn)IIR數(shù)字濾波。具體工作包括:對(duì)IIR數(shù)字濾波器的基本理論進(jìn)行分析和探討。應(yīng)用DSP集成開(kāi)發(fā)環(huán)境調(diào)試程序,用TMS320F2812來(lái)實(shí)現(xiàn)IIR數(shù)字濾波。通過(guò)硬件液晶顯示模塊驗(yàn)證試驗(yàn)結(jié)果,并對(duì)相關(guān)問(wèn)題進(jìn)行分析。
關(guān)鍵詞:數(shù)字濾波器;DSP;TMS320F2812;無(wú)限沖激響應(yīng)濾波器(IIR)。
引言
隨著數(shù)字化飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)受到了人們的廣泛關(guān)注,其理論及算法隨著計(jì)算機(jī)技術(shù)和微電子技術(shù)的發(fā)展得到飛速發(fā)展,被廣泛應(yīng)用于語(yǔ)音圖像處理、數(shù)字通信、譜分析、模式識(shí)別、自動(dòng)控制等領(lǐng)域。數(shù)字信號(hào)處理由于運(yùn)算速度快,具有可編程的特性和接口靈活的特點(diǎn),使得它在許多電子產(chǎn)品的研制、開(kāi)發(fā)和應(yīng)用中,發(fā)揮著重要的作用。采用DSP芯片來(lái)實(shí)現(xiàn)數(shù)字信號(hào)處理系統(tǒng)是當(dāng)前發(fā)展的趨勢(shì)。
在數(shù)字信號(hào)處理中,數(shù)字濾波占有極其重要的地位。數(shù)字濾波是語(yǔ)音和圖像處理、模式識(shí)別、譜分析等應(yīng)用中的一個(gè)基本處理算法。在許多信號(hào)處理應(yīng)用中用數(shù)字濾波器替代模擬濾波器具有許多優(yōu)勢(shì)。數(shù)字濾波器容易實(shí)現(xiàn)不同幅度和相位頻率特性指標(biāo)。用DSP芯片實(shí)現(xiàn)數(shù)字濾波除具有穩(wěn)定性好、精度高、不受環(huán)境影響外,還具有靈活性好的特點(diǎn)。用可編程DSP芯片實(shí)現(xiàn)數(shù)字濾波可通過(guò)修改濾波器的參數(shù)十分方便的改變?yōu)V波器的特性。
原理:
1. 無(wú)限沖激響應(yīng)數(shù)字濾波器的基礎(chǔ)理論。
利用模擬濾波器成熟的理論及其設(shè)計(jì)方法來(lái)設(shè)計(jì)IIR數(shù)字低通濾波器是常用的方法。設(shè)計(jì)過(guò)程是:按照數(shù)字濾波器技術(shù)指標(biāo)要求一個(gè)過(guò)渡模擬低通濾波器Ha(s),再按照一定的轉(zhuǎn)換關(guān)系將Ha(s)轉(zhuǎn)換成數(shù)字低通濾波器函數(shù)H(z)。由此可見(jiàn),設(shè)計(jì)的關(guān)鍵問(wèn)題就是要找到這種關(guān)系,將s平面的Ha(s)轉(zhuǎn)換成z平面上的H(z)。
將系統(tǒng)函數(shù)Ha(s)從s平面轉(zhuǎn)換到z平面的方法有多種,但工程上常用的是脈沖響應(yīng)不變法和雙線(xiàn)性變換法。在課題中我們采用雙線(xiàn)性變換法設(shè)計(jì)IIR數(shù)字低通濾波器。
通過(guò)采用非線(xiàn)性頻率壓縮的方法,將整個(gè)模擬頻率軸壓縮到??/T之間,再用 Z=esT轉(zhuǎn)換到z平面上。設(shè)Ha(s),s=j?,經(jīng)過(guò)非線(xiàn)性頻率壓縮后用Ha(s1),S1=j?1表示,這里用正切變換實(shí)現(xiàn)頻率壓縮: ??21tan(?1T)T2由上式得到: ?/T之間的轉(zhuǎn)換。實(shí)現(xiàn)了s平面上整個(gè)虛軸完全壓縮到S1平面上虛軸的?21?e?j?T1 j?= T1?e?j?T1代人s=j?,S1=j?1,得到:
21?e?s1T S?T1?e?s1T再通過(guò)z=e1從S1平面轉(zhuǎn)換到Z平面得到 sT21?z?1 S?T1?z?12?sT z?2?sT上面兩式即稱(chēng)為雙線(xiàn)性變換。
2.模擬濾波器原理(巴特沃斯濾波器、切比雪夫?yàn)V波器、橢圓濾波器、貝塞爾濾波器)。3.?dāng)?shù)字濾波器系數(shù)的確定方法。4.根據(jù)要求設(shè)計(jì)低通 IIR 濾波器
要求:低通巴特沃斯濾波器在其通帶邊緣 1kHz 處的增益為-3dB,12kHz 處的阻帶衰減 為 30dB,采樣頻率 25kHz。設(shè)計(jì):
(1)確定數(shù)字低通濾波器的技術(shù)指標(biāo):
通帶邊緣頻率 fp1Hz、待求阻帶邊緣頻率 fs1Hz 和待求阻帶衰減-20log?sdB。模擬邊緣頻率為:fp1=1000Hz,fs1=12000Hz 阻帶邊緣衰減為:-20log?s=30dB
(2)將數(shù)字低通濾波器的技術(shù)指標(biāo)轉(zhuǎn)換成響應(yīng)的模擬低通濾波器的技術(shù)指標(biāo)。
用?=2πf/fs 把由 Hz 表示的待求邊緣頻率轉(zhuǎn)換成弧度表示的數(shù)字頻率,得到?p1 和
? s1。
?p1=2πfp1/fs=2π1000/25000=0.08π弧度?s1=2πfs1/fs=2π12000/25000=0.96π弧度-計(jì)算預(yù)扭曲模擬頻率以避免雙線(xiàn)性變換帶來(lái)的失真。由 w=2fs tan(Ω/2)求得 wp1 和 ws1,單位為弧度/秒。
wp1=2fs tan(?p1/2)=6316.5 弧度/秒 ws1=2fs tan(?s1/2)=794727.2 弧度/秒
-由已給定的阻帶衰減-20log?s確定阻帶邊緣增益?s。
因?yàn)?20log?s=30,所以log?s=-30/20,?s=0.03162 計(jì)算所需濾波器的階數(shù):
1?1)?s(0.03162)2n≥==0.714 ?s1794727.22log()2log()?p16316.5log(?1)1log(因此,一階巴特沃斯濾波器的傳輸函數(shù)為:
H(s)=wp1/(s+wp1)=6316.5/(s+6316.5)由雙線(xiàn)性變換定義s=2fs(z-1)/(z+1)得到數(shù)字濾波器的傳輸函數(shù)為:
6316.50.1122(1?z?1)H(z)= ??1z?11?0.7757z50000?6316.5z?1因此差分方程為:y[n]=0.7757y[n-1]+0.1122x[n]+0.1122x[n-1] 硬件框圖:
一個(gè)DSP系統(tǒng)可分為最小系統(tǒng)設(shè)計(jì)和外圍接口設(shè)計(jì),DSP在必要的工作環(huán)境下才能正常工作。DSP最小系統(tǒng)包括復(fù)位、時(shí)鐘和電源電路。
液晶顯示模塊PcTMS320F2812信號(hào)源發(fā)生模塊時(shí)鐘電路電源電路復(fù)位電路 軟件流程圖:
調(diào)試過(guò)程與步驟:
一、軟件實(shí)現(xiàn)
1、實(shí)驗(yàn)準(zhǔn)備
—設(shè)置軟件仿真模式 —啟動(dòng)CCS
2、打開(kāi)工程、瀏覽程序。
3、編譯并下載程序
4、打開(kāi)窗口:*選擇菜單View—>Graph->Time/Frequency…,進(jìn)行如下設(shè)置
出現(xiàn)窗口如下:
選擇菜單View->Graph->Time/Frequency…,進(jìn)行如下設(shè)置:
出現(xiàn)窗口:
5、清除顯示:在以上打開(kāi)的窗口中單擊鼠標(biāo)右鍵,選擇彈出菜單中“Clear Display”功能。
6、設(shè)置斷點(diǎn):在程序iir.c中有注釋“/*請(qǐng)?jiān)诖司渖显O(shè)置軟件斷點(diǎn)*/”的語(yǔ)句上設(shè)置軟件斷點(diǎn)
7、運(yùn)行并觀(guān)察結(jié)果
(1)選擇“Debug”菜單中的“RUN”項(xiàng),或按F5鍵運(yùn)行程序。
(2)觀(guān)察“IIR”窗口中時(shí)域圖形:觀(guān)察濾波效果。實(shí)驗(yàn)結(jié)果:
本次調(diào)試過(guò)程中出現(xiàn)了不少問(wèn)題,但在輔導(dǎo)老師的指導(dǎo)下順利完成IIR數(shù)字濾波實(shí)驗(yàn)。軟件調(diào)試結(jié)果如下圖示:
輸入波形為一個(gè)低頻率的正弦波與一個(gè)高頻率的余弦波疊加而成。如圖:
通過(guò)觀(guān)察頻域和時(shí)域圖,得知:輸入波形中的低頻波形通過(guò)了濾波器,而高頻部分則被衰減。附IIR算法相對(duì)應(yīng)的匯編程序: ……………………………….IIR: ADDB
SP,#4 MOVB
AH,#0 MOVB
AL,#0 MOVL
*-SP[4],ACC MOVW
DP,#0xFE00 MOV
@0,#0 MOV
AL,@0 CMPB
AL,#2 SB
L7,GEQ L6: SETC
SXM MOVL
XAR4,#0x3F8016 MOV
ACC,@0 << 1 ADDL
@XAR4,ACC MOVL
ACC,*+XAR4[0] MOVL
*-SP[2],ACC MOVL
XAR4,#0x3F8012 MOV
ACC,@0 << 1 ADDL
@XAR4,ACC MOVL
ACC,*+XAR4[0] LCR
FS$$MPY MOVL
*-SP[2],ACC MOVL
ACC,*-SP[4] LCR
FS$$ADD MOVL
*-SP[4],ACC SETC
SXM MOVW
DP,#0xFE00 MOV
ACC,@0 << 1 MOVL
XAR4,#0x3F801E ADDL
@XAR4,ACC MOVL
ACC,*+XAR4[0] MOVL
XAR4,#0x3F801A MOVL
*-SP[2],ACC MOV
ACC,@0 << 1 ADDL
@XAR4,ACC MOVL
ACC,*+XAR4[0] LCR
FS$$MPY MOVL
*-SP[2],ACC MOVL
ACC,*-SP[4] LCR
FS$$ADD MOVL
*-SP[4],ACC MOVW
DP,#0xFE00 INC
@0 MOV
AL,@0 CMPB
AL,#2 SB
L6,LT L7: MOVL
ACC,*-SP[4] SUBB
SP,#4 LRETR
………………………………..二、IIR算法硬件實(shí)現(xiàn)
1、實(shí)驗(yàn)準(zhǔn)備
(1)連接實(shí)驗(yàn)設(shè)備
(2)準(zhǔn)備信號(hào)源進(jìn)行AD輸入
①用信號(hào)線(xiàn)連接實(shí)驗(yàn)箱左側(cè)信號(hào)源的波形輸出A端口和“A/D輸入”模塊的“ADCINO”插座注意插頭要插牢、到底。這樣,信號(hào)源波形輸出A的輸出波形即可送到ICETEK—F2812A板的AD輸入通道0。
②用同樣方法連接實(shí)驗(yàn)箱左側(cè)信號(hào)源的輸出B端口和“A/D輸入”的“ADCIN1”相連。③設(shè)置波形輸出A:
—向內(nèi)側(cè)按波形頻率選擇按鈕,直到標(biāo)有正弦波的指示燈亮。
—上下調(diào)節(jié)波形頻率選擇按鈕,直到標(biāo)有100—1KHZ的指示燈亮。
—調(diào)節(jié)幅值調(diào)整旋鈕,將波形輸出A的幅值調(diào)到適當(dāng)位置。④設(shè)置波形輸出B:
—向內(nèi)側(cè)按波形頻率選擇按鈕,直到標(biāo)有正弦波的指示燈亮。
—上下調(diào)節(jié)波形頻率選擇按鈕,直到標(biāo)有1K-10KHZ的指示燈亮。
—調(diào)節(jié)幅值調(diào)整旋鈕,將波形輸出A的幅值調(diào)到適當(dāng)位置。
注意:由于模數(shù)輸入信號(hào)未經(jīng)任何轉(zhuǎn)換就進(jìn)入 DSP,所以必須保證輸入的模擬信號(hào)的幅度在 0-3V 之間。必須用示波器檢測(cè)信號(hào)范圍,保證最小值 0V 最大值 3 V,否則容易損壞DSP 芯片的模數(shù)采集模塊。
2、設(shè)置 Code Composer Studio 2.21 在硬件仿真(Emulator)方式下運(yùn)行請(qǐng)參看本書(shū)第三部分、第一章、四、2。
3、啟動(dòng) Code Composer Studio 2.21 選擇菜單 Debug->Reset CPU。
4、打開(kāi)工程文件
5、編譯、下載程序,選擇菜單 Debug->Go Main,使程序運(yùn)行到 main 函數(shù)入口位置。
6、觀(guān)察窗口
-打開(kāi)源程序 IIR.c,查看源代碼。
7、運(yùn)行程序觀(guān)察結(jié)果
按 CTR 控制板的 K6 鍵,實(shí)現(xiàn)濾波顯示,K7 鍵實(shí)現(xiàn)混頻顯示,按 K8 實(shí)現(xiàn)鍵 A、B 兩信 號(hào)源分屏顯示。
8、觀(guān)察動(dòng)態(tài)效果,調(diào)節(jié)信號(hào)源輸出,觀(guān)察濾波器輸出 改變信號(hào)源輸入的波形、頻率參數(shù),觀(guān)察動(dòng)態(tài)效果。
9、退出 CCS。
硬件調(diào)試結(jié)果若下圖(手機(jī)拍照):
按K6鍵:
按K7鍵:
按K8鍵:
結(jié)果分析:
通過(guò)無(wú)限沖激響應(yīng)濾波器(IIR)算法的硬件實(shí)現(xiàn)與軟件實(shí)現(xiàn)IIR算法相對(duì)比,所設(shè)計(jì)的IIR濾波器收到較好的效果,完成了設(shè)計(jì)要求。
心得體會(huì):
在指導(dǎo)老師認(rèn)真負(fù)責(zé)的態(tài)度下,我順利而又成功地完成了關(guān)于DSP芯片TMS320F2812的八個(gè)實(shí)驗(yàn),并從中獲益匪淺。記得在學(xué)期的開(kāi)始王忠勇老師就給我們指出DSPs芯片及DSP系統(tǒng)與信息類(lèi)專(zhuān)業(yè)的一些課程有許多聯(lián)系,同時(shí)又有許多特點(diǎn)。剛開(kāi)始學(xué)習(xí)時(shí),我并沒(méi)有完全理解這些話(huà)的意義。但隨著課程學(xué)習(xí)逐漸接近尾聲,與此同時(shí)開(kāi)始的實(shí)踐實(shí)驗(yàn),自己從中取得了一些成績(jī),理論水平得到了一定程度的提高,同時(shí)也暴露出一些問(wèn)題。
正是因?yàn)镈SP設(shè)計(jì)多門(mén)課程的相關(guān)知識(shí),這就需要我們?cè)谡n程的學(xué)習(xí)過(guò)程中,需要經(jīng)?;仡櫼恍┗A(chǔ)理論知識(shí),經(jīng)過(guò)認(rèn)真思考與分析,達(dá)到解決問(wèn)題的目的。在這個(gè)過(guò)程中,不僅復(fù)習(xí)了以前的一些知識(shí),并通過(guò)理論聯(lián)系實(shí)際,對(duì)相關(guān)知識(shí)點(diǎn)有了更深層次的認(rèn)識(shí)。從課前復(fù)習(xí)相關(guān)實(shí)驗(yàn)內(nèi)容、原理到課題論文的完成,此過(guò)程我受益匪淺。在這個(gè)過(guò)程中,我復(fù)習(xí)了數(shù)字濾波器的原理和設(shè)計(jì)方法,對(duì)DSP編程有了更深的認(rèn)識(shí)和掌握了一定的編程能力。此外,在畫(huà)原理圖時(shí),學(xué)習(xí)了MathType和Microsoft Office Visio 2007等軟件的操作方法。通過(guò)本課題的設(shè)計(jì),我在多方面得到了鍛煉。
另外,在實(shí)驗(yàn)過(guò)程中,團(tuán)隊(duì)協(xié)作的精神得以充分的體現(xiàn)。當(dāng)遇到困難的時(shí)候,同學(xué)與同學(xué)之間,同學(xué)與指導(dǎo)老師之間有了很好的交流和溝通,這也是實(shí)驗(yàn)?zāi)軌蛘J(rèn)真完成的一重要因素。
此外,要感謝指導(dǎo)老師們,這些實(shí)驗(yàn)是在他們認(rèn)真負(fù)責(zé)的態(tài)度下完成的。他們?cè)谖覀儗?shí)驗(yàn)過(guò)程中給我們?cè)谲浖僮骱拖嚓P(guān)理論、算法上給了我們耐心的指導(dǎo)。正是在這種環(huán)境下,才能使我們?cè)谶@個(gè)過(guò)程收獲最大化。從他們身上我懂得了做事嚴(yán)謹(jǐn)認(rèn)真、勤于動(dòng)腦,勤于實(shí)踐的工作態(tài)度,這使我在今后的生活中所要努力的方向。
參考文獻(xiàn)
【1】 高西全 丁玉美編著。數(shù)字信號(hào)處理。西安電子科技大學(xué)出版社(第三版)?!?】 王忠勇 陳恩慶編著。DSP原理與應(yīng)用技術(shù)。電子工業(yè)出版社,2009.10
第四篇:西工大DSP大作業(yè)
實(shí)驗(yàn)1 基于CCS的簡(jiǎn)單的定點(diǎn)DSP程序
一、實(shí)驗(yàn)要求
1、自行安裝CCS3.3版本,配置和運(yùn)行CCS
2、熟悉CCS開(kāi)發(fā)環(huán)境,訪(fǎng)問(wèn)讀寫(xiě)DSP的寄存器AC0-AC3,ARO-AR7, PC, T0-T3
3、結(jié)合C5510的存儲(chǔ)器空間分配,訪(fǎng)問(wèn)DSP的內(nèi)部RAM
4、編寫(xiě)一個(gè)最簡(jiǎn)單的定點(diǎn)DSP程序,計(jì)算下面式子 y=0.1*1.2+35*20+15*1.6
5、采用定點(diǎn)DSP進(jìn)行計(jì)算,確定每個(gè)操作數(shù)的定點(diǎn)表示方法, 最后結(jié)果的定點(diǎn)表示方法,并驗(yàn)證結(jié)果
6、對(duì)編寫(xiě)的程序進(jìn)行編譯、鏈接、運(yùn)行、斷點(diǎn)執(zhí)行、單步抽 并給出map映射文件
二、實(shí)驗(yàn)原理
DSP芯片的定點(diǎn)運(yùn)算---Q格式(轉(zhuǎn))2008-09-03 15:47 DSP芯片的定點(diǎn)運(yùn)算
1.?dāng)?shù)據(jù)的溢出:
1>溢出分類(lèi):
上溢(overflow): 下溢(underflow)
2>溢出的結(jié)果:
Max Min
Min Max unsigned char 0 255 signed char-128 127 unsigned int 0 65535 signed int-32768 32767
上溢在圓圈上按數(shù)據(jù)逆時(shí)針移動(dòng);下溢在圓圈上順時(shí)鐘移動(dòng)。
例:signed int :32767+1=-32768;-32768-1=32767
unsigned char:255+1=0;
0-1=255
3>為了避免溢出的發(fā)生,一般在DSP中可以設(shè)置溢出保護(hù)功能。當(dāng)發(fā)生溢出時(shí),自動(dòng)將結(jié)果設(shè)置為最大值或最小值。
2.定點(diǎn)處理器對(duì)浮點(diǎn)數(shù)的處理:
1>定義變量為浮點(diǎn)型(float,double),用C語(yǔ)言抹平定點(diǎn)處理器和浮點(diǎn)處理器 的區(qū)2>放大若干倍表示小數(shù)。比如要表示精度為0.01的變量,放大100倍去運(yùn)算,運(yùn)算3>定標(biāo)法:Q格式:通過(guò)假定小數(shù)點(diǎn)位于哪一位的右側(cè),從而確定小數(shù)的精度。
Q0:小數(shù)點(diǎn)在第0位的后面,即我們一般采用的方法 Q15 小數(shù)點(diǎn)在第15位的后面,0~14位都是小數(shù)位。轉(zhuǎn)化公式:Q=(int)(F×pow(2,q))
F=(float)(Q×pow(2,-q))
3. Q格式的運(yùn)算
1>定點(diǎn)加減法:須轉(zhuǎn)換成相同的Q格式才能加減
2>定點(diǎn)乘法:不同Q格式的數(shù)據(jù)相乘,相當(dāng)于Q值相加
3>定點(diǎn)除法:不同Q格式的數(shù)據(jù)相除,相當(dāng)于Q值相減
4>定點(diǎn)左移:左移相當(dāng)于Q值增加
5> 定點(diǎn)右移:右移相當(dāng)于Q減少
4.Q格式的應(yīng)用格式
實(shí)際應(yīng)用中,浮點(diǎn)運(yùn)算大都時(shí)候都是既有整數(shù)部分,也有小數(shù)部分的。所以要選擇一個(gè)適當(dāng)?shù)亩?biāo)格式才能更好的處理運(yùn)算。一般用如下兩種方法:
1> 使用時(shí)使用適中的定標(biāo),既可以表示一定的整數(shù)復(fù)位也可以表示小數(shù)復(fù)位,如 對(duì)于2812的32位系統(tǒng),使用Q15格式,可表示-65536.0~65535.999969482區(qū)間內(nèi)的數(shù)據(jù)。
三、實(shí)驗(yàn)步驟
1.雙擊Simulator。,啟動(dòng)CCS的仿真平臺(tái)的配著選項(xiàng)。選擇C5410 Device
2.點(diǎn)擊project菜單欄的new選項(xiàng),新建一個(gè)LAB的工程注意存儲(chǔ)的路徑。
3.把下圖中用到的文件拷到工程文件目錄的文件路徑下。
4.在ccs平臺(tái)中將用到的程序?qū)氲狡脚_(tái)中,點(diǎn)擊project—>add file to project。選擇多個(gè)文件時(shí),可以按住ctrl鍵。
5.將程序中的start改為_(kāi)main,INT_2改為_(kāi)int_2。然后點(diǎn)擊保存。
源程序代碼
***************************************************** * * *****************************************************.title “example.asm”
;為匯編源程序取名.mmregs
;定義存儲(chǔ)器映象寄存器
STACK
.usect
“STACK”,10h
;分配10個(gè)單元的堆棧空間.bss
a,4
;為系數(shù)a分配4個(gè)單元的空間.bss
x,4
;為變量x分配4個(gè)單元的空間.bss
y,1
;為結(jié)果y 分配1個(gè)單元的空間.def
_c_int00
;定義標(biāo)號(hào)_c_int00
example.asm
y=0.1*x1.2+35*20+15*x1.6
.data
;定義數(shù)據(jù)代碼段
table:.word
1,2,3,4
;在標(biāo)號(hào)table開(kāi)始的8個(gè)單元中
.word
8,6,4,2
;為這8個(gè)單元賦初值.text
;定義文本代碼段 _c_int00 : STM #0,SWWSR
STM
#STACK+10h,SP
STM
#a,AR1
RPT
#7
MVPD table,*AR1+ CALL
SUM
end:
B
end
SUM:STM
#a,AR3
STM
#x,AR4
RPTZ
A,#3
MAC
*AR3+,*AR4+,A STL
A,@y
RET
.end
;軟件等待狀態(tài)寄存器置0,不設(shè)等待
;設(shè)置堆棧指針初值
;AR1 指向 a的地址
;從程序存儲(chǔ)器向數(shù)據(jù)存儲(chǔ)器
;重復(fù)傳送 8個(gè)數(shù)據(jù)
;調(diào)用 SUM 實(shí)現(xiàn)乘法累加和的子程序
;循環(huán)等待
;將系數(shù)a的地址賦給AR3
;將變量x的地址賦給AR3
;將A清0,并重復(fù)執(zhí)行下條指令4次
;執(zhí)行乘法并累加,結(jié)果放在A中
;將A的低字內(nèi)容送結(jié)果單元y
;結(jié)束子程序
;結(jié)束全部程序
Map文件
*****************************************************************************
TMS320C55x COFF Linker PC Version 3.83
****************************************************************************** >> Linked Mon May 31 11:03:33 2010
OUTPUT FILE NAME:
MEMORY CONFIGURATION
name
origin
length
used
attr
fill
-----------------------------------------------------------PAGE 0: EPROM
0000e000
00000100 0000001d RWIX
vecs
0000ff80
00000004 00000000 RWIX PAGE 1: SPRAM
00000060
00000020 0000000b RWIX
DARAM
00000080
00000100 0000001a RWIX
SECTION ALLOCATION MAP
output
attributes/ section
page
origin
length
input sections--------------------------------
----------------.text
0
0000e000
0000001d
0000e000
0000001d
LAB4A.obj(.text)
.bss
00000060
0000000b
UNINITIALIZED
四、心得體會(huì)
經(jīng)過(guò)這次實(shí)驗(yàn),我更加熟悉CCS開(kāi)發(fā)環(huán)境,訪(fǎng)問(wèn)讀寫(xiě)DSP的寄存器AC0-AC3,ARO-AR7, PC, T0-T3。
實(shí)驗(yàn)2 CCS下的FFT算法程序設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
CCS下的FFT算法程序設(shè)計(jì)
二、實(shí)驗(yàn)要求
提供一個(gè)CCS下的C語(yǔ)言例程,在CCS下,仿照例程,任選雨中FIR濾波、IIR濾波、FFT算法,采用C語(yǔ)言完成代碼的編寫(xiě)、編譯、鏈接、下載和運(yùn)行,輸入數(shù)據(jù),濾波器系數(shù)任選,并給出運(yùn)算結(jié)果。1)目的
2)工程文件的構(gòu)成,并附圖 3)打印源代碼 4)打印編譯成功的信息 5)打印map文件 6)程序下載的截圖過(guò)程
三)運(yùn)行結(jié)果
三、實(shí)驗(yàn)步驟
1、在ccs平臺(tái)中將用到的程序?qū)氲狡脚_(tái)中,點(diǎn)擊project—>add file to project。選擇多個(gè)文件時(shí),可以按住ctrl鍵。
2.將所有的程序段中的start改為_(kāi)main,將fft.Asm中的 K_FFT_SIZE.set 32;N K_LOGN.set 5;LOG(N)改為
K_FFT_SIZE.set 64;N K_LOGN.set 6;LOG(N)
3、對(duì)源文件進(jìn)行編譯(注意先對(duì)每個(gè).asm文件先進(jìn)行編譯,以防止程序有錯(cuò)誤),沒(méi)有錯(cuò)誤時(shí)進(jìn)行鏈接。
4.點(diǎn)擊菜單file?load program。裝載.out文件
四、實(shí)驗(yàn)結(jié)果
五、源程序代碼
***************************************************************** 函數(shù)原型:void FFT(struct compx *xin,int N)函數(shù)功能:對(duì)輸入的復(fù)數(shù)組進(jìn)行快速傅里葉變換(FFT)輸入?yún)?shù):*xin復(fù)數(shù)結(jié)構(gòu)體組的首地址指針,struct型
*****************************************************************/ void FFT(struct compx *xin){ int f,m,nv2,nm1,i,k,l,j=0;struct compx u,w,t;nv2=FFT_N/2;//變址運(yùn)算,即把自然順序變成倒位序,采用雷德算法 nm1=FFT_N-1;for(i=0;i while(k<=j)//如果k<=j,表示j的最高位為1 { j=j-k;//把最高位變成0 k=k/2;//k/2,比較次高位,依次類(lèi)推,逐個(gè)比較,直到某個(gè)位為0 } j=j+k;//把0改為1 } { int le,lei,ip;//FFT運(yùn)算核,使用蝶形運(yùn)算完成FFT運(yùn)算 f=FFT_N;for(l=1;(f=f/2)!=1;l++)//計(jì)算l的值,即計(jì)算蝶形級(jí)數(shù);for(m=1;m<=l;m++)// 控制蝶形結(jié)級(jí)數(shù) { //m表示第m級(jí)蝶形,l為蝶形級(jí)總數(shù) l=log(2)N le=2<<(m-1);//le蝶形結(jié)距離,即第m級(jí)蝶形的蝶形結(jié)相距l(xiāng)e點(diǎn) lei=le/2;//同一蝶形結(jié)中參加運(yùn)算的兩點(diǎn)的距離 u.real=1.0;//u為蝶形結(jié)運(yùn)算系數(shù),初始值為1 u.imag=0.0;w.real=cos(PI/lei);//w為系數(shù)商,即當(dāng)前系數(shù)與前一個(gè)系數(shù)的商 w.imag=-sin(PI/lei);for(j=0;j<=lei-1;j++)//控制計(jì)算不同種蝶形結(jié),即計(jì)算系數(shù)不同的蝶形結(jié) { for(i=j;i<=FFT_N-1;i=i+le)//控制同一蝶形結(jié)運(yùn)算,即計(jì)算系數(shù)相同蝶形結(jié) { ip=i+lei;//i,ip分別表示參加蝶形運(yùn)算的兩個(gè)節(jié)點(diǎn) t=EE(xin[ip],u);//蝶形運(yùn)算,詳見(jiàn)公式 xin[ip].real=xin[i].real-t.real;xin[ip].imag=xin[i].imag-t.imag;xin[i].real=xin[i].real+t.real;xin[i].imag=xin[i].imag+t.imag;} u=EE(u,w);//改變系數(shù),進(jìn)行下一個(gè)蝶形運(yùn)算 } } } } Map文件 ****************************************************************************** TMS320C55x COFF Linker PC Version 3.3 ****************************************************************************** >> Linked Sat May 30 23:48:27 2015 OUTPUT FILE NAME: MEMORY CONFIGURATION name origin length used attr fill-----------------------------------------------------------PAGE 0: EPROM 0000e000 00000100 00000019 RWIX PAGE 1: SPRAM 00000060 00000020 0000000a RWIX DARAM 00000080 00000100 00000000 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections------------------------------------------------.text 0 0000e000 00000012 0000e000 00000012 LAB2B.obj(.text) .data 0 0000e012 00000005 0000e012 00000005 LAB2B.obj(.data) .vectors 0 0000e017 00000002 0000e017 00000002 VECTORS.obj(.vectors) .bss 1 00000060 0000000a UNINITIALIZED 00000060 0000000a LAB2B.obj(.bss) GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name------------00000060.bss 0000e012.data 0000e000.text 00000060 ___bss__ ffffffff ___cinit__ 0000e012 ___data__ 0000e017 ___edata__ 0000006a ___end__ 0000e012 ___etext__ ffffffff ___pinit__ 0000e000 ___text__ 00000000 __lflags UNDEFED _c_int00 0000e000 _main ffffffff cinit 0000e017 edata 0000006a end 0000e012 etext ffffffff pinit GLOBAL SYMBOLS: SORTED BY Symbol Address address name------------00000000 __lflags 00000060 ___bss__ 00000060.bss 0000006a ___end__ 0000006a end 0000e000.text 0000e000 ___text__ 0000e000 _main 0000e012.data 0000e012 etext 0000e012 ___data__ 0000e012 ___etext__ 0000e017 edata 0000e017 ___edata__ ffffffff pinit ffffffff ___pinit__ ffffffff ___cinit__ ffffffff cinit UNDEFED _c_int00 [19 symbols] 六、心得體會(huì) 經(jīng)過(guò)這次實(shí)驗(yàn),我更加熟悉CCS開(kāi)發(fā)環(huán)境,CCS下的C語(yǔ)言例程下的 FFT算法,采用C語(yǔ)言完成代碼的編寫(xiě)、編譯、鏈接、下載和運(yùn)行的方法。 C54x,C55x,C6000芯片的比較 簡(jiǎn)介 DSP是一種特別適合于進(jìn)行數(shù)字信號(hào)處理運(yùn)算的微處理器,主要用于實(shí)時(shí)2快速實(shí)現(xiàn)個(gè)二中數(shù)字信號(hào)處理的算法。在二十世紀(jì)八十年代以前,由于受實(shí)現(xiàn)方法的限制,數(shù)字信號(hào)處理的理論還不能得到廣泛的應(yīng)用。直到二十世紀(jì)八十年代初,世界上第一塊單片可編程DSP的誕生,才將理論運(yùn)用到實(shí)際當(dāng)中。 DSP芯片的發(fā)展非常迅速,硬件結(jié)構(gòu)方面主要是向多處理器的并行處理結(jié)構(gòu),便于外部數(shù)據(jù)交換的串行總線(xiàn)傳輸,大容量片上RAM和ROM,程序加密,增加I/O驅(qū)動(dòng)能力,外圍電路內(nèi)裝化,低功耗等方面發(fā)展。 C54x,C55x,C6000是DSP系統(tǒng)常用的芯片,下面就他們的硬件結(jié)構(gòu),運(yùn)算性能,指令系統(tǒng),應(yīng)用場(chǎng)景上的區(qū)別進(jìn)行分析。(1)C54x: ? 硬件結(jié)構(gòu) C54x主要有CPU,內(nèi)部總線(xiàn)控制,特殊功能寄存器,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器RAM,程序存儲(chǔ)器ROM等構(gòu)成。CPU: ? 內(nèi)部總線(xiàn)結(jié)構(gòu) C54x有8組16位總線(xiàn):1組程序總線(xiàn),3組數(shù)據(jù)總線(xiàn)和4組地址總線(xiàn),可在一個(gè)指令周期內(nèi)產(chǎn)生兩個(gè)數(shù)據(jù)存儲(chǔ)地址,實(shí)現(xiàn)流水線(xiàn)并行數(shù)據(jù)處理。? 特殊功能寄存器 該芯片共有26個(gè)特殊功能寄存器,用來(lái)對(duì)片內(nèi)各功能模塊進(jìn)行管理,控制,監(jiān)視。它們位于具有特殊功能的RAM區(qū)。存儲(chǔ)器 可訪(fǎng)問(wèn)的最大存儲(chǔ)空間為64k的程序,64k的數(shù)據(jù)以及64k的I/O空間。片內(nèi)ROM,可配置為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。? 指令系統(tǒng) 支持單指令重復(fù)和塊指令重復(fù)操作 支持存儲(chǔ)器塊傳送指令 支持32位長(zhǎng)操作數(shù)的讀指令 具有能并行存儲(chǔ)和并行加載的算術(shù)指令 支持條件存儲(chǔ)指令及中斷快速返回指令 1)算術(shù)運(yùn)算指令 2)邏輯運(yùn)算指令 3)程序控制指令 4)加載和存儲(chǔ)指令 ? 速度 5.0V電壓的器件,其速度可達(dá)到40MIPS,指令周期時(shí)間為25ns。3.3V電壓器件,其速度可達(dá)到80MIPS,指令周期時(shí)間為12.5ns。2.5V電壓的器件,其速度可達(dá)到100MIPS,指令周期時(shí)間為10ns。1.8V電壓的器件,其速度可達(dá)到200MIPS,指令周期時(shí)間為10ns ? 應(yīng)用 該芯片具有很高的處理速度和廣泛的應(yīng)用適應(yīng)性,采用模塊化的設(shè)計(jì),功耗小,常用于擴(kuò)頻通信,移動(dòng)通信,語(yǔ)音識(shí)別,發(fā)動(dòng)機(jī)控制,超聲設(shè)備等等。(2)C55x TMS320C55x在C54x的基礎(chǔ)上發(fā)展起來(lái)的新一代低功耗,高性能數(shù)字信號(hào)處理器。 1)軟件具有C54x兼容模式; 2)工作時(shí)鐘大大超過(guò)了C54x系列處理器; 3)CPU內(nèi)部通過(guò)增加功能單元增強(qiáng)了DSP的運(yùn)算能力 具有更高的性能和更低的功耗,在無(wú)線(xiàn)通信,個(gè)人數(shù)字系統(tǒng)以及高效率的多通道數(shù)字壓縮語(yǔ)音電話(huà)中得到廣泛應(yīng)用。? 硬件結(jié)構(gòu) 1)主要由CPU,存儲(chǔ)器,和片上設(shè)備構(gòu)成。 2)兩個(gè)乘法累加器,在一個(gè)單周期執(zhí)行雙乘法操作;40位的算術(shù)邏輯單元和一個(gè)16位的算術(shù)邏輯單元,實(shí)現(xiàn)高精度算術(shù)和邏輯操作,對(duì)主ALU完成簡(jiǎn)單的邏輯運(yùn)算; 3)4個(gè)累加器,可以保留計(jì)算結(jié)果,減少對(duì)存儲(chǔ)單元的訪(fǎng)問(wèn);算術(shù)邏輯單元具有并行處理能力。 4)具有3根讀總線(xiàn),2根寫(xiě)總線(xiàn),6根地址總線(xiàn),16位的數(shù)據(jù)字長(zhǎng),輔助寄存器字長(zhǎng)為3個(gè)字節(jié),8個(gè)輔助寄存器,統(tǒng)一的程序/數(shù)據(jù)存儲(chǔ)空間,4個(gè)數(shù)據(jù)寄存器。 ? 指令系統(tǒng) 1)算術(shù)指令系統(tǒng) 2)位操作指令 3)擴(kuò)展輔助寄存器操作指令 4)邏輯運(yùn)算指令 5)移動(dòng)指令 6)程序控制指令 ? 速度 與C54x相比,處理速度明顯提高,功耗明顯降低。300MHz的C55x比120MHz的C54x處理速度提高了5倍,功耗降到C54x的1/6。 ? 應(yīng)用 C55x應(yīng)用在高功效的設(shè)施,要求提高信道密度,但又有嚴(yán)格的功耗和空間限制。適合于剛剛推出使用的3G手機(jī),用于因特網(wǎng)的音頻,視頻,數(shù)據(jù)的移動(dòng)產(chǎn)品等??梢匝娱L(zhǎng)電池的壽命,將數(shù)字蜂窩電話(huà),便攜式聲音播放器,數(shù)碼相機(jī)的電池使用時(shí)間,從小時(shí)延長(zhǎng)到天。(3)C6000 ? 硬件結(jié)構(gòu) TMS320C6000產(chǎn)品是美國(guó)TI公司于1997年推出的dsp芯片,該DSP芯片定點(diǎn)、浮點(diǎn)兼容,其中,定點(diǎn)系列是TMS320C62xx系列,浮點(diǎn)系列是TMS320C67xx系列,2000年3月,TI發(fā)布新的C64xx內(nèi)核,主頻為1.1GHz,處理速度9000MIPS,在圖像處理和流媒體領(lǐng)域得到了廣泛的應(yīng)用。 C6000片內(nèi)有8個(gè)并行的處理單元,分為相同的兩組。DSP的體系結(jié)構(gòu)采用超長(zhǎng)指令字結(jié)構(gòu),單指令字長(zhǎng)為32位,指令包里有8條指令,總字長(zhǎng)達(dá)到256位。執(zhí)行指令的功能單元已經(jīng)在編譯時(shí)分配好,程序運(yùn)行時(shí)通過(guò)專(zhuān)門(mén)的指令分配模塊,可以將每個(gè)256為的指令包同時(shí)分配到8個(gè)處理單元,并有8個(gè)單元同時(shí)運(yùn)行。芯片最高時(shí)鐘頻率為300MHz(67xx系列),且內(nèi)部8個(gè)處理單元并行運(yùn)行時(shí),其最大處理能力可達(dá)到1600MIPS。? 指令系統(tǒng) 1)程序轉(zhuǎn)移類(lèi)指令 2)算術(shù)運(yùn)算類(lèi)指令 3)邏輯即位域操作指令 4)搬移類(lèi)指令 5)LOAD/STORE類(lèi)指令 6)C6000公共指令 ? 應(yīng)用 C6000系列的高速處理能力以及其出色的對(duì)外接口能力,使得它在雷達(dá)聲吶,醫(yī)療儀器和圖像處理等領(lǐng)域具有非常大的應(yīng)用潛力。 運(yùn)算速度比傳統(tǒng)的快很多,因此在軍事投稿信,電子對(duì)抗,雷達(dá)系統(tǒng)和制導(dǎo)武器等應(yīng)用比較廣泛。第五篇:DSP大作業(yè)