DSP、嵌入式、軟件試題_第1頁
DSP、嵌入式、軟件試題_第2頁
DSP、嵌入式、軟件試題_第3頁
DSP、嵌入式、軟件試題_第4頁
DSP、嵌入式、軟件試題_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1.5khz的正弦波,采樣頻率40khz,取16個(gè)周期,問一共多少個(gè)點(diǎn)(N)?然后對(duì)采樣數(shù)據(jù)

做N點(diǎn)dft,問dft后其中有非零值的點(diǎn)是哪些

2.給出一個(gè)H(「jw)=1-Z0*e7-jw),其中Z0為不在單位圓上的零點(diǎn)證明其群延遲

為Re(Z0*e"(-jw)/(Z0*e~(-jw)-1))

3.給出一個(gè)m*n的矩陣A,滿足什么fullrank然后證明一個(gè)方程的解是一條我看不懂的

式子的最小值...ToT

4.求扔兩個(gè)色子得到7的概率...沒了--到現(xiàn)場看幾乎都是研究生...?==看來我也就

能去玩玩而已...

DSP、嵌入式、軟件試題

2006-10-1613:22

1、請(qǐng)用方框圖描述一個(gè)你熟悉的實(shí)用數(shù)字信號(hào)處理系統(tǒng),并做簡要的分析;如

果沒有,也可以自己設(shè)計(jì)一個(gè)簡單的數(shù)字信號(hào)處理系統(tǒng),并描述其功能及用途。

(仕蘭微面試題

R)

2、數(shù)字濾波器的分類和結(jié)構(gòu)特點(diǎn)。(仕蘭微面試題目)

3、TTR.FTR濾波器的異同°(新太硬件面題)

4、拉氏變換與Z變換公式等類似東西,隨便翻翻書把

如.h(n)=-a*h(nT)+b*8(n)a.求h(n)的z變換;b.問該系統(tǒng)是否為穩(wěn)定系統(tǒng);

c.寫出FIR數(shù)字濾波器的差分方程;(未知)

5、DSP和通用處理器在結(jié)構(gòu)上有什么不同,請(qǐng)簡要畫出你熟悉的一種DSP結(jié)構(gòu)

圖。(信威dsp軟件面試題)

6、說說定點(diǎn)DSP和浮點(diǎn)DSP的定義(或者說出他們的區(qū)別)(信威dsp軟件面

試題)

7、說說你對(duì)循環(huán)尋址和位反序?qū)ぶ返睦斫?(信威dsp軟件面試題)

8、請(qǐng)寫出[-8,7]的二進(jìn)制補(bǔ)碼,和二進(jìn)制偏置碼。用Q15表示出0.5和一

0.5.(信威

dsp軟件面試題)

9、DSP的結(jié)構(gòu)(哈佛結(jié)構(gòu));(未知)

10、嵌入式處理器類型(如ARM),操作系統(tǒng)種類(Vxworks,ucos,winCE,linux),

操作系統(tǒng)方面偏CS方向了,在CS篇里面講了;(未知)

11、有一個(gè)LDO芯片將用于對(duì)手機(jī)供電,需要你對(duì)他進(jìn)行評(píng)估,你將如何設(shè)計(jì)你

的測(cè)試項(xiàng)目?

12、某程序在一個(gè)嵌入式系統(tǒng)(200MCPU,50MSDRAM)中已經(jīng)最優(yōu)化了,換到

零一個(gè)系統(tǒng)(300MCPU,50MSDRAM)中是否還需要優(yōu)化?(Intel)

13、請(qǐng)簡要描述HUFFMAN編碼的基本原理及其基本的實(shí)現(xiàn)方法。(仕蘭微面試題

目)

14、說出0SI七層網(wǎng)絡(luò)協(xié)議中的四層(任意四層)。(仕蘭微面試題目)

15、A)(仕蘭微面試題目)

#include

voidtestf(int*p)

*p+=l;

)

main()

(

int*n,m[2];

n=m;

m[O]=l;

testf(n);

printf(''Datavalueis%d”,*n);

B)

#include

voidtestf(int**p)

*p+=l;

main()

{int*n,m[2];

n=m;

testf(&n);

printf(Datavalueis%d〃,*n);

}

下面的結(jié)果是程序A還是程序B的?

Datavalueis8

那么另一段程序的結(jié)果是什么?

16、那種排序方法最快?(華為面試題)

17、寫出兩個(gè)排序算法,問哪個(gè)好?(威盛)

18>編一個(gè)簡單的求n!的程序。(Infineon筆試試題)

19、用一種編程語言寫n!的算法。(威盛VIA2003.11.06上海筆試試題)

20、用C語言寫一個(gè)遞歸算法求N!;(華為面試題)

21、給一個(gè)C的函數(shù),關(guān)于字符串和數(shù)組,找出錯(cuò)誤;(華為面試題)

22、防火墻是怎么實(shí)現(xiàn)的?(華為面試題)

23、你對(duì)哪方面編程熟悉?(華為面試題)

24、冒泡排序的原理。(新太硬件面題)

25、操作系統(tǒng)的功能。(新太硬件面題)

26、學(xué)過的計(jì)算機(jī)語言及開發(fā)的系統(tǒng)。(新太硬件面題)

27、一個(gè)農(nóng)夫發(fā)現(xiàn)圍成正方形的圍欄比長方形的節(jié)省4個(gè)木樁但是面積一樣.羊

的數(shù)目和正方形圍欄的樁子的個(gè)數(shù)一樣但是小于36,問有多少羊?(威盛)

28、C語言實(shí)現(xiàn)統(tǒng)計(jì)某個(gè)cell在某.v文件調(diào)用的次數(shù)(這個(gè)題目真bt)(威盛

VIA

2003.11.06上海筆試試題)

29、用C語言寫一段控制手機(jī)中馬達(dá)振子的驅(qū)動(dòng)程序。(威勝)

30、用perl或TCL/Tk實(shí)現(xiàn)一段字符串識(shí)別和比較的程序。(未知)

31、給出一個(gè)堆棧的結(jié)構(gòu),求中斷后顯示結(jié)果,主要是考堆棧壓入返回地址存放

在低端地址還是高端。(未知)

32、一些DOS命令,如顯示文件,拷貝,刪除。(未知)

33、設(shè)計(jì)一個(gè)類,使得該類任何形式的派生類無論怎么定義和實(shí)現(xiàn),都無法產(chǎn)生

任何對(duì)象實(shí)例。(IBM)

34、Whatispre-emption?(Intel)

35、Whatisthestateofaprocessifaresourceisnotavailable?(Intel)

36、三個(gè)floata,b,c;問值(a+b)+c==(b+a)+c,(a+b)+c==(a+c)+bo(Intel)

37、把一個(gè)鏈表反向填空。(lucent)

38>x4+a*x3+x2+c*x+d最少需要做兒次乘法?(Dcphi)

1)DSP和通用處理器在結(jié)構(gòu)上有什么不同,請(qǐng)簡要畫出你熟悉

的一種DSP結(jié)構(gòu)圖

2)說說定點(diǎn)DSP和浮點(diǎn)DSP的定義(或者說出他們的區(qū)別)

3)說說你對(duì)循環(huán)尋址和位反序?qū)ぶ返睦斫?/p>

4)請(qǐng)寫出【-8,7]的二進(jìn)剖補(bǔ)碼,和二進(jìn)制偏置碼。

用Q15表示出0.5和-0.5

DSP的題。

下面是,是我還記得的些題。歡迎大家多交流,補(bǔ)充。請(qǐng)不要向外轉(zhuǎn)載

