数字滤波器,带通滤波器设计
LC带通滤波器的设计与仿真设计毕业设计(论文)
1.3.3 滤波器的前景....................................................7
1.3.4几种新型滤波器介绍..........................................8
●阻带滤波器:它的阻带限定在两个有限频率ƒ1与ƒ2之间,阻带两侧都有通带。
1.1.2 滤波器的种类
根据使用的波段和元件的不同,滤波器有很多种类,而且随着技术的发展,种类还在不断增加。总的来说,滤波器可分为两大类:无源滤波器和有源滤波器。
在无源滤波器中,所使用的是无源元件。他们在个体或组合的情况下,能够把一种形式的能量变换为另一种形式,并重新变回到原来的形式,换言之,它们必须是谐振性的。例如,在一个LC谐振电路中,在电容器的电场和电感线圈的磁场之间不断发生着能量的反复交换。因此,如果两个不同储能装置当相互偶合时,能够以很小的损耗实现能量的交换,它们就可以被利用为滤波器元件。
结束语.................................................................................43
致谢....................................................................................45
摘要
随着电子信息的发展,滤波器作为信号处理的不可缺少的部分,也得到了迅速的发展。LC滤波器作为滤波器的一个重要组成部分,它的应用相当的广泛。因此对于它的设计也受到人们的广泛关注。如何设计利用简单的方法设计出高性能的LC滤波器是人们一直研究的课题。
带通滤波器的设计和实现
带通滤波器的设计和实现随着科技的不断发展和应用场景的不断拓宽,信号处理在各个领域中扮演着重要的角色。
而滤波器作为信号处理的重要组成部分,其设计和实现对于信号处理的效果起到至关重要的作用。
本文将详细介绍带通滤波器的设计原理和实现方法。
一、带通滤波器的基本概念带通滤波器是一种对信号进行频率选择的滤波器,它能够将某一频率范围内的信号通过,而将其他频率范围内的信号抑制或削弱。
在信号处理中,常常需要对特定频率范围的信号进行提取或滤除,此时带通滤波器的应用便显得尤为重要。
二、带通滤波器的设计原理1. 滤波器的传输函数滤波器的传输函数是描述滤波器输入和输出之间关系的数学表达式。
带通滤波器的传输函数通常采用有理函数形式,例如巴特沃斯、切比雪夫等形式。
2. 频率响应带通滤波器的频率响应描述了滤波器对不同频率信号的处理效果。
通常采用幅度响应和相位响应两个参数来描述频率响应。
3. 滤波器的阶数滤波器的阶数表示滤波器的复杂程度,阶数越高,滤波器的频率选择性越强。
根据实际需求和应用场景,选择合适的滤波器阶数非常重要。
三、带通滤波器的实现方法1. 模拟滤波器的实现模拟滤波器是指基于传统电子电路的滤波器实现方法。
常见的模拟滤波器包括RC滤波器、RL滤波器、LC滤波器等。
模拟滤波器的设计需要考虑电路参数和元器件选择等因素,涉及到模拟电路设计的相关知识。
2. 数字滤波器的实现数字滤波器是指利用数字信号处理技术实现的滤波器。
常见的数字滤波器包括FIR滤波器、IIR滤波器等。
数字滤波器的实现采用离散系统的理论分析和数字信号处理算法的设计,需要掌握相关的数学知识和算法掌握。
四、带通滤波器的应用案例带通滤波器在实际应用中有着广泛的应用场景。
例如,在音频处理中,可以利用带通滤波器实现音乐频谱的提取和信号的降噪;在图像处理中,可以利用带通滤波器进行图像边缘检测和图像增强等处理;在通信系统中,带通滤波器可以用于信号调制和解调等关键环节。
五、总结本文对带通滤波器的设计原理和实现方法进行了详细介绍,并给出了相关的应用案例。
题目:根据下列参数完成IIR和FIR数字滤波器设计:通带范围300HZ~500HZ
题目:根据下列参数完成IIR和FIR数字滤波器设计:通带范围300HZ~500HZ题目:根据下列参数完成IIR和FIR数字滤波器设计:通带范围300Hz~500Hz 带内最大衰减Rp=-3dB阻带范围<250Hz&>550Hz 带内最小衰减Rs=-40dB采样频率Fs=2000Hz要求:1、分别完成IIR和FIR滤波器的设计2、IIR设计不可使用butter、cheby1、cheby2和ellip这四个完全设计函数3、谈谈自己对两种滤波器设计的感受一、IIR数字滤波器的设计:(一)设计Butterworth型带通滤波器1.冲激响应法clear;close all;Fs=2000;Wp(1)=300*2*pi;Wp(2)=500*2*pi;Ws(1)=250*2*pi;Ws(2)=550*2*pi;Rp=3;Rs=40;[n,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [z,p,k]=buttap(n);Wo=sqrt(Wn(1)*Wn(2));[b0,a0]=zp2tf(z,p,k);[b,a]=lp2bp(b0,a0,Wo,Wn(2)-Wn(1)); [bz,az]=impinvar(b,a,Fs);freqz(bz,az)阶数n=152.双线性变换法clear;close all;Fs=2000;Wp(1)=2*Fs*tan(300*pi/Fs);Wp(2)=2*Fs*tan(500*pi/Fs);Ws(1)=2*Fs*tan(250*pi/Fs);Ws(2)=2*Fs*tan(550*pi/Fs);Rp=3;Rs=40;[n,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [z,p,k]=buttap(n);Wo=sqrt(Wn(1)*Wn(2));[b0,a0]=zp2tf(z,p,k);[b,a]=lp2bp(b0,a0,Wo,Wn(2)-Wn(1)); [bz,az]=bilinear(b,a,Fs);freqz(bz,az)n =12Wn =1.0e+003 *2.0237 4.0285(二)Chebyshev I型带通滤波器clear;close all;Fs=2000;Wp(1)=300*2*pi;Wp(2)=500*2*pi;Ws(1)=250*2*pi;Ws(2)=550*2*pi;Rp=3;Rs=40;[n,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s');Wo=sqrt(Wn(1)*Wn(2)); %求带通滤波器中心频率 [z,p,k]=cheb1ap(n,Rp);[b0,a0]=zp2tf(z,p,k); [b,a]=lp2bp(b0,a0,Wo, Wn(2)-Wn(1)); %带通滤波器带宽 [bz,az]=impinvar(b,a,Fs); freqz(bz,az)n =7Wn = 1.0e+003 *1.8850 3.1416 Wo=2.4335e+003(三)完全设计椭圆带通滤波器clear;close all;clc;Fs=2000;Wp(1)=300*2/Fs; %数字归一化频率,300*2*pi/(Fs*pi) Wp(2)=500*2/Fs;%与后面数字滤波器设计对应Ws(1)=250*2/Fs;Ws(2)=550*2/Fs;Rp=3;Rs=40;[n,Wn]=ellipord(Wp,Ws,Rp,Rs); [b,a]=ellip(n,Rp,Rs,Wn,'bandpass') freqz(b,a,Fs)n =4Wn =0.3000 0.5000二、FIR带通滤波器的设计1.窗口法clear;close all;Fs=2000;fcuts=[250 300 500 550];mags=[0 1 0];devs=[0.01 10^(-3/20) 0.01 ];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,Fs)[h]=fir1(n,Wn,ftype,kaiser(n+1,beta)); freqz(h)n =90Wn =0.2750 0.52502 最优等波动设计FIR滤波器clear;close all;Fs=2000;Rs=40;Rp=3;f=[250 300 500 550] %截止频率a=[0 1 0]; %期望幅度dev(1)=(10^(Rp/20)-1)/(10^(Rp/20)+1); dev(2)=10^(-Rs/20);dev(3)=(10^(Rp/20)-1)/(10^(Rp/20)+1);[n,fo,ao,w]=remezord(f,a,dev,Fs); b=remez(n,fo,ao,w,'bandpass'); freqz(b,1,1024,Fs);n=49三、FDAtool设计1.Butterworth型IIR滤波器2.Chebyshev I型IIR带通滤波器3.椭圆型IIR滤波器4.窗口法设计FIR滤波器三、两种滤波器的比较从性能上来说,IIR滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。
通信电子中的数字带通滤波器设计
通信电子中的数字带通滤波器设计数字带通滤波器是数字信号处理中的一种重要滤波器类型。
它在通信电子中被广泛应用,能够对信号进行频带选择,增强目标信号的信息,抑制噪声和干扰。
因此,数字带通滤波器的设计对于实现高性能通信系统至关重要。
一、数字信号处理基础在深入探讨数字带通滤波器之前,我们需要了解一些数字信号处理(DSP)的基础知识。
数字信号是利用离散时间采样的方式对模拟信号进行数字化处理的结果。
数字信号通常由采样率、量化位数和信号长度三部分组成。
数字信号处理可以分为两大类,即时域处理和频域处理。
时域处理直接操作时间信息,包括滤波、平移、卷积等。
频域处理则需要将时域信号变换成频域信号进行处理,最常用的变换方式是傅里叶变换和离散傅里叶变换。
二、数字带通滤波器原理数字带通滤波器是一种具有窄通带和高阻带的数字滤波器,能够选择指定频带内的信号而抑制其它频带的信号。
它的设计要求基于信号的选择性和阻带抑制能力,同时还要考虑设计所需的复杂度和稳定性等因素。
数字带通滤波器的常见设计方法包括有限冲激响应(FIR)和无限冲激响应(IIR)两种。
FIR滤波器具有线性相位和稳定性等优良特性,但是需要较长的滤波器阶数才能达到很高的通带选择性。
而IIR滤波器具有较高的通带选择性和更少的滤波器阶数,但是可能会因为零极点分布的不稳定性导致系统不稳定。
三、数字带通滤波器设计数字带通滤波器的设计目标是选择指定频带内的信号并增强其信息,同时抑制其它频带的信号。
设计过程中需要考虑滤波器阶数、通带带宽、阻带带宽、阻带衰减和通带波纹等重要因素。
设计FIR数字带通滤波器的常用方法包括窗函数法、最小二乘法和频率抽样法等。
其中,窗函数法是最为常用的一种设计方法,将离散时间傅里叶变换(DTFT)的理想频率响应与实际可实现的窗函数卷积,从而实现数字带通滤波器的设计。
IIR数字带通滤波器的设计常用的方法包括零极点法、双线性变换法和频率变换法等。
其中,零极点法和双线性变换法是最为常用的两种设计方法,零极点法通过选择合适的零极点分布实现数字带通滤波器的设计;而双线性变换法则将模拟滤波器的传输函数通过双线性变换转化为数字滤波器的传输函数。
切比雪夫带通滤波器的设计
切比雪夫带通滤波器的设计切比雪夫带通滤波器是一种数字滤波器,常用于信号处理中,用于滤除特定频率范围内的信号。
它在通带内具有较为平坦的频率响应,同时在阻带内有较高的抑制能力。
切比雪夫带通滤波器的设计基于切比雪夫多项式的性质,可以通过选择合适的阶数和通带抽样点来实现所需的滤波效果。
1.确定滤波器的通带和阻带范围以及所需的通带波动和阻带衰减。
这些参数通常由具体的应用需求决定。
2.根据通带和阻带的频率范围,选择合适的切比雪夫多项式的阶数。
阶数越高,滤波器的性能越好,但也会增加计算复杂度。
3.根据所选的阶数,计算切比雪夫多项式的系数。
切比雪夫多项式的系数可以通过递推关系式计算得到,也可以查阅切比雪夫多项式表格获得。
4.将切比雪夫多项式作为带通滤波器的传递函数,将其转化为巴特沃斯等效滤波器的传递函数。
巴特沃斯等效滤波器的传递函数可以通过对切比雪夫多项式进行相应的变换获得。
5.根据巴特沃斯等效滤波器的传递函数,使用频率变换方法得到带通滤波器的巴特沃斯等效滤波器的传递函数。
频率变换方法可以通过将巴特沃斯等效滤波器的传递函数中的标准正弦函数替换为带通滤波器的正弦函数来实现。
6.根据巴特沃斯等效滤波器的传递函数,计算带通滤波器的巴特沃斯等效滤波器的传递函数的系数。
7.根据带通滤波器的巴特沃斯等效滤波器的传递函数的系数,得到带通滤波器的巴特沃斯等效滤波器的巴特沃斯多项式系数。
8.利用巴特沃斯多项式系数,可以计算带通滤波器的巴特沃斯多项式的误差函数,进而得到最终的带通滤波器的巴特沃斯多项式系数。
9.将带通滤波器的巴特沃斯多项式系数转化为传输函数,从而可以在实际系统中进行实现。
总结起来,切比雪夫带通滤波器的设计可以通过选择适当的阶数和频率参数,并结合切比雪夫多项式的性质和频率变换方法,计算出最终的滤波器传递函数系数。
这样设计出的滤波器在通带内具有较为平坦的频率响应,并能在阻带内提供较高的抑制能力。
数字滤波器设计
数字滤波器设计通信与电子信息当中,在对信号作分析与处理时,常会用到有用信号叠加无用噪声的问题。
这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的,在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题。
根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波。
滤波器的种类很多,实现方法也多种多样,本章利用Matlab来进行数字滤波器的设计。
数字滤波器是一离散时间系统,它对输入序列x(n)进行加工处理后,输出序列y(n),并使y(n)的频谱与x(n)的频谱相比发生某种变化。
由DSP理论得知,无限长冲激响应(IIR)需要递归模型来实现,有限长冲激响应(FIR)滤波器可以采用递归的方式也可采用非递归的方式实现。
本章把FIR 与IIR滤波器分别用Matlab进行分析与设计。
数字滤波器的结构参看《数字信号处理》一书。
数字滤波器的设计一般经过三个步骤:1(给出所需滤波器的技术指标。
2(设计一个H(Z),使其逼近所需要的技术指标。
3(实现所设计的H(Z)。
4.1 IIR数字滤波器设计设计IIR数字滤波器的任务就是寻求一个因果、物理可实现的系统函数H(z),jω使它的频响H(e)满足所希望得到的低通频域指标,即通带衰减A、阻带衰减A、 pr通带截频ω、阻带截频ω。
而其它形式的滤波器由低通的变化得到。
pr采用间接法设计IIR数字滤波器就是按给定的指标,先设计一个模拟滤波器,进而通过模拟域与数字域的变换,求得物理可实现的数字滤波器。
从模拟滤波器变换到数字滤波器常用的有:脉冲响应不变法和双线性变换法。
IIR滤波器的设计过程如下,,,数字频域指标模拟频域指标设计模拟滤波器H(S) 设计数字滤波器H(z) 1. 模拟滤波器简介模拟滤波器的设计方法已经发展得十分成熟,常用的高性能模拟低通滤波器有巴特沃斯型、切比雪夫型和椭圆型,而高通、带通、带阻滤波器则可以通过对低通进行频率变换来求得。
数字信号处理第五章-IIR数字滤波器的设计
2、由模平方函数确定系统函数
模拟滤波器幅度响应常用幅度平方函数表示:
| H ( j) |2 H ( j)H *( j)
由于冲击响应h(t)为实函数,H ( j) H *( j)
| H ( j) |2 H ( j)H ( j) H (s)H (s) |s j
H (s)是模拟滤波器的系统函数,是s的有理分式;
分别对应:通带波纹和阻带衰减(阻带波纹)
(4种函数)
只介绍前两种
31
32
33
无论N多大,所 有特性曲线均通 过该点
特性曲线单调减小,N越大,减小越慢 阻
特性曲线单调减小,N越大,减小越快
34
20Nlog2:频率增加一倍,衰减6NdB
35
另外:
36
无论N多大,所 有特性曲线均通 过Ωc点: 衰减3dB, Ωc 为 3dB带宽
8
根据
(线性相位滤波器)
非线性相位滤波器
9
问题:
理想滤波器的幅度特性中,频带之间存 在突变,单位冲击响应是非因果的;
只能用逼近的方法来尽量接近实际的要 求。
滤波器的性能要求以频率响应的幅度特 性的允许误差来表征,如下图:
10
p
11
低通滤波器的频率响应包括:
通带:在通带内,以幅度响应的误差δp逼近 于1;
20
3、数字滤波器设计的基本方法
利用模拟理论进行设计 先按照给定的技术指标设计出模拟滤波 器的系统函数H(s),然后经过一定的变 换得到数字滤波器的系统函数H(z),这实 际上是S平面到Z平面的映射过程: 从时域出发,脉冲响应不变法 从频域出发,双线性变换法 适合于设计幅度特性较规则的滤波器, 如低通、高通等。
由于系统稳定, H(s)的极点一定落在s的左半 平面,所以左半平面的极点一定属于H(s),右 半平面的极点一定属于H(-s)。
数字带通滤波器
课程设计报告专业班级课程题目学号学生姓名指导教师年月一、设计题目:IIR 数字带通滤波器设计 二、设计目的1、巩固所学理论知识。
2、提高综合运用所学理论知识独立分析和解决问题的能力。
3、更好地将理论与实践相结合。
4、掌握信号分析与处理的基本方法与实现。
5、熟练使用MATLAB 语言进行编程实现。
三、设计要求采用适当方法基于MATLAB 设计一个IIR 带通滤波器,其中带通的中心频率为ωp0=0.5π,;通带截止频率ωp1=0.4π,ωp2=0.6π;通带最大衰减αp =3dB;阻带最小衰减αs =15dB;阻带截止频率ωs2=0.7π. 四、设计原理1.用脉冲相应不变法设计IIR 数字滤波器利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,这种模仿可以从不同的角度出发。
脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h (n )模仿模拟滤波器的冲激响应h a (t ),即将h a (t )进行等间隔采样,使h (n )正好等于h a (t )的采样值,满足 h (n )=h a (nT )式中,T 是采样周期。
如果令H a (s )是h a(t )的拉普拉斯变换,H (z )为h (n )的Z 变换,利用采样序列的Z 变换与模拟信号的拉普拉斯变换的关系得(1-1)则可看出,脉冲响应不变法将模拟滤波器的S 平面变换成数字滤波器的Z 平面,这个从s 到z 的变换z =e sT 是从S 平面变换到Z 平面的标准变换关系式。
⎪⎭⎫ ⎝⎛-=Ω-=∑∑∞-∞=∞-∞==k T j s X T jk s X Tz X k a s k a ez sTπ21)(1)(图1-1脉冲响应不变法的映射关系由(1-1)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为(1-2)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。
正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即(1-3)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|ω|<π (1-4)但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图7-4所示。
IIR数字滤波器设计
| H ( j) |2 H ( j)H ( j) s j H (s)H (s)
版权全部 违者必究
16
模拟滤波器旳设计
由给定旳模平方函数求所需旳系统函数旳措施:
① 解析延拓:令 s j代入模平方函数得:H(s) H(s),
并求其零极点。
②取H(s)H(s) 全部左半平面旳极点作为 H (s) 旳极点。
有关极点旳讨论
在归一化频率旳情况 c=1,极点均匀分布在单位圆上
s e j(2k N 1) / 2N k
k 1,2,, N
对于物理可实现系统,它旳全部极点均应在 s旳左半平面上
版权全部 违者必究
24
模拟滤波器旳设计
Ⅱ 系统函数旳构成
滤波器旳极点求出后,可取左半平面上旳全部极点构
成系统函数。
首先设计一种合适旳模拟滤波器,然后将它 “ 变换 ” 成满足给定 指标旳数字滤波器。
这种措施适合于设计幅频特征比较规则旳滤波器,例如低通、高通 、带通、带阻等。 当把模拟滤波器旳H(s) “ 变换 ” 成数字滤波器旳H(z) 时,其实质就 是实现S平面对Z平面旳 “ 映射 ” 。这必须满足两个条件: ① 必须确保模拟频率映射为数字频率,且确保两者旳频率特征基本
频 p =100krad/s, 通带旳最大衰减为Ap= 3dB,阻带边频
版权全部 违者必究
11
数字滤波类型与指标
措施三:利用 “ 零极点累试法 ” 进行设计 若需设计滤波器旳幅频特征比较规则而且简朴时,可采用 “ 零极点累试法 ”进行设计。例如:数字陷波器
版权全部 违者必究
12
§2 模拟滤波器旳设计
因为IIR数字滤波器旳设计是基于既有旳模拟滤波器设计旳 成熟技术而完毕旳。故讨论 “ IIR数字滤波器旳设计 ”之前 ,必须简介模拟滤波器设计旳某些基本概念,并简介两种常 用旳模拟滤波器旳设计措施 :巴特沃思(Butterworth)滤波 器和切比雪夫(Chebyshev)滤波器。
数字滤波器的设计及其MATLAB实现
设计低通数字滤波器,要求在通带内频率低于0.2pirad时,允许幅度误差在1dB以内,在频率0.3pi rad~pi rad之间的阻带衰减大于15dB,用脉冲响应不变法设计数字滤波器,T=1: 切比雪夫I型模拟滤波器的设计子程序:function [b,a]=afd_chb1(Omegap,Omegar,Ar)if Omegap<=0error('通带边缘必须大于0')endif(Dt<=0)|(Ar<0)error('通带波动或阻带衰减必须大于0');endep=sqrt(10^(Dt/10)-1);A=10^(Ar/20);OmegaC=Omegap;OmegaR=Omegar/Omegap;g=sqrt(A*A-1)/ep;N=ceil(log10(g+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR-1)));fprintf('\n***切比雪夫I型模拟低通滤波器阶数=%2.0f\n',N);[b,a]=u_chblap(N,Dt,OmegaC);设计非归一化切比雪夫I型模拟低通滤波器原型程序:function [b,a]=u_chblap(N,Dt,OmegaC)[z,p,k]=cheb1ap(N,Dt);a=real(poly(p));aNn=a(N+1);p=p*OmegaC;a=real(poly(p));aNu=a(N+1);k=k*aNu/aNn;b0=k;B=real(poly(z));b=k*B;直接形式转换成级联形式子程序:function [C,B,A]=sdir2cas(b,a)Na=length(a)-1;Nb=length(b)-1;b0=b(1);b=b/b0;a0=a(1);a=a/a0;C=b0/a0;p=cplxpair(roots(a));K=floor(Na/2);if K*2==NaA=zeros(K,3);for n=1:2:NaArow=p(n:1:n+1,:);Arow=poly(Arow);A((fix(n+1)/2),:)=real(Arow);elseif Na==1A=[0 real(poly(p))];elseA=zeros(K+1,3);for n=1:2:2*KArow=p(n:1:n+1,:);Arow=poly(Arow);A((fix(n+1)/2),:)=real(Arow);endA(K+1,:)=[0 real(poly(p(Na)))];endz=cplxpair(roots(b));K=floor(Nb/2);if Nb==0B=[0 0 poly(z)];elseif K*2==NbB=zeros(K,3);for n=1:2:NbBrow=z(n:1:n+1,:);Brow=poly(Brow);B((fix(n+1)/2),:)=real(Brow);endelseif Nb==1B=[0 real(poly(z))];elseB=zeros(K+1,3);for n=1:2:2*KBrow=z(n:1:n+1,:);Brow=poly(Brow);B((fix(n+1)/2),:)=real(Brow);endB(K+1,:)=[0 real(poly(z(Nb)))];End计算系统函数的幅度响应和相位响应子程序:function [db,mag,pha,w]=freqs_m(b,a,wmax)w1=0:500;w=w1*wmax/500;h=freqs(b,a,w);mag=abs(h);db=20*log10((mag+eps)/max(mag));pha=angle(h);脉冲响应不变法程序:function [b,a]=imp_invr(c,d,T)[R,p,k]=residue(c,d);p=exp(p*T);[b,a]=residuez(R,p,k);b=real(b).*T;数字滤波器响应子程序:function [db,mag,pha,grd,w]=freqz_m(b,a);[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(b,a,w);直接转换成并联型子程序:function [C,B,A]=dir2par(b,a)M=length(b);N=length(a);[r1,p1,C]=residuez(b,a);p=cplxpair(p1,10000000*eps);x=cplxcomp(p1,p);r=r1(x);K=floor(N/2);B=zeros(K,2);A=zeros(K,3);if K*2==Nfor i=1:2:N-2br=r(i:1:i+1,:);ar=p(i:1:i+1,:);[br,ar]=residuez(br,ar,[]);B((fix(i+1)/2),:)real(br');A((fix(i+1)/2),:)real(ar');end[br,ar]=residuez(r(N-1),p(N-1),[]);B(K,:)=[real(br') 0];A(K,:)=[real(ar') 0];elsefor i=1:2:N-1br=r(i:1:i+1,:);ar=p(i:1:i+1,:);[br,ar]=residuez(br,ar,[]);B((fix(i+1)/2),:)real(br);A((fix(i+1)/2),:)real(ar);endEnd比较两个含同样标量元素但(可能)有不同下标的复数对及其相位留数向量子程序:function I=cplxcomp(p1,p2)I=[];for i=1:length(p2)for j=1:length(p1)if(abs(p1(j)-p2(i))<0.0001)I=[I,j];endendendI=I';双线性变换巴特沃斯低通滤波器设计:巴特沃思模拟滤波器的设计子程序:function [b,a]=afd_butt(wp,ws,Rp,rs)if wp<=0error('通带边缘必须大于0');endif ws<=wperror('阻带边缘必须大于通带边缘');endif(Rp<=0)|(Rs<0)error('通带波动或阻带衰减必须大于0');endN=ceil((log10((10^(Rp/10)-1)/(10^(Rs/10)-1)))/(2*log10(wp/ws))); fprintf('\n***Butterworth Filter Order=%2.0f\n',N);OmegaC=wp/((10^(Rp/10)-1)^(1/(2*N)));[b,a]=u_buttap(N,OmegaC)设计非归一化巴特沃思模拟低通滤波器原型子程序:function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));直接型到级联型形式的转换:function [b0,B,A]=dir2cas(b,a)b0=b(1);b=b/b0;a0=a(1);a=a/a0;b0=b0/a0;M=length(b);N=length(a);if N>Mb=[b,zeros(1,N-M)];a=[a,zeros(1,M-N)];elseNM=0;endk=floor(N/2);B=zeros(k,3);A=zeros(k,3);if k*2==Nb=[b,0];a=[a,0];endbroots=cplxpair(roots(b));aroots=cplxpair(roots(a));for i=1:2:2*kbr=broots(i:1:i+1,:);br=real(polt(br));B((fix(i+1)/2),:)=br;ar=aroots(i:1:i+1,:);ar=real(polt(ar));A((fix(i+1)/2),:)=ar;Endfunction [db,mag,pha,grd,w]=freqz_m(b,a)[h,w]=freqz(b,a,1000,'whole');h=(h(1:501))';w=(w(1:501))';mag=abs(h);db=20*log10((mag+eps)/max(mag));pha=angle(h);grd=grdelay(b,a,w);设计一个巴特沃思高通滤波器,要求通带截止频率为0.6pi,通带内衰减不大于1dB,阻带·起始频率为0.4pi,阻带内衰减不小于15dB,T=1:>> wp=0.6*pi;ws=0.4*pi;>> Rp=1;Rs=15;T=1;>> [N,wn]=buttord(wp/pi,ws/pi,Rp,Rs) 计算巴特沃思滤波器阶数和截止频率N =4wn =>> [b,a]=butter(N,wn,'high'); 频率变换法计算巴特沃思高通滤波器>> [C,B,A]=dir2cas(b,a)C =0.0751B =1.0000 -2.0000 1.00001.0000 -2.0000 1.0000A =1.0000 0.1562 0.44881.0000 0.1124 0.0425>> [db,mag,pha,grd,w]=freqz_m(b,a);>> subplot(2,1,1);plot(w/pi,mag);>> subplot(2,1,2);plot(w/pi,db);椭圆带通滤波器的设计--ellip函数的应用:>> ws=[0.3*pi 0.75*pi]; 数字阻带边缘频率>> wp=[0.4*pi 0.6*pi]; 数字通带边缘频率>> Rp=1;Rs=40;>> Ripple=10^(-Rp/20); 通带波动>> Attn=10^(-Rs/20); 阻带衰减>> [N,wn]=ellipord(wp/pi,ws/pi,Rp,Rs) 计算椭圆滤波器参数N =4wn =0.4000 0.6000>> [b,a]=ellip(N,Rp,Rs,wn); 数字椭圆滤波器的设计>> [b0,B,A]=dir2cas(b,a) 级联形式实现b0 =0.0197B =1.0000 1.5066 1.00001.0000 0.9268 1.00001.0000 -0.9268 1.00001.0000 -1.5066 1.0000A =1.0000 0.5963 0.93991.0000 0.2774 0.79291.0000 -0.2774 0.79291.0000 -0.5963 0.9399>> figure(1);>> [db,mag,pha,grd,w]=freqz_m(b,a);>> subplot(2,2,1);plot(w/pi,mag);>> grid on;>> subplot(2,2,3);plot(w/pi,db);grid on;>> subplot(2,2,2);plot(w/pi,pha/pi);grid on;>> subplot(2,2,4);plot(w/pi,grd);设计一个巴特沃思带阻滤波器,要求通带上下截止频率为0.8pi、0.2pi,通带内衰减不大于1dB,阻带上起始频率为0.7pi、0.4pi,阻带内衰减不小于30dB:>> wp=[0.2*pi 0.8*pi];>> ws=[0.4*pi 0.7*pi];>> Rp=1;Rs=30;>> [N,wn]=buttord(wp/pi,ws/pi,Rp,Rs);>> [b,a]=butter(N,wn,'stop');>> [C,B,A]=dir2cas(b,a)C =0.0394B =1.0000 0.3559 0.99941.0000 0.3547 1.00401.0000 0.3522 0.99541.0000 0.3499 1.00461.0000 0.3475 0.99601.0000 0.3463 1.0006A =1.0000 1.3568 0.79281.0000 1.0330 0.46331.0000 0.6180 0.17751.0000 -0.2493 0.11131.0000 -0.6617 0.37551.0000 -0.9782 0.7446>> [db,mag,pha,grd,w]=freqz_m(b,a); >> subplot(2,1,1);plot(w/pi,mag);>> subplot(2,1,2);plot(w/pi);数字低通---数字带阻:function [bz,az]=zmapping(bZ,aZ,Nz,Dz) bzord=(length(bZ)-1)*(length(Nz)-1); azord=(length(aZ)-1)*(length(Dz)-1);bz=zeros(1,bzord+1);for k=0:bzordpln=[1];for i=0:k-1pln=conv(pln,Nz);endpld=[1];for i=0:bzord-k-1pld=conv(pld,Dz);endbz=bz+bZ(k+1)*conv(pln,pld); endfor k=0:azordpln=[1];for i=0:k-1pln=conv(pln,Nz);endpld=[1];for i=0:azord-k-1pld=conv(pld,Dz);endaz=az+aZ(k+1)*conv(pln,pld); endall=az(1);az=az/az1;bz=bz/az1;线性相位FIR滤波器的幅度特性:function pzkplot(num,den)hold on;axis('square');x=-1:0.01:1;y=(1-x.^2).^0.5;y1=-(1-x.^2).^0.5;plot(x,y,'b',x,y1,'b');num1=length(num);den1=length(den);if(num1>1)z=roots(num);elsez=0;endif(den1>1)p=roots(den);elsep=0;endif(num>1&den1>1)r_max_z=max(abs(real(z)));i_max_z=max(abs(imag(z)));a_max_z=max(r_max_z,i_max_z);r_max_p=max(abs(real(p)));i_max_p=max(abs(imag(p)));a_max_p=max(r_max_p,i_max_p);a_max=max(a_max_z,a_max_p);elseif (num1>1)r_max_z=max(abs(real(z)));i_max_z=max(abs(imag(z)));a_max=max(r_max_z,i_max_z);elser_max_p=max(abs(real(p)));i_max_p=max(abs(imag(p)));a_max=max(r_max_p,i_max_p);endaxis([-a_max a_max -a_max a_max]);plot([-a_max a_max],[0 0],'b');plot([0 0],[-a_max a_max],'b');plot([-a_max a_max],[a_max a_max],'b');plot([a_max a_max],[-a_max a_max],'b');Lz=length(z);for i=1:Lz;plot(real(z(i)),imag(z(i)),'bo');endLp=length(p);for j=1:Lpplot(real(p(j)),imag(p(j)),'bx');endtitle('The zeros-pole plot');xlabel('虚部');ylabel('实部');function [Hr,w,a,L]=Hr_Type1(h)M=length(h);L=(M-1)/2;a=[h(L+1) 2*h(L:-1:1)];n=[0:1:L];w=[0:1:500]'*pi/500;Hr=cos(w*n)*a';设计I型线性相位FIR滤波器:>> h=[-4 1 -1 -2 5 6 5 -2 -1 1 -4];>> M=length(h);n=0:M-1;>> [Hr,w,a,L]=Hr_Type1(h);>> amax=max(a)+1;>> amin=min(a)-1;>> subplot(2,2,1);stem(n,h);>> axis([-1 2*L+1 amin amax]);text(2*L+1.5,amin,'n'); >> xlabel('n');ylabel('h(n)');title('脉冲响应');>> subplot(2,2,3);stem(0:L,a);>> axis([-1 2*L+1 amin amax]);>> xlabel('n');ylabel('a(n)');title('a(n) 系数');>> subplot(2,2,2);plot(w/pi,Hr);>> grid on;text(1.05,-20,'频率pi');>> xlabel('频率');ylabel('Hr');title('I 型振幅响应');>> subplot(2,2,4);pzkplot(h,1);>> title('零极点分布');function [hr,w,b,L]=Hr_Type2(h)M=length(h);L=M/2;b=2*h(L:-1:1);n=[1:1:L];n=n-0.5;w=[0:1:500]'*pi/500;hr=cos(w*n)*b';II型线性相位FIR滤波器:>> h=[-4 1 -1 -2 5 6 5 -2 -1 1 -4];>> M=length(h);n=0:M-1;>> [Hr,w,b,L]=Hr_Type2(h);Warning: Integer operands are required for colon operator when used as index. > In Hr_Type2 at 2>> bmax=max(b)+1;bmin=min(b)-1;>> subplot(2,2,1);stem(n,h);axis([-1 2*L+1 bmin bmax]);text(2*L+1.5,bmin,'n');xlabel('n');ylabel('h(n)');title('脉冲响应');>> subplot(2,2,3);stem(1:L,b);axis([-1 2*L+1 bmin bmax]);xlabel('n');ylabel('b(n)');title('b(n) 系数');>> subplot(2,2,2);plot(w/pi,Hr);grid on;text(1.05,-20,'频率pi');xlabel('频率');ylabel('Hr');title('II 型振幅响应');>> subplot(2,2,4);pzkplot(h,1);title('零极点分布');function [hr,w,c,L]=Hr_Type3(h)M=length(h);L=(M-1)/2;b=2*h(L+1:-1:1);n=[1:1:L];w=[0:1:500]'*pi/500;hr=cos(w*n)*c';用MA TLAB编程绘制各种窗函数的形状。
巴特沃斯数字带通滤波器
巴特沃斯数字带通滤波器《数字信号处理》课程设计报告设计课题滤波器设计与实现专业班级姓名学号报告日期 2012年12月目录1. 课题描述2. 设计原理2.1 滤波器的分类2.2 数字滤波器的设计指标2.3 巴特沃斯数字带阻模拟滤波器2.3.1 巴特沃斯数字带通滤波器的设计原理2.3.2 巴特沃斯数字带通滤波器的设计步骤3. 设计内容3.1 用MATLAB编程实现3.2 设计结果分析4. 总结5. 参考文献课程设计任务书题目滤波器设计与实现学生姓名学号专业班级设计内容与要求一、设计内容:设计巴特沃斯数字带通滤波器,通带频率200~500hz,阻带上限频率600hz, 阻带下限频率150hz,通带衰减最大0.5dB,阻带最小衰减40dB,采样频率2000hz,画出幅频、相频响应曲线,并设计信号验证滤波器设计的正确性。
二、设计要求1 设计报告一律按照规定的格式,使用A4纸,格式、封面统一给出模版。
2 报告内容(1)设计题目及要求(2)设计原理 (包括滤波器工作原理、涉及到的MATLAB函数的说明)(3)设计内容(设计思路,设计流程、仿真结果)(4)设计总结(收获和体会)(5)参考文献(6)程序清单起止时间2012年 12 月 3日至 2011年 12月11 日指导教师签名2011年 12月 2日系(教研室)主任签名年月日学生签名年月日1 .课题描述数字滤波器是由数字乘法器、加法器和延时单元组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
使用MATLAB信号处理箱和BW(巴特沃斯)设计低通数字滤波器。
2.设计原理2.1 滤波器的分类数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
如果数字滤波器的内部参数不随时间而变化,则称为时不变的,否则为时变的。
数字信号处理的常见问题及解决方法总结
数字信号处理的常见问题及解决方法总结数字信号处理在科学、工程领域中的应用越来越广泛。
在实际应用过程中,我们常常会遇到一些问题。
本文总结了一些常见的问题及其解决方法,以帮助读者更好地理解和应用数字信号处理技术。
问题一:信号滤波数字信号往往包含噪声和干扰,需要进行滤波处理以提取有效信息。
常见的信号滤波问题包括滞后滤波器、移动平均滤波器、低通滤波器等。
解决这些问题的方法通常包括设计合适的滤波器参数、选择适当的滤波器类型,并进行滤波器性能评估。
问题二:信号采样率选择在数字信号处理中,采样率的选择对信号重构和频谱分析等方面具有重要影响。
选择过低的采样率会导致信号失真,选择过高的采样率会浪费存储和计算资源。
解决这个问题的方法包括根据信号的带宽和特性选择合适的采样率,并根据需要进行抽取或插值处理。
问题三:频谱分析频谱分析是数字信号处理中的重要步骤,用于研究信号的频域特性。
常见的频谱分析问题包括功率谱密度估计、傅里叶变换等。
解决这些问题的方法包括选择合适的频谱分析方法(如快速傅里叶变换)、处理频谱分辨率问题,并进行频谱分析结果的解释和应用。
问题四:数字滤波器设计数字滤波器的设计是数字信号处理领域的关键问题之一。
常见的数字滤波器设计问题包括低通滤波器设计、高通滤波器设计、带通滤波器设计等。
解决这些问题需要根据滤波器的要求和性能指标,选择适当的设计方法(如窗函数法、频率抽样法),并进行滤波器参数调整和性能评估。
问题五:数字信号压缩数字信号压缩是在保证信号质量的前提下,减少信号数据量的一种技术。
常见的数字信号压缩问题包括有损压缩和无损压缩。
解决这些问题的方法通常包括选择适当的压缩算法(如哈夫曼编码、小波变换压缩),根据压缩效率和信号质量要求进行参数调整。
以上是数字信号处理中常见问题的一些总结及解决方法。
希望能够帮助读者更好地应用数字信号处理技术,解决实际应用中的问题。
设计巴特沃斯数字带通滤波器
设计巴特沃斯数字带通滤波器,要求通带范围为:0.25π rad ≤ω≤0.45π rad,通带最大衰减为3dB ,阻带范围为0≤ω≤0.15π rad 和0.55π rad ≤ω≤πrad ,阻带最小衰减为40dB 。
利用双线性变换设计,写出设计过程,并用MATLAB 绘出幅频和相频特性曲线。
设计思路及计算:(1)确定技术指标,求得数字边缘频率:10.25Pp rad ωπ=,20.45Pp rad ωπ=,3p a dB =10.15Ps rad ωπ=,20.55Ps rad ωπ=,40s a dB =(2)将数字带通滤波器的技术指标转换为模拟带通滤波器技术指标:用双线性变换法,则2tan 2T ωΩ=,可得 (3)将带通滤波器的指标转换为模拟低通指标。
模拟低通归一化边界频率为:1Lp Ω=,()()2212221 1.9748Ps Pp Pp Ls Ps Pp Pp Ω-ΩΩΩ==ΩΩ-Ω(4)确定低通滤波器阶数N4020100.01s δ-==,()2211lg 1lg 10.01 6.76812lg 1.97482lg s s p N δ⎛⎫⎛⎫-- ⎪ ⎪⎝⎭⎝⎭≥==⎛⎫Ω⎪ ⎪Ω⎝⎭取N =7。
(5)c c ΩΩ=Ω=1c Ω≈巴特沃兹模拟滤波器:(217)14711H (),()jK a k kk s p es p π++===-∏再由双线性变换即可得到所求。
代码实现:>>[N,Wn]=buttord([.25 .45],[.15 .55],3,40)N =7Wn =0.2482 0.4525>> [b,a]=butter(7,[.2482 .4525])b =Columns 1 through 100.0001 0 -0.00070 0.0022 0 -0.00360 0.0036 0Columns 11 through 15-0.0022 0 0.00070 -0.0001a =Columns 1 through 101.0000 -5.3094 16.2918-34.7303 56.9401 -74.5112 80.0108 -71.1129 52.6364-32.2233Columns 11 through 1516.1673 -6.4607 1.9827-0.4217 0.0523>> [h,w]=freqz(b,a,100); >>subplot(211)>>h1=20*log10(abs(h));>>plot(w/pi,h1);>>axis([0 1 -50 10]); >>subplot(212)>>plot(w/pi,angle(h))则滤波器传递函数为:幅频和相频曲线:由上图可知,已满足设计要求。
数字滤波器设计
数字滤波器概述一、数字滤波器的基本概念信号处理最广泛的应用是滤波。
数字滤波,是指输入、输出均为离散时间信号,利用离散时间系统特性对输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量输出,抑制无用的信号分量输入。
或者说,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的算法。
数字滤波器是一个离散时间系统。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍。
数字滤波器的频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率(即二分之一抽样频率点)呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语声信号处理、图像信号处理、医学生物信号处理以及其他应用领域(如通信、雷达、声纳、仪器仪表和地震勘探等)都得到了广泛的应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
如果数字滤波器的内部参数不随时间而变化,则称为时不变的,否则为时变的。
如果数字滤波器在某一给定时刻的响应与在此时刻以后的激励无关,则称为因果的,否则为非因果的。
如果数字滤波器对单一或多个激励信号的响应满足线性条件,则称为线性的,否则为非线性的。
应用最广的是线性、时不变数字滤波器。
二、数字滤波器的基本结构作为线形时不变系统的数字滤波器可以用系统函数来表示,而实现一个系统函数表达式所表示的系统可以用两种方法:一种方法是采用计算机软件实现;另一种方法是用加法器、乘法器、和延迟器等组件设计出专用的数字硬件系统,即硬件实现。
不论软件实现还是硬件实现,在滤波器设计过程中,由同一系统函数可以构成很多不同的运算结构。
对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关;但是在系数和变量精度是有限的情况下,不同运算结构的性能就有很大的差异。
IIR数字带通滤波器设计
目录前言 (2)工程概括 (3)1.1 IIR数字滤波器工作原理 (3)正文 (4)2.1 数字滤波器介绍 (4)2.2 数字滤波器的分类 (5)2.3 脉冲响应不变法 (5)2.4 双线性变换法 (7)2.5 滤波器的特性及使用函数 (8)3.1 设计步骤 (10)3.2 程序流程图 (11)3.3 MATLAB程序 (11)3.4 仿真结果 (14)3.5 总结 (16)致谢 (16)参考文献 (17)前言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,Digital Filter)。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
MATLAB是英文MA Trix LABoratory(矩阵实验室)的缩写。
它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。
它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。
在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。
本次基课程设计将完成一个数字切比雪夫带通IIR滤波器的设计,利用双线性变换和无限冲激响应IIR原理完成设计,并利用MATLAB进行仿真。
工程概括1.1 IIR 数字滤波器工作原理数字滤波器是一个离散时间系统,输入x(n)是一个时间序列,输出y(n)也是一个时间序列。
如数字滤波器的系统函数为H(z),其脉冲响应为h(n),则在时间域内存在下列的关系。
)()()(n h n x n y ⊗=在z 域内,输入和输出存在下列关系:)()()(z X z H z Y =式中,X(z)、Y(z)分别为输入x(n)和输出y(n)的z 变换。
MATLAB 用频率采样法设计一带通数字滤波器(程序)
以MATLAB 用频率采样法设计一带通数字滤波器。
低通带边缘:w1p=0.2*pi,低阻带边缘:w1s=0.35*pi,高通带边缘w2p=0.65*pi,高阻带边缘w2s=0.8*pi;设计过渡带中的频率样本值为T1=0.109021,T2=0.59417456cheb1% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40% =============双线型变换法========================================= wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp1=tan(wp1/2); Wp2=tan(wp2/2);Ws1=tan(ws1/2); Ws2=tan(ws2/2);BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);[N,Wn]=cheb1ord(WP,WS,Rp,Rs,'s');[B,A]=cheby1(N,Rp,Wn,'s');[BT,AT]=lp2bp(B,A,W00,BW);[num,den]=bilinear(BT,AT,0.5);[h,omega]=freqz(num,den,64);subplot(2,2,1);stem(omega/pi,abs(h));xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));xlabel('\omega/\pi');ylabel('增益.dB');% =============直接法=================================wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);[B,A]=cheby1(N,Rp,Wn);[h,omega]=freqz(B,A,64);subplot(2,2,3);stem(omega/pi,abs(h));xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));xlabel('\omega/\pi');ylabel('增益.dB');%cheby2%% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40% =============双线型变换法=========================================wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp1=tan(wp1/2); Wp2=tan(wp2/2);Ws1=tan(ws1/2); Ws2=tan(ws2/2);BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);[N,Wn]=cheb2ord(WP,WS,Rp,Rs,'s');[B,A]=cheby2(N,Rs,Wn,'s');[BT,AT]=lp2bp(B,A,W00,BW);[num,den]=bilinear(BT,AT,0.5);[h,omega]=freqz(num,den,64);subplot(2,2,1);stem(omega/pi,abs(h));xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));axis([0 1 -100 0]);xlabel('\omega/\pi');ylabel('增益.dB');% =============直接法=================================wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs);[B,A]=cheby2(N,Rs,Wn);[h,omega]=freqz(B,A,64);subplot(2,2,3);stem(omega/pi,abs(h));xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));axis([0 1 -100 0]);xlabel('\omega/\pi');ylabel('增益.dB');%椭圆%% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40% =============双线型变换法========================================= wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp1=tan(wp1/2); Wp2=tan(wp2/2);Ws1=tan(ws1/2); Ws2=tan(ws2/2);BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);[N,Wn]=ellipord(WP,WS,Rp,Rs,'s');[B,A]=ellip(N,Rp,Rs,Wn,'s');[BT,AT]=lp2bp(B,A,W00,BW);[num,den]=bilinear(BT,AT,0.5);[h,omega]=freqz(num,den,64);subplot(2,2,1);stem(omega/pi,abs(h));grid;xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));grid;xlabel('\omega/\pi');ylabel('增益.dB');% =============直接法================================= wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];[N,Wn]=ellipord(Wp,Ws,Rp,Rs);[B,A]=ellip(N,Rp,Rs,Wn);[h,omega]=freqz(B,A,64);subplot(2,2,3);stem(omega/pi,abs(h));grid;xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));grid;xlabel('\omega/\pi');ylabel('增益.dB');一个例程,只需要改一改参数就行了clear all;f=[0 0.19 0.2 0.3 0.31 0.59 0.6 0.8 0.81 1];% 给定频率轴分点;m=[0 0 1 1 0 0 1 1 0 0];% 给定在这些频率分点上理想的幅频响应N1=30;N2=90;% 取两种不同的滤波器长度;b1=fir2(N1,f,m);b2=fir2(N2,f,m);% 得到两个滤波器;subplot(311);stem(b1,'.');grid;subplot(312);stem(b2,'.');grid;M=128;[h1,w]=freqz(b1,1,M,1);[h2,w]=freqz(b2,1,M,1);subplot(313);plot(w,abs(h1),'b-',w,abs(h2),'g-');grid;其中,f是归依化以后的频率通过数字滤波器的采样频率算出来,根据通带和阻带算好f和m就行了看一看help,这个函数应该有窗函数的选择默认情况下是汉明窗设计一个模拟的butterworth低通滤波器,设阶数是N,OmegaC=50*pi*2;[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));这样一个最简单的低通滤波器就设计好了,b是传递函数的分子系数,a是分母,都是按s的降幂排列的。
32阶fir数字滤波器
32阶数字滤波器设计课程名称:信号检测基础实验名称:32阶数字滤波器设计实验日期:2019年3月18日一、输入:首先进行滤波前信号分析,做出信号1(s1)信号2(s2)原图,并做出信号1与2相加的被污染的信号(s)f=2e6;fm=7e6;fs=40e6;T=15;t=0:1/fs:T/f;s1=sin(2*pi*f*t);s2=sin(2*pi*fm*t);s=s1+s2;plot(s,'b');hold on;plot(s1,'r');hold on;plot(s2,'g');legend('被污染的信号','信号1','信号2');title('滤波前信号分析');二、32阶数字带通滤波器设计:滤波器的阶数(n阶滤波器,specify order=n-1,这里为31),窗函数选用Kaiser,截止频率分别为2MHz和5MHz,采样频率40MHZ(也就是ADC的采样频率)。
三、滤波:使用file菜单---generate mfile,命名为bandfilter 做出滤波后的图形:figure(2);Hd = bandfilter;output=filter(Hd,s);plot(output);title('滤波后的波形');附录:滤波器源码function Hd = bandfilterFs = 40; % Sampling FrequencyN = 31; % OrderFc1 = 2; % First Cutoff FrequencyFc2 = 5; % Second Cutoff Frequencyflag = 'scale'; % Sampling FlagBeta = 0.5; % Window Parameter% Create the window vector for the design algorithm. win = kaiser(N+1, Beta);% Calculate the coefficients using the FIR1 function.b = fir1(N, [Fc1 Fc2]/(Fs/2), 'bandpass', win, flag); Hd = dfilt.dffir(b);。
数字信号处理中滤波器设计的使用教程
数字信号处理中滤波器设计的使用教程数字信号处理(DSP)是一门广泛应用于通信、音频、图像、雷达等领域的技术。
滤波是其中一种常见的操作,用于去除或改变信号中的某些成分。
本文将介绍数字信号处理中滤波器的设计与使用方法。
一、滤波器概述滤波器是数字信号处理中的重要组成部分,它通过改变信号的频谱来实现信号的特定处理目标。
常见的滤波器类型包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
低通滤波器(Low-pass Filter)用于去除高频噪声并保留低频成分,适用于信号平滑处理。
高通滤波器(High-pass Filter)则相反,保留高频成分并去除低频部分,常用于去除直流偏移和低频噪声。
带通滤波器(Band-pass Filter)通过保留一定范围的频率成分来滤除其他频率的信号,常用于信号频带选择和精确查找特定频率。
带阻滤波器(Band-stop Filter)则是保留某一范围的频率成分并去除其他频率,常用于消除干扰信号或特定频率的噪声。
二、滤波器设计方法滤波器的设计目标是根据具体需求确定滤波器类型,并设计出相应的滤波器参数。
下面将介绍两种常见的设计方法。
1. IIR滤波器设计无限脉冲响应(IIR)滤波器根据系统的差分方程来设计,具有较为复杂的频率响应。
常见的IIR滤波器设计方法包括巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器和椭圆(Elliptic)滤波器。
(1)巴特沃斯滤波器是一种常见的IIR滤波器,具有近似的平坦频率响应和宽的过渡带宽度。
滤波器的设计包括选择滤波器阶数、截止频率和滤波器类型等参数。
(2)切比雪夫滤波器是一种IIR滤波器,除了具有平坦的频率响应外,还可实现更陡峭的过渡带。
切比雪夫滤波器的设计包括选择滤波器阶数、截止频率、过渡带宽度和纹波等参数。
(3)椭圆滤波器是一种IIR滤波器,具有最陡峭的过渡带和最小的滤波器阶数。
椭圆滤波器的设计包括选择滤波器阶数、截止频率、过渡带宽度、纹波和阻带衰减等参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
巴特沃思(Butterworth)模拟/数字滤波器带通滤波器设计
格式:[b,a] = butter(n,Wn)
[b,a] = butter(n,Wn,'ftype')
[b,a] = butter(n,Wn,'s')
[b,a] = butter(n,Wn,'ftype','s')
[z,p,k] = butter(...)
[A,B,C,D] = butter(...)
说明:butter函数可以设计模拟或数字的低通、高通、带通和带阻Butterworth滤波器。
Butterworth滤波器可以使通带内的幅频响应最大程度地平坦,但这也使得它的通带到阻带的过渡过程较慢。
在这方面Chebyshev滤波器和椭圆滤波器性能较好。
在设计数字滤波器时,butter函数中的参数Wn与besself函数有很大的区别,它是一个相对量,其定义区间为Wn∈[0,1],其中1对应于0.5fs,fs为采样频率(单位Hz);在设计模拟滤波器时,Wn采用真实频率,单位为Hz。
[b,a] = butter(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶Butterworth
数字低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂排列)。
当Wn为二元向量,即Wn = [W1 W2] (W1<W2)时,[b,a] = butter(n,Wn)返回一个2n阶数字带通滤波器,其通带为W1<ω< W2。
举例:信号采样率fs为10000Hz,带通为50—600Hz
WW=fs/2;
Wn=[50/WW 600/WW]; 通带为50Hz--600Hz
[b,a] = butter(3,Wn);
Original_Signal=filter(b,a,Original_Signal);。