利用matlab设计巴特沃斯低通滤波器

合集下载

matlab滤波器代码

matlab滤波器代码

数字信号处理:已知通带截止频率fp=5kHz,通带最大衰减ap=2dB,阻带截止频率fs=2kHz,阻带最小衰减as=30dB,按照以上技术指标设计巴特沃斯低通滤波器:wp=2*pi*5000;ws=2*pi*12000;Rp=2;As=30;[N,wc]=buttord(wp,ws,Rp,As,'s');[B,A]=butter(N,wc,'s');k=0:511;fk=0:14000/512:14000;wk=2*pi*fk;Hk=freqs(B,A,wk);subplot(2,2,1);plot(fk/1000,20*log10(abs(Hk)));grid onxlabel('频率(kHz)');ylabel('幅度(dB)')axis([0,14,-40,5])切比雪夫1型低通滤波器:wp=2*pi*3000;ws=2*pi*12000;Rp=0.1;As=60;[N1,wpl]=cheb1ord(wp,ws,Rp,As,'s');%cheb1ord,里面的是1,不是L[B1,A1]=cheby1(N1,Rp,wpl,'s');subplot(2,2,1);fk=0:12000/512:12000;wk=2*pi*fk;Hk=freqs(B1,A1,wk);plot(fk/1000,20*log10(abs(Hk)));grid onxlabel('频率(kHz)');ylabel('幅度(dB)')axis([0,12,-70,5])椭圆模拟低通滤波器:wp=2*pi*3000;ws=2*pi*12000;Rp=0.1;As=60;[N,wpo]=ellipord(wp,ws,Rp,As,'s');[B,A]=ellip(N,Rp,As,wpo,'s');subplot(2,2,1);fk=0:12000/512:12000;wk=2*pi*fk;Hk=freqs(B1,A1,wk);plot(fk/1000,20*log10(abs(Hk)));grid onxlabel('频率(kHz)');ylabel('幅度(dB)')axis([0,12,-70,5])p195-14wp=2*4/80;ws=2*20/80;rp=0.5;rs=45;[N,wc]=buttord(wp,ws,rp,rs);[B,A]=butter(N,wc);[hk,wk]=freqz(B,A);fk=wk/pi*40;plot(fk,20*log10(abs(hk)));axis([0,30,-100,0])xlabel('频率(kHZ)');ylabel('幅度(db)');grid on P195-16wp=2*325/2500;ws=2*225/2500;rp=1;rs=40;[N,wc]=ellipord(wp,ws,rp,rs);[B,A]=ellip(N,rp,rs,wc);[hk,wk]=freqz(B,A);fk=wk/pi*40;plot(fk,20*log10(abs(hk)));axis([0,30,-100,0])xlabel('频率(kHZ)');ylabel('幅度(db)');grid onP195-15wp=2*4/80;ws=2*20/80;rp=0.5;rs=45;[N,wc]=cheb1ord(wp,ws,rp,rs);[B,A]=cheby1(N,rp,wc);[hk,wk]=freqz(B,A);fk=wk/pi*40;plot(fk,20*log10(abs(hk)));axis([0,30,-100,0])xlabel('频率(kHZ)');ylabel('幅度(db)');grid on 切比雪夫低通滤波器wp=2*pi*3000;ws=2*pi*12000;rp=0.1;as=60;[N1,wp1]=cheb1ord(wp,ws,rp,as,'s');[B1,A1]=cheby1(N1,rp,wp1,'s');subplot(2,2,1);fk=0:12000/512:12000;wk=2*pi*fk;hk=freqs(B1,A1,wk);plot(fk/1000,20*log10(abs(hk)));grid onxlabel('频率(kHZ)');ylabel('幅度(db)');axis([0,12,-70,5])双音频检测audiofile='test.wav'[in_audio,fs,bits]=wavread(audiofile); [b,a]=cheby1(5,0.1,0.3);out_audio=filter(b,a,in_audio);sound(out_audio,fs,bits);wavwrite(out_audio,fs,bits,'test_out'); xk1=fft(in_audio,512);xk2=fft(out_audio,512);subplot(2,1,1);stem(abs(xk1));subplot(2,1,2);stem(abs(xk2));巴特沃斯模拟高通滤波器。

基于Matlab的巴特沃斯滤波器设计

基于Matlab的巴特沃斯滤波器设计

龙源期刊网
基于Matlab的巴特沃斯滤波器设计
作者:王大伟贾荣丛王划一
来源:《现代电子技术》2012年第21期
摘要:为了得到较纯净的真实信号,对巴特沃斯模拟滤波器的幅频特性、设计方法及设计步骤进行了研究,利用Matlab程序,设计了巴特沃斯模拟滤波器,给出了Matlab设计程序,并分析了巴特沃斯模拟滤波器的幅频特性。

利用Matlab程序绘制了巴特沃斯模拟滤波器的幅频特性曲线,并利用Matlab实现了模拟滤波器原型到模拟低通、高通、带通、带阻滤波器的转换。

由模拟滤波器原型设计模拟高通滤波器的实例说明了滤波器频率转换效果。

关键词:模拟滤波器;巴特沃斯滤波器; Matlab;幅频特性
滤波器是一种允许某一特定频带内的信号通过,而衰减此频带以外的一切信号的电路,处理模拟信号的滤波器称为模拟滤波器。

在现代通信系统中,滤波是最常用的一种信号处理技术,一般用来衰减信号频谱中需要消除的部分,得到较纯净的真实信号。

利用MATLAB设计巴特沃斯低通数字滤波器

利用MATLAB设计巴特沃斯低通数字滤波器

利用MATLAB设计巴特沃斯低通数字滤波器引言数字滤波器是数字信号处理中的重要组成部分,可以用于去除信号中的噪音和不需要的频率成分。

巴特沃斯滤波器是一种常见的数字滤波器,被广泛应用于信号处理领域。

本文将介绍如何利用MATLAB设计巴特沃斯低通数字滤波器,并给出详细的步骤和示例代码。

设计步骤利用MATLAB设计巴特沃斯低通数字滤波器主要包括以下步骤:1.设计滤波器的参数2.计算滤波器的传递函数3.绘制滤波器的幅频响应曲线4.通过频域图像观察滤波器的性能下面将分别介绍每个步骤的详细操作。

设计滤波器的参数巴特沃斯低通数字滤波器的参数包括截止频率和阶数。

截止频率决定了滤波器的通频带,阶数决定了滤波器的陡峭程度。