parti(必答題20題,以下沒有按原來順序?qū)懀?/p>

1.

馮諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)的區(qū)別。

2.用16位有符號(hào)數(shù)表示0.7,并寫出過程

3.

香農(nóng)定理,過采樣,及為什么要過采樣,降采樣,為什么要降采樣。

4.

FIR與IIR的區(qū)別。

5.

littleendian與bigendian的區(qū)別。

6:

realtimeOS與通用OS的區(qū)別

7:寫出雙向鏈表的插入,和刪除操作。

8:TASK與task的區(qū)別

9,通信系統(tǒng)的組成。什么是信源,信道編碼??作用

10:中斷程序應(yīng)該注意什么??如果一個(gè)中斷要持續(xù)很長時(shí)間,應(yīng)該怎么做??

11.靜態(tài)變量怎么使用??

12:

動(dòng)態(tài)分配變量和糅放函數(shù)使用時(shí)應(yīng)注意什么??如果,有一個(gè)模塊中的一校部分需要頻繁的

**,應(yīng)該

怎么優(yōu)化??

13:編寫ULTRADrive和PC之間通信的程序。怎樣實(shí)現(xiàn)自動(dòng)速率調(diào)整。。

覽439次,評(píng)論0次,投票0次)

都是英文的題目

1o設(shè)計(jì)一個(gè)4輸入的7段LED驅(qū)動(dòng)器,并寫出testbench

2?解釋什么叫phasenoise和jitter,怎樣盡量減小jitter

解釋什么叫skew,怎樣盡量減小skew

3。選作其一

1)解釋什么是cpu的實(shí)模式,什么是保護(hù)模式

2)解釋什么是ADC的INL和DNL5a880faf6f?應(yīng)屆生求職網(wǎng)

YingJicShcng.COM?c350adc2a4

4O英文作文,你最喜歡什么課?你學(xué)到了什么?為什么?200words

a)什么是Setup和Holdup時(shí)間?

建立時(shí)間(setuptime)是指在觸發(fā)器的時(shí)鐘信號(hào)上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果建立時(shí)

間不夠,數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被打入觸發(fā)器:保持時(shí)間(holdtime)是指在觸發(fā)器的時(shí)鐘信號(hào)上

升沿到來以后,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果保持時(shí)間不夠,數(shù)據(jù)同樣不能被打入觸發(fā)糊。

b)什么是競爭與冒險(xiǎn)現(xiàn)象?怎樣判斷?如何消除?

信號(hào)在FPGA器件內(nèi)部通過連戰(zhàn)和邏世單元時(shí),都有一定的延時(shí).延時(shí)的大小與連嫉的長短和邏輯單元

的數(shù)目有關(guān),同時(shí)還受器件的制造T.藝、工作電壓、溫度等條件的影響。信號(hào)的高低電平轉(zhuǎn)換也需要一定

的過渡時(shí)間。由于存在這兩方面因素,多路信號(hào)的電平值發(fā)生變化時(shí),在信號(hào)變化的瞬間,組合邏輯的輸

出有先后順序,并不是同時(shí)變化,往往會(huì)出現(xiàn)一些不正確的尖峰信號(hào),這些尖峰信號(hào)稱為"毛刺"。如果一個(gè)

組合邏輯電路中有“毛刺”出現(xiàn),就說明該電路存在“冒險(xiǎn)”。用D觸發(fā)器,格雷碼計(jì)數(shù)器,同步電路等優(yōu)秀

的設(shè)計(jì)方案可以消除。

c)請(qǐng)畫出用D觸發(fā)器實(shí)現(xiàn)2倍分頻的邏輯電路?

就是把D觸發(fā)器的輸出端加非門接到D端。

d)什么是"線與"邏輯,要實(shí)現(xiàn)它,在硬件特性上有什么具體要求?

將幾個(gè)0C門結(jié)構(gòu)與非門輸出并聯(lián),當(dāng)每個(gè)0C門輸出為高電平時(shí),總輸出才為高,這種連接方式稱為線

與。

e)什么是同步邏輯和異步邏輯?

整個(gè)設(shè)計(jì)中只有一個(gè)全局時(shí)鐘成為同步邏輯。

多時(shí)鐘系統(tǒng)邏輯設(shè)計(jì)成為異步邏輯。

f)請(qǐng)畫出微機(jī)接口電路中,典型的輸入設(shè)備與微機(jī)接口邏輯示意圖(數(shù)據(jù)接口、控制接口、所存器/緩沖

器)。

是不是結(jié)構(gòu)圖?

g)你知道那些常用邏輯電平?TTL與COMS電平可以直接互連嗎?

TTL,emos.不能直連

LVDS:LVDS(LowVoltageDifferentialSignal)即低電壓差分信號(hào),LVDS接口又稱RS644總線接口,

是20世紀(jì)90年代才出現(xiàn)的一種數(shù)據(jù)傳輸和接口技術(shù)。

ECL:(EmitterCoupledLogic)即射極耦合邏輯,是帶有射隨輸出結(jié)構(gòu)的典型輸入輸出接口電路

CML:CML電平是所有高速數(shù)據(jù)接口中最簡單的一種。其輸入和輸出是匹配好的,減少了外圍器件,適

合于更高頻段工作。

收薇此頁到365K

G.729在DSP應(yīng)用中代碼優(yōu)化研究

sailing發(fā)表于2006-9-316:07:48

摘要:對(duì)G.729編解碼算法和TMS320c54x的原理進(jìn)行了介紹,并介紹了如何

實(shí)現(xiàn)該算法和優(yōu)化代碼。

關(guān)鍵詞:G.729;編碼器;解碼器;優(yōu)化;TMS320C54X

ResearchofCodeOptimizationBasedonG.729forDSPApplication

LIUWeichao,LIFuhai

(CollegeofElectricalandInformationEngineering,HunanUniversity,Changsha,4100

82,China)

Abstract:ThispapercontainsthedescriptionofEncodeanddecodealgorithmf

ortheG.729andtheprincipleoftheTMS320C54x,andintroduceshowtorealizethe

algrithmandoptimizecode

Keywords:G.729:encoder:decoder;optimize:TMS320C54x

1G.729編解碼算法簡介

G.729是ITU組織于1995年正式批準(zhǔn)的,命名為G.729建議。該建議采用

共朝結(jié)構(gòu)[CD2]代數(shù)碼激勵(lì)線性預(yù)測(cè)(CSACELP)算法,其帶寬約4kHz,工作速

率為8kb/s,M0S在4.0左右,語音質(zhì)量同32kb/s的ADPCM相當(dāng)。因此,G.

729被廣泛應(yīng)用于DSVD、數(shù)字衛(wèi)星系統(tǒng)、電視會(huì)議、可視電話、IP電話及各種

多媒體通信系統(tǒng)中。

1.1編碼器

編碼器是基于碼激勵(lì)線性預(yù)測(cè)(CELP)編碼模型的,采樣率為8kHz,每1

0ms對(duì)應(yīng)80個(gè)采樣點(diǎn)為1幀。編碼器原理如圖1所示。

ffl1屈碼m原以圖screen,width-500){this,style.width=screen.

width-500);*border=0>

語音信號(hào)先進(jìn)入預(yù)處理模塊,信號(hào)經(jīng)過高通濾波和信號(hào)幅度衰減后,再作為

后續(xù)模塊分析的信號(hào)。每10ms幀將進(jìn)行一次LP分析以計(jì)算出LP濾波器參數(shù),

這些參數(shù)被轉(zhuǎn)換為LSP參數(shù),并利用預(yù)測(cè)式兩級(jí)矢量量化將其量化為18bo激

