Matlab輔助DSP設計FIR數字濾波器

2021-01-10 電子產品世界

  l 引 言

本文引用地址:http://www.eepw.com.cn/article/267753.htm

  隨著信息技術和計算機技術的飛速發展,數位訊號處理技術在眾多領域得到廣泛應用。數字濾波器由於其精度高、穩定性好、使用靈活等優點,廣泛應用在各種數位訊號處理領域。數字濾波器根據衝擊響應函數的時域特性,可以分為FIR(有限長衝擊響應濾波器)和IIR(無限長衝擊響應濾波器)。FIR濾波器與IIR濾波器相比,具有嚴格的線性相位,幅度特性可任意等優點。而且,FIR濾波器的單位抽樣響應是有限長的,故一定是穩定的,他又可以用快速傅立葉變換(FFT)算法來實現過濾信號,可大大提高運算效率。

  Matlab輔助DSP開發實現的關鍵是建立Matlab與DSF 間的連接。以往一般是由開發工具CCS把DSP中間結果先保存,再調入Matlab工作空間與:Matlab仿真中間結果比較,以此發現DSP程序的不足,這需要反覆操作,比較麻煩。Math Works公司和TI公司共同開發的.Matlab Link for CCS開發工具(CCSLink),實現了在.Matlab,TICCS開發環境和DSP硬體問的雙向連接,開發者可以利用Matlab強大的數據處理、分析、可視化功能來處理CCS和目標DSP中的數據,可以大大簡化DSP軟體開發的分析、調試和驗證過程,縮短軟體開發周期。

  2 Matlab與CCS及目標DSP間的連接

  Matlab可通過3種方式與CCS、目標DSP進行連接、數據交換。CCSLink提供了3種連接對象:

  與CCS的連接對象 可從Matlab命令窗運行CCS中的應用程式,向目標DSP的存貯器、寄存器讀出/寫人數據,檢查DSP狀態,開始/停止目標DSP中運行的程序。

  與RTDX(實時數據交換)的連接對象 使Matlab與目標DSP直接通信,Matlab可以實時地向目標DSP取出/發送數據,並不停止DSP中正在執行的程序。

  嵌入式對象 在Matlab環境中創建,該對象可代表嵌入在目標C程序中的變量,由其可以直接對嵌入在目標DSP存貯器/寄存器中的變量進行操作。

  下面利用Matlab與CCS及目標DSP的連接利用Matlab輔助DSP實現一個低通FIR數字濾波器並把實現的濾波結果和Matlab中仿真的濾波結果進行比較。

  3 Matlab輔助DSP實現FIR過程

  Matlab輔助DSP實現FIR,其總體過程為在DSP中編寫處理程序;在Matlab中利用濾波器設計、分析工具(FDATool),根據指定的濾波器性能快速設計一個FIR,然後把濾波器係數以頭文件形式導人CCS中,頭文件中含濾波器階數和係數數組,在Matlab中調試、運行DSP程序並顯示、分析處理後的數據。使用該方法,便於採用C語言來實現程序。頭文件名不變,當Matlab中設計的濾波器係數改變時,相應頭文件中係數也改變,方便了程序調試、仿真。

  3.1在CCS中編寫處理程序

  在CCS IDE中建立fir.pjt工程,用C語言編寫處理主程序fir.c,利用彙編語言文件,來定義中斷服務程序。另外根據板上的存儲器配置方式,編寫存儲器配置文件(.cmd文件),編譯、連結,生成可執行文件(fir.out文件),加載到目標DSP程序存儲器中。

  3.2利用FDATool設計FIR濾波器

  FIR濾波器設計方法有很多種,利用Matlab中的FDATool(Filter Design & Analysis TOO1)來設計是經常被使用到的一種。FDATool是通過指定濾波器的性能指標來快速設計FIR或者IIR濾波器,他是一種圖形設計界面。

  指定FIR濾波器為低通濾波器(Lowpass),指定階數為30,採樣頻率F,為5 000 Hz,截止頻率為400 Hz。打開FDATool界面(在Matlab命令窗輸入fdat00l),選FIR(Window),用Hamming窗方法;菜單Edit->Convert Structure,選Direct Form FIR,即濾波器結構為直接I型;菜單Analysis用來選擇不同的分析顯示方式,如幅度響應、相位響應、脈衝響應、階躍響應、濾波器係數等。指定完設計參數後單擊按鈕Design Filter,生成濾波器係數。FDATool界面如圖1所示。

  

 

  把生成的濾波器係數傳到目標DSP中有兩種方式,一種把濾波器係數輸入到一個C頭文件,在所建工程中添加該C頭文件,另一種直接把生成的濾波器係數加到DSP存貯器中。本文採用第一種方法。