通过MATLAB的butter()函数可以方便地设计巴特沃斯低通数字滤波器。

该函数的参数为滤波器的阶数和截止频率。

示例代码如下:order = 4; % 阶数cutoff_freq = 0.4; % 截止频率[b, a] = butter(order, cutoff_freq);计算滤波器的传递函数通过设计参数计算得到滤波器的传递函数。

传递函数是一个复数,包括了滤波器的频率响应信息。

使用MATLAB的freqz()函数可以计算滤波器的传递函数。

该函数的参数为滤波器的系数b和a,以及频率取样点的数量。

示例代码如下:freq_points = 512; % 频率取样点数量[h, w] = freqz(b, a, freq_points);绘制滤波器的幅频响应曲线经过计算得到的传递函数能够提供滤波器的幅频响应信息。

通过绘制幅频响应曲线,可以直观地观察滤波器的频率特性。

使用MATLAB的plot()函数可以绘制滤波器的幅频响应曲线。

该函数的参数为频率点和传递函数的幅值。

示例代码如下:magnitude = abs(h); % 幅值plot(w/pi, magnitude);xlabel('归一化频率');ylabel('幅值');title('巴特沃斯低通数字滤波器幅频响应');通过频域图像观察滤波器的性能通过绘制滤波器的频域图像,可以直观地观察滤波器对不同频率的信号的响应情况。

基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计

基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计

巴特沃斯低通、切比雪夫低通、高通IIR滤波器设计05941401 1120191454 焦奥一、设计思路IIR滤波器可以分为低通、高通、带通、带阻等不同类型的滤波器,而以系统函数类型又有巴特沃斯、切比雪夫等滤波器。

其中巴特沃斯较为简单,切比雪夫较为复杂;低阶比高阶简单,但却有着不够良好的滤波特性。

在满足特定的指标最低要求下,低阶、巴特沃斯滤波器能更大程度地节省运算量以及复杂程度。

滤波器在不同域内分为数字域和模拟域。

其中数字域运用最广泛。

在设计过程中,一般是导出模拟域的滤波器,之后通过频率转换变为数字域滤波器,实现模拟域到数字域的传递。

在针对高通、带通、带阻的滤波器上,可以又低通到他们的变换公式来进行较为方便的转换。

综上,IIR滤波器的设计思路是,先得到一个满足指标的尽可能简单的低通模拟滤波器,之后用频域变换转换到数字域。

转换方法有双线性变换法、冲激响应不变法等。

虽然方法不同,但具体过程有很多相似之处。

首先将数字滤波器的指标转换为模拟滤波器的指标,之后根据指标设计模拟滤波器,再通过变换,将模拟滤波器变换为数字滤波器,是设计IIR滤波器的最基本框架。

以下先讨论较为简单的巴特沃斯低通滤波器。

二、巴特沃斯低通滤波假设需要一个指标为0~4hz内衰减小于3db、大于60hz时衰减不小于30db的滤波器。

其中抽样频率为400hz。

以双线性变换方法来设计。

首先将滤波器转换到模拟指标。

T =1f f ⁄=1400Ωf ′=2ff f =8ff f =Ωf ′f =0.02fΩf ′=2ff f =120ff f =Ωf ′f =0.3f根据双线性变换Ω=2f tan ⁡(f 2) 得到Ωf =25.14Ωf =407.62这就得到了模拟域的指标。

由巴特沃斯的方程Α2(Ω)=|f f (f Ω)|2=11+(ΩΩf )2f20ff |f f (f Ω)|=−10ff [1+(ΩΩf)2f] {20ff |f f (f Ωf )|≥−320ff |f f (f Ωf )|≤−30ff得到{ −10ff [1+(Ωf Ωf)2f ]≥−3−10ff [1+(Ωf Ωf )2f]≤−30当N取大于最小值的整数时,解出N=2,因此为二阶巴特沃斯低通滤波器。

用MATLAB设计巴特沃斯低通滤波器

用MATLAB设计巴特沃斯低通滤波器

⽤MATLAB设计巴特沃斯低通滤波器⽤MATLAB 设计巴特沃斯低通滤波器1 巴特沃斯低通滤波器的特性⼀个理想低通滤波器的幅频特性如图3-80的阴影部分所⽰。

为了实现这个理想低通特性,需要在从0~ωC 的整个频带内增强增益,在ω>ωC 增益要降到0。

实际上,理想滤波器是不可能实现的。

图3-78是实际滤波器的幅频特性。

但是实际滤波器的特性愈接近理想特性愈好,巴特沃斯(Butterworth )滤波器就是解决这个问题的⽅法之⼀。

巴特沃斯滤波器以巴特沃斯函数来近似滤波器的系统函数,巴特沃斯的低通模平⽅函数为:221|()|1,2,,1(/)NC H j N j j ωωω==+ (3-138)式中以C ω是滤波器的电压-3dB 点或半功率点。

不同阶次的巴特沃斯滤波器特性如图3-79(a)所⽰。

4阶巴特沃斯滤波器的极点分布如图3-79(b)所⽰。

巴特沃斯滤波器幅频响应有以下特点:最⼤平坦性:在0=ω附近⼀段范围内是⾮常平直的,它以原点的最⼤平坦性来逼近理想低通滤波器。

通带、阻带下降的单调性。

这种滤波器具有良好的相频特性。

3dB 的不变性:随着N 的增加,频带边缘下降越陡峭,越接近理想特性。

但不管N 是多少,幅频特性都通过-3dB 点。

极点配置在半径为ωC 的圆上,并且均匀分布。

左半平⾯上的N 个极点是)(s H 的极点,右半平⾯上的N 个极点是)(s H -的极点。

2 巴特沃斯低通滤波器的实现为使巴特沃斯滤波器实⽤,我们必须能够实现它。

⼀个较好的⽅法是将巴特沃斯滤波器函数化成若⼲⼆阶节级联,其中每⼀节实现⼀对共轭复极点。

通过将极点以共轭复数的形式配对,对所有的每⼀个⼆阶节都具有实系数。

1图3-78 低通滤波器的幅频特性图3-80所⽰运算放⼤器电路为实现⼀对共轭极点提供了很好的⽅法。

电路的系统函数为202202121121122121)(1)11(1)(ωωω++=+++=s Qs C C R R s C R C R s C C R R s H (3-139)式中,ω0是S 平⾯原点与极点之间的距离,Q 被称为电路的“品质因数”,它提供了对响应峰值尖锐程度的⼀种度量。

matlab数字信号处理85个实用案例精讲

matlab数字信号处理85个实用案例精讲

matlab数字信号处理85个实用案例精讲MATLAB数字信号处理85个实用案例精讲MATLAB是一种强大的数学软件,广泛应用于数字信号处理领域。

本文将介绍85个实用案例,涵盖了数字信号处理的各个方面,包括信号生成、滤波、频谱分析、时频分析、数字滤波器设计等。

1. 信号生成案例:生成正弦信号在MATLAB中,可以使用sin函数生成正弦信号。

例如,生成频率为100Hz,幅度为1的正弦信号,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);2. 滤波案例:低通滤波低通滤波器可以滤除高频信号,保留低频信号。

在MATLAB中,可以使用fir1函数设计低通滤波器。

例如,设计截止频率为100Hz的低通滤波器,代码如下:fs = 1000;fc = 100;N = 100;b = fir1(N, fc/(fs/2), 'low');3. 频谱分析案例:计算功率谱密度功率谱密度是信号在频域上的能量分布。

在MATLAB中,可以使用pwelch函数计算功率谱密度。

例如,计算频率为100Hz的正弦信号的功率谱密度,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);[Pxx, f] = pwelch(x, [], [], [], 1000);4. 时频分析案例:计算短时傅里叶变换短时傅里叶变换可以分析信号在时间和频率上的变化。