勵(lì)信號(hào)應(yīng)用分析合成(ABS)搜索算法進(jìn)行選擇。在該算法中,依據(jù)感覺加權(quán)失

真測(cè)度使原始與重建語音信號(hào)間的誤差最小。這是通過用感覺加權(quán)濾波器對(duì)誤差

信號(hào)濾波來完成的,濾波器系數(shù)由未量化LP濾波器推得。感覺加權(quán)的數(shù)目通過

自適應(yīng)以提高效果,使輸入信號(hào)具有平坦的頻響。

激勵(lì)參數(shù)(固定和自適應(yīng)碼書參數(shù))每5ms(40樣點(diǎn))子幀確定一次。量化和

未量化的LP濾波器系數(shù)應(yīng)用到第二子幀,采用了插值LP濾波器系數(shù)(量化和未

量化的)。一個(gè)開環(huán)基音延遲每10ms幀基于感覺加權(quán)語音信號(hào)估算一次,然后

以下操作每子幀重復(fù)一次。使LP殘差通過加權(quán)合成濾波器W(z)/A(z)濾波算得

目標(biāo)信號(hào)X(n)。這些濾波器的初始狀態(tài),是通過對(duì)LP殘差與激勵(lì)間的誤差進(jìn)

行濾波來更新的。這與通常的方法即從加權(quán)語音信號(hào)中減去加權(quán)合成濾波器的零

輸入響應(yīng)是等價(jià)的。算得加權(quán)合成濾波器的沖擊響應(yīng)h(n),然后進(jìn)行閉環(huán)基音分

析(以尋找自適應(yīng)碼書和增益),利用目標(biāo)信號(hào)X(n)和沖擊響應(yīng)h(n),在開環(huán)

基音延遲值附近搜索,采用1/3精度的分?jǐn)?shù)基音延遲,基音延遲再第一子幀編碼

為8b,而在第二子幀采用5b編碼。自適應(yīng)碼書貢獻(xiàn)(經(jīng)濾波)減去后,目標(biāo)

信號(hào)X(n)變?yōu)閄(n),這個(gè)新的目標(biāo)信號(hào)X,(n)用在固定碼書搜索中以搜索最

優(yōu)激勵(lì)。一個(gè)17b的代數(shù)碼書用作固定碼書激勵(lì)。自適應(yīng)和固定碼書的增益用

7b進(jìn)行矢量量化(MA預(yù)測(cè)應(yīng)用到固定碼書增益中)。最后,濾波器的記憶值由

已確定的激勵(lì)信號(hào)來更新。

1.2解碼器

譯碼器原理如圖2所示。

width-500};*border=0>

首先,參數(shù)標(biāo)號(hào)從接收到的比特流中提取。這些標(biāo)號(hào)被譯碼,以獲得對(duì)應(yīng)一

個(gè)10ms語音幀的編碼參數(shù)。這些參數(shù)是LSP系數(shù),2個(gè)分?jǐn)?shù)基音延遲,2個(gè)固

定碼書矢量,2組自適應(yīng)碼書和固定碼書增益。LSP系數(shù)在每一子幀中進(jìn)行插值

并轉(zhuǎn)化為LP濾波器系數(shù),然后對(duì)每5ms子幀進(jìn)行如下步驟操作:

①自適應(yīng)碼書和固定碼書乘以各自增益后相加獲得激勵(lì),

②用LP合成濾波器對(duì)激勵(lì)進(jìn)行濾波,獲得重建語音。

③重建語音信號(hào)再通過一個(gè)后處理級(jí),該后處理級(jí)包括一個(gè)基于長時(shí)和短時(shí)

合成濾波器的自適應(yīng)后濾波器和一個(gè)能實(shí)現(xiàn)高通和比例縮放的濾波器。

2TMS320C54X性能簡介

TMS320C54X是TT公司推出的高性能16b定點(diǎn)DSP。因高性能與低功耗使其

成為無線和有線通信系統(tǒng)的理想器件。C54x系列DSP采用改進(jìn)哈佛結(jié)構(gòu),具有1

個(gè)程序存儲(chǔ)器總線和3個(gè)數(shù)據(jù)存儲(chǔ)器總線,17X17b乘法器,1個(gè)供非流水的M

AC(乘法/累加)使用的專用加法器,1個(gè)比較、選擇、存儲(chǔ)單元。為C54x配備

了雙操作碼指令集,他是該系列DSP操作靈活和高速度的基礎(chǔ)。他的執(zhí)行速率最

高可以達(dá)到120MIPSo

3代碼編寫及其優(yōu)化

由于G.729算法非常復(fù)雜,而TMS320c54x的性能又非常有限,因此,實(shí)現(xiàn)

語音信息的實(shí)時(shí)處理必然要求盡可能優(yōu)化代碼和充分利用DSP的性能。通常編寫

代碼的方式有3種:用純匯編語言編程、用純C語言編程、混合編程。

3.1用純匯編語言編程

TI公司提供了針對(duì)開發(fā)DSP的匯編語言,用戶可以用他進(jìn)行軟件開發(fā)。此

種方式可以充分利用DSP芯片的硬件資源,其代碼效率高,程序執(zhí)行速度快。但

是用DSP芯片的匯編語言編寫程序比較繁雜,而且軟件的修改和升級(jí)較困難。

3.2用純C語言編程

C語言的可讀性、可修改性、可移植性和可重用性非常好。在用C語言進(jìn)行

DSP軟件開發(fā)時(shí),一般先在PC機(jī)上或工作站上對(duì)算法進(jìn)行仿真,仿真通過后再

將程序移植到DSP平臺(tái)中"然而,由于G.729算法非常復(fù)雜,直接編寫的C程序

通常無法實(shí)現(xiàn)對(duì)語音實(shí)時(shí)的處理。例如:實(shí)際測(cè)試表明,用C語言編程和手寫匯

編語言編程之間的效率相差幾倍甚至幾十倍。因此,有必要對(duì)程序進(jìn)行優(yōu)化。優(yōu)

化的方法通常有如下幾種:

3.2.1快速算法

與直接算法相比,快速算法通常放棄了概念上的清晰度,轉(zhuǎn)而追求程序上的

高效率,典型的例子如DCT與FFT。DCT(離散余弦變換)是另一種常用的正交

變換,以一個(gè)直接的32X32的DCT變換為例,共需做1024次乘法和992次加

法。而采用了Lee提出的快速DCT變換方法后,對(duì)于同樣的輸入條件,只需做3

84次乘法和432次加法。適當(dāng)采用快速算法,可極大的提高代碼運(yùn)行效率。

3.2.2計(jì)算表格化

為了提高算法的運(yùn)行效率,減少運(yùn)行時(shí)計(jì)算的時(shí)間開銷,應(yīng)盡可能把一些運(yùn)

行時(shí)計(jì)算的參數(shù)做成查找表或常數(shù)數(shù)值,從而將運(yùn)行時(shí)的計(jì)算轉(zhuǎn)化為編譯時(shí)的

計(jì)算。這不僅適用于一些比較規(guī)整的參數(shù)表,對(duì)于一些比較耗時(shí)的計(jì)算(如浮

點(diǎn)除)也同樣適用。

3.2.3數(shù)組指針化

在C語言程序中,對(duì)數(shù)組的尋址是非常耗時(shí)的,特別是對(duì)多維數(shù)組。因此,

在設(shè)計(jì)中首先降低數(shù)組的維數(shù),再進(jìn)一步使之指針化。

