當前位置:編程學習大全網 - 編程語言 - 怎麽將圖像讀入設計好的濾波器進行處理

怎麽將圖像讀入設計好的濾波器進行處理

題目:利用DSP的FIR濾波器設計

數字處理器(DSP)有很強的數據處理能力,它在高速數字信號處理領域有廣泛的應用,例如數字濾波、音頻處理、圖像處理等。相對於模擬濾波器,數字濾波器沒有漂移,能夠處理低頻信號,頻率響應特性可做成非常接近於理想的特性,且精度可以達到很高,容易集成等。使用可編程的DSP芯片實現數字濾波可以通過修改濾波器的參數十分方便地改變濾波器的特性,下面主要說明利用TMS320VC54x DSP芯片設計實現FIR數字濾波器。

設計目的意義

壹個實際的應用系統中,總存在各種幹擾,所以在系統設計中,濾波器的好壞將直接影響系統的性能。使用DSP進行數字處理,可以對壹個具有噪聲和信號的混合信號源進行采樣,再經過數字濾波,濾除噪聲,就可以提取有用信號了。所以說,數字濾波器是DSP最基本的應用領域,熟悉基於DSP的數字濾波器能為DSP應用系統開發提供良好的基礎。

技術指標

1、數字濾波器的頻率參數主要有:①通帶截頻:為通帶與過渡帶的邊界點,在該點信號增益下降到規定的下限。②阻帶截頻:為阻帶與過渡帶的邊界點,在該點信號衰耗下降到規定的下限。③轉折頻率:為信號功率衰減到1/2(約3dB)時的頻率,在很多情況下,也常以fc作為通帶或阻帶截頻。④當電路沒有損耗時,固有頻率:就是其諧振頻率,復雜電路往往有多個固有頻率。

2、增益與衰耗

濾波器在通帶內的增益並非常數。①對低通濾波器通帶增益,壹般指ω=0時的增益;高通指ω→∞時的增益;帶通則指中心頻率處的增益。②對帶阻濾波器,應給出阻帶衰耗,衰耗定義為增益的倒數。③通帶增益變化量指通帶內各點增益的最大變化量,如果通帶增益變化量以dB為單位,則指增益dB值的變化量。

3、阻尼系數與品質因數

阻尼系數α是表征濾波器對角頻率為ω0信號的阻尼作用,是濾波器中表示能量衰耗的壹項指標,它是與傳遞函數的極點實部大小相關的壹項系數。

4、靈敏度

濾波電路由許多元件構成,每個元件參數值的變化都會影響濾波器的性能。

5、群時延函數

在濾波器設計中,常用群時延函數評價信號經濾波後相位失真程度。

以上的幾個技術指標是壹般濾波器的特性,但在實際應用中,數字濾波器通常用來實現選頻操作,因此在利用DSP實現數字濾波器設計中要求的技術指標主要為在頻域中給出的幅頻響應和相頻響應。如下圖所示

幅頻響應和相頻響應特性曲線

對於幅頻響應,它的含義是信號通過系統之後的輸出信號的幅度與它輸入時的信號的幅度的比值,壹般以分貝值表示。對於相頻響應,含義是信號通過系統之後的輸出信號的相位與它輸入時的信號的相位之差,在運用線性相頻響應指標進行濾波器設計具有如下優點:①只包含實數算法,不涉及復數運算;②不存在延遲失真,只有固定數量的延遲;③可以采用FFT算法,從而提高運行效率;④由於FIR濾波器的單位脈沖響應是有限長序列,故FIR濾波器沒有不穩定的問題,且誤差較小。

基本原理

利用DSP實現FIR濾波器的設計方法主要有窗函數法和頻率抽樣法,其中窗函數法是基本的設計方法,這裏采用窗函數法設計FIR濾波器。設希望得到的濾波器理想響應為 ,那麽FIR濾波器的設計就在於尋找壹個傳遞函數

去逼進 ,設

這裏 就是傅立葉級數的系數。在這種逼近中,最直接的壹種方法就是從單位脈沖響應 入手,使 逼近理想的單位脈沖響應 。由於 是壹個無限長序列,因此,最簡單的方法就是對 做截尾處理,即得到壹個近似的傳遞函數

上式中,Q就是最終確定FIR濾波器的階數,Q越大,近似程度就越高。對 截尾,實際上就是對 乘上壹個矩形窗口 ,即

令z= ,則

其脈沖響應系數為 , ,…, , , ,…, , 。為使 具有因果性,延時Q個樣值,可得:

令n+Q=k,上式成為

令 ,N=2Q,得

式中, 是脈沖響應系數,這裏 …, ,…, 。

壹般來說,FIR數字濾波器輸出 的Z變換形式 與輸入 的Z變換形式之間的關系如下:

實現結構如下圖所示:

Z變換結構圖

從上面的Z變換和結構圖可以很容易得出FIR濾波器的差分方程表示形式,即對上式進行反Z變換得:

上式為FIR數字濾波器的時域表示方法,其中x(n)是在時間n的濾波器的輸入抽樣值,根據上式即可對濾波器進行設計。

硬件設計

1、DSP芯片

根據設計原理,實現的核心器件采用美國德州儀器公司生產的低功耗定點數字信號處理器芯片TMS320C5402。選擇該芯片主要是因為它是目前最常用的低成本DSP芯片,而且包括以下主要特點:

⑴運算速度快,最快可達532MIPS;

⑵多總線結構,片內***有8 條總線(1條程序存儲器總線、3條數據存儲總線和4條地址總線);

⑶CPU采用馮? 諾依曼並行結構設計,使其能在壹條指令周期內,高速地完成多項算術運算;