在MATLAB中,可以使用spectrogram函数计算短时傅里叶变换。

例如,计算频率为100Hz的正弦信号的短时傅里叶变换,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);spectrogram(x, [], [], [], 1000, 'yaxis');5. 数字滤波器设计案例:设计巴特沃斯滤波器巴特沃斯滤波器是一种常用的数字滤波器,可以实现平滑滤波和带通滤波。

Butterworth模拟低通滤波器设计

Butterworth模拟低通滤波器设计
[numa,dena]=butter(N,wc,'s');
例:利用AF-BW filter及脉冲响应不变法设计一DF,满足
Wp=0.2p, Ws=0.6p, Ap2dB, As15dB 。
%determine the DF filter [numd,dend]=impinvar(numa,dena,Fs); %plot the frequency response w=linspace(0,pi,1024); h=freqz(numd,dend,w); norm=max(abs(h)); numd=numd/norm; plot(w/pi,20*log10(abs(h/norm))); xlabel('Normalized frequency'); ylabel('Gain,dB'); %computer Ap As of the designed filter w=[Wp Ws]; h=freqz(numd,dend,w); fprintf('Ap= %.4f\n',-20*log10( abs(h(1)))); fprintf('As= %.4f\n',-20*log10( abs(h(2))));
Ap=1.00dB, As=40dB
模拟高通滤波器的设计
MATLAB实现 [numt,dent] = lp2hp(num,den,W0)
例: 设计满足下列条件的模拟BW型高通滤波器 fp=5kHz, fs=1kHz, Ap1dB, As 40dB。
%高通滤波器的设计 wp=1/(2*pi*5000);ws=1/(2*pi*1000);Ap=1;As=40; [N,Wc]=buttord(wp,ws,Ap,As,'s'); [num,den] = butter(N,Wc,'s'); disp('LP 分子多项式'); fprintf('%.4e\n',num); disp('LP 分母多项式'); fprintf('%.4e\n',den); [numt,dent] = lp2hp(num,den,1); disp('HP 分子多项式'); fprintf('%.4e\n',numt); disp('HP 分母多项式'); fprintf(‘%.4e\n’,dent);

毕业设计(论文)-基于MATLAB做巴特沃斯低通滤波器

毕业设计(论文)-基于MATLAB做巴特沃斯低通滤波器

分类号编号烟台大学毕业论文基于MATLAB设计巴特沃斯低通滤波器The Design of Butterworth Low-passing Filter Based on MA TLAB申请学位:院系:专业:姓名:学号:指导老师:2011年05 月26日烟台大学基于MA TLAB设计巴特沃斯低通滤波器姓名:导师:2011年05月26日烟台大学烟台大学毕业论文任务书院(系):光电信息科学技术学院[摘要]滤波器设计是数字信号处理的重要内容。

在MATLAB软件中有丰富的滤波器设计的相关命令,掌握相关的方法后可以提高我们的工作效率。

首先对巴特沃斯低通滤波器的特性进行研究,然后用MATLAB信号处理工具箱提供的函数设计出巴特沃斯低通滤波器模型,并对具体实例进行分析,使得巴特沃斯滤波器的设计更加快捷、直观、简单。

[关键词]巴特沃斯低通滤波器; MATLAB仿真;[Abstract]First,analyse the characteristics of Butterworth low-pass filter, second use MATLAB signal processing toolbox design the mode of Butterworth low - pass filter ,to study it though an explme. The method makes the design of Butterw orth filter quicklier ,more intuitively,and simp -lier.[Keywords] Butterworth low-pass filter; MATLAB simulation;目录1 绪论 (1)1.1 引言 (1)1.2 数字滤波器的设计原理 (1)1.3数字滤波器的应用 (2)1.4MATLAB的介绍 (3)1.5本文的工作及安排 (3)2 滤波器分类及比较 (5)2.1滤波器的设计原理 (5)2.2 滤波器分类 (5)2.3四种类型模拟滤波器的比较 (9)3巴特沃斯低通滤波器 (11)3.1巴特沃斯低通滤波器的设计原理 (11)4 MATLAB仿真及分析 (15)4.1 MATLAB工具箱函数 (15)4.2 巴特沃斯低通滤波器的MATLAB仿真 (15)5 结论与展望 (19)5.1 总结 (19)5.2 展望 (19)致谢 (20)参考文献 (21)1 绪论1.1 引言凡是有能力进行信号处理的装置都可以称为滤波器。

滤波器实验报告

滤波器实验报告

一、实验目的1. 理解滤波器的基本原理和分类。

2. 掌握滤波器的设计方法和实现技巧。

3. 验证滤波器的性能和效果。

4. 学习利用Matlab等工具进行滤波器设计和仿真。

二、实验原理滤波器是一种信号处理装置,用于去除或增强信号中的特定频率成分。

根据频率响应特性,滤波器可分为低通、高通、带通和带阻滤波器。

滤波器的设计主要涉及滤波器类型的选择、滤波器参数的确定以及滤波器结构的实现。

三、实验设备1. 实验电脑:用于运行Matlab软件进行滤波器设计和仿真。