3.2.4減少判斷轉(zhuǎn)移

DSP多采用流水線法,如TMS320c54x就采用了6級(jí)流水線結(jié)構(gòu),頻繁的轉(zhuǎn)

移指令將使流水線難以發(fā)揮作用。另外,DSP的大多數(shù)指令為周期指令,但轉(zhuǎn)移

指令通常要耗費(fèi)較多的機(jī)器周期。因此,應(yīng)該盡可能減少程序中的轉(zhuǎn)移分支。事

實(shí)上,通過對(duì)程序流的分析,許多判斷轉(zhuǎn)移可以用簡單的條件組合來實(shí)現(xiàn)。例如

將程序if(sum>32767)sum=32767優(yōu)化成sum=min(sum,32767)。

3.3混合編程

混合編程就是將C語言和匯編語言結(jié)合起來,充分發(fā)揮兩者的優(yōu)點(diǎn)和DSP

性能的一種編程方法。混合編程主要有如下3種方法:

3.3.1獨(dú)立編寫C和匯編程序

這種方法在實(shí)際工程應(yīng)用較多,首先分別獨(dú)立編寫C和匯編程序,然后將他

們加入到同一個(gè)工程文件中,再利用集成開發(fā)環(huán)境對(duì)他們進(jìn)行編譯鏈接,最后生

成可執(zhí)行代碼。通常FFT,FIR,IIR等的程序一般采用匯編語言編寫,而主程序

則可采用C語言,這樣只需在C程序中定義這些程序?yàn)橥獠空{(diào)用即可。采用這種

方法必須遵循有關(guān)的調(diào)用規(guī)則,有了這些規(guī)則,C和匯編函數(shù)之間的接口就變得

很方便:C程序既可以調(diào)用匯編程序,也可以訪問匯編程序中定義的變量;匯

編程序也可以調(diào)用C函數(shù)或訪問C程序中定義的變量。但用戶必須維護(hù)各匯編模

塊入口和出口代碼,計(jì)算傳遞的參數(shù)在堆棧中的偏移量,工作量稍大,但能做到對(duì)

程序的絕對(duì)控制。

3.3.2直接在C程序中嵌入?yún)R編語句

在C程序中嵌入?yún)R編語句的方法比較簡單,只需在匯編語句的左右加上一個(gè)

引號(hào),然后用小括弧將匯編語句括住,并在括弧前加上asm標(biāo)識(shí)符即可,即asm

(“匯編語句”)。采用這種方法一方面可以在C程序中實(shí)現(xiàn)用C語言無法實(shí)現(xiàn)的

一些硬件控制功能,如修改中斷控制寄存器、中斷使能或屏蔽、讀取狀態(tài)寄存器

和中斷標(biāo)志寄存器等;另一方面,也可以用這種方法在C程序中的關(guān)鍵部分用匯

編語句代替C語言以優(yōu)化程序。而采用這種方法的缺點(diǎn)是比較容易破壞C環(huán)境,

因?yàn)镃編譯器在編譯嵌入了匯編語句的C程序時(shí)并不檢查或分析所嵌入的匯編

語句。

采用這種方法需要注意:

①不要破壞C環(huán)境,因?yàn)镃編譯器并不檢查和分析嵌入的匯編語句。

②插入跳轉(zhuǎn)語句和標(biāo)號(hào)會(huì)產(chǎn)生不可預(yù)測(cè)的結(jié)果。

③匯編語句不要改變C程序中變量的值。

④不要在匯編語句中加入?yún)R編器選項(xiàng)而改變匯編環(huán)境。

3.3.3手工優(yōu)化和修改C程序編譯生成的匯編程序

采用這種方法通常需要對(duì)C編譯器非常了解,而且在修改匯編程序時(shí)要避免

與程序的其他部分發(fā)生沖突。通常采用如下方法進(jìn)行修改:在集成開發(fā)環(huán)境中選

擇View菜單下的MixcdSource/ASM選項(xiàng),可看到交*列表的匯編程序;在所生成

的語句中,每個(gè)C語句的下面就是C編譯器對(duì)該C語句編譯所生成的匯編語句,

通過查看交*列表的匯編程序,可.以對(duì)某些編譯不是很優(yōu)但卻是比較關(guān)鍵的匯編

語句進(jìn)行修改。注意,修改匯編語句時(shí)切勿破壞C環(huán)境。

4結(jié)語

由于G.729算法的復(fù)雜性,而TMS320c54x有限的性能,因此,通常采用純

C語言編程是無法實(shí)現(xiàn)對(duì)語音的實(shí)時(shí)處理的。而采用純匯編語言編程,雖然能

夠達(dá)到實(shí)時(shí)的要求,但是其開發(fā)周期過長。在實(shí)際情況下,主要是采用混合編程,

主函數(shù)通常采用C程序編寫,因?yàn)檫@樣編譯器會(huì)幫助初始化一些狀態(tài)值,既準(zhǔn)確

又耗時(shí)少,一些用來存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)體用C語言定義,因?yàn)橛脜R編定義時(shí)會(huì)非常

麻煩,對(duì)于那些耗時(shí)多、運(yùn)算密集的模塊則要用匯編編寫,這樣既能保證程序的

結(jié)構(gòu)化和可讀性,又能保證代碼的高效。

參考文獻(xiàn)

[1]TMS320C54xApplicationGuideTexasInstruments,1996

[2]TMS320C54xCodeComposerStudioTutorial.TexasInstrument,20

00

[3]戴明楨,周建江.TMS320c54xDSP結(jié)構(gòu)、原理及應(yīng)用匚M].北京:北京航

空航天大學(xué)出版社,2001

[4]DeitelHM,DeitelPJ.CHowtoProgramSecondEdition[M].Pren

ticeHall,1994

[5]ITUTRecommendationG.729.CodingofSpeechat8kb/s.UsingConju

gateStructureAlgebraicCodeexcitedLinearprediction(CSACELP),1996

io種軟件濾波方法

sailing發(fā)表于2006-8-2017:12:54

下面奉獻(xiàn)一匠人嘔心瀝血搜腸刮肚冥思苦想東拼西湊整理出來的10種軟件濾波方法:

1、限幅濾波法(又稱程序判斷濾波法)

A、方法:根據(jù)經(jīng)驗(yàn)判斷,確定兩次采樣允許的最大偏差值(設(shè)為A),每次檢測(cè)到新值時(shí)判斷:如果

本次值與上次值之差<=A,則本次值有效。如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值

代替本次值

B、優(yōu)點(diǎn):能有效克服因偶然因素引起的脈沖干擾。

C、缺點(diǎn):無法抑制那種周期性的干擾,平滑度差。

2、中位值濾波法

A、方法:連續(xù)采樣N次(N取奇數(shù)),把N次采樣值按大小排列,取中間值為本次有效值。

B、優(yōu)點(diǎn):能有效克服因偶然因素引起的波動(dòng)干擾,對(duì)溫度、液位的變化緩慢的被測(cè)參數(shù)有良好的濾波

效果。

C、缺點(diǎn):對(duì)流量、速度等快速變化的參數(shù)不宜。

3、算術(shù)平均濾波法

A、方法:連續(xù)取N個(gè)采樣值進(jìn)行算術(shù)平均運(yùn)算。N值較大時(shí):信號(hào)平滑度較高,但靈敏度較低;N值

較小時(shí):信號(hào)平滑度較低,但靈敏度較高。N值的選?。喊懔髁浚琋=12:壓力:N=4

B、優(yōu)點(diǎn):適用于對(duì)一般具有隨機(jī)干擾的信號(hào)進(jìn)行濾波,這樣信號(hào)的特點(diǎn)是有一個(gè)平均值,信號(hào)在某一

