理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器

本文介绍了三种类型的低通滤波器:理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器。低通滤波器用于滤除图像中的高频成分,使图像变得模糊。不同类型的滤波器因其过渡特性不同,在处理图像时会产生不同的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

低通滤波器


        1.理想的低通滤波器


       其中,D0表示通带的半径。D(u,v)的计算方式也就是两点间的距离,很简单就能得到。

       使用低通滤波器所得到的结果如下所示。低通滤波器滤除了高频成分,所以使得图像模糊。由于理想低通滤波器的过度特性过于急峻,所以会产生了振铃现象。


        2.巴特沃斯低通滤波器

       同样的,D0表示通带的半径,n表示的是巴特沃斯滤波器的次数。随着次数的增加,振铃现象会越来越明显。

   



       3.高斯低通滤波器


       D0表示通带的半径。高斯滤波器的过度特性非常平坦,因此是不会产生振铃现象的。

### 不同类型低通滤波器特性的对比 #### 理想低通滤波器 (Ideal Low Pass Filter) 理想低通滤波器具有完美的频率响应,在截止频率之下完全通过信号,而在该频率之上则完全阻止任何信号。这种理想的特性在实际应用中无法实现,因为其相位响应是非因果的,并且过渡带宽为零。 \[ H(j\omega) = \begin{cases} 1 & \text{for } |\omega| < \omega_c \\ 0 & \text{for } |\omega| > \omega_c \end{cases} \] 其中 \(H(jω)\) 是系统的频域表示形式,\(ω\) 表示角频率而 \(ω_c\) 则代表临界或截止频率[^1]。 ```matlab % Ideal LPF Frequency Response Plot Example f = linspace(-1, 1, 1e3); fc = 0.5; % Cutoff frequency normalized by Nyquist rate h_ideal = abs(f)<fc; plot(f,h_ideal,'LineWidth',2); xlabel('Normalized Frequency'); ylabel('|H(\omega)|'); title('Frequency Response of an Ideal Low-Pass Filter') grid on; ``` #### 巴特沃斯低通滤波器 (Butterworth Low Pass Filter) 巴特沃斯滤波器以其平坦的最大平坦度著称,在通带内提供恒定增益直到接近截止频率处才逐渐衰减。对于给定阶数 n 的巴特沃斯滤波器而言,随着阶数增加,越靠近理想情况发展,即更陡峭的滚降斜率以及更好的抑制性能。 传递函数可以表达如下: \[ |H_{B}(j\omega)|^{2}= \frac {1}{1+\left({\frac {\omega }{\omega _{{c}}}}\right)^{{2n}}} \] 这里同样地 \(ω_c\) 指的是 -3dB 下降到一半功率点对应的角频率位置[^2]。 ```matlab [b,a]=butter(4,0.5); % Design a fourth-order Butterworth low-pass digital filter with cutoff at half the Nyquist rate. [h,w]=freqz(b,a,1024,'whole'); % Compute and plot its magnitude response over whole range from DC up to sampling frequency. plot(w/pi,abs(h)); title('Magnitude Response of Fourth Order Analog Prototype Butterworth Lowpass Filter'); xlabel('\times\pi rad/sample'); grid on; ``` #### 高斯低通滤波器 (Gaussian Low Pass Filter) 高斯低通滤波器主要应用于图像处理领域,用于减少噪声的同时保持边缘清晰度不变。这类滤波器的特点是在时域上呈现钟形曲线分布,这使得它能够有效地平滑数据而不引起振铃现象。另外值得注意的一点是,当用作调制解调过程中的脉冲整形工具时,它可以最小化码间串扰的影响。 数学模型可描述成: \[ h(t)= e^{-t^2/(2σ^2)} \] 这里的 σ 控制着标准差大小从而决定了时间常数值 t【未找到具体出处】。 ```matlab sigma=0.5; % Standard deviation controlling spread width t=-3*sigma:0.01:3*sigma;% Time vector spanning three standard deviations around zero mean value g=exp(-(t.^2)/(2*(sigma^2))); % Gaussian function definition based upon given sigma parameter figure(); subplot(2,1,1), plot(t,g,'r','LineWidth',2); axis tight; title(['Time Domain Representation']); subplot(2,1,2), freqz(g,[],[],fs); title(['Frequency Spectrum']); fs=1/mean(diff(t)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值