濾波器相關文章:濾波器原理

c語言相關文章:c語言教程

濾波器相關文章:濾波器原理

低通濾波器相關文章:低通濾波器原理

電源濾波器相關文章:電源濾波器原理

數字濾波器相關文章:數字濾波器原理

相關焦點

  • 一種改進型的FIR數字濾波器設計
    在數位訊號處理中,濾波佔有極其重要的作用,數字濾波器是譜分析、雷達信號處理、通信信號處理應用中的基本處理算法。目前常用的濾波器設計方法普遍採用matlab仿真,dsp實現。但這一傳統設計方法需要的開發周期較長,且設計過程反覆進行,非常不便。
  • 什麼是fir數字濾波器 什麼叫FIR濾波器
    無論是抽取或者插值, 運用FIR濾波器可以省去一些計算, 提高計算效率. 相反,如果使用IIR濾波器,每個輸出都要逐一計算,不能省略,即使輸出要丟棄. * 具有理想的數字特性.線性相位是指濾波器的相位響應是頻率的線性函數(在+/-180度)。因此濾波器的延時後,所有的頻率相位相同。因而濾波器不會產生相位和延遲扭曲。在某些領域,比如數字解調器,沒有相位或者延遲扭曲是FIR濾波器相對於其他IIR和模擬濾波器的一個關鍵優點2.1.3 線性濾波器的條件是什麼?FIR濾波器經常被設計成為線性相位的,當然不是必須要這麼做。
  • 基於Matlab的FIR數字濾波器設計
    而且在實際應用中只需按需求修改濾波器參數,並結合程序的相應改動,即可實現不同功能的濾波器。另外,介紹了利用FDATool設計濾波器的方法,簡單修改參數即可實現多種濾波器。關鍵詞:Matlab;FIR窗函數;FDATool;濾波器 數字濾波器可以過濾時間離散信號,通過對抽樣數據進行數字處理來達到頻域濾波的目的,目前已經廣泛應用在高保真的信號處理,如數字音頻、圖像處理、數據傳輸、生物醫學等領域。由於計算機技術和大規模集成電路的發展,數字濾波器已可用計算機軟體實現。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    摘要 FIR濾波器的設計分為濾波器係數計算和濾波器結構的具體兩個部分。本文引用地址:http://www.eepw.com.cn/article/236081.htm關鍵詞 FPGA;FIR數字濾波器;Matlab;仿真數字濾波器是用於過濾時間離散信號的數字系統,通過對抽樣數據進行數學處理達到頻域濾波的目的。
  • 基於Matlab的FIR數字濾波器設計方案
    本文先介紹FIR數字濾波器的相關概念,並利用MATLAB中的FDA TOOL工具箱和Simulink工具進行FIR帶通數字濾波器的設計,給出了基於Matlab的FIR數字濾波器設計方案。
  • 不同階數的FIR數字濾波器的DSP設計實現
    1 FIR濾波器的設計方法  通常採用窗函數法設計FIR濾波器方法簡單,但是這些濾波器的設計還不是最優的。 首先 通帶和阻帶的波動基本上相等,雖然一般需要δ2δ1,但是在窗函數法中不能分別控制 這些參數。另外對於大部分窗函數來說,通帶內或阻帶內的波動不是均勻的,通常離開過渡 帶時會減小。
  • 基於MATLAB的數字基帶傳輸的 FIR濾波器的設計
    為了解決理想低通特性存在的問題,可採用升餘弦滾降特性的系統,以使理想低通濾波器的邊緣緩慢下降,並使振幅特性在滾降段中心頻率處呈奇對稱,從而保證滿足奈奎斯特第一準則。這種系統可減小碼間串擾和位定時誤差。 由於FIR數字濾波器可實現對升餘弦滾降特性的近似,故本文經過FIR數字濾波器設計來對各種窗函數進行選擇,並通過窗函數法實現對升餘弦特性低通濾波器的設計,同時用MATIAB來仿真實現。
  • Matlab在FIR數字濾波器中的應
    提出FIR數字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。而且在實際應用中只需按需求修改濾波器參數,並結合程序的相應改動,即可實現不同功能的濾波器。
  • 用MATLAB設計FIR濾波器的方法
    介紹了利用MATLAB信號處理工具箱進行FIR濾波器設計的三種方法:程序設計法、FDATool設計法和SPTool設計法,給出了詳細的設計步驟,並將設計的濾波器應用到一個混和正弦波信號,以驗證濾波器的性能。
  • 基於FDATool的FIR濾波器設計方法(一)
    FIR 濾波器廣泛應用於數位訊號處理中,主要功能就是將不感興趣的信號濾除,留下有用信號。FIR濾波器是全零點結構,系統永遠穩定;並且具有線性相位的特徵,在有效頻率範圍內所有信號相位上不失真。
  • matlab中的成型濾波器設計
    matlab 中成型濾波器設計有好幾個函數:rcosineFd=9600;Fs=38.4e3;[num,den] = rcosine(Fd,Fs,'sqrt',0.25);freqz(num);其中的Fd表示輸入數據的採樣率
  • MATLAB常用的FIR濾波器設計方法之窗函數法
    FIR濾波器很多工科出身的人都不會陌生,在我們的學習和工作中,也常常需要設計FIR濾波器。因為FIR濾波器有兩個特點:濾波器是穩定的以及具有線性相位。FIR濾波器在信號處理相關領域當然也包括本人所在的雷達信號處理領域有著廣泛的應用。本文主要介紹MATLAB最常用的FIR濾波器設計方法之窗函數法。其他的方法將在另一章中介紹。
  • 基於MATLAB的理想低通濾波器的設計
    低通濾波器在信號處理中的作用等同於其它領域如金融領域中移動平均數(moving average)所起的作用;低通濾波器有很多種,其中,最通用的就是巴特沃斯濾波器和切比雪夫濾波器。 數字濾波器設計流程圖
  • FIR與IIR濾波器的區別與特點比較
    2、IIR數字濾波器採用遞歸型結構,即結構上帶有反饋環路。IIR濾波器運算結構通常由延時、乘以係數和相加等基本運算組成,可以組合成直接型、正準型、級聯型、並聯型四種結構形式,都具有反饋迴路。由於運算中的捨入處理,使誤差不斷累積,有時會產生微弱的寄生振蕩。
  • 第六講 DSP在雷達信號處理中的應用
    本文重點介紹通用dsp在雷達信號處理系統中的典型應用,以及研製基於dsp的雷達信號處理系統的關鍵技術。本文引用地址:http://www.eepw.com.cn/article/20739.htm dsp在雷達信號處理中的典型應用 作為面向數位訊號處理的可編程嵌入式處理器,dsp具有高速、靈活、可靠、可編程、低功耗、接口豐富、處理速度快、實時性好等特點。
  • 基於Matlab的IIR數字濾波器設計
    數字濾波器在數位訊號處理中起著非常重要的作用,在信號的過濾、檢測與參數的估計等方面,是使用最為廣泛的一種線性系統。  實現數字濾波器的方法有兩種,一是採用計算機軟體進行,就是把所要完成的工作通過程序讓計算機來實現;二是設計專用的數字處理硬體。這個地方主要用到的就是第一種方法。即是用Mafiab提供的信號處理工具箱來實現數字濾波器。
  • matlab濾波器設計-IIR濾波器的設計與仿真
    利用MATLAB信號處理箱(Signal Processing Toolbox)可以快速有效地實現數字濾波器的設計與仿真。本文引用地址:http://www.eepw.com.cn/article/150648.htm2 數字濾波器及傳統設計方法 數字濾波器可以理解為是一個計算程序或算法,將代表輸入信號的數字時間序列轉化為代表輸出信號的數字時間序列,並在轉化過程中,使信號按預定的形式變化。
  • 基於Matlab的FIR帶通濾波器設計與實現
    摘要:藉助Matlab的FDATOOL濾波器設計分析軟體,設計了一種FIR數字帶通濾波器,並對一段含噪語音信號進行濾波。利用彙編語言編程,在DSP上實現了該濾波器。
  • FIR濾波器原理
    Ⅱ、數字濾波器相比模擬濾波器有更高的信噪比。這主要是因為數字濾波器是以數字器件執行運算,從而避免了模擬電路中噪聲(如電阻熱噪聲)的影響。數字濾波器中主要的噪聲源是在數字系統之前的模擬電路引入的電路噪聲以及在數字系統輸入端的模數轉換過程中產生的量化噪聲。這些噪聲在數字系統的運算中可能會被放大,因此在設計數字濾波器時需要採用合適的結構,以降低輸入噪聲對系統性能的影響。
  • 基於FPGA的高效FIR濾波器設計與實現
    摘要: 給出了一種基於FPGA的數字濾波器的設計方法。該方法先通過MATLAB設計出一個具有具體指標的FIR濾波器, 再對濾波器係數進行處理, 使之便於在FPGA中實現, 然後採用基於分布式算法和CSD編碼的濾波器結構進行設計, 從而避免了乘法運算, 節約了硬體資源,其流水線的設計方式也提高了運行速度。Matlab和Modelsim仿真表明, 該設計功能正確, 能實現快速濾波。