數(shù)值范圍附近上下波動(dòng)。

C、缺點(diǎn):對(duì)于測(cè)量速度較慢或要求數(shù)據(jù)計(jì)算速度較快的實(shí)時(shí)控制不適用,比較浪費(fèi)RAM。

4、遞推平均濾波法(又稱滑動(dòng)平均濾波法)

A、方法:把連續(xù)取N個(gè)采樣值看成?個(gè)隊(duì)列,隊(duì)列的長度固定為N,每次采樣到個(gè)新數(shù)據(jù)放入隊(duì)尾,

并扔掉原來隊(duì)首的一次數(shù)據(jù).(先進(jìn)先出原則),把隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,就可獲得新的濾波

結(jié)果。N值的選?。毫髁?,N=12;壓力:N=4:液面,N=ri2:溫度,N=P4

B、優(yōu)點(diǎn):對(duì)周期性干擾有良好的抑制作用,平滑度高,適用于高頻振蕩的系統(tǒng)。

C、缺點(diǎn):靈敏度低,對(duì)偶然出現(xiàn)的脈沖性干擾的抑制作用較差,不易消除由于脈沖干擾所引起的采

樣值偏差,不適用于脈沖干擾比較嚴(yán)重的場合,比較浪費(fèi)RAM

5、中位值平均濾波法(乂稱防脈沖干擾平均濾波法)

A、方法:相當(dāng)于“中位值濾波法”+“算術(shù)平均濾波法”。連續(xù)采樣N個(gè)數(shù)據(jù),去掉一個(gè)最大值和一

個(gè)最小值,然后計(jì)算22個(gè)數(shù)據(jù)的算術(shù)平均值。N值的選?。?~14

B、優(yōu)點(diǎn):融合了兩種淞波法的優(yōu)點(diǎn),對(duì)于偶然出現(xiàn)的脈沖性干擾,可消除由于脈沖干擾所引起的采樣

值偏差。

C、缺點(diǎn):測(cè)量速度較慢,和算術(shù)平均濾波法一樣,比較浪費(fèi)RAM。

6、限幅平均濾波法

A、方法:相當(dāng)于“限幅濾波法”+“遞推平均濾波法”,每次采樣到的新數(shù)據(jù)先進(jìn)行限幅處理,再送

入隊(duì)列進(jìn)行遞推平均濾波處理。

B、優(yōu)點(diǎn):融合了兩種濾波法的優(yōu)點(diǎn),對(duì)于偶然出現(xiàn)的脈沖性干擾,可消除由于脈沖干擾所引起的采樣

值偏差。

C、缺點(diǎn):比較浪費(fèi)RAM。

7、一階滯后濾波法

A、方法:取a=O~L本次濾波結(jié)果=(1-a)*本次采樣值+a*上次濾波結(jié)果。

B、優(yōu)點(diǎn):對(duì)周期性干擾具有良好的抑制作用,適用于波動(dòng)頻率較高的場合。

C、缺點(diǎn):相位滯后,靈敏度低,滯后程度取決于a值大小,不能消除源波頻率高于采樣頻率的1/2

的干擾信號(hào)。

8、加權(quán)遞推平均濾波法

A、方法:是對(duì)遞推平均濾波法的改進(jìn),即不同時(shí)刻的數(shù)據(jù)加以不同的權(quán)。通常是,越接近現(xiàn)時(shí)刻的數(shù)

據(jù),權(quán)取得越大。給予新采樣值的權(quán)系數(shù)越大,則靈敏度越高,但信號(hào)平滑度越低。

B、優(yōu)點(diǎn):適用于有較大純滯后時(shí)間常數(shù)的對(duì)象和采樣周期較短的系統(tǒng)。

C、缺點(diǎn):對(duì)于純滯后時(shí)間常數(shù)較小,采樣周期較長,變化緩慢的信號(hào)不能迅速反應(yīng)系統(tǒng)當(dāng)前所受干擾

的嚴(yán)重程度,濾波效果差。

9、消抖濾波法

A、方法:設(shè)置一個(gè)濾波計(jì)數(shù)器將每次采樣值與當(dāng)前有效值比較:如果采樣值=當(dāng)前有效值,則計(jì)數(shù)器

消零如果采樣值。當(dāng)前有效值,則計(jì)數(shù)瑞+1,并判斷計(jì)數(shù)費(fèi)是否>=上限N(溢出),如果計(jì)數(shù)冊(cè)溢出,則將本

次值替換當(dāng)前有效值,并滑計(jì)數(shù)器。

B、優(yōu)點(diǎn):對(duì)于變化緩慢的被測(cè)參數(shù)有較好的3慮波效果,可避免在臨界值附近控制器的反復(fù)開/關(guān)跳動(dòng)

或顯示器上數(shù)值抖動(dòng)。

C、缺點(diǎn):對(duì)于快速變化的參數(shù)不宜,如果在計(jì)數(shù)器溢出的那一次采樣到的值恰好是干擾值,則會(huì)將干

擾值當(dāng)作有效值導(dǎo)入系統(tǒng)。

10.限幅消抖濾波法

A、方法:相當(dāng)于“限幅波波法”+“消抖濾波法”先限幅,后消抖。

B、優(yōu)點(diǎn):繼承了“限幅”和“消抖”的優(yōu)點(diǎn)改進(jìn)了“消抖濾波法”中的某些缺陷,避免將干擾值導(dǎo)入

系統(tǒng)。

C、缺點(diǎn):對(duì)于快速變化的參數(shù)不宜。

IIR數(shù)字漉波器

A.方法:確定信號(hào)帶寬,濾之。Y(n)=al*Y(n-l)+a2*Y(n-2)+.+ak*Y(n-k)+bO*X(n)+

bl*X(n-l)+b2*X(n-2)+.+bk*X(n-k)..

B.優(yōu)點(diǎn):高通,低通,帶通,帶阻任意。設(shè)計(jì)簡單(用matlab)

C.缺點(diǎn):運(yùn)算量大。

數(shù)字濾波常用方法(帶程序)

sailing發(fā)表于2006-8-515:48:20

10種軟件濾波方法的示例程序

OurWay發(fā)表于2005-9-222:24:00

10種軟件濾波方法的示例程序(JKRL)

假定從8位AD中讀取數(shù)據(jù)(如果是更高位的AD可定義數(shù)據(jù)類型為int),子程序?yàn)間et_ad();

1、限副濾波

/*A值可根據(jù)實(shí)際情況調(diào)整

value為有效值,newvalue為當(dāng)前采樣值

濾波程序返回有效的實(shí)際值*/

SdefineA10

charvalue;

charfilterO

(

charnewvalue;

new_value=get_ad();

if((newvalue-value>A)||(value-newvalue>A)

returnvalue;

returnnewvalue:

2、中位值濾波法

/*N值可根據(jù)實(shí)際情況調(diào)整

排序采用冒泡法*/

^defineN11

charfilter()

(

charvalue_buf[N];

charcount,i,j,temp;

for(count=0;count<N;count++)

(

value_buf[count]=get_ad();

delay();

)

for(j=0;j<N-l;j++)

for(i=0;i<N-j;i++)

if(valuebuf[i]>valuebuf[i+1])

(

temp=value_buf[i];

value_buf[i]=value.buf[i+1];

value_buf[i+1]=temp;

)

}

)

returnvalue_bufE(N-l)/2];

}

3、算術(shù)平均濾波法

#defineN12

charfilter()