2. 实验数据:用于滤波处理的信号数据。

四、实验内容1. 低通滤波器设计- 设计一个低通滤波器,截止频率为1kHz。

- 使用巴特沃斯滤波器设计方法,设计一个四阶低通滤波器。

- 利用Matlab的`butter`函数进行滤波器设计,并绘制滤波器的幅频响应和相频响应。

2. 高通滤波器设计- 设计一个高通滤波器,截止频率为2kHz。

- 使用切比雪夫滤波器设计方法,设计一个二阶高通滤波器。

- 利用Matlab的`cheby1`函数进行滤波器设计,并绘制滤波器的幅频响应和相频响应。

3. 带通滤波器设计- 设计一个带通滤波器,通带频率范围为1kHz至3kHz。

- 使用椭圆滤波器设计方法,设计一个四阶带通滤波器。

- 利用Matlab的`ellip`函数进行滤波器设计,并绘制滤波器的幅频响应和相频响应。

4. 滤波器仿真- 使用设计的滤波器对实验数据进行滤波处理。

- 比较滤波前后的信号,分析滤波器的性能和效果。

五、实验步骤1. 低通滤波器设计- 打开Matlab软件,创建一个新脚本。

- 输入以下代码进行巴特沃斯低通滤波器设计:```matlab[b, a] = butter(4, 1/1000);```- 绘制滤波器的幅频响应和相频响应:```matlabfreqz(b, a, 1024, 1000);```2. 高通滤波器设计- 使用与低通滤波器相同的方法,设计切比雪夫高通滤波器:```matlab[b, a] = cheby1(2, 0.1, 1/2000, 'high');```- 绘制滤波器的幅频响应和相频响应:```matlabfreqz(b, a, 1024, 2000);```3. 带通滤波器设计- 使用与低通滤波器相同的方法,设计椭圆带通滤波器:```matlab[b, a] = ellip(4, 0.5, 40, 1/1500, 1/3000, 'bandpass');```- 绘制滤波器的幅频响应和相频响应:```matlabfreqz(b, a, 1024, [1500 3000]);```4. 滤波器仿真- 加载实验数据,并绘制滤波前后的信号。

基于MATLAB设计巴特沃斯低通滤波器

基于MATLAB设计巴特沃斯低通滤波器

第27卷第3期2003年3月信息技术I NFORMATI ON TECHNOLOGYVOL.27NO.3Mar.2003基于MATLAB设计巴特沃斯低通滤波器李钟慎(华侨大学机电及自动化学院,泉州362011)摘要:首先分析了巴特沃斯低通滤波器的特性,然后用MATLAB的信号处理工具箱提供的函数设计了巴特沃斯低通滤波器,使得巴特沃斯滤波器的设计变得更加简单、快捷、直观。

关键词:巴特沃斯低通滤波器;MATLAB;特性;设计中图分类号:TP311文献标识码:B文章编号:1009-2552(2003)03-0044-02The Design of Butterworth Lowpass Filter Based on MATLABLi Zhongshen(College of Mechanical Engineering and Automation,Huaqiao University,Quanzhou362011,C hina) Abstract:In this paper,the characteristics of Butterworth lo w-pass filter are first analysed,and then how to use the functions,which are provided by signal processing toolbox of MATLAB,to design Butter worth lo w-pass filter is proposed.The method makes the design of B utterworth filter simplie r,quic klier and more intuitively.Key words:Butter worth low-pass filter;MATLAB;Characteristic;Design巴特沃斯(Butter worth)滤波器是一种具有最大平坦幅度响应的低通滤波器,它在通信领域里已有广泛应用,在电测中也具有广泛的用途,可以作检测信号的滤波器,文献[1]成功地将巴特沃斯低通滤波器应用于电动机测试中。

基于MATLAB的IIR滤波器的设计和应用(信号去噪)

基于MATLAB的IIR滤波器的设计和应用(信号去噪)

数字信号处理课程设计报告书课题名称基于MATLAB 的IIR 滤波器的设计及应用(信号去噪)姓 名 学 号院、系、部 电气工程系 专 业 电子信息工程 指导教师2013年 6 月28日※※※※※※※※※ ※※※※ ※※ ※※※※※※※※※2010级数字信号处理 课程设计基于MATLAB 的IIR 滤波器的设计及应用(信号去噪)一、实验目的1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法。

2.掌握数字信号处理的基本概念、基本理论和基本方法。

3. 在MATLAB 环境下产生噪声信号。

4.掌握MATLAB 设计IIR 数字滤波器的方法。

5.学会用MATLAB 对信号进行分析和处理。

二、实验原理数字滤波器的设计:巴特沃斯(Butterworth)滤波器的幅度平方函数用下式表示: ()Nc j H 2211⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω∂ (2.1)式中,N 为滤波器的阶数,幅度下降的速度与N 有关,N 越大,通带越平坦,过渡带越窄,总的频响特性与理想低通滤波器的误差越小。

切比雪夫(Chebyshev)滤波器的幅频特性在通带或者阻带有等波纹特性,可以提高选择性,其幅度平方函数用下式表示:()⎪⎪⎭⎫ ⎝⎛ΩΩ+=Ω∂PN C j H 22211ε (2.2) 式中,ε为小于1的正数,表示通带幅度波动的程度,ε越大,波动幅度也越大,Ωp 称为通带截止频率。

椭圆(Ellipse)滤波器的通带和阻带呈现等波纹幅频特性时,通带和阻带波纹幅度越小,过渡带就越宽。

所以椭圆滤波器的阶数由通带边界频率、阻带边界频率、通带边界衰减、阻带边界衰减共同决定。

三、主要实验仪器及材料微型计算机、MATLAB6.5教学版四、实验内容1.噪声信号的频谱分析。

2.设计数字滤波器和画出频率响应:低通滤波器性能指标,fp=1000Hz ,fs=1800 Hz , As=100dB ,Ap=1dB ; 在MATLAB 中,可以利用函数butte 、cheby1和ellip 设计IIR 滤波器;最后,利用MATLAB 中的函数freqz 画出各滤波器的频率响应。

脉冲响应不变法设计巴特沃斯低通滤波器

脉冲响应不变法设计巴特沃斯低通滤波器

脉冲响应不变法设计巴特沃斯低通滤波器脉冲响应不变法设计巴特沃斯低通滤波器姓名学号专业第一章摘要滤波器是自动控制、信号处理和通信领域的重要组成部分,广泛地应用于各种系统中。

