版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 研學(xué)課程設(shè)計(jì)證書怎么考
- 裝修公司整裝課程設(shè)計(jì)
- GB/T 45123-2024公共安全生物特征識(shí)別應(yīng)用算法評(píng)測(cè)數(shù)據(jù)庫要求
- 二零二五年度高風(fēng)險(xiǎn)投資財(cái)產(chǎn)分割離婚協(xié)議書3篇
- 二零二五年股權(quán)質(zhì)押貸款資產(chǎn)評(píng)估及處置合同3篇
- 二零二五年度高端家具定制加工廠合作協(xié)議2篇
- 2024版場攤位租賃合同范文
- 二零二五年環(huán)境監(jiān)測(cè)兼職工程師合同保密與監(jiān)測(cè)數(shù)據(jù)協(xié)議3篇
- 2025年度物業(yè)與業(yè)主之間物業(yè)服務(wù)合同續(xù)約協(xié)議范本18篇
- 2025年度跨境電商平臺(tái)運(yùn)營及品牌推廣合同3篇
- 2025年河北供水有限責(zé)任公司招聘筆試參考題庫含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說課稿-2024-2025學(xué)年高中英語人教版(2019)必修第一冊(cè)
- (完整版)形式發(fā)票模版(國際件通用)
- 武漢東湖賓館建設(shè)項(xiàng)目委托代建合同
- 安徽大學(xué)大學(xué)生素質(zhì)教育學(xué)分認(rèn)定辦法
- 巴布亞新幾內(nèi)亞離網(wǎng)光儲(chǔ)微網(wǎng)供電方案
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預(yù)防接種護(hù)理質(zhì)量考核標(biāo)準(zhǔn)
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機(jī)組水輪機(jī)安裝概述與流程
評(píng)論
0/150
提交評(píng)論