(

intsum=0:

for(count=0;count<N;count++)

(

sum+=getad();

delay();

)

return(char)(sum/N);

}

4、遞推平均濾波法(又稱滑動(dòng)平均濾波法)

defineN12

charvalue_buf[N]:

chari=0;

charfilter0

(

charcount;

intsum=0:

value_buf[i++]=get_ad();

if(i=N)i=0;

for(count=0:count<N,count++)

sum=value_buf[count]:

return(char)(sum/N);

}

5、中位值平均涌波法(又稱防脈沖干擾平均濾波法)

^defineN12

charfilter()

(

charcount,i,j;

charvalue_buf[N];

intsum=0;

for(count=0:count<N;count++)

(

value_bufLcountJ=get_ad();

delay();

)

for(j=0;j<N-l;j++)

(

for(i=0:i<N-j;i++)

(

if(valuebuf[i]>valuebuf[i+1])

(

temp=value_buf[i];

value_buf[i]=value_buf[i+1];

value_buf[i+1]=temp;

)

}

)

for(count=l;count<N-l;count++)

sum+=value[count];

return(char)(sum/(N-2));

)

6、限幅平均濾波法

/*

*/

略參考子程序1、3

7、?階滯后濾波法

/*為加快程序處理速度假定基數(shù)為100,a=0'100*/

Adelinea50

charvalue:

charfilter()

(

charnew_value;

new_value=get_ad();

return(100-a)"value+a*new_value;

)

8、加權(quán)遞推平均濾波法

/*coe數(shù)組為加權(quán)系數(shù)表,存在程序存儲(chǔ)區(qū)。*/

#defineN12

charcodecoe[N]={1,2,3,4,5,6,7,8,9,10,11,12);

charcodesum_co?-1+2+3+4+5+6+7+8+9+10+11+12,

charfilter()

(

charcount;

charvalue_buf[N];

intsum=0;

for(cour>t=0,count<N;count++)

(

valuebuf[count]=getad();

delay();

)

for(count=0,count<N;count++)

sum+=value_buf[count]*coe[count];

return(char)(sum/sum_coe);

)

9、消抖濾波法

^defineN12

charfilter0

(

charcount=0;

charnew_value;

new_value=get_ad();

while(value!=new_value);

(

count++;

if(count>=N)returnnew一value;

delay0;

new_value=get_ad();

)

returnvalue;

10、限幅消抖濾波法

/*

*/

略參考子程序1、9

微機(jī)控制系統(tǒng)的數(shù)字濾波算法

任克強(qiáng)',劉暉2

(1.南方冶金學(xué)院信息工程學(xué)院江西贛州341000;

2.南方冶金學(xué)院機(jī)電工程學(xué)院江西贛州341000)

摘要:分析了采用數(shù)字濾波消除隨機(jī)干擾的優(yōu)點(diǎn),詳細(xì)論述了微機(jī)控制系

統(tǒng)中常用的8種數(shù)字濾波算法,并討論了各種數(shù)字濾波算法的適用范圍。

關(guān)鍵詞:數(shù)字濾波;控制系統(tǒng);隨機(jī)干擾;數(shù)字濾波算法

弓言

1I薪i機(jī)控制系統(tǒng)的模擬輸入信號(hào)中,一般均含有各種噪聲和干擾,他們來自

被測(cè)信號(hào)源本身、傳感器、外界干擾等。為了進(jìn)行準(zhǔn)確測(cè)量和控制,必須消除被

測(cè)信號(hào)中的噪聲和干擾。噪聲有2大類:一類為周期性的,其典型代表為50Hz

的工頻干擾,對(duì)于這類信號(hào),采用積分時(shí)間等于20ms整倍數(shù)的雙積分A/D轉(zhuǎn)換

器,可有效地消除其影響;另一類為非周期的不規(guī)則隨機(jī)信號(hào),對(duì)于隨機(jī)干擾,

可以用數(shù)字濾波方法予以削弱或?yàn)V除。所謂數(shù)字濾波,就是通過一定的計(jì)算或判

斷程序減少干擾信號(hào)在有用信號(hào)中的比重,因此他實(shí)際上是一個(gè)程序?yàn)V波。

數(shù)字濾波器克服了模擬濾波器的許多不足,他與模擬濾波器相比有以下優(yōu)

盧.

(1)數(shù)字濾波器是用軟件實(shí)現(xiàn)的,不需要增加硬設(shè)備,區(qū)而可靠性高、穩(wěn)定

性好,不存在阻抗匹配問題。

(2)模擬濾波器通常是各通道專用,而數(shù)字濾波器則可多通道共享,從而降

低了成本。

(3)數(shù)字濾波器可以對(duì)頻率很低(如0.01Hz)的信號(hào)進(jìn)行濾波,而模擬濾波

器由于受電容容量的限制,頻率不可能太低。

(4)數(shù)字濾波器可以根據(jù)信號(hào)的不同,采用不同的濾波方法或?yàn)V波參數(shù),具

有靈活、方便、功能強(qiáng)的特點(diǎn)。

2常用數(shù)字濾波算法

數(shù)字濾波器是將一組輸入數(shù)字序列進(jìn)行一定的運(yùn)算而轉(zhuǎn)換成另一組輸出數(shù)

字序列的裝置。設(shè)數(shù)字濾波器的輸入為X(n),輸出為Y(n),則輸入序列和輸出

序列之間的關(guān)系可用差分方程式表示為:

-K)-£%y(n—K)(1)

K-o\

其中:輸入信號(hào)X(n)可以是模擬信號(hào)經(jīng)采樣和A/D變換后得到的數(shù)字序列,也

可以是計(jì)算機(jī)的輸出信號(hào)。具有上述關(guān)系的數(shù)字濾波器的當(dāng)前輸出與現(xiàn)在的和過

去的輸入、過去的輸出有關(guān)。由這樣的差分方程式組成的濾波器稱為遞歸型數(shù)字

濾波器。如果將上述差分方程式中bK取0,則可得:

=^aKX(n-K)⑵

說明輸出只和現(xiàn)在的輸入和過去的輸入有關(guān)。這種類型的濾波器稱為非遞歸

型數(shù)字濾波器。

參數(shù)出、氏的選擇不同,可以實(shí)現(xiàn)低通、高通、帶通、帶阻等不同的數(shù)字濾

波器。

2.1算術(shù)平均值濾波

算術(shù)平均值濾波是要尋找一個(gè)Y,使該值與各采樣值X(K)(K=l?N)之間誤差

的平方和為最小,即:

E==min[*(丫—X(K))2](3)

K-JK-l

由一元函數(shù)求極限原理褥:

y==£x(K)(4)

這時(shí),可滿足式(3)。式(4)便是算術(shù)平均值濾波的算法。

設(shè)第二次測(cè)量的測(cè)量值包含信號(hào)成分Si和噪聲成分G,則進(jìn)行N次測(cè)量的

信號(hào)成分之和為:

?s($)

噪聲的強(qiáng)度是用均方根來衡量的,當(dāng)噪聲為隨機(jī)信號(hào)時(shí),進(jìn)行N次測(cè)量的噪

聲強(qiáng)度之和為:

式⑸和式(6)中,S、C分別表示進(jìn)行N次測(cè)量后信號(hào)和噪聲的平均幅度。

這樣對(duì)N次測(cè)量進(jìn)行算術(shù)平均后的信噪比為:

其中,S/C是求算術(shù)平均值前的信噪比。因此采用算術(shù)平均值后,使信噪比提

高了三倍。