MATLAB语言是一种简单、高效的高级语言,是一种内容丰富、功能强大的分析工具,其应用范围几乎覆盖了所有的科学和工程计算领域。

MATLAB中提供了丰富的用于模拟滤波器设计的函数,通过编程可以很容易实现低通、高通、带通、带阻滤波器,并能画出滤波器的幅频特性曲线,大大简化了模拟滤波器设计。

本文将通过利用MATLAB滤波器设计函数直接实现巴特沃斯低通滤波器的设计,找到应用MATLAB来设计低通滤波器的方法。

介绍了用脉冲响应不变法设计巴特沃斯低通滤波器的基本理论和设计思想,给出了基于MATLAB设计巴特沃斯低通滤波器的具体步骤,文中还给出了利用MATLAB产生的滤波器的幅频及相频特性曲线。

详细介绍了在基于MATLAB设计低通滤波器过程中常用到的工具和命令。

关键字:巴特沃斯低通滤波器脉冲响应不变法第二章引言滤波器设计在电子工程、应用数学和计算机科学领域都是非常重要的内,。

而低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用,低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。

巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。

在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。

巴特沃斯滤波器的振幅对角频率单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。

只不过滤波器阶数越高,在阻频带振幅衰减速度越快。

其他滤波器高阶的振幅对角频率图和地结束的振幅对角频率有不同的形状。

第三章基本原理3.1 滤波器的基本理论3.1.1 滤波器的分类滤波器分两大类:经典滤波器和现代滤波器。

低通滤波的matlab实现

低通滤波的matlab实现

四种低通滤波器:一、理想低通滤波器I=imread('bb.jpg');T=rgb2gray(I);figure(1);subplot(1,2,1),imshow(uint8(I));title('原图像');subplot(1,2,2),imshow(uint8(T));title('理想低通滤波所得图像');[f1,f2]=freqspace(size(T),'meshgrid');H=ones(size(T));r=sqrt(f1.^2+f2.^2);H(r>0.1)=0;Y=fft2(double(T));Y=fftshift(Y);Ya=Y.*H;Ya=ifftshift(Ya);I=ifft2(Ya);figure(2);surf(H,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); title('频谱图');二、巴特沃斯低通滤波器I=imread('bb.jpg');T=rgb2gray(I);figure(1);subplot(1,2,1),imshow(uint8(I));title('原图像');subplot(1,2,2),imshow(uint8(T));title('巴特沃斯低通滤波所得图像');[f1,f2]=freqspace(size(T),'meshgrid');D=0.3;r=f1.^2+f2.^2;n=4;for i=1:size(T,1)for j=1:size(T,2)t=r(i,j)/(D*D);H(i,j)=1/(t^n+1);endendY=fft2(double(T));Y=fftshift(Y);Ya=Y.*H;Ya=ifftshift(Ya);I=real(ifft2(Ya));figure(2);surf(H,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); title('频谱图');三、梯形滤波器I=imread('bb.jpg');T=rgb2gray(I);figure(1);subplot(1,2,1),imshow(uint8(I));title('原图像');subplot(1,2,2),imshow(uint8(T));title('梯形低通滤波所得图像');[f1,f2]=freqspace(size(T),'meshgrid');D=100/size(I,1);D0=0.1;D1=0.4;r=sqrt(f1.^2+f2.^2);H=zeros(size(T));H(r<D0)=1;for i=1:size(T,1)for j=1:size(I,2)if r(i,j)>=D0 & r(i,j)<=D1H(i,j)=(D1-r(i,j))/(D1-D0);endendendY=fft2(double(T));Y=fftshift(Y);Ya=Y.*H;Ya=ifftshift(Ya);I=real(ifft2(Ya));figure(2);surf(H,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); title('频谱图');四、高斯低通滤波器I=imread('bb.jpg');T=rgb2gray(I);figure(1);subplot(1,2,1),imshow(uint8(I));title('原图像');subplot(1,2,2),imshow(uint8(T));title('高斯低通滤波所得图像');[f1,f2]=freqspace(size(T),'meshgrid');D=100/size(I,1);r=f1.^2+f2.^2;H=ones(size(T));for i=1:size(T,1)for j=1:size(T,2)t=r(i,j)/(D*D);H(i,j)=exp(-t);endendY=fft2(double(T));Y=fftshift(Y);Ya=Y.*H;Ya=ifftshift(Ya);I=real(ifft2(Ya));figure(2);surf(H,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); title('频谱图');。

用matlab实现巴特沃斯低通滤波器

用matlab实现巴特沃斯低通滤波器

通信系统综合设计与实践题目基于MATLAB的低通滤波器设计院(系)名称信院通信系专业名称通信工程学生姓名学生学号指导教师2012年 5 月21 日目录摘要 (2)1.巴特沃斯低通数字滤波器简介 (3)1.1选择巴特沃斯低通滤波器及双线性变换法的原因 (3)1.2巴特沃斯低通滤波器的基本原理 (3)1.2.1巴特沃斯低通滤波器的基本原理 (3)1.2.2双线性变换法的原理............... .. (4)1.3数字滤波器设计流程图............... (6)1.4数字滤波器的设计步骤............... (6)2.巴特沃斯低通数字滤波器技术指标的设置 (8)3.用matlab实现巴特沃斯低通数字滤波器的仿真并分析 (9)3.1用matlab实现巴特沃斯低通数字滤波器的仿真 (9)3.2波形图分析............... ............... (9)4.用Simulink实现巴特沃斯低通数字滤波器的仿真并分析 (10)4.1 Simulink简介............... ............... . (10)4.2用Simulink实现巴特沃斯低通数字滤波器的仿真 (10)4.3波形图分析............... ............... . (10)4.3.1 Simulink波形图分析............... ....................... .. (10)4.3.2与matlab波形的比较............... .. (13)5.总结与体会.............................. (15)6.附录 (16)附录A (16)附录B (17)教师评语 (17)摘要低通滤波器是让某一频率以下的信号分量通过,而对该频率以上的信号分量大大抑制的电容、电感与电阻等器件的组合装置。

巴特沃斯滤波器是电子滤波器的一种,特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。

matlab巴特沃斯滤波器设计

matlab巴特沃斯滤波器设计

1. 引言在信号处理领域中,滤波器是一种重要的工具,用于去除噪音、增强信号质量或者提取感兴趣的信号成分。

巴特沃斯滤波器作为一种经典的滤波器类型,在信号处理中有着广泛的应用。

