用matlab实现ChebyshevⅡ高通滤波器的仿真
利用MATLAB设计IIR滤波器

河海大学常州校区
利用MATLAB设计IIR滤波器 11/ 29 利用MATLAB设计IIR滤波器 11/ MATLAB设计IIR
6;Wn=0.2329; n = 6;Wn=0.2329; b=[0.0007 0.0044 0.0111 0.0148 0.0111 0.0044 0.0007]; 0.0007]; 0.0544]; a=[1.0000 -3.1836 4.6222 -3.7795 1.8136 -0.4800 0.0544];
利用MATLAB设计IIR滤波器 利用MATLAB设计IIR滤波器 3/ 29 MATLAB设计IIR
1、根据频域指标设计
设计方法 滤波器
巴特沃思
函数及调用格式
[n,Wn]=buttord(Wp,Ws,Rp,Rs, s ) [n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)
根 据 频 域 指 标 设 计
函数格式: 函数格式:
[b,a]=func (…)
func: func:
butter(巴特沃思)、 butter(巴特沃思)、 cheby1(切比雪夫I型)、 cheby1(切比雪夫I cheby2(切比雪夫II II型 cheby2(切比雪夫II型)、 ellip(椭圆) ellip(椭圆)
河海大学常州校区
河海大学常州校区
利用MATLAB设计IIR滤波器 19/ 29 利用MATLAB设计IIR滤波器 19/ MATLAB设计IIR
wp=0.1;ws=0.15;rp=1;rs=15;Fs=1; [n1,Wn1]=buttord buttord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n1,Wn1]=buttord(wp/(Fs/2),ws/(Fs/2),rp,rs); butter(n1,Wn1); [num1,den1]=butter [num1,den1]=butter(n1,Wn1); [H1,W1]=freqz(num1,den1); [n2,Wn2]=cheb1ord cheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n2,Wn2]=cheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num2,den2]=cheby1 cheby1(n2,rp,Wn2); [num2,den2]=cheby1(n2,rp,Wn2); [H2,W2]=freqz(num2,den2); [n3,Wn3]=cheb2ord cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n3,Wn3]=cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num3,den3]=cheby2 cheby2(n3,rs,Wn3); [num3,den3]=cheby2(n3,rs,Wn3); [H3,W3]=freqz(num3,den3); ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n4,Wn4]=ellipord [n4,Wn4]=ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num4,den4]=ellip(n4,rp,rs,Wn4); [num4,den4]=ellip(n4,rp,rs,Wn4); ellip [H4,W4]=freqz(num4,den4);
用matlab设计高通滤波器,雪比切夫、fir两种方法 课程设计HPF

课 程 设 计20011 年 7月 1日 设计题目 学号专业班级 指导教师 学生姓名 张腾达 吴晔 陈丽娟 杨蕾通信电子电路课程设计 ——数字滤波器的设计 张静 光信息08-3班实验组员 张静 胡磊 艾永春 赵亚龙王宏道 胡进娟 马丽婷设计要求:某系统接收端接收到的信号为y=cos(2π*60t)+1.2cos(2π*140t)+2sin(2π*220t)+1.5sin(2π*300t)(A) 发现此信号夹杂了一个正弦噪声noise=1.5sin(2π*300t),请设计一个低通滤波器将此噪声滤除,从而恢复原信号。
(B) 发现此信号夹杂了一个正弦噪声noise= cos(2π*60t)+1.5sin(2π*300t) ,请设计一个带通滤波器将此噪声滤除,从而恢复原信号。
(C) 发现此信号夹杂了一个正弦噪声noise=1.2cos(2π*140t)+2sin(2π*220t),请设计一个带阻滤波器将此噪声滤除,从而恢复原信号。
(D) 发现此信号夹杂了一个正弦噪声noise= cos(2π*60t),请设计一个高通滤波器将此噪声滤除,从而恢复原信号。
要求:(1)请写出具体的MATLAB程序,并详细解释每条程序(2)画出滤波前后信号的频谱图(3)画出所设计滤波器的幅频和相频特性图,并写出具体参数参数计算:根据题目要求,开始选取Wp=2*60π,Ws=2*140π。
后来经老师指点,为了将阻带里的信号更好的滤除,通带里的信号更好的保持,达到较好的滤波效果,通带截止频率选取:Wp=2*70π>2*60π,阻带截止频率选取:Ws=2*120π<2*140π,输入信号为:y=cos(2π*60t)+1.2cos(2π*140t)+2sin(2π*220t)+1.5sin(2π*300t) 可知信号最高频率为2*300*π/(2π)=300Hz。
由奈奎斯特抽样定理得,fs>=2*300=600(Hz),这里为了得到更好的抽样效果,同时简化计算,选取fs=1000Hz。
基于matlab模拟滤波器的设计与仿真

