预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于MATLAB的频率采样法设计FIR滤波器 引言 数字信号处理中,数字滤波是一个十分重要的领域。随着科技的不断发展,数字滤波技术也在不断发展。其中之一的FIR滤波器,具有计算简单、易于实现等特点,因而广泛应用于信号处理中。本文主要介绍基于MATLAB的频率采样法设计FIR滤波器。 一、FIR滤波器简介 FIR滤波器又称有限长脉冲响应滤波器,是一种数字滤波器。与IIR滤波器不同的是,FIR滤波器的产生只需要有限长度的时间响应,且时间响应为非递归性。因此,FIR滤波器具有计算简单、易于实现、无稳定性问题等优点,适用于实时处理等场合。 二、频率采样法设计FIR滤波器 设计FIR滤波器主要有窗函数法、最小二乘法、频率采样法等方法。其中频率采样法是一种微分方程法,以理想滤波器的频域特性为模板,结合离散傅里叶变换,求出为满足要求的频率响应而需满足的微分方程。通常需要先在MATLAB中进行模拟验证,再在DSP等实际硬件中实现。 以下是频率采样法的主要步骤: 1、确定理想滤波器的频率响应 理想低通滤波器的通带为ωp,截止频率为Ωp*pi,停带为ωs,截止频率为Ωs*pi,其中Ωp<Ωs<π。 根据理想滤波器的频率响应,使用MATLAB语言生成其频率序列,其中采样点数为N。 2、求出截止频率处的幅度值 对于理想低通滤波器,其通带幅度为1,而停带的幅度应为0。因此,可通过幅频特性求出截止频率处的幅度值。 通过MATLAB的fft函数可得到理想滤波器频率响应的时域响应hn。 3、通过离散傅里叶逆变换求得实际滤波器系数 根据求得的截止频率处的幅度值,将其代入理想低通滤波器的频率响应公式中,求出离散傅里叶逆变换(IDFT)后的实际滤波器系数。 MATLAB代码实现: %采样点数 N=30; %采样点位置 w=[00.350.451]; %期望的频率响应的增益值 Mp=[1100]; %线性相位 bp=firls(N,w,Mp); %快速傅里叶变换 [H,w]=freqz(bp,1); %绘制频率响应曲线 subplot(2,1,1) plot(w/pi,abs(H),'linewidth',2); title('频率响应'); %绘制相位曲线 subplot(2,1,2) plot(w/pi,angle(H),'linewidth',2); title('相位曲线'); 三、实验结果与分析 本文通过MATLAB语言生成理想低通滤波器的频率序列,求出截止频率处的幅度值,并通过离散傅里叶逆变换(IDFT)求得实际滤波器系数,最终得到了频率响应曲线和相位曲线。 由图可知,在频率响应曲线中,满足了要求的通带范围内响应基本为线性,且滚降带容限宽度符合了设计要求。同时,在高频截止带中响应值已经达到了要求的阻抗,证明了该FIR滤波器的设计是有效的。 四、结论 基于MATLAB的频率采样法设计FIR滤波器,通过理想低通滤波器的频率响应模板,结合离散傅里叶变换,求出为满足要求的频率响应而需满足的微分方程。该方法设计简单、易于实现,且采样点数可自由控制,可用于实时数据处理、信号降噪等领域。