算術(shù)平均值法適用于對(duì)一般具有隨機(jī)干擾的信號(hào)進(jìn)行濾波,這種信號(hào)的特點(diǎn)

是有一個(gè)平均值,信號(hào)在某一數(shù)值范圍附近作上下波動(dòng),此歸僅取一個(gè)采樣值作

依據(jù)顯然是不準(zhǔn)確的,如壓力、流量、液平面等信號(hào)的測(cè)量。但對(duì)脈沖性干擾的

平滑作用尚不理想,因此他不適用于脈沖性干擾比較嚴(yán)重的場合。由式(7)可知,

算術(shù)平均值法對(duì)信號(hào)的平滑濾波程度完全取決于N。當(dāng)N較大時(shí),平滑度高,但

靈敏度低,即外界信號(hào)的變化對(duì)測(cè)量計(jì)算結(jié)果Y的影響?。划?dāng)N較小時(shí),平滑度

低,但靈敏度高。應(yīng)視具體情況選取N,以便既少占用計(jì)算時(shí)間,又達(dá)到最好的

效果,如對(duì)一般流量測(cè)量,可取N=8?16,對(duì)壓力等測(cè)量,可取N=4。

2.2加權(quán)平均值濾波

算術(shù)平均值法對(duì)每次采樣值給出相同的加權(quán)系數(shù),B|J1/NO但有些場合為

了改進(jìn)濾波效果,提高系統(tǒng)對(duì)當(dāng)前所受干擾的靈敏度,需要增加新采樣值在平均

值中的比重,即將各采樣值取不同的比例,然后再相加,此方法稱為加權(quán)平均值

法。一個(gè)N項(xiàng)加權(quán)平均式為:

Y=(8)

K-I

其中,G,G,???.C,均為常數(shù)且應(yīng)滿足下式:

[0<Cl<C,<-<Cx

<(9)

lC|+G+…+CN=1

常數(shù)G,G,…,G的選我是多種多樣的,其中常用的是加權(quán)系數(shù)法,即:

A=IM

c.=r"A

CN=<?

其中?△■】+e-+c"+…+£-<"-叫r為控制對(duì)象的

純滯后時(shí)間.

加權(quán)平均值法適用于系統(tǒng)純滯后時(shí)間常數(shù)T較大、采樣周期較短的過程,他

給不同的相對(duì)采樣時(shí)間得到的采樣值以不同的權(quán)系數(shù),以便能迅速反應(yīng)系統(tǒng)當(dāng)前

所受干擾的嚴(yán)重程度。但采用加權(quán)平均值法需要測(cè)試不同過程的純滯后時(shí)間T,

同時(shí)要不斷計(jì)算各權(quán)系數(shù),增加了計(jì)算量,降低了控制速度,因而他的實(shí)際應(yīng)用

不如算術(shù)平均值法廣泛。

2.3滑動(dòng)平均值濾波

以上平均濾波算法有一個(gè)共同點(diǎn),即每計(jì)算1次有效采樣值必須連續(xù)采樣N

次。對(duì)于采樣速度較慢或要求數(shù)據(jù)計(jì)算速率較高的實(shí)時(shí)系統(tǒng),這些方法是無法使

用的。例如A/D數(shù)據(jù),數(shù)據(jù)采樣速率為每秒10次,而要求每秒輸入4次數(shù)據(jù)時(shí),

則N不能大于2o滑動(dòng)平均值法只采樣1次,將本次采樣值和以前的N-1次采

樣值一起求平均,得到當(dāng)前的有效采樣值。

滑動(dòng)平均值法把N個(gè)采樣數(shù)據(jù)看成一個(gè)隊(duì)列,對(duì)列的長度固定為N,每進(jìn)行

一次新的采樣,把采樣結(jié)果放入隊(duì)尾,而扔掉原來隊(duì)首的一個(gè)數(shù)據(jù),這樣在隊(duì)列

中始終有N個(gè)“最新”的數(shù)據(jù)。計(jì)算濾波值時(shí),只要把隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行平

均,就可得到新的濾波值。

滑動(dòng)平均值法對(duì)周期性干擾有良好的抑制作用,平滑度高,靈敏度低;但對(duì)

偶然出現(xiàn)的脈沖性干擾的抑制作用差,不易消除由于脈沖干擾引起的采樣值的偏

差。因此他不適用于脈沖干擾比較嚴(yán)重的場合,而適用于高頻振蕩系統(tǒng)。通過觀

察不同N值下滑動(dòng)平均的輸出響應(yīng)來選取N值,以便既少占用時(shí)間,又能達(dá)到最

好的濾波效果。其工程經(jīng)驗(yàn)值為:流量N取12,壓力N取4,液面N取4?12,

溫度N取1?4。

2.4中值濾波

中值濾波是對(duì)某一被測(cè)參數(shù)連續(xù)采樣N次(一般N取奇數(shù)),然后把N次采樣

值從小到大,或從大到小排隊(duì),再取其中間值作為本次采樣值。

中值濾波對(duì)于去掉偶然因素引起的波動(dòng)或采樣器不穩(wěn)定而造成的誤差所引

起的脈沖干擾比較有效,對(duì)溫度、液位等變化緩慢的被測(cè)參數(shù)采用此法能收到良

好的濾波效果,但對(duì)流量、速度等快速變化的參數(shù)一般不易采用。

2.5防脈沖干擾平均值濾波

在脈沖干擾比較嚴(yán)重的場合,若采用一般的平均值法,則干擾將“平均”到

計(jì)算結(jié)果中去,故平均值法不易消除由于脈沖干擾而引起的采樣值偏差。防脈沖

干擾平均值法先對(duì)N個(gè)數(shù)據(jù)進(jìn)行比較,去掉其中的最大值和最小值,然后計(jì)算余

下的N-2個(gè)數(shù)據(jù)的算術(shù)平均值。即:

丫=(10)

其中.&X(2)《…&Xg.N>3.

在實(shí)際應(yīng)用中,N可取任何值,但為了加快測(cè)量計(jì)算速度,N一般不能太大,

常取為4,即為四取二再取平均值法。他具有計(jì)算方便、速度快、存儲(chǔ)量小等特

點(diǎn),故得到了廣泛應(yīng)用。

2.6程序判斷濾波

工程實(shí)踐表明,許多物理量的變化都需要一定的時(shí)間,相鄰兩次采樣值之間

的變化有一定的限度。程序判斷濾波就是根據(jù)實(shí)踐經(jīng)驗(yàn)確定出相鄰兩次采樣信號(hào)

之間可能出現(xiàn)的最大偏差A(yù)Y,若超出此偏差值,則表明該輸入信號(hào)是干擾信號(hào),

應(yīng)該去掉;若小于此偏差值,可將信號(hào)作為本次采樣值。

當(dāng)采樣信號(hào)由于隨機(jī)干擾,如大功率用電設(shè)備的啟動(dòng)或停止,造成電流的尖

峰干擾或誤檢測(cè),以及變送器不穩(wěn)定而引起的嚴(yán)重失真等,可采用程序判斷法進(jìn)

行濾波。

程序判斷濾波根據(jù)濾波方法的不同,可分為限幅濾波和限速濾波2種。

2.6.1限幅濾波

限幅濾波把兩次相鄰的采樣值相減,求出其增量(以絕對(duì)值表示),然后與兩

次采樣允許的最大差值(由被控對(duì)象的實(shí)際情況決定)AY進(jìn)行比較,若小于或等

于AY,則取本次采樣值;若大于AY,則仍取上次采樣值作為本次采樣值。即:

YH(11)

-y(K-i)i

限幅濾波主要用于變化比較緩慢的參數(shù),如溫度、物理位置等測(cè)量系統(tǒng)。具

體應(yīng)用時(shí),關(guān)鍵的問題是最大允差A(yù)Y的選取,AY太大,各種干擾信號(hào)將“乘

虛而入”,使系統(tǒng)誤差增大;AY太小,又會(huì)使某些有用信號(hào)被“拒之門外”,

使計(jì)算機(jī)采樣效率變低。因此,門限值△Y的選取是非常重要的。通??筛鶕?jù)經(jīng)