本科生毕业论文(设计)题目:基于matlab模拟滤波器的设计与仿真系部电子信息工程学院学科门类工科专业电子信息工程学号xxxxxxxxxxxxxxxxxx姓名XXX指导教师XXX2012年 5 月18 日基于matlab的模拟滤波器设计与仿真摘要几乎在所有的工程技术领域中都会涉及到信号处理问题,而滤波器信号处理的重要组成部分。
本论文首先介绍了滤波器的滤波原理以及模拟滤波器的设计方法,然后系统地介绍了模拟滤波器(包括巴特沃斯滤波器和切比雪夫滤波器)的设计原理和方法,并在此基础上论述了低通、高通、带通、带阻模拟滤波器的设计。
最后,采用MATLAB对所述滤波器进行建模仿真。
仿真结果表明用matlab设计的滤波器符合技术要求,且直观简便,有利于设计的优化。
关键字:模拟滤波器频率转换MATLAB装订线ABSTRACTIn almost all areas of engineering and technology, signal processing will be involved andsignal processing is an important component of filter signal processing. This paper will firstintroduce the principle of filter and the design method of analog filters. Then the paper willpresent the design principles and methods of analog filters (including the Butterworth filter andChebyshev filter) and on this basis, the analog filters (including low-pass, high-pass, band-pass,and band-stop) design will be discussed. Last is the use of virtual realization of analog filtersMATLAB. It can be seen that based on the simulation result, the filter designed by MATLAB iscoincident in technical requirements and handy in anchauung. What’s more, it is easy to adjustthe performance of filters.Key words:Filtering Analog filters MATLAB装订线第1章绪论 (1)1.1课题研究背景及意义 (1)1.2国内外研究现状及趋势 (1)1.3本文的主要工作安排 (2)第2章基本理论知识 (3)2.1滤波器的工作原理 (3)2.1.1模拟滤波器的工作原理 (3)2.1.2数字滤波器的工作原理 (4)2.2滤波器的基本特性 (5)2.2.1模拟滤波器与数字滤波器的基本特性 (5)2.2.2无限冲激响应IIR和有限冲激响应FIR滤波器 (7)2.3滤波器的主要性能指标 (8)第3章模拟滤波器的设计 (9)3.1模拟滤波器的分类 (9)3.2 模拟滤波器的设计方法 (9)3.3模拟原型滤波器及最小阶数选择 (11)3.3.1巴特沃斯滤波器及最小阶数选择 (11)3.3.2切比雪夫滤波器及最小阶数选择 (14)3.3.3椭圆滤波器及最小阶数的选择 (20)3.3.4贝塞尔滤波器 (21)第4章 MATLAB仿真 (22)4.1MATLAB简介 (22)4.2对低通模拟滤波器的仿真 (23)4.3 模拟高通滤波器的仿真 (25)4.4 模拟带通滤波器的仿真 (26)4.5 对带阻模拟滤波器的仿真 (28)第5章频率转换 (30)5.1低通至高通的转换 (30)5.2低通至带通的变换 (31)5.3低通至带阻的变换 (34)第6章总结与展望 (36)参考文献 (37)第1章绪论1.1课题研究背景及意义凡是有能力进行信号处理的装置都可以称为滤波器。
用matlab设计高通滤波器,雪比切夫、fir两种方法 课程设计HPF

