基于PSO的FIR數字濾波器設計
3 仿真算例
為了驗證所提出算法的有效性,在計算機上采用Matlab語言進行FIR數字濾波器設計的仿真實驗。同時為了比較算法性能,還采用基本遺傳算法(BGA)和基本粒子群優化算法(BPSO)進行了相同的濾波器優化設計。仿真實驗中,粒子群優化算法的參數設置為:群體大小Size=30,參數維數Codel=30,最大慣性權重為O.9,最小為0.2,聚合度為20,最大迭代次數為200;遺傳算法參數設置為:種群30,遺傳代數200,交叉概率0.5,變異概率0.1。
實例1 設計一個低通FIR數字濾波器,其技術指標如下:
圖2和圖4分別是三種算法在設計FIR低通和帶通數字濾波器的參數優化過程圖。
圖3和圖5則是用三種不同算法設計的FIR低通和帶通數字濾波器。從圖2和圖4中容易看出,無論是對低通還是帶通濾波器的設計,因為IMPSO對BPSO加入了聚合度檢測,能進行智能變異,同時采用線性遞減的慣性權值系數。因此與BPSO相比,IMPSO既有最快的尋優速度,也具有最好的適應值,只要迭代次數設置合理,在迭代次數范圍內,粒子總會找到全局最優值。BPSO與BGA的尋優速度慢,容易陷入早熟收斂,很難得到理想的最優參數。由圖3和圖5的FIR低通與帶通數字濾波器的幅頻特性曲線可明顯看出,利用IMPSO設計的濾波器在三種算法中最接近理想的濾波器,是較好的FIR濾波器設計方法。
4 結 語
在此通過加入聚合度,并將遺傳算法中的變異思想引入到PSO算法中,對粒子實現智能變異,能有效克服標準.PSO容易進入局部收斂的缺點。同時由于該算法用到的參數少,程序實現簡單,因此與BGA等其他算法相比,具有運算量少,尋優速度快等優點。通過實例仿真結果表明,這里提出的IMPSO算法在FIR低通與帶通數字濾波器的設計上比BPSO和BGA具有更好的收斂速度和搜索能力。在設計FIR帶阻和多通帶數字濾波器時,IMPSO也是一種有效的設計方法。
評論