本文将围绕matlab中巴特沃斯滤波器的设计展开讨论,帮助读者更深入地理解该主题。

2. 巴特沃斯滤波器介绍巴特沃斯滤波器是一种基于极点和零点的滤波器,其频率响应曲线呈现出平坦的特性。

在频域中,巴特沃斯滤波器的幅频特性具有极为明显的特点,有助于实现对信号的精确处理和控制。

在matlab中,我们可以利用相应的工具和函数来设计和实现巴特沃斯滤波器,以达到特定的信号处理目的。

3. matlab中的巴特沃斯滤波器设计在matlab中,我们可以使用butter函数来设计巴特沃斯滤波器。

该函数提供了灵活的参数设置,可以根据需求来定制滤波器的截止频率、通带和阻带的衰减等参数。

通过调用butter函数,我们可以轻松地实现对巴特沃斯滤波器的设计和生成,为信号处理提供了便利的工具和方法。

4. 巴特沃斯滤波器在信号处理中的应用巴特沃斯滤波器在信号处理领域具有广泛的应用,例如在通信系统中常用于滤除噪声和干扰,提高信号的传输质量;在生物医学工程中常用于生物信号的提取和分析,帮助医生进行疾病诊断和治疗;在声音处理中用于去除环境噪音,提高音频质量等。

巴特沃斯滤波器通过其特殊的频率响应特性,为各种信号处理应用提供了有效的解决方案。

5. 我的个人观点和理解对于巴特沃斯滤波器,我认为其在信号处理中的作用举足轻重。

其平坦的频率响应曲线和灵活的参数设计,使其成为处理复杂信号的重要工具。

在matlab中,利用butter函数可以快速、方便地实现滤波器的设计,为信号处理的研究和应用提供了便利。

在实际应用中,巴特沃斯滤波器不仅可以用于去除噪音、增强信号质量,还可以用于提取感兴趣的信号成分,具有极大的实用价值。

6. 总结通过本文的讨论,我们对matlab中的巴特沃斯滤波器设计有了更深入的理解。

二阶巴特沃斯低通滤波器阻值计算

二阶巴特沃斯低通滤波器阻值计算

二阶巴特沃斯低通滤波器阻值计算
二阶巴特沃斯低通滤波器的阻值计算可以通过以下步骤进行:
1. 确定滤波器的参数:首先,你需要确定滤波器的截止频率(Wn)和滤波器的类型(低通、高通、带通或带阻)。

2. 设计滤波器:在MATLAB或C语言中,可以使用butter函数来设计二阶巴特沃斯低通滤波器。

输入参数为n (滤波器阶数),Wn(归一化截止频率)和ftype(滤波器类型)。

例如,[b, a] = butter(2, Wn),其中2表示阶数为2,Wn 表示归一化的截止频率。

3. 计算阻值:二阶巴特沃斯低通滤波器的传递函数为H(jw) = b0/a0,其中b0和a0分别是滤波器的分子和分母系数。

这两个系数可以通过butter函数得到。

4. 计算阻值:阻值可以通过传递函数计算得到,阻值=1/|H(jw)|。

需要注意的是,以上步骤是基于理论计算,实际应用中可能由于电路元件的公差、温度变化等因素影响阻值,因此还需要进行实际的测量和调整。

matlab低通滤波器设计

matlab低通滤波器设计

matlab低通滤波器设计
matlab低通滤波器设计:
1、使用matlab设计低通滤波器的方法
(1) 首先根据低通滤波器的频率响应要求,计算滤波器构成要素的参数;
(2) 确定滤波器所要采用的元件模型,选择常用的元件模型;
(3) 使用matlab构筑出低通滤波器的模型和原理图;
(4) 根据原理图推导出滤波器的传递函数,使用matlab计算滤波器的频率响应,绘制出滤波器的频率响应曲线;
(5) 分析滤波器的传递特性,观察是否符合要求,如果不符合要求,可以调整模型的参数,重新计算滤波器的频率响应,直到满足频率响应要求为止。

2、使用matlab构件低通滤波器所需要的工具
(1) matlab控制环境,用于控制滤波器的构筑和参数的设定;
(2) Matlab编程工具,用于实现计算滤波器构件的算法;
(3) Matlab图形操作工具,用于绘制滤波器的理论响应曲线;
(4) Matlab仿真工具,用于检查滤波器的理论分析结果。

3、低通滤波器的优势
(1) 低通滤波器对频率低于截止频率的信号又较低的衰减率,因此保证低频信号的精度;
(2) 滤波器设计简单,而且可以采用大量元件来实现;
(3) 低通滤波器的频率响应特性主要取决于滤波器的电路结构,使用matlab设计的低通滤波器可以很容易的设定符合自己要求的参数。

基于MATLAB和STM32的IIR巴特沃兹四阶低通滤波器设计

基于MATLAB和STM32的IIR巴特沃兹四阶低通滤波器设计

专题二基于MATLAB和STM32的IIR 巴特沃兹四阶低通滤波器设计(广东工业大学自动化学院控制科学与工程黄国盛2020.06.25 内部传阅)1.概述以设计一个为MPU6050 原始数据进行初步滤波的IIR巴特沃兹四阶低通滤波器为例(采样频率200Hz,截止频率20Hz),核心介绍使用MATLAB快速生成STM32 源代码的方法。

(省略繁杂的理论解释)(1)使用MATLAB Filter Design & Analysis 配置滤波器;(2)生成代码头文件;(3)生成Simulink模型并测试;(4)使用C/C++ Cod e生成代码源文件;(5)修改并测试代码功能;主要硬件:STM32F103RCT6核心板、GY-86传感器、J-Link下载器、CH340G串口模块软件:MATLAB R2015b 、MDK 5.26、匿名飞控地面站-05122.滤波器设计2.1 配置滤波器1. 桌面新建文件夹用于保存所有文件,并设置MATLAB工作路径到该文件夹。

