数字信号处理学习笔记(四)|实现巴特沃斯型模拟低通滤波器
生活随笔
收集整理的這篇文章主要介紹了
数字信号处理学习笔记(四)|实现巴特沃斯型模拟低通滤波器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
無限脈沖響應(yīng)數(shù)字濾波器設(shè)計(jì)
一、數(shù)字濾波器概念
1、概念
輸入、輸出均為數(shù)字信號(hào),通過一定運(yùn)算關(guān)系改變輸入信號(hào)所含頻率成分的相對(duì)比例或者濾除某些頻率成分的器件。
2、從網(wǎng)絡(luò)結(jié)構(gòu)分類
| 存在反饋,h(n)無限長(zhǎng) | 不存在反饋,h(n)有限長(zhǎng) |
2、從功能分類
低通
高通
全通
帶通
帶阻
二、數(shù)字濾波器的設(shè)計(jì)方法
1、按要求確定濾波器的性能指標(biāo)
2、用IIR或FIR系統(tǒng)函數(shù)去逼近這一性能要求
3、選擇適當(dāng)?shù)倪\(yùn)算結(jié)構(gòu)去實(shí)現(xiàn)這個(gè)系統(tǒng)函數(shù)
4、用軟件或者硬件實(shí)現(xiàn)
四、設(shè)計(jì)巴斯沃特低通濾波器
1.根據(jù)技術(shù)指標(biāo)求出濾波器階數(shù)N
2.根據(jù)公式或查表求出歸一化極點(diǎn),得到歸一化傳遞函數(shù)
3.將歸一化傳輸函數(shù)去歸一化,得到實(shí)際的傳輸函數(shù)
N越大,幅度下降越快,過渡帶越窄
五、算法實(shí)現(xiàn)
設(shè)計(jì)一個(gè)滿足下列指標(biāo)的巴特沃斯型模擬低通濾波器:
fp=1kHz,fs=2kHz,Ap<=1dB,As>=40dB
5.1代碼
#include<stdio.h> #include<math.h> #include<complex.h> #define pi 3.1416 int main() {double Wp = 2*pi*1000, Ws = 2*pi*2000, Ap = 1, As = 40;//確定濾波器階數(shù)Nint N = ceil(log10((pow(10,0.1*As)-1)/(pow(10,0.1*Ap)-1))/(2*log10(Ws/Wp)));//確定3dB截頻Wcdouble Wc = Ws / (pow(pow(10,0.1*As)-1,1.0/(2*N)));int i;double complex s[100];//求系統(tǒng)函數(shù)的極點(diǎn)for(i=1; i<=N; i++)s[i] = Wc*(cexp(I*pi*(1.0/2+1.0*(2*i-1)/(2*N))));//求系統(tǒng)函數(shù)int w;for(w=0; w<=2*pi*3000; w++){double complex H=1, t;for(i=1; i<=N; i++){t = (-s[i]) / (I*w-s[i]);H = H * t;}printf("%f\t%f\n", w/(2*pi), 20*log10(cabs(H)));} }5.2 gnuplot繪圖
總結(jié)
以上是生活随笔為你收集整理的数字信号处理学习笔记(四)|实现巴特沃斯型模拟低通滤波器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机考试internet应用好考吗,2
- 下一篇: java中下拉框select和单选按钮的