数字信号处理实验5-滤波器设计 数字信号处理实验5-滤波器设计是指使用MATLAB设计FIR数字滤波器,并对其进行验证和优化。本实验的主要目的是掌握MATLAB中设计FIR数字滤波器的常用函数,并编写简单程序。 一、实验目的 本实验的主要目的是掌握MATLAB中设计FIR数字滤波器的常用函数,并编写简单程序。通过本实验,学生可以学习到FIR数字滤波器的设计方法和MATLAB中相关函数的使用。 二、预习内容 在进行本实验前,学生需要预习实验指导书的相关内容,了解FIR数字滤波器的基本原理和设计方法,并熟悉MATLAB中相关函数的使用。 三、实验内容与要求 本实验的主要内容是设计一个FIR数字带阻滤波器,对模拟信号xa(t)进行滤波,xa(t) = cos (a t) + cos (b t) + cos (c t),其中,a = 2*pi *6500,b = 2*pi *7000,c = 2*pi *9000。要求滤去7000Hz的频率成分。系统采样率为fs = 32000 Hz,采样点数为N = 4096。滤波器的Rp = 0.25 dB,As = 50 dB,过渡带宽可以用模拟频率(例如200Hz)也可以用数字频率指定。 四、实验程序 clc;clear;close all; As=30;%阻带衰减 Fs=32000;N=4096; fp1=6710;fs1=6800;fs2=7210;fp2=7300;%模拟频率fp变为数字角频率 wp1=2*pi*fp1/Fs;ws1=2*pi*fs1/Fs;wp2=2*pi*fp2/Fs;ws2=2*pi*fs2/Fs; wn=[(wp1+ws1)/2,(wp2+ws2)/2];%截止频率 B=min((ws1-wp1),(wp2-ws2));%过滤带宽 n=ceil((As-8)/2.285/B);%阶数 n=n+mod(n,2);%偶数阶 beta=0.1102*(As-8.7);%调整因子 win=kaiser(n+1,beta);%窗序列 h=fir1(n,wn/pi,'stop',win);%设计FIR数字滤波器 [H,w]=freqz(h,1,N);%求出滤波器的幅频特性 subplot(515);plot(w*Fs/2/pi,20*log10(abs(H))/max(abs(H))); title('As=30 滤波器');%画输入信号的频谱 五、实验结果 通过本实验,可以得到FIR数字滤波器的幅频特性图和输入信号的频谱图。从图中可以看到,滤波器能够有效地滤去7000Hz的频率成分,并且具有良好的频率选择性。 六、实验总结 通过本实验,我学习了FIR数字滤波器的设计方法和MATLAB中相关函数的使用。了解了滤波器设计的基本参数,如Rp、As、过渡带宽等,并学会了如何验证设计得到的滤波器是否满足设计指标的语句。 七、思考题 1. 使用MATLAB窗函数法设计FIR数字滤波器的基本方法有哪几种?请列写出主要的程序语句。 2. 用频率采样法设计FIR数字滤波器的基本方法有哪几种?请列写出主要的程序语句。 3. 用频率采样法设计FIR数字滤波器的过程中,影响滤波器性能的因素有哪些?如何进行优化? 八、结论 数字信号处理实验5-滤波器设计实验能够帮助学生掌握FIR数字滤波器的设计方法和MATLAB中相关函数的使用,并了解滤波器设计的基本参数和验证方法。通过本实验,学生可以更好地理解数字信号处理的基本概念和技术。
剩余7页未读,继续阅读
- 粉丝: 65
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助