⑷片內集成了4K×16bitROM和16K×16bit的雙存取RAM;

⑸豐富的片上外圍電路(通用I/O 引腳,定時器,時鐘發生器, HPI 接口,多通道緩沖串行口McBSP)使其與外部接口方便;

⑹3.3V I/O電壓,1.8V核點壓,工作電流平均值為75mA,其中核45mA,I/O約30mA;

⑺144腳BGA封裝,使體積減少,功耗降低。

2、AD和DA電路

在本數字濾波器系統中選擇了TI公司的TLV1570芯片作為模數轉換器件,8通道10位2.7到5.5 V低電壓模數轉換芯片。TLVl570在3V電壓下的采樣頻率為625KSPS,輸入信號最高頻率不能超過300K。

由於模數轉換選擇了10位器件,為了簡化程序代碼,減少DSP 的運算工作量,在本數字濾波器系統中選擇了TI公司的TLV5608芯片,它是壹款8通道10位2.7到5.5V低電壓數模轉換芯片。

3、電源電路

根據DSP芯片工作的電壓電流需求,及芯片采用雙電源供電對加電順序的要求,考慮使用TI公司的電源轉換芯片TPS73HD318,其輸出電壓為壹路3.3V、壹路1.8V,每路電源的最大輸出電流為750mA,能滿足本系統的供電需求。而且TPS73xx具有非常低的靜態電流,能使穩壓器輸出穩定。

4、時鐘電路

C54xx系列的時鐘端子為X1和X2/CLKIN,采用無源晶振提供時鐘信號,由於DSP有壹組端子可以用來調整其工作頻率的高低,故對晶振頻率大小的選定沒有特別的要求,這裏選用10Mhz的晶振。

5、復位電路

為了克服DSP系統因時鐘頻率較高導致在運行時可能發生的幹擾和被幹擾的現象,最好是使用具有監視(Watchdog)功能的自動復位電路,於是采用專門的自動復位芯片MAX706。MAX706的電源為3.1V~5.0V,低電平復位輸出,復位門限為3.08V。

6、未用端子處理

根據使用DSP芯片的相關原則,以及芯片手冊具體決定未用端子是接上拉電阻還是懸空。

7、基於上述的各部分電路組成,可以得出DSP數字濾波器的整體硬件電路連線圖,如下所示

程序設計

1、設計思路

⑴在DSP進行數字濾波運算前首先要進行初始化,只有正確設置了DSP的初始狀態才能保證芯片能正常運行。本系統主要進行以下兩方面的初始化:

①寄存器初始化:狀態寄存器ST0、狀態寄存器ST1、處理器模式控制寄存器PMST、軟件等待狀態寄存器SWWSR、組交換控制寄存器BSCR和時鐘模式寄存器等。

②中斷矢量表初始化:根據DSP芯片對各中斷矢量的設置位置編寫壹個子程序;設置PMST控制寄存器;連接時將矢量表重定位到IPTR指定的地址。

⑵其次就是FIR 數字濾波的子程序設計,主要步驟如下:

①查詢SPCR11寄存器的第二位,當為1時說明read ready,將DRR11的值讀入AR3所指向的地址,該值為最新的采樣值。

②將最新的采樣值減去200h,然後AR3的值減1。

③執行MAC指令。

④將累加器的值送給變量Y,並將Y加上200h。

⑤查詢SPCR20寄存器的第二位,當為1時說明writeready,將Y值賦給DXR10,該值為濾波器輸出值。

⑥循環執行上面步驟。

2、程序流程圖

依據上述程序設計思路可以得到利用DSP實現FIR濾波器設計的程序流程圖,如下

3、程序代碼

由於初始化程序部分過於龐大繁雜,這裏只給出用MAC指令編程實現FIR低通濾波器的程序片斷:

FILT_task1

LD Store_SICX,A

STLM A,ar4

STM #1,ar0 ;間址

STM #28,bk

LD DEM_Out,A

STL A,*ar4+% ;輸入信號:實部

STM #Coef_Tab1,ar5 ;濾波器實部系數地址

LD #0,A

STM #27,brc

RPTB SICXU-1

MAC *AR4+0%,*AR5+,A

SICXU LD A,-16,A ;低通濾波結果

LD C7FFF,B

MIN A

NEG B

MAX A

STL A,DEM_Out

LDM AR4,A

STL A,Store_SICX

RET

Coef_Tab1

.word 100 ;h(0)

.word 7 ;h(1)

… ;脈沖響應系數

.word -248

.word -71 ;h(N-1)

.end

總結

通過利用DSP的FIR濾波器設計,對DSP芯片的使用,以及利用DSP芯片組成的基本系統的相關電路有了比較深的認識。熟悉DSP芯片的系統設計和應用開發流程,並利用圖書館、網絡、詢問同學等方式查找資料和解決相關的難題,這是最基礎的工作,也是最關鍵的步驟。這樣做可以培養自己的動手解決問題的能力和獨立思考的處事方法,使自己具有技術人員的氣質和工作態度,為將來的就業增加優勢。

數字濾波器是DSP的典型應用,學會了有助於觸類旁通,利於進壹步的學習研究,能做到理解其他基於DSP的系統的功能和工作原理。掌握了基於DSP的應用開發,開闊了視野,增長了知識,是進入現代數字信號處理領域重要技能,乃至大規模集成電路的開發也是會用到的基礎,今後要予以重視並積極努力去學習。

  • 上一篇:如何編寫壹個簡單的linux內核模塊和設備驅動程序
  • 下一篇:小狗怎麽做手工制作
  • copyright 2024編程學習大全網