• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      FIR 濾波器的DSP 實現(xiàn)*

      2012-12-22 06:01:36謝海霞孫志雄
      電子器件 2012年5期
      關(guān)鍵詞:低通濾波器脈沖響應信號處理

      謝海霞,孫志雄

      (瓊州學院電子信息工程學院,海南 三亞572022)

      從20 世紀60 年代以來,隨著信息技術(shù)、計算機和半導體集成電路的飛速發(fā)展,數(shù)字信號處理DSP(Digital Signal Processing)技術(shù)應運而生并得到迅速發(fā)展。在數(shù)字信號處理中,濾波占有極其重要的地位。數(shù)字濾波器可分為無限脈沖響應(IIR)數(shù)字濾波器和有限脈沖響應(FIR)數(shù)字濾波器。IIR 濾波器的最大缺點就是不容易實現(xiàn)線性相位,而在語音、圖像、數(shù)據(jù)通信等系統(tǒng)普遍都要求數(shù)字濾波器具有線性相位特性,F(xiàn)IR 濾波器正是因為具有線性相位特性而獲得了廣泛的應用。用DSP 芯片實現(xiàn)數(shù)字濾波除了具有穩(wěn)定性好、精確度高、不受環(huán)境影響等優(yōu)點外,還具有靈活性好的特點。用可編程DSP 芯片實現(xiàn)數(shù)字濾波可通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性[1-4]。

      1 FIR 數(shù)字濾波器的結(jié)構(gòu)

      FIR 濾波器只存在N 個抽頭h(n),N 也稱為濾波器的階數(shù),單位脈沖響應h(n)是有限長序列,則濾波器的輸出是每一分節(jié)的輸出加權(quán)累加,其數(shù)學表達式為:

      很明顯,這就是線性時不變系統(tǒng)的卷積和公式,也就是輸入信號x(n)的延時級聯(lián)的橫向結(jié)構(gòu)。根據(jù)式(1)可得FIR 濾波器的橫向結(jié)構(gòu),如圖1 所示[5-6]。

      圖1 FIR 濾波器的橫向結(jié)構(gòu)示意圖

      因此,要設計一個FIR 濾波器關(guān)鍵是從所需的FIR 濾波器性能指標來確定單位脈沖響應h(n)。下面以設計一個FIR 低通濾波器為例,說明采用MALTAB 和DSP 相結(jié)合來設計FIR 濾波器的實現(xiàn)方法。其設計的流程如圖2 所示。

      圖2 用MATLB 和CCS 實現(xiàn)FIR 濾波器的流程圖

      2 FIR 濾波器的系數(shù)設計

      2.1 設計指標

      本文設計的FIR 數(shù)字濾波器是低通濾波器,其設計指標為:采樣頻率是100 kHz,通帶截止頻率5 kHz,阻帶截止頻率10 kHz,通帶最大衰減0.1 dB,阻帶最小衰減65 dB。

      2.2 抽頭系數(shù)確定

      FDATool 是MATLAB 信號處理工具箱里專用的濾波器設計分析工具。FDATool 中可以靈活地采用不同方法設計幾乎所有的經(jīng)典濾波器,查看濾波器的各種指標,并得到所設計濾波器的系數(shù)[7-9]。圖3是FDATool 操作界面,圖中下半部分是用來設置濾波器的設計參數(shù),根據(jù)設計指標,選擇Kaiser 窗設計方法,填寫數(shù)據(jù),F(xiàn)s=100 kHz,F(xiàn)pss=5 kHz,F(xiàn)stop=10 kHz,Ap=0.1 dB,Astop=65 dB,上半部分是顯示濾波器各種特性,其中包括設計濾波器所需最少的階數(shù)是80、直接型結(jié)構(gòu)及良好的幅頻響應特性。

      圖3 FIR 數(shù)字低通濾波器頻域特性圖

      最后導出C header file 類型文件,得到設計的濾波器的參數(shù),其長度和抽頭系數(shù)如下:

      const int BL=81;

      const int16_T B[81]={0,-2,-6,-10,-13,-13,-7,5,21,39,53,57,44,14,-32,-86,-134,-161,-152,-97,0,127,256,355,387,325,161,-92,-394,-679,-871,-893,-683,-214,504,1411,2410,3380,4189,4727,4915,4727,4189,3380,2410,1411,504,-214,-683,-893,-871,-679,-394,-92,161,325,387,355,256,127,0,-97,-152,-161,-134,-86,-32,14,44,57,53,39,21,5,-7,-13,-13,-10,-6,-2,0};

      3 MATLAB 產(chǎn)生輸入信號

      用MALTAB 產(chǎn)生該濾波器的待測信號,該信號包含輸入信號頻率fa為3 kHz、fb為5 kHz 和fc為12 kHz 3 種合成信號,用于濾波器濾波效果測試,采樣頻率Fs為100 kHz,通過設計的低通濾波器將12 kHz 信號濾除。下面是MALTB 輸入信號程序,導出名為input.dat 文件,方便導入CCS 環(huán)境。

      fa=3000; % /Hz

      fb=5000;

      fc=12000;

      fs=100000; % /采樣頻率100 kHz

      N=1200 %數(shù)據(jù)個數(shù)

      T=1/fs; %采樣周期

      n=0:N;

      xa=cos(2* pi* fa* n* T);

      xb=sin(2* pi* fb* n* T);

      xc=0.5* cos(2* pi* fc* n* T);

      x_lubo=(xa+xb+xc);

      figure(1)

      plot(x_lubo) %待濾波信號波形

      figure(2)

      yff=abs(fftshift(fft(x_lubo)));

      df=n* (fs/N)-fs/2

      plot(df,yff) %待濾波信號頻譜

      xout=x_lubo/max(x_lubo); %歸一化

      x_ccs=round(32768* xout); %采用定點Q15 表示,然后四舍五入取整

      fid=fopen('input.dat','w'); %打開文件,將此文件定義為可寫,fid 是此文件的整數(shù)標示

      fprintf(fid,'1651 1 0 0 0 '); %輸出文件頭,只有此文件頭DSP 芯片才能識別

      fprintf(fid,'%d ',x_ccs); %輸出x_ccs,并寫到input.

      dat 文件里

      fclose(fid);

      運行以上的程序,可得到三種合成信號如圖4所示,利用MATLAB 中的fftshift(x)函數(shù)該信號的頻譜重排,其頻譜圖如圖5 所示,在3 kHz、5 kHz 和12 kHz 處有譜線。

      圖4 待濾波信號波形

      圖5 待濾波信號頻譜

      4 FIR 濾波器的DSP 實現(xiàn)

      TI 公司推出可視化的CCS 集成開發(fā)工具,它集代碼生成軟件和代碼調(diào)試工具于一體,具有強大的應用開發(fā)功能,為DSP 用戶提供了十分便利的開發(fā)環(huán)境[10-12]。

      在CCS 上建立FIRfilter 工程,編寫實現(xiàn)FIR 低通濾波器的FIRfilter.c 程序:

      #include "stdio.h"

      #include "coef.h"

      //coef.h 為Matlab 生成的系數(shù)表頭文件

      #define N 81 //FIR 濾波器的級數(shù)+1,本例中濾波器級數(shù)為80

      #define LEN 200 //待濾波的數(shù)據(jù)長度

      long yn;

      int input[LEN]; //輸入緩沖,在仿真時將從內(nèi)存載入

      int output[LEN]; //輸出緩沖,直接存放在內(nèi)存中

      void main()

      {

      int i,j;

      int * x;

      for(j=0;j<LEN-1;j++)

      {

      x=&input[j];

      yn=0;

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

      yn+=B[i]* (* x++);

      output[j]=yn?15;

      }

      while(1);

      }

      最后將MATLAB 導出的頭文件coef. h 和鏈接文件FIRfilter.cmd 添加到工程中,對程序進行調(diào)試、鏈接;調(diào)試無誤后生成FIRfilter. out 程序,將該文件裝載入內(nèi)存,然后進行仿真。仿真時用MATLAB 生成的input.dat 作為仿真測試文件。

      采用CCS 圖形顯示功能,圖6 和圖7 左邊是觀察到的輸入信號時域波形,而右邊對應的是頻域波形。和圖6 的仿真波形相比較可知,圖7 中12 kHz信號被濾掉,仿真結(jié)果與輸出信號理論吻合,仿真結(jié)果正確。

      圖6 輸入信號時域和頻域波形圖

      圖7 輸出信號時域和頻域波形圖

      5 結(jié)束語

      采用MATLAB 軟件來輔助DSP 平臺實現(xiàn)FIR低通濾波器,大大簡化了數(shù)字濾波器的設計,并且通過CCS 仿真圖形說明了該設計、驗證的方法都是可行的,而且根據(jù)不同實際應用來改變?yōu)V波器參數(shù)即可實現(xiàn)各種類型的濾波器,靈活性好,具有很高的實用性。

      [1] 張雄偉,曹鐵勇,陳亮,等. DSP 芯片的原理與開發(fā)應用[M].北京:電子工業(yè)出版社,2008.

      [2] 劉悅.FIR 數(shù)字濾波器的設計與實現(xiàn)[J]. 信息技術(shù),2009(2):8-9.

      [3] 史明泉.基于DSP 的FIR 濾波器的C 語言算法實現(xiàn)[J]. 無線電工程,2011,41(1):13-14.

      [4] 趙順珍,馬英.基于DSP 的FIR 數(shù)字濾波器設計與實現(xiàn)[J].微計算機信息,2009,25(2):162-163.

      [5] 謝海霞,孫志雄.可編程FIR 濾波器的FPGA 實現(xiàn)[J]. 電子器件,2012,35(2):232-235.

      [6] 陳后金,薛健,胡健.數(shù)字信號處理[M].2 版. 北京:高等教育出版社,2008.

      [7] 鄭爭兵.基于MATLAB 和DSP 的數(shù)字濾波器設計[J]. 電子質(zhì)量,2011(10):30-31.

      [8] 李娟. MATLAB 平臺下的FIR 數(shù)字濾波器設計與分析[J].Journal of Science of Teachers’College and University,2010,30(3):64-67.

      [9] 彭啟琮.DSP 集成開發(fā)環(huán)境:CCS 及DSP/BIOS 的原理與應用[M].北京:電子工業(yè)出版社,2004.

      [10] 萬永革.數(shù)字信號處理的MATLAB 實現(xiàn)[M]. 北京:科學出版社,2007.

      [11] 趙紅怡. DSP 技術(shù)與應用實例[M]. 北京:電子工業(yè)出版社,2003.

      [12] 戴明楨,周建江. TMS320C54xDSP 結(jié)構(gòu)、原理及應用[M]. 4版.北京:北京航空航天大學出版社,2008.

      猜你喜歡
      低通濾波器脈沖響應信號處理
      基于重復脈沖響應的發(fā)電機轉(zhuǎn)子繞組匝間短路檢測技術(shù)的研究與應用
      IIR數(shù)字濾波器設計中頻率轉(zhuǎn)換探究
      《信號處理》征稿簡則
      信號處理(2018年5期)2018-08-20 06:16:02
      《信號處理》第九屆編委會
      信號處理(2018年5期)2018-08-20 06:16:00
      《信號處理》征稿簡則
      信號處理(2018年8期)2018-07-25 12:25:42
      《信號處理》第九屆編委會
      信號處理(2018年8期)2018-07-25 12:24:56
      基于瞬時無功理論的諧波檢測中低通濾波器的改進
      機電信息(2018年6期)2018-03-05 03:44:16
      脈沖響應函數(shù)下的我國貨幣需求變動與決定
      基于有限元素法的室內(nèi)脈沖響應的仿真
      電大理工(2015年3期)2015-12-03 11:34:12
      后置低通濾波器對沖擊負荷電能計量的影響
      電測與儀表(2015年8期)2015-04-09 11:49:50
      钟山县| 奉贤区| 米易县| 阿克陶县| 农安县| 娄烦县| 鱼台县| 兴国县| 高陵县| 南平市| 建昌县| 肃南| 洛宁县| 林甸县| 绵阳市| 沂源县| 宜兰县| 乌拉特后旗| 三江| 玛沁县| 农安县| 商都县| 洛阳市| 永川市| 兰西县| 新田县| 合作市| 拉萨市| 且末县| 文化| 吕梁市| 十堰市| 本溪| 江川县| 阿坝县| 乌兰察布市| 溧水县| 西乌珠穆沁旗| 巴林右旗| 华容县| 巴林左旗|