驗(yàn)數(shù)據(jù)獲得,必要時(shí)也可由實(shí)驗(yàn)得出。

2.6.2限速濾波

限速濾波最多可用3次采樣值來決定采樣結(jié)果,設(shè)順序采樣時(shí)刻t2,t3

的采樣值分別為Y(D,Y(2),Y(3),則

y⑵,ir(2)-r(i)i

y⑶.ir(3)-r(2)i-

Y=,--.iy(2)-r(i)i>△/<12)

且y⑶-y(2)i>△/

限速濾波較為折中,既照顧了采樣的實(shí)時(shí)性,又顧及了采樣值變化的連續(xù)性。

但這種方法也有明顯的缺點(diǎn):

(DAY的確定不夠靈活、必須根據(jù)現(xiàn)場的情況不斷更換新值;

(2)不能反映采樣點(diǎn)數(shù)N>3時(shí)各采樣值受干擾的情況,因而其應(yīng)用受到一定

的限制。具體應(yīng)用時(shí),可用(|Y(l)-Y(2)|+|Y(2)-Y(3)|)/2作為AY,這樣也可

基本保持限速濾波的特性,雖增加計(jì)算量,但靈活性提高了C

2.7低通濾波

將普通硬件RC低通濾波器的微分方程用差分方程來表示,便可以用軟件算

法來模擬硬件濾波的功能。經(jīng)推導(dǎo),低通濾波算法如下:

Y(K)?a?X(K)?(1—?)?Y(K-1)(13)I

其中,X(K)為本次采樣值;Y(KT)為上次的濾波輸出值;a為濾波系數(shù),其值通

常遠(yuǎn)小于1;Y(K)為本次濾波的輸出值。

由式(13)可以看出,本次濾波的輸出值主要取決于上次濾波的輸出值(注意

不是上次的采樣值,這和加權(quán)平均濾波是有本質(zhì)區(qū)別的),本次采樣值對(duì)濾波輸

出的影響是比較小的,但多少有些修正作用。

這種算法模擬了具有較大慣性的低通濾波功能,當(dāng)目標(biāo)參數(shù)為變化很慢的物

理量時(shí),效果很好,但他不能濾除高于1/2采樣頻率的干擾信號(hào)。除低通濾波

外,同樣可用軟件來模擬高通濾波和帶通濾波。

2.8復(fù)合數(shù)字濾波

為了進(jìn)一步提高濾波效果,有時(shí)可以把2種或2種以上不同濾波功能的數(shù)字

濾波器組合起來,組成復(fù)合數(shù)字濾波器,或稱多級(jí)數(shù)字濾波器。

例如防脈沖干擾平均值濾波就是一種應(yīng)用實(shí)例,由于這種濾波方法兼顧了中

值濾波和算術(shù)平均值濾波的優(yōu)點(diǎn),所以無論對(duì)緩慢變化的信號(hào),還是對(duì)快速變化

的信號(hào),都能獲得較好的濾波效果。

此外,也可采用雙重濾波的方法,即把采樣值經(jīng)過低通濾波后,再經(jīng)過一次

高通濾波。這樣,結(jié)果更接近理想值,這實(shí)際上相當(dāng)于多級(jí)RC濾波器。

3結(jié)語

本文討論了8種數(shù)字濾波算法,每種濾波算法都有其各自的特點(diǎn),在實(shí)際應(yīng)

用中,究竟選取哪一種數(shù)字濾波算法,應(yīng)根據(jù)具體的測(cè)量參數(shù)合理的選用。不適

當(dāng)?shù)貞?yīng)用數(shù)字濾波,不僅達(dá)不到濾波效果,反而會(huì)降低控制品質(zhì),甚至失控,這

點(diǎn)必須予以注意。

參考文獻(xiàn)

LU潘新民,王燕芳.微型計(jì)算機(jī)控制技術(shù),北京:人民郵電出版社,1999

[2]張毅剛,彭喜源,等.MCS51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)

出版社,1999

[3]王幸之,王雷,等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大

學(xué)出版社,2000________________________________________________________

收藏此頁到365Kv

閱讀全文(2250)回復(fù)(1)I引用通告(0)編輯

基于TMS320F2812的DSP控制器設(shè)計(jì)及應(yīng)用

sailing發(fā)表于2006-7-2017:19:13

摘要:基于DSP芯片TMS320F2812的電機(jī)控制器設(shè)計(jì),描述了其引導(dǎo)加載ROM、AD轉(zhuǎn)換單元、傳感器接口、

cpld等電機(jī)控制外設(shè)電路的技術(shù)關(guān)鍵。還簡單介紹了其在調(diào)速系統(tǒng)中的應(yīng)用。

關(guān)鍵詞:電機(jī)控制;DSP;外設(shè):傳感器

在電機(jī)控制領(lǐng)域,TI公司推出了2000系列電機(jī)控制嵌入式DSP。其中的TMS32CF2812屬于高端產(chǎn)品,適

合于工業(yè)控制、機(jī)床控制等高秸度應(yīng)用.目前涉及到2000序列的芯片在電氣傳動(dòng)中的應(yīng)用的文獻(xiàn)以側(cè)重介

紹TMS320LF240X為主,介紹應(yīng)用TMS320F(C)28x的比較少。TMS320F(028x比2dx系列的DSP具有更完備

的外用控制接口和更豐富的電機(jī)控制外設(shè)電路,其指令執(zhí)行時(shí)間或完成一次動(dòng)作的時(shí)間僅為6.67納秒,流

水線采樣最高速率60ns,交直轉(zhuǎn)換通道12位AD達(dá)16個(gè),PWM輸出通道達(dá)12個(gè)[1]。片上資源可以足夠

同時(shí)控制兩臺(tái)三相電機(jī),使控制系統(tǒng)的價(jià)格大大降低而體積縮小、可靠性提高,可以在高度集成環(huán)境中實(shí)

現(xiàn)高性能的電機(jī)控制。本文將著重闡述作者基于TMS320F2812設(shè)計(jì)的DSP控制器的設(shè)計(jì)中的重點(diǎn),并介紹

它在工業(yè)控制中的應(yīng)用。

圖1電機(jī)控制系統(tǒng)結(jié)構(gòu)原理圖

1引導(dǎo)加載ROM

引導(dǎo)加教是指器件復(fù)位時(shí)執(zhí)行一段引導(dǎo)程序,一般用于從端口(異步串口、I/O口、或HPI主機(jī)接口)將E

PROM/FLASH等非易失性存儲(chǔ)器中加載程序到高速RAM中允許。

1.1TMS320F2812的啟動(dòng)模式

TMS320F2812提供了兒種不同的啟動(dòng)模式,四個(gè)通用10引腳用于決定選擇何種啟動(dòng)模式,如表所示:

GPI0F4GPI0F12GPI0F3GPI0F2

(SCnXDA)(MDXA)(SPISTEA)(SPICLK)模式選擇

1XXXFlash地址

01XXSPI啟動(dòng)模式

0C11SCI啟期真式

0C00Parallel啟動(dòng)模式

歡迎訪問http://*w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論