课 程 设 计20011 年 7月 1日 设计题目 学 号专业班级 指导教师 学生姓名 张腾达 吴晔 陈丽娟 杨蕾通信电子电路课程设计 ——数字滤波器的设计 张静 20080302 光信息08-3班实验组员 张静 胡磊 艾永春 赵亚龙王宏道 胡进娟 马丽婷设计要求:某系统接收端接收到的信号为y=cos(2π*60t)+1.2cos(2π*140t)+2sin(2π*220t)+1.5sin(2π*300t)(A) 发现此信号夹杂了一个正弦噪声noise=1.5sin(2π*300t),请设计一个低通滤波器将此噪声滤除,从而恢复原信号。
(B) 发现此信号夹杂了一个正弦噪声noise= cos(2π*60t)+1.5sin(2π*300t) ,请设计一个带通滤波器将此噪声滤除,从而恢复原信号。
(C) 发现此信号夹杂了一个正弦噪声noise=1.2cos(2π*140t)+2sin(2π*220t),请设计一个带阻滤波器将此噪声滤除,从而恢复原信号。
(D) 发现此信号夹杂了一个正弦噪声noise= cos(2π*60t),请设计一个高通滤波器将此噪声滤除,从而恢复原信号。
要求:(1)请写出具体的MATLAB程序,并详细解释每条程序(2)画出滤波前后信号的频谱图(3)画出所设计滤波器的幅频和相频特性图,并写出具体参数参数计算:根据题目要求,开始选取Wp=2*60π,Ws=2*140π。
后来经老师指点,为了将阻带里的信号更好的滤除,通带里的信号更好的保持,达到较好的滤波效果,通带截止频率选取:Wp=2*70π>2*60π,阻带截止频率选取:Ws=2*120π<2*140π,输入信号为:y=cos(2π*60t)+1.2cos(2π*140t)+2sin(2π*220t)+1.5sin(2π*300t) 可知信号最高频率为2*300*π/(2π)=300Hz。
由奈奎斯特抽样定理得,fs>=2*300=600(Hz),这里为了得到更好的抽样效果,同时简化计算,选取fs=1000Hz。
Matlab实现滤波器[1]
![Matlab实现滤波器[1]](https://img.taocdn.com/s3/m/171654629b6648d7c1c746c9.png)
滤波器设计示例1、Matlab 设计IIR 基本示例 (1)(1)直接设计数字滤波器 (1)(2)脉冲相应不变法 (2)(3)双线性变换 (2)(4)双线形变换法设计chebyshev 高通滤波器 (3)(5)使用MatLab6 下的Filter Designed Tool (4)2、Matlab 设计IIR 高级示例 (4)(1)双线性变换实现ButterWorth 低通 (4)(2)双线性变换法实现Chebyshev 低通(I 型) (5)(3)低通变换为高通 (6)(2)低通变换为带通 (7)(3)低通变换为带通(双线性变换) (8)3、Matlab 窗函数设计FIR 滤波器基本示例 (9)(1)低通滤波器实现 (9)(2)带通滤波器实现 (9)1、Matlab设计IIR基本示例[返回](1)直接设计数字滤波器[返回]低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。
设计一个数字滤波器满足以上参数。
% Matlab 使用归一化的频率参数(临界频率除以采样频率的1/2)。
%这样临界频率参数的取值范围在0 和1 之间,1 代表Fs/2(用角频率表示的时候对应π)FS=1[n,Wn]=buttord(0.2/(FS/2),0.3/( FS /2),1,25);[b,a]=butter(n,Wn);freqz(b,a,512, FS);(2)脉冲相应不变法[返回]低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。
设计一个数字滤波器满足以上参数。
FS=1[n,Wn]=buttord(0.2*2*pi,0.3*2*pi,1,25,'s'); %临界频率采用角频率表示[b,a]=butter(n,Wn,'s');%freqs(b,a) %设计模拟的[bz,az]=impinvar(b,a,FS); %映射为数字的freqz(bz,az,512,FS)(3)双线性变换[返回]低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。
用MATLAB设计滤波器

用MATLAB 设计滤波器1 IIR 滤波器的设计● freqz功能:数字滤波器的频率响应。
格式:[h ,w]=freqz(b ,a ,n)[h ,f]=freqz(b ,a ,n ,Fs)[h ,w]=freqz(b ,a ,n ,'whole')[h ,f]=freqz(b ,a ,n ,'whole',Fs)h=freqz(b ,a ,w)h=freqz(b ,a ,f ,Fs)freqz(b ,a)说明:freqz 用于计算由矢量"和b 构成的数字滤波器H(z)=A(z)B(z)= n-1--n-1 l)z a(n ....a(2)z l l)z b(n .... b(2)z b(l)++++++++ 的复频响应H(j ω)。
[h ,w]=freqz(b ,a ,n)可得到数字滤波器的n 点的幅频响应,这n 个点均匀地分布在 上半单位圆(即0~π),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。
至于n 值的选择没有太多的限制,只要n>0的整数,但最好能选取2的幂次方,这样就可采用 FFT 算法进行快速计算。
如果缺省,则n=512。
[h ,f]二freqz(b ,a ,n ,Fs)允许指定采样终止频率Fs(以Hz 为单位),也即在0~Fs/2 频率范围内选取n 个频率点(记录在f 中),并计算相应的频率响应h 。
[h ,w]=freqz(b ,a ,n ,'whole')表示在0~2π之间均匀选取n 个点计算频率响应。
[h ,f]=freqz(b ,a ,n ,'whole',Fs)则在O~Fs 之间均匀选取n 个点计算频率响应。
h=freqz(b ,a ,w)计算在矢量w 中指定的频率处的频率响应,但必须注意,指定的频 率必须介于0和2π之间。
h=freqz(b ,a ,f ,Fs)计算在矢量f 中指定的频率处的频率响应,但指定频率必须介于 0和Fs 之间。
基于matlab数字图像处理之高通滤波器

实践二: 理想高通滤波器、Butterworth高通滤波器、高斯高通滤波器2.1.1 理想高通滤波器实践代码:I=imread('girl.bmp');subplot(221),imshow(I);title('原图像');s=fftshift(fft2(I));subplot(223),imshow(abs(s),[]);title('图像傅里叶变换所得频谱');subplot(224),imshow(log(abs(s)),[]);title('图像傅里叶变换取对数所得频谱');[a,b]=size(s);a0=round(a/2);b0=round(b/2);d=10;p=0.2;q=0.5;for i=1:afor j=1:bdistance=sqrt((i-a0)^2+(j-b0)^2);if distance<=d h=0;else h=1;end;s(i,j)=(p+q*h)*s(i,j);end;end;s=uint8(real(ifft2(ifftshift(s))));subplot(222),imshow(s);title('高通滤波所得图像');I=imread('girl.bmp');[f1,f2]=freqspace(size(I),'meshgrid');Hd=ones(size(I));r=sqrt(f1.^2+f2.^2);Hd(r<0.2)=0;figuresurf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); % 画三维曲面〔色〕图2.1.2 理想高通滤波器实践结果截图:2. Butterworth高通滤波器实践代码:I1=imread('flower.bmp');subplot(121),imshow(I1);title('原始图像');f=double(I1);g=fft2(f);g=fftshift(g);[N1,N2]=size(g);n=2;d0=5;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=1:N2d=sqrt((i-n1)^2+(j-n2)^2);if d==0h=0;elseh=1/(1+(d0/d)^(2*n));endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);X2=ifft2(result);X3=uint8(real(X2));subplot(122),imshow(X3) ;title('Butterworth高通滤波');I1=imread('flower.bmp');[f1,f2]=freqspace(size(I1),'meshgrid');D=0.3;r=f1.^2+f2.^2;n=4;for i=1:size(I1,1)for j=1:size(I1,2)t=(D*D)/r(i,j);Hd(i,j)=1/(t^n+1);endendfiguresurf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); % 画三维曲面〔色〕图2. Butterworth高通滤波器实践结果截图:2. 高斯高通滤波器实践代码:clear allIA=imread('girl.bmp');[f1,f2]=freqspace(size(IA),'meshgrid');%D=100/size(IA,1);D=0.3;r=f1.^2+f2.^2;for i=1:size(IA,1)for j=1:size(IA,2)t=r(i,j)/(D*D);Hd(i,j)=1-exp(-t);endendY=fft2(double(IA));Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya));figuresubplot(2,2,1),imshow(uint8(IA));title('原始图像');subplot(2,2,2),imshow(uint8(Ia));title('高斯高通滤波');figuresurf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong');2. 高斯高通滤波器实践结果截图:。
滤波器设计MATLAB