2.滤波器配置步骤如下:MATLAB_R2015b —> Filter Design & Analysis—>Design Filter —> Lowpass、IIR Butterworth、Specify order: 4 、Fs:200Hz Fc:20Hz —> Design FilterEdit —> Convert to Single Section (保存untitl ed.fda)操作步骤图示如下:图1. 滤波器配置步骤2.2 生成代码头文件Targets —> generate C header —>修改参数:Numerator: b_20Hz、Denominator: a_20HzSingle-precision fl oat —> Generate (保存fdacoefs.h)操作步骤图示如下:图2. 代码头文件生成步骤生成的fdacoefs.h文件如下所示:图3. 生成的头文件2.3 生成Simulink模型并测试Realize Model —>Block name: IIR_Butterworth_IV_LPFBuil d model using basic elements —> Realize Model (保存Untitl ed.slx)操作步骤图示如下:图4. Simulink模型生成步骤生成的Untitled.slx文件如下所示:(双击模块可查看内部两个二阶节结构并对比头文件参数)图5. 生成的Simulink模型添加模块并测试滤波效果:其中Sine Wave1 、Sine Wave2、Sine Wave3、Model configuration parameters配置参数如下(详见下图):Sine Wave1:1A 15Hz 0 1/200Sine Wave2:0.5A 30Hz 15 1/200Sine Wave3:0.5A 60Hz 23 1/200Model configuration parameters: 0.5s Sine Wave1和输出比较OK!!!!!!!!图6. 仿真参数配置运行后的仿真波形效果如图:图7. 仿真效果2.4 使用C/C++ Code生成代码源文件配置流程:Code —> C/C++ Code —> Embed ded Cod e Quick Start—> Subsystem—> C code —>—> Custom Processor —> Custom8 16 3232 64 3232—> RAM / Execution生成的文件夹IIR_Butterworth_IV_LPF_ert_rtw中主要文件有两个:IIR_Butterworth_IV_LPF.c 和IIR_Butterworth_IV_LPF.h图8. 使用C/C++ Cod e生成的文件IIR_Butterworth_IV_LPF.c 、IIR_Butterworth_IV_LPF.h 中的核心代码如下:、图9. 生成的核心代码3.修改并测试代码功能3.1 代码修改至此生成三个核心代码文件:fdacoefs.h、IIR_Butterworth_IV_LPF.c 、IIR_Butterworth_IV_LPF.h我们还要对IIR_Butterworth_IV_LPF_step()进行修改,添加相应的输入输入接口,将具体数据参数化。

matlab中butter函数的用法

matlab中butter函数的用法

matlab中butter函数的用法在Matlab中,butter函数是用于设计巴特沃斯滤波器的函数。

巴特沃斯滤波器是一种典型的滤波器,具有频率响应平坦的特点,适用于滤除不需要的高频或低频噪声。

butter函数的基本语法如下:[b, a] = butter(n, Wn, 'ftype')其中,n是滤波器的阶数,Wn是归一化的截止频率,'ftype'用于指定滤波器的类型。

butter函数的返回值是两个向量b和a,它们分别是离散时间巴特沃斯滤波器的分子和分母多项式的系数。

butter函数的使用步骤如下:1.确定滤波器的阶数n和截止频率Wn。

阶数n越高,滤波器的降噪效果越好,但计算量也会增大。

2. 根据具体需求选择滤波器的类型,常见的有'low'(低通滤波器)、'high'(高通滤波器)和'bandpass'(带通滤波器)等。

3. 调用butter函数,根据输入的n、Wn和'ftype'参数得到滤波器的系数b和a。

例如,要设计一个5阶的低通巴特沃斯滤波器,截止频率为0.4,可以使用如下代码:n=5;Wn=0.4;[bb, aa] = butter(n, Wn, 'low');得到的bb和aa分别表示滤波器的分子和分母多项式系数,可以与输入信号进行卷积,实现滤波的效果。

除了设计低通、高通和带通滤波器外,butter函数还可以设计带阻滤波器('stop')、全通滤波器('allpass')等。

总之,butter函数是Matlab中用于设计巴特沃斯滤波器的重要函数,通过调节阶数和截止频率,可以设计出符合需求的滤波器,实现信号处理和降噪的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三峡大学课程设计报告专业班级 20091421课程数字信号处理课程设计学号 2009142116 学生姓名姜祥奔指导教师王露2012年 5 月平时成绩(20%)报告成绩(40%)答辩成绩(40%)总成绩数字信号处理课程设计实验一:用双线性变换法和脉冲响应不变法设计IIR 数字滤波器采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:通带截止频率100Hz ,阻带截止频率200Hz ,通带衰减指标Rp 小于2dB ,阻带衰减Rs 大于15dB ,滤波器采样频率Fs=500Hz 。

绘制频率响应曲线。

理论部分:(原理及设计过程)第一步:论ω和f 的关系及数字域性能的公式表示。

模拟频率与数字频率之间为线性关系,T f T fT T s,101,24-===Ω=πω为抽样周期,故 ππω4.0500110021=⨯⨯==c c kHz f 对应于 修正后)2t a n (21c T ω=Ω ππω8.0500120021=⨯⨯==st st kHz f 对应于 修正后)2tan(21st T ω=Ω 按衰减的定义2)()(log 204.0010≤πj j e H e H 15)()(log 208.0010≥πj j e H e H 设0=ω处频率响应幅度归一化为1,即1)(0=j e H ,则上两式变成2)(log 204.010-≥πj e H (1)15)(log 208.010-≤πj e H (2)这就是数字滤波器的性能指标的表达式。

2 下面把数字低通滤波器的性能要求转变为“样本”模拟低通滤波器的性能要求。

由T Ω=ω,按修正式)()(T jH e H a j ωω≈,设没有混叠效应(即混叠效应设计完成后再进行校验)则有πωωω≤Ω==),()()(j H T j H e H a a j (3)利用(3)式,由(1)、(2)式可写出模拟低通滤波器的指标为2)102(log 20)4.0(log 2021010-≥⨯=ππj H Tj H a a …….(4) 15)104(log 20)8.0(log 2021010-≤⨯=ππj H T jH a a …(5) 3 计算“样本”模拟低通滤波器所需的阶数N 及3dB 截止频率C Ω。

巴特沃思低通滤波器的幅度平方函数是N C a j H 22)(11)(ΩΩ+=Ω以分贝形式表示上式,即⎥⎦⎤⎢⎣⎡ΩΩ+-=ΩN C a j H 21010)(1log 10)(log 20 ……………(6) 把求出的性能指标关系(4)式、(5)式代入(6)式得2)(1log 102110-≥⎥⎦⎤⎢⎣⎡ΩΩ+-N C 15)(1log 102210-≤⎥⎦⎤⎢⎣⎡ΩΩ+-N C 先用等号来满足指标,可得N C21)(1ΩΩ+=2.010 N C22)(1ΩΩ+=5.110 解此两方程,得N=1.3709, N 是滤波器阶次,必须取整数,为了满足或超过给定指标,故应选取比求出的N 大一点的整数,故取N =2,代入通带条件(6-118a )式,得C Ω=1.038310⨯,即N =2, C Ω=1.038310⨯ (7)显然,利用(7)式的N 和C Ω,阻带指标正好满足,而通带指标则低于2dB ,这正好对减少冲激响应不变法造成的频谱混叠效应是有利的。

程序部分:wp=100*2*pi; %数字滤波器的通带截止频率ws=200*2*pi; %数字滤波器的阻带截止频率Rp=2;As=15; %输入滤波器的通阻带衰减指标%转换为模拟滤波器指标Fs=500;T=1/Fs;wp1=wp*T;ws1=ws*T;Omgp=(2/T)*tan(wp1/2); %原型通带频率预修正Omgs=(2/T)*tan(ws1/2); %原型通阻频率预修正%模拟原型滤波器计算[n, Omgc]=buttord(Omgp, Omgs,Rp,As,'s'); %计算阶数n 和截止频率[z0,p0,k0]=buttap(n); %归一化原型设计[ba,aa]=zp2tf(z0,p0,k0); %把滤波器零极点转化为传递函数模型[ba1,aa1]=lp2lp(ba,aa, Omgc); %变换为模拟低通滤波器系数b,a%或者[ba1,aa1]=butter(n, Omgc,’s ’);%用双线性变换法计算数字滤波器系数[bd,ad]=bilinear(ba1,aa1,Fs) ; %用双线性变换法求数字滤波器系数b,a%求数字系统的频率特性[H,w]=freqz(bd,ad);plot(w*Fs/(2*pi),20*log10(abs(H)));ylabel('增益/dB');xlabel('频率(Hz )');title('数字滤波器幅度响应');grid on;数字滤波器的频率响应图:实验二:用窗函数法设计FIR 数字滤波器选择合适的窗函数设计一个FIR 数字低通滤波器,要求:带通截止频率为Wp=0.2π,阻带截止频率Ws=0.3π,阻带衰减不小于40dB ,通带衰减不大于3dB 。

描绘滤波器的幅频响应曲线。

理论部分:(原理及设计过程)1.数字频率。

通带截止频率:π2.0=p w阻带截止频率:π3.0=s w阻带衰减:dB 402=δ2.求)(n h d 。

设)(jw d e H 为理想线性相位滤波器⎪⎩⎪⎨⎧≤-其它,0,)(c jw jwd w we e H τ 首先由所需低通滤波器的过渡带求理想低通滤波器的截止频率c Ω(由于c Ω为两个肩峰值处的频率中点,而由p Ω到s Ω之间的过渡带宽并非两个肩峰间的频率差,因而以下求出的c Ω有一定的近似),并将其转化为对应的数字频率为π25.0)(21=+=s p c w w w 由此可得[]⎰--⎪⎪⎩⎪⎪⎨⎧=≠--==c c w w c c n jw d n w n n w n dw e n h ππτττππτ,,)(sin )(121)()( 其中τ为线性相位所必需的移位,且21-=N τ。

3.求窗函数。

由阻带衰减dB 402=δ,查课本中的表7-3可选汉宁窗,其阻带最小衰减44dB 满足要求。

所要求的过度带宽(数字频域)π1.0=-=∆p s w w w 由于汉宁窗过渡带宽满足N w π2.6=∆ 所以622.6=∆=wN π 3121=-=N τ 4.求)(n h 。

由汉宁窗表达式)(n w 确定FIR 滤波器的)(n h 。

汉宁窗 )()]12cos(1[21)(n R N n n w N --=π )21()]21(sin[)(----=N n N n w n h c d π 所以 )(*)()(n w n h n h d =5.由)(n h 求得)(jw e H ,并检验各项指标是否满足要求。

如不满足要求,则要改变N ,或改变窗形状(或两者都改变),然后重新计算。

\程序部分:子函数1:function hd=ideal_lp(wc,M);alpha = (M-1)/2;n = [0:1:(M-1)];m = n - alpha +eps; % add smallest number to avoi divided by zerohd = sin(wc*m)./(pi*m);子函数2:function[db,mag,pha,w]=freqz_m4(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:1:501));w=(w(1:1:501));mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);主程序:clear allWp=0.2*pi;Ws=0.3*pi;tr_width=Ws-Wp; %过渡带宽度N=ceil(6.2*pi/tr_width)+1; %滤波器长度n=0:1:N-1;Wc=(Ws+Wp)/2; %理想低通滤波器的截止频率hd=ideal_lp(Wc,N); %理想低通滤波器的单位冲激响应w_ham=(hann(N))'; %汉宁窗h=hd.*w_ham; %截取得到实际的单位脉冲响应[db,mag,pha,w]=freqz_m4(h,[1]); %计算实际滤波器的幅度响应delta_w=2*pi/1000;Ap=-(min(db(1:1:Wp/delta_w+1))); %实际通带纹波As=-round(max(db(Ws/delta_w+1:1:501))); %实际阻带纹波subplot(221)stem(n,hd) %火柴棍图title('理想单位脉冲响应hd(n)')subplot(222)stem(n,w_ham)title('汉宁窗w(n)')subplot(223)stem(n,h)title('实际单位脉冲响应h(n)')subplot(224)plot(w/pi,db)title('幅度响应(dB)')axis([0,1,-100,10])FIR低通滤波器特性图:心得体会:不得不承认,这一次数字信号处理的课程设计过程是艰苦的,但同时又是收获丰富的。

因为我们是上学期修的数字信号处理,而课程设计却安排在下学期,经过半年的时间,很多学过的东西都变得模糊的。

刚选定课题时,自己甚至连题目的意思都看不懂,“什么是双线性变换法?”“什么是巴特沃思数字低通滤波器?”,一系列的问号在头脑中打转。

Matlab程序设计经验的缺乏也曾一度令自己失去持续做程题的勇气。

现在,虽然不能拍着胸脯说自己弄通了如何用双线性变换法设计巴特沃思数字滤波器,也不敢说完全通悟利用窗函数设计一个FIR 数字低通滤波器的方法,但庆幸的是自己在课程设计这一环节中学会了独立学习知识的方法,更体验到了从“迷惘——坚定——求索——明悟”的乐趣,也发现了以前学习数字信号处理时一直被自己忽视的许多问题。

如模拟频率f,模拟角频率Ω及数字频率ω三者的概念区别及相互换算问题,在这一次课程设计中就是必须弄清楚的问题,不然一切寸步难行。

相关文档
最新文档