文档详情

FIR滤波器的设计与实现.pdf

发布:2015-08-06约1.14万字共13页下载文档
文本预览下载声明
FIR 滤波器的设计与实现 一、实验目的和要求 1、了解FIR (finite impulse response )滤波器的种类、基本结构、设计过程; 2 、学会用窗函数法、频率采样设计法来设计FIR 数字滤波器; 3、学会调用MATLAB 信号处理工具箱中滤波器设计函数 4 、自己编程实现FIR 的直接实现法;并考虑实际工程中的处理效率。 5、学会使用cooledit 软件来对音频信号做简单的处理。 二、实验原理 1、FIR 数字滤波器的设计 FIR 数字滤波器的主要设计方法有窗函数设计法和频率采样设计法,还可以频率采样法 和窗函数法结合设计。 窗函数法的频率采样法设计过程简单,计算量小,但对滤波特性的控制作用较弱,没有 明确的算法。FIR 的优化设计基于函数逼近理论,通过不同误差准则对滤波特性进行优化。 常用的算法有切比雪夫(等纹波)逼近法和最小二乘滤波算法。 2、FIR 数字滤波器的实现 FIR 滤波器的实现通常由直接型、级联型和频率采样、快速卷积几种实现结构。本实验 使用直接型来实现,具体原理如下: N H z r 传递函数 ( )  b z r r 0 N 可得直接实现型的差分方程为:y(n)  b x(n  r) r r 0 三、实验内容与步骤 1、已知一段48KHZ 的语音信号(20 秒长左右),试用matlab 设计256 阶FIR 滤波器 实现1KHZ 低通滤波及5KHZ 高通滤波: 实验要求没有明确给出所需设计低通、高通滤波器的类型以及具体指标。下面用matlab 自带的函数fir1 来实现256 阶的波特沃兹滤波器。其中wn 是截止频率归一化后的值: ********************************************************************** %音频信号文件的读入。存为x [x,fs,bits]=wavread(10s_.wav); %1.wav为已给的语音信号剪辑 %========================================================= %设计一个fc=1kHz 的8 阶模拟、数字低通滤波器 %指标 fs=48000Hz Fp=1000Hz % b=fir1(N,wn) %========================================================= Fp=1000; N=256; 0 wn=Fp/(fs/2); % Wn 是一个归一化频率,在滤波器设计中是用fs/2 进行归一 figure(1) b_low=fir1(N,wn); [h,w]=freqz(b_low,1,512); f=w*fs/(2*pi); plot(f,abs(h),--r) xlabel(频率); ylabel(幅度); title(Butterwoth 低通滤波器); hold on %========================================================= %设计一个fc=5kHz 的8 阶模拟、数字高通滤波器 %指标 fs=48000Hz Fp=5000Hz % b=fir1(N,wn ,high) %========================================================= Fp=5000; N=256; wn=Fp/(fs/2); % Wn 是一个归一化频率,在滤波器设计中是用fs/2 进行归一 b_high=fir1(N,wn,high); [h,w]=freqz(b_high,1,512); f=w*fs/(2*pi); plot(f,abs(h)) set(gca,ylim,[0 1.1]); %最
显示全部
相似文档