滤波器设计MATLAB滤波器的设计在信号处理中具有重要的作用,可以用于去除噪声、增强信号等。
MATLAB是一种强大的工具,可以用于滤波器设计和分析。
本文将介绍如何使用MATLAB进行滤波器设计,并通过示例展示具体的过程。
在MATLAB中,可以使用信号处理工具箱提供的函数来设计滤波器。
常用的函数有:- `fir1`:设计FIR滤波器。
- `butter`:设计巴特沃斯滤波器。
- `cheby1`:设计切比雪夫I型滤波器。
- `cheby2`:设计切比雪夫II型滤波器。
- `ellip`:设计椭圆滤波器。
这些函数的输入参数包括滤波器类型、阶数、截止频率等。
根据具体的需求选择不同的函数来设计滤波器。
下面以设计一个低通滤波器为例,演示如何使用MATLAB进行滤波器设计。
首先,创建一个信号作为输入。
可以使用`sin`函数生成一个正弦信号作为示例。
代码如下:```matlabfs = 1000; % 采样率t = 0:1/fs:1; % 时间向量f=50;%信号频率x = sin(2*pi*f*t); % 输入信号```接下来,使用`fir1`函数设计一个低通滤波器。
该函数的输入参数`n`表示滤波器的阶数,`Wn`表示归一化的截止频率。
代码如下:```matlabn=50;%滤波器阶数Wn=0.2;%截止频率b = fir1(n, Wn);```然后,使用`filter`函数对输入信号进行滤波。
该函数的输入参数是滤波器的系数和输入信号。
代码如下:```matlaby = filter(b, 1, x);```最后,绘制原始信号和滤波后的信号的时域和频域波形。
代码如下:```matlab%时域波形subplot(2, 1, 1)plot(t, x)hold onplot(t, y)legend('原始信号', '滤波后信号') xlabel('时间 (s)')ylabel('幅值')title('时域波形')%频域波形subplot(2, 1, 2)f = linspace(-fs/2, fs/2, length(x)); X = abs(fftshift(fft(x)));Y = abs(fftshift(fft(y)));plot(f, X)hold onplot(f, Y, 'r')legend('原始信号', '滤波后信号') xlabel('频率 (Hz)')ylabel('幅值')title('频域波形')```运行以上代码,可以得到原始信号和滤波后信号的时域和频域波形图。