用matlab设计低通滤波器

2024-12-20 06:57:01
推荐回答(2个)
回答1:

matlab 低通滤波器设计步骤:
根据数字滤波器的技术指标先设计过渡模拟滤波器得到系统函数ha(s),然后将ha(s)按某种方法(本实验采用双线性变换法)转换成数字滤波器的系统函数h(z)。具体为:
(1)确定巴特沃斯数字低通滤波器的技术指标:通带边界频率ωp,阻带截止频率ωs,通带最大衰减аp,阻带最小衰减аs。
(2)将数字滤波器的技术指标转换为模拟滤波器的技术指标。这里指ωp和ωs的变换而аp和аs保持不变。本题采用双线性变换法,其转换公式为:
  (3)根据技术指标ωp、ωs、ωp和ωs用下面公式求出滤波器的阶数。
  (4)根据n由表1.4求出归一化极点kp和归一化低通原型系统函数ga(p)。
  
  低通滤波器简介:
  低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器)、平滑数据的数字算法、音障(acoustic barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。
  低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用;
  低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。

回答2:

IIR butterworth的,fdatool产生的:

function Hd = test1
%TEST1 Returns a discrete-time filter object.

%
% M-File generated by MATLAB(R) 7.0.4 and the Signal Processing Toolbox 6.3.
%
% Generated on: 25-Jun-2009 15:15:00
%

% Butterworth Lowpass filter designed using FDESIGN.LOWPASS.

% All frequency values are in Hz.
Fs = 48000; % Sampling Frequency

Fpass = 9600; % Passband Frequency
Fstop = 12000; % Stopband Frequency
Apass = 1; % Passband Ripple (dB)
Astop = 80; % Stopband Attenuation (dB)
match = 'stopband'; % Band to match exactly

% Construct an FDESIGN object and call its BUTTER method.
h = fdesign.lowpass(Fpass, Fstop, Apass, Astop, Fs);
Hd = butter(h, 'MatchExactly', match);

% [EOF]