当前位置:文档之家› 语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器要点

语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器要点

语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器要点
语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器要点

语音信号滤波去噪——使用TUKEYWIN窗

设计的FIR滤波器

摘要本课程设计主要使用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。课程设计的的平台为MATLAB。采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用窗函数法设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理。根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始音乐信号频谱图的比较,最后回放滤波后音乐信号,滤波后的音乐信号与原始音乐信号一样清晰,成功地实现了滤波,达到了设计的要求。

关键词课程设计;滤波去噪;FIR滤波器;TUKEYWIN窗;MATLAB

1 引言

本课程设计是采用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。通过观察音乐信号滤波前后的时域波形的比较,加深对滤波器作用的理解。通过对比滤波前后波形图的比较和放滤波前后音乐信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。

1.1 课程设计目的

熟悉Matlab语言环境,掌握Matlab语言的编程规则,利用TUKEYWIN窗函数设计法来设计符合要求的FIR滤波器来实现语音信号的滤波去噪。并绘制滤波前后的时域波形和频谱图。根据图形分析判断滤波器设计的正确性。通过本次课程设计熟悉利用TUKEYWIN窗函数法设计FIR滤波器的过程。增强自己独立解决问题的能力,提高自己

的动手能力。加深对理论知识联系实际问题的理解。为以后的工作奠定坚实的基础。

1.2 课程设计要求

录制一段语音信号,绘制观察波形及频谱图。根据TUKEYWIN的性能指标合理设计FIR滤波器,对语音信号加入干扰,再用滤波器对干扰语音信号进行滤波去噪,比较滤波前后的频谱图并进行分析。再回放语音信号对比原语音信号。看滤波器是否对语音信号进行了滤波去噪。

1.3课程设计平台

MATLAB名字由MATrix和LABoratory两词的前3个字母组合而成。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB[1]。

MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础[2]。

2 基本理论

2.1 FIR滤波器

FIR滤波器:有限长单位冲激响应滤波器,是数字信号系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

FIR数字滤波器设计的基本步骤如下:

(1)确定指标

在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。

(2)逼近

确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。

(3)性能分析和计算机仿真

上两步的结果是得到以差分或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。

FIR滤波器的设计问题实际上是确定能满足所要求的转移序列或脉冲响应的常数的问题,设计方法主要有窗函数、频率响应法和等波纹最佳逼近法等。

2.2 窗口设计法

窗口设计法是一种通过截断和计权的方法使无限长非因果序列成为有限长脉冲响应序列的设计方法。通常在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技术指标。在大多数实际应用中,数字滤波器常常被用来实现选频操作,所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相位响应。

窗口设计法步骤如下:

(1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N 。窗函数的类型可根据最小阻带衰减AS 独立选择。

(2)根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n)。 (3)由性能指标确定窗函数W(n)和长度N 。

(4)求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR 滤波器系数向量b(n)。

()().()d h n h n W n (2.1)

常见的窗函数性能表如下图1所示:

图1 常见窗函数性能表

名称

滤波器 过渡带宽 最小阻带衰减 名称

滤波器 过渡带宽 最小阻带衰减 矩形 1.8π/M 21dB PARZENWIN 6.6π/M 56dB 巴特利特 6.1π/M 25dB FLATTOPWIN 19.6π/M 108dB 汉宁 6.2π/M 44dB GAUSSWIN 5.8π/M 60dB 汉明 6.6π/M 51dB BARTHANNWIN 3.6π/M 40dB 布莱克曼 11π/M 74dB BLACKMANHARRIS

16.1π/M 109dB BOHMANWIN 5.8π/M 51.5dB CHEBWIN 15.2π/M 113dB NUTTALLWIN

15.4π/M

108dB

TUKEYWIN

2.4π/M

22dB

2.3 TUKEYWIN 窗

W=tukeywin(M)在数组w 中产生M 点的Tukeywin 窗函数。由上表可知:Tukeywin 窗的滤波器的过滤带宽为2.4π/M ,最小阻带衰减22db 。

利用wvtool 可绘制出Tukeywin 窗函数波形如图2: N=128; t=tukeywin(N); Wvtool(t);

图2 Tukeywin 窗函数波形

3 设计步骤

3.1 设计流程图

根据设计的要求,首先自己录制一段语音信号,对语音信号加入噪声干扰,再利用

TUKEYWIN 窗设计合理的FIR 滤波器。最后用滤波器对干扰后的语音信号进行滤波去噪。

具体设计流程图如下图3所示:

开始

录制段语音信号,命名为

“speech_dft.wav ”,绘制出其时域波形和频谱图。

加入噪声干扰,绘制干扰后的

利用TUKEYWIN窗设计合理

的FIR滤波器。

将干扰后的语音信号通过自己

设计的滤波器,进行滤波去噪。

比较滤波前后的时域波形和频谱

图,并回放语音信号,验证是否

达到去噪效果。

NO

是否达到去噪

效果?

YES

结束

图3设计流程图

3.2 录制音乐信号

从电脑上录制一段语音信号,并命名为“speech_dft.wav”。在Matlab平台下调用wavread函数可采集到语音信号。

运行程序后得到的波形图如图4所示:

图4原始音乐信号时域波形图

画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,并将原始音乐信号的波形图与加干扰后的波形图进行比较

运行程序后我们所得的波形图如图5所示:

图5干扰前后信号时域图与频谱图的比较

3.3 滤波器设计

滤波器的设计就是要找到一组能满足特定滤波要求的系数向量a和b,其中b为系统函数的分子系数,a为系统函数分母系数。在本次的课程设计中我所采用的就是利用TUKEYWIN窗函数来设计FIR滤波器如图6所示。

图6设计的滤波器图形

3.4 信号滤波处理

滤波器设计完成后,在MATLAB平台上用函数filter实现滤波,

得到的滤波前后音乐信号的时域波形图和频谱图对比图如图7所示:

图7 滤波前后语音信号的时域波形图和频谱图对比图

3.5 结果分析

在MATLAB中,经过sound(x,fs,bits)函数,对经过TUKEYWIN窗设计的FIR滤波器之后的音乐信号进行回放,可以听出滤波之后的信号跟原始信号一样清晰,完全滤除掉了噪声的干扰,通过下面语句来进行语音信号回放比较:

>> sound (y_fil,fs,bits); 播放滤波后的音乐信号

>> sound(x,fs,bits);

所得结果证明了用TUKEYWIN窗设计的FIR滤波器和音乐信号去噪设计是成功的。

4出现的问题及解决方法

在本次课程设计中我遇到的问题如下:

1、不知道如何将音乐信号截断成自己所需的长度。

2、对利用TUKEYWIN窗函数设计FIR滤波器的设计步骤很生疏。

3、在采用TUKEYWIN窗函数设计的FIR滤波器时得不到理想的滤波器,因而信号的恢

复不是特别理想。

针对以上问题,相应的解决方案如下:

1、向同学学习如何截取音乐。

2、自己上网查阅资料,或向图书馆借阅资料,掌握利用TUKEYWIN窗函数设计FIR滤波器的方法和步骤。

3、通过不断设置参数的值,最终达到最理想的值,设计出理想的滤波器,使信号得到理想恢复。

5 结束语

本次的课程设计,我的任务是利用TUKEYWIN窗函数设计FIR滤波器对音乐信号滤波去噪。在本次课程设计之前,我对TUKEYWIN窗函数完全没有了解,因此在看到这个题目时,我是一头雾水。但是通过自己翻阅资料和询问同学,我掌握了用TUKEYWIN窗函数设计FIR滤波器的方法步骤,了解了窗函数的基本设计流程。经过这两周的课程设计,我学会了很多东西。

我们通信工程专业是个实践性很强的专业,而我们在校大部分的学习时间都是花在理论学习上面,实践的机会很少。因而我对很多所学的理论知识如何跟实践联系的概念很模糊,这次的课程设计给了我这个机会,加深了我对理论联系实际的理解,增强了自己独立分析问题和解决问题的能力,开阔了自己的思维。

还有让我看到了自己的不足,自己对本专业的相关知识掌握的还很少,还有很多知识都没掌握,还让我认识到解决问题的方法、途径很多,做事要开阔自己的思维,看待问题要从多个角度看。

在此我要感谢学校为我们提供这次课程设计的机会,感谢老师对我的悉心指导,也感谢同学对我的帮助。这次的课程设计让我理论联系实际,不仅巩固了我们的理论知识,还提高了我的动手能力,在这次课程设计中我所学到的知识是我的财富,让我终身受益。

参考文献

[1]张志涌.精通MATLAB 6.5版[M].北京:北京航空航天大学出版社,2003.

[2]约翰·G·普罗克斯.数字信号处理[M].西安:西安交通大学出版社,2009.

[3]张小虹.信号系统与数字信号处理[M].第1版.西安:西安电子科技出版社,2002.

[4]谢德芳.数字信号处理[M].北京:科学出版社,2005.

[5]郝建军.数字通信[M].第2版.北京:北京邮电大学出版社,2010.

[6]张威.MATLAB 基础与编程入门[M].西安:西安电子科技大学出版社,2010.

附录一:语音信号滤波去噪——使用TUKEYWIN滤波器

%程序功能:在Matlab中,用窗口设计法设计FIR滤波器

%程序作者:

%最后修改日期:

%程序一:

[x,fs,bits]=wavread('speech_dft wav');%读取音乐信号

sound(x,fs,bits);%播放音乐信号

N=length(x);%计算音乐信号的长度

fn=2136; % 单频噪声频率

t=0:1/fs:(N-1)/fs; % 计算时间范围,样本数除以采样频率

x=x(:,1)';%将双声道转为单声道

y=x+sin(fn*2*pi*t);%添加噪声

sound(y,fs,bits);%播放干扰后的音乐信号,应该可以明显听出有尖锐的单频啸叫声

%程序二:

X=abs(fft(x)); Y=abs(fft(y)); % 对原始信号和加噪信号进行fft变换,取幅度谱

X=X(1:N/2); Y=Y(1:N/2); % 截取前半部分

figure(1)

subplot(2,2,1);plot(t,x);xlabel('时间(t)');ylabel('幅度'); title('原始语音信号

');axis([0,2.5,-0.7,0.7]);

subplot(2,2,2);plot(f,X);xlabel('频率(f)');ylabel('幅度谱');title('原始语音信号幅度谱

');axis([0,4000,0,300]);

subplot(2,2,3);plot(t,y);xlabel('时间(t)');ylabel('幅度');title('加噪声后的语音信号

');axis([0,2.5,-0.7,0.7]);

subplot(2,2,4);plot(f,Y);xlabel('频率(f)');ylabel('幅度谱');title('加噪声后的语音信号幅度谱');axis([0,4000,0,300]);

%程序三:

fpd=2000;fsd=2050;fsu=2150;fpu=2200;% 带阻滤波器设计指标

Rp=1;As=22; % 通带波纹和阻带衰减

fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2;df=min((fsd-fpd),(fpu-fsu)); %计算上下边带中心频率,和频率间隔

wcd=fcd/fs*2*pi;wcu=fcu/fs*2*pi;dw=df/fs*2*pi; %将Hz为单位的模拟频率换算为rad 为单位的数字频率

wsd=fsd/fs*2*pi;wsu=fsu/fs*2*pi;

M=ceil(2.4*pi/dw)+1; % 计算Tukeywin窗设计该滤波器时需要的阶数

n=0:M-1; % 定义时间范围

w_tuk=tukeywin(M); % 产生M阶的Tukeywin窗

hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M);

% 调用自编函数计算理想带阻滤波器的脉冲响应

h_bs=w_tuk'.*hd_bs; % 用窗口法计算实际滤波器脉冲响应

[db,mag,pha,grd,w]=freqz_m(h_bs,1); % 调用自编函数计算滤波器的频率特性

figure(2)

subplot(2,2,1);plot(w/pi,db);xlabel('w/pi');ylabel('db');title('FIR滤波器的幅度响应图');axis([0.3 0.7 -70 10]);

line([0,0.7],[-1,-1],'Color','r','LineWidth',2,'LineStyle','--');

line([0,0.7],[-22,-22],'Color','r','LineWidth',2,'LineStyle','--');

line([wsd/pi,wsd/pi],[-70,10],'Color','r','LineWidth',2,'LineStyle','--');

line([wsu/pi,wsu/pi],[-70,10],'Color','r','LineWidth',2,'LineStyle','--');

grid on;

subplot(2,2,2);plot(w/pi,mag);xlabel('w/pi');ylabel('幅度mag');title('FIR滤波器的幅度响应图');axis([0 1 -0.2 1.2]);grid on;

subplot(2,2,3);plot(w/pi,pha);xlabel('w/pi');ylabel('相位pha');title('滤波器相位响应图');axis([0 1 -4 4]);grid on;

subplot(2,2,4);stem(n,h_bs);xlabel('n');ylabel('h(n)');title('滤波器脉冲响应图');grid on;

%程序四:

y_fil=fftfilt(h_bs,y); % 用设计好的滤波器对y进行滤波

Y_fil=abs(fft(y_fil));Y_fil=Y_fil(1:N/2); % 计算频谱取前一半

sound (y_fil,fs,bits);

wavwrite(y_fil,fs,bits,'1111恢复.wav'); %保存恢复的语音信号

wavwrite(y,fs,bits,'1111加噪.wav'); %保存加噪的语音信号

figure(3)

subplot(3,2,1);plot(t,x);xlabel('时间(t)');ylabel('幅度'); title('原始语音信号

');axis([0,2.5,-0.7,0.7]);

subplot(3,2,2);plot(f,X);xlabel('频率(f)');ylabel('幅度谱');title('原始语音信号幅度谱');axis([0,4000,0,300]);

subplot(3,2,3);plot(t,y);xlabel('时间(t)');ylabel('幅度');title('加噪声后的语音信号

');axis([0,2.5,-0.7,0.7]);

subplot(3,2,4);plot(f,Y);xlabel('频率(f)');ylabel('幅度谱');title('加噪声后的语音信号幅度谱');axis([0,4000,0,300]);

subplot(3,2,5);plot(t,y_fil);xlabel('时间(t)');ylabel('幅度'); title('滤波后语音信号

');axis([0,2.5,-0.7,0.7]);

subplot(3,2,6);plot(f,Y_fil);xlabel('频率(f)');ylabel('幅度谱');title('滤波后语音信号幅度谱');axis([0,4000,0,300]);

附录二:

函数FREQZ_M.M定义:

function [db,mag,pha,grd,w] = freqz_m(b,a);

% freqz 子程序的改进版本

% ------------------------------------

% [db,mag,pha,grd,w] = freqz_m(b,a);

% db = [0 到pi弧度]区间内的相对振幅(db)

% mag = [0 到pi弧度]区间内的绝对振幅

% pha = [0 到pi弧度]区间内的相位响应

% grd = [0 到pi弧度]区间内的群迟延

% w = [0 到pi弧度]区间内的501个频率样本向量% b = Ha(z)的分子多项式系数(对FIR b=h)

% a = Ha(z)的分母多项式系数(对FIR: a=[1])

%

[H,w] = freqz(b,a,1000,'whole');

H = (H(1:1:501))'; w = (w(1:1:501))';

mag = abs(H);

db = 20*log10((mag+eps)/max(mag));

pha = angle(H);

% pha = unwrap(angle(H));

grd = grpdelay(b,a,w);

% grd = diff(pha);

% grd = [grd(1) grd];

% grd = [0 grd(1:1:500); grd; grd(2:1:501) 0];

% grd = median(grd)*500/pi;

附录三:

函数IDEAL_LP.M定义:

function hd = ideal_lp(wc,M);

% 理想低通滤波器计算

% --------------------------------

% [hd] = ideal_lp(wc,M)

% hd = 0 to M-1之间的理想脉冲响应% wc = 截止频率(弧度)

% M = 理想滤波器的长度

%

alpha = (M-1)/2;

n = [0:1:(M-1)];

m = n - alpha + eps;

hd = sin(wc*m) ./ (pi*m);

滤波器语音信号去噪讲解

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2013年春季学期 信号处理课程设计 题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:通信工程(1)班 姓名:王兴栋 学号:10250114 指导教师:陈海燕 成绩:

摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB 软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。 关键字滤波器;MATLAB;仿真;滤波

前言 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。 本论文主要介绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。 对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。

fir低通滤波器设计(完整版)

电子科技大学信息与软件工程学院学院标准实验报告 (实验)课程名称数字信号处理 电子科技大学教务处制表

电 子 科 技 大 学 实 验 报 告 学生姓名: 学 号: 指导教师: 实验地点: 实验时间:14-18 一、实验室名称:计算机学院机房 二、实验项目名称:fir 低通滤波器的设计 三、实验学时: 四、实验原理: 1. FIR 滤波器 FIR 滤波器是指在有限范围内系统的单位脉冲响应h[k]仅有非零值的滤波器。M 阶FIR 滤波器的系统函数H(z)为 ()[]M k k H z h k z -==∑ 其中H(z)是k z -的M 阶多项式,在有限的z 平面内H(z)有M 个零点,在z 平面原点z=0有M 个极点. FIR 滤波器的频率响应 ()j H e Ω 为 0 ()[]M j jk k H e h k e Ω -Ω ==∑ 它的另外一种表示方法为 () ()()j j j H e H e e φΩΩΩ=

其中 () j H e Ω和()φΩ分别为系统的幅度响应和相位响应。 若系统的相位响应()φΩ满足下面的条件 ()φαΩ=-Ω 即系统的群延迟是一个与Ω没有关系的常数α,称为系统H(z)具有严格线性相位。由于严格线性相位条件在数学层面上处理起来较为困难,因此在FIR 滤波器设计中一般使用广义线性相位。 如果一个离散系统的频率响应 ()j H e Ω 可以表示为 ()()()j j H e A e αβΩ-Ω+=Ω 其中α和β是与Ω无关联的常数,()A Ω是可正可负的实函数,则称系统是广义线性相位的。 如果M 阶FIR 滤波器的单位脉冲响应h[k]是实数,则可以证明系统是线性相位的充要条件为 [][]h k h M k =±- 当h[k]满足h[k]=h[M-k],称h[k]偶对称。当h[k]满足h[k]=-h[M-k],称h[k]奇对称。按阶数h[k]又可分为M 奇数和M 偶数,所以线性相位的FIR 滤波器可以有四种类型。 2. 窗函数法设计FIR 滤波器 窗函数设计法又称为傅里叶级数法。这种方法首先给出()j d H e Ω, ()j d H e Ω 表示要逼近的理想滤波器的频率响应,则由IDTFT 可得出滤波器的单位脉冲响应为 1 []()2j jk d d h k H e e d π π π ΩΩ-= Ω ? 由于是理想滤波器,故 []d h k 是无限长序列。但是我们所要设计的FIR 滤波 器,其h[k]是有限长的。为了能用FIR 滤波器近似理想滤波器,需将理想滤波器的无线长单位脉冲响应 []d h k 分别从左右进行截断。 当截断后的单位脉冲响应 []d h k 不是因果系统的时候,可将其右移从而获得因果的FIR 滤波器。

根据MATLAB的加噪语音信号的滤波

《计算机仿真技术》 基于MATLAB的加噪语音信号的滤波学生姓名: 专业:电子信息工程 班级: 学号: 指导教师: 完成时间:2017年12月

一.滤波器的简述 在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。 在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。 数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR 滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。二.设计要求 1.在matlab平台上录制一段语音信号; 2.完成语音信号的谱分析; 3.对语音信号进行加噪以及加噪后信号的谱分析; 4.选择合适的滤波器进行滤波,确定相关指标; 5.实现滤波过程,显示滤波后的结果,并进行谱分析。 三.实验内容与步骤 1、语音信号的录入

fir低通滤波器设计报告

滤波器设计原理 本文将介绍数字滤波器的设计基础及用窗函数法设计FIR 滤波器的方法,运用MATLAB 语言实现了低通滤波器的设计以及用CCS软件进行滤波效果的观察。读取语音文件,并加入一定的随机噪声,最后使用窗函数滤波法进行语音滤波,将加噪后的语音文件转换为.dat文件使其能和ccs软件链接,输出个阶段的时域和频域波形。 根据数字滤波器冲激响应函数的时域特性。可将数字滤波器分为两种,即无限长冲激响应( IIR) 滤波器和有限长冲激响应(FIR) 滤波器。IIR 滤波器的特征是具有无限持续时间的冲激响应;FIR 滤波器冲激响应只能延续一定时间。其中FIR 滤波器很容易实现严格的线性相位,使信号经过处理后不产生相位失真,舍入误差小,稳定等优点。能够设计具有优良特性的多带通滤波器、微分器和希尔伯特变换器,所以在数字系统、多媒体系统中获得极其广泛的应用。FIR数字滤波器的设计方法有多种,如窗函数设计法、最优化设计和频率取样法等等。而随着MATLAB软件尤其是MATLAB 的信号处理工具箱和Simulink 仿真工具的不断完善,不仅数字滤波器的计算机辅助设计有了可能而且还可以使设计达到最优化。 FIR滤波器的窗函数法的设计 采用汉明窗设计低通FIR滤波器 使用b=fir1(n,Wn)可得到低通滤波器。其中,0Wn1,Wn=1相当于0.5。其语法格式为 b=fir1(n,Wn); 采用:b=fir1(25, 0.25); 得到归一化系数:

或者在命令行输入fdatool进入滤波器的图形设置界面,如下图所示 得到系数(并没有归一化) const int BL = 26; const int16_T B[26] = { -26, 33, 126, 207, 138, -212, -757, -1096, -652, 950, 3513, 6212, 7948, 7948, 6212, 3513, 950, -652, -1096, -757, -212, 138, 207, 126, 33, -26 }; FIR滤波器的设计(Matlab) 技术指标为:采用25阶低通滤波器,汉明窗(Hamming Window)函数,截止频率为1000Hz,采样频率为8000Hz,增益40db。 下面的程序功能是:读取语音文件,并加入一定的随机噪声,最后使用窗函数滤波法进行语音滤波,将加噪后的语音文件转换为.dat文件使其能和ccs软件链接,输出个阶段的时域和频域波形。

基于MATLAB的FIR滤波器语音信号去噪设计

基于MATLAB的FIR滤波器语音信号去噪设计

****************** 实践教学 ****************** 兰州理工大学 计算机与通信学院 《信号处理》课程设计题目:基于MATLAB的FIR滤波器语音信号去噪

摘要 随着信息技术的不断发展,现代信号处理正向着数字化发展,研究语音信号的滤波设计也成了现代信息处理的基本内容。本次课程设计主要内容是基于MATLAB的FIR滤波器语音信号去噪。主要运用麦克风采集一段语音信号,对其进行了时域分析和频谱分析,分析语音信号的特性,并对语音信号加入了随机噪声,采用凯塞(Kaiser)窗函数法设计了一个FIR 低通滤波器,然后对加噪的语音信号进行滤波处理。最后对滤波前后的语音信号的时域和频域特性进行对比。 关键词:MATLAB;语音信号;FIR滤波器;凯塞(Kaiser)窗

目录 第一章语音信号采样和滤波器设计的基本原理1 1.1语音信号采样的基本原理 (1) 1.1.1 采样定理 (1) 1.1.2 采样频率 (1) 1.2数字滤波器的基本理论和设计的基本原理2 1.2.1 数字滤波器的类型 (2) 1.2.2 窗口设计法 (3) 第二章语音信号去噪的总体设计 (6) 2.1 语音信号去噪的设计流程图 (6) 2.2 语音信号去噪的设计流程的介绍 (6) 第三章语音信号去噪的仿真实现及结果分析 8 3.1 语音信号的采集 (8) 3.2 加噪语音信号的频谱分析 (9) 3.3 语音信号的滤波去噪 (10) 3.4 语音信号去噪的结果分析 (12) 总结 (13) 参考文献 (14) 附录 (15) 致谢 (20)

基于DSP的语音信号FIR低通滤波器设计

科信学院 DSP应用系统(三级项目)(2014/2015学年第二学期) 课程名称:DSP原理与应用 题目:基于DSP的语音信号FIR低通滤波器设计专业班级:信息1221 学号: 学生姓名:Liu 指导教师: 设计成绩: 2015年7 月10 日

1、项目设计目的 通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法、数字滤波器的设计过程,了解FIR 的原理和特性,熟悉设计FIR数字滤波器的原理,学习FIR滤波器的DSP的实现原理,学习使用CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。 2、项目设计正文 2.1硬件设计 2.1.1方案设计 本次设计基于ccs3.3运行环境下,使用ICETEK-VC5509-EDU实验箱(包括仿真器)、麦克风输入设备、耳机输出相关设备等完成此次设计。主要是通过实验箱上AIC23芯片实时采集语音信号,进行FIR低通滤波,使用MATLAB环境下的FDAtool工具来产生低通滤波器系数,用DSP汇编语言或C语言进行编程实现FIR运算对语音信号进行滤波处理,并且与CCS 算法库中的dsplib中的算法相比较,对所设计的FIR滤波器各项指标进评价。 2.1.2 CCS开发环境配置 CCS可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境, 可以调试、运行程序。但一般软件无法构造DSP中的外设,所以软件仿真通常用于调试纯软 件的算法和进行效率分析等,本次设计将使用硬件仿真(Emulator)。 在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。 ⑴双击桌面上图标:进入CCS设置窗口。 ⑵在出现的窗口中按标号顺序进行如下设置:

FIR数字滤波器设计与使用

实验报告 课程名称:数字信号处理指导老师:刘英成绩:_________________实验名称: FIR数字滤波器设计与使用同组学生姓名:__________ 一、实验目的和要求 设计和应用FIR低通滤波器。掌握FIR数字滤波器的窗函数设计法,了解设计参数(窗型、窗长)的影响。 二、实验内容和步骤 编写MATLAB程序,完成以下工作。 2-1 设计两个FIR低通滤波器,截止频率 C =0.5。 (1)用矩形窗,窗长N=41。得出第一个滤波器的单位抽样响应序列h 1(n)。记下h 1 (n) 的各个抽样值,显示h 1 (n)的图形(用stem(.))。求出该滤波器的频率响应(的N 个抽样)H 1(k),显示|H 1 (k)|的图形(用plot(.))。 (2)用汉明窗,窗长N=41。得出第二个滤波器的单位抽样响应序列h 2(n)。记下h 2 (n) 的各个抽样值,显示h 2(n)的图形。求出滤波器的频率响应H 2 (k),显示|H 2 (k)|的 图形。 (3)由图形,比较h 1(n)与h 2 (n)的差异,|H 1 (k)|与|H 2 (k)|的差异。 2-2 产生长度为200点、均值为零的随机信号序列x(n)(用rand(1,200)0.5)。显示x(n)。 求出并显示其幅度谱|X(k)|,观察特征。 2-3 滤波 (1)将x(n)作为输入,经过第一个滤波器后的输出序列记为y 1(n),其幅度谱记为|Y 1 (k)|。 显示|X(k)|与|Y 1 (k)|,讨论滤波前后信号的频谱特征。 (2)将x(n)作为输入,经过第二个滤波器后的输出序列记为y 2(n),其幅度谱记为|Y 2 (k)|。 比较|Y 1(k)|与|Y 2 (k)|的图形,讨论不同的窗函数设计出的滤波器的滤波效果。 2-4 设计第三个FIR低通滤波器,截止频率 C =0.5。用矩形窗,窗长N=127。用它对x(n)进行滤波。显示输出信号y

语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器

语音信号滤波去噪——使用TUKEYWIN窗 设计的FIR滤波器 摘要本课程设计主要使用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。课程设计的的平台为MATLAB。采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用窗函数法设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理。根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始音乐信号频谱图的比较,最后回放滤波后音乐信号,滤波后的音乐信号与原始音乐信号一样清晰,成功地实现了滤波,达到了设计的要求。 关键词课程设计;滤波去噪;FIR滤波器;TUKEYWIN窗;MATLAB 1 引言 本课程设计是采用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。通过观察音乐信号滤波前后的时域波形的比较,加深对滤波器作用的理解。通过对比滤波前后波形图的比较和放滤波前后音乐信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。 1.1 课程设计目的 熟悉Matlab语言环境,掌握Matlab语言的编程规则,利用TUKEYWIN窗函数设计法来设计符合要求的FIR滤波器来实现语音信号的滤波去噪。并绘制滤波前后的时域波形和频谱图。根据图形分析判断滤波器设计的正确性。通过本次课程设计熟悉利用TUKEYWIN窗函数法设计FIR滤波器的过程。增强自己独立解决问题的能力,提高自己

的动手能力。加深对理论知识联系实际问题的理解。为以后的工作奠定坚实的基础。 1.2 课程设计要求 录制一段语音信号,绘制观察波形及频谱图。根据TUKEYWIN的性能指标合理设计FIR滤波器,对语音信号加入干扰,再用滤波器对干扰语音信号进行滤波去噪,比较滤波前后的频谱图并进行分析。再回放语音信号对比原语音信号。看滤波器是否对语音信号进行了滤波去噪。 1.3课程设计平台 MATLAB名字由MATrix和LABoratory两词的前3个字母组合而成。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB[1]。 MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础[2]。 2 基本理论

语音信号的FIR滤波器处理课程设计

DSP课程设计报告语音信号的FIR滤波器处理 姓名:张伟槟 班级:12电信3 学号:201231190425 指导老师:徐梅宣 日期:2015.06.02~2014.06.19 华南农业大学电子工程学院

摘要 随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。 CSS集成开发环境使用CCS内置的软件仿真simulator对程序进行编译,调试和运行,主要用于检测目标程序运行的正确性和连贯性,并能通过仿真器与目标板连接,在目标板上实时观察效果。 在本次设计中,我们选择的课题是基于DSP的语言信号的FIR滤波处理。首先利用MATLAB进行了仿真,得到滤波前后的时域波形和频谱。然后通过调用MATLAB的分析工具FDATOOL,根据仿真结果导出了滤波器的相关参数,将原始信号数据和滤波器参数输入CCS进行DSP编程。最后在DSP中实现了FIR低通滤波,并通过CCS的频谱分析功能查看了最终DSP的滤波效果。 关键词:语音信号处理 FIR滤波 MATLAB CCS

目录 1.前言 (4) 2.设计需求 (4) 3.滤波器设计原理介绍 (4) 3.1数字滤波器设计原理 (4) 3.2FIR滤波器的基本结构 (5) 3.3 滤波器的特点 (5) 3.4窗函数的介绍 (6) 4.FIR滤波器的设计 (7) 4.1FIR滤波器设计 (7) 4.2窗函数设计的基本方法 (7) 4.3滤波器的1 z算法实现 (7) 5.FIR滤波器的MATLAB设计 (8) 6.FIR滤波器的DSP实现 (10) 6.1CCS设计与仿真 (10) 6.2CCS仿真结果 (13) 6.调试问题及解决办法 (16) 7.设计感想 (16) 参考文献 (17) 8.附录 (17)

基于MATLAB的语音信号FIR数字滤波处理

目录 1 绪论 (2) 2课程设计的具体实现 (4) 2.1 语音信号的录制 (4) 2.2 FIR滤波器的设计方法 (4) 3语音信号的时频分析 (5) 3.1语音信号载入MATLAB (5) 3.2语音信号时域和频域分析 (6) 3.3设计FIR数字滤波器 (7) 3.3.1 窗函数hamming设计带通滤波器 (8) 3.3.2 窗函数hanning设计带通滤波器 (9) 3.3.3 窗函数Blackman设计带通滤波器 (10) 3.3.4 窗函数Boxcar设计带通滤波器 (11) 3.4滤波之后的时域和频域分析 (12) 3.4.1 窗函数hamming设计带通滤波器滤波 (13) 3.4.2 窗函数hanning设计带通滤波器滤波 (13) 3.4.3 窗函数Blackman设计带通滤波器滤波 (14) 3.4.4 窗函数Boxcar设计带通滤波器滤波 (15) 3.5回放语音信号 (16)

结论 (16) 参考文献 (18) 1 绪论 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器

语音信号滤波去噪——使用汉宁窗设计的FIR滤波器要点

语音信号滤波去噪——使用汉宁窗设计的 FIR滤波器 学生姓名:指导老师: 摘要本课程设计主要是对一段语音信号,加入噪声后,用汉宁窗设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理。在此次课程设计中,系统操作平台为Windows XP,程序设计的操作软件为MATLAB 7.0。此课程设计首先是用麦克风采集一段语音信号,加入噪声,然后采用汉宁窗函数法设计出FIR滤波器,再用设计出的滤波器对这段加噪后的语音信号进行滤波去噪,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果,说明此次设计非常成功。 关键词程序设计;滤波去噪;FIR滤波器;汉宁窗;MATLAB 7.0 1 引言 本课程设计主要是对一段语音信号,进行加噪后,用某种函数法设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理,并且分析对比前后时域和频域波形的程序设计。 1.1 课程设计目的 在此次课程中主要的要求是用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用汉宁窗设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。与不同信源相同滤波方法的同学比较各种信源的特点,与相同信源不同滤波方法的同学比较各种滤波方法性能的优劣。 通过此次课程设计,我们能够学会如何综合运用这些知识,并把这些知识运用于实践当中,使所学知识在综合运用能力上以及分析问题、解决问题能力上得到进一步的发展,

让自己对这些知识有更深的了解。通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神。 1.2课程设计的要求 (1)滤波器指标必须符合工程实际。 (2)设计完后应检查其频率响应曲线是否满足指标。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告书。 1.3 工作平台简介 课程设计的主要设计平台式MATLAB 7.0。如下图1-1所示:MATLAB 的名称源自Matrix Laboratory ,它是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到广泛应用。它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等各种系统平台[1]。 总的来说,该软件有三大特点。一是功能强大。具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。MATLAB以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性强。当学好MATLAB的同时,会更好的帮助自己去就解决一些难题,而且MATLAB拥有非常好的发展前途,对我们未来的帮助也是不可限量的。

基于matlab的FIR低通高通带通带阻滤波器设计

基于matlab的FIR低通-高通-带通-带阻滤波器设计

————————————————————————————————作者:————————————————————————————————日期:

北京师范大学 课程设计报告 课程名称: DSP 设计名称:FIR 低通、高通带通和带阻数字滤波器的设计姓名: 学号: 班级: 指导教师: 起止日期: 课程设计任务书

学生班级: 学生姓名: 学号: 设计名称: FIR 低通、高通带通和带阻数字滤波器的设计 起止日期: 指导教师: 设计目标: 1、采用Kaiser 窗设计一个低通FIR 滤波器 要求: 采样频率为8kHz ; 通带:0Hz~1kHz ,带内波动小于5%; 阻带:1.5kHz ,带内最小衰减:Rs=40dB 。 2、采用hamming 窗设计一个高通FIR 滤波器 要求: 通带截至频率wp=rad π6.0, 阻带截止频率ws=rad π4.0, 通带最大衰减dB p 25.0=α,阻带最小衰减dB s 50=α 3、采用hamming 设计一个带通滤波器 低端阻带截止频率 wls = 0.2*pi ; 低端通带截止频率 wlp = 0.35*pi ; 高端通带截止频率 whp = 0.65*pi ; 高端阻带截止频率 whs = 0.8*pi ; 4、采用Hamming 窗设计一个带阻FIR 滤波器 要求: 通带:0.35pi~0.65pi ,带内最小衰减Rs=50dB ; 阻带:0~0.2pi 和0.8pi~pi ,带内最大衰减:Rp=1dB 。

FIR 低通、高通带通和带阻数字滤波器的设计 一、 设计目的和意义 1、熟练掌握使用窗函数的设计滤波器的方法,学会设计低通、带通、带阻滤波器。 2、通过对滤波器的设计,了解几种窗函数的性能,学会针对不同的指标选择不同的窗函数。 二、 设计原理 一般,设计线性相位FIR 数字滤波器采用窗函数法或频率抽样法,本设计采用窗函数法,分别采用海明窗和凯泽窗设计带通、带阻和低通。 如果所希望的滤波器的理想频率响应函数为)(jw d e H ,如理想的低通,由信号系统的知识知道,在时域系统的冲击响应h d (n)将是无限长的,如图2、图3所示。 H d (w) -w c w c 图2 图3 若时域响应是无限长的,则不可能实现,因此需要对其截断,即设计一个FIR 滤波器频率响应∑-=-=1 0)()(N n jwn jw e n h e H 来逼近)(jw d e H ,即用一个窗函数w(n)来 截断h d (n),如式3所示: )()()(n w n h n h d = (式1)。 最简单的截断方法是矩形窗,实际操作中,直接取h d (n)的主要数据即可。 )(n h 作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数为: ∑-=-=1 0)()(N n jwn jw e n h e H (式2) 令jw e z =,则 ∑-=-=1 0)()(N n n z n h z H (式3), 式中,N 为所选窗函数)(n w 的长度。

音乐信号滤波去噪—用凯塞窗设计的FIR滤波器

音乐信号滤波去噪—用凯塞窗设计的FIR 滤波器 学生姓名:指导老师: 摘要本课程设计主要是通过使用凯塞窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理。本设计首先通过麦克风采集一段音乐信号,依据对该信号的频谱分析,给定相关指标。以MATLAB软件为平台,采用凯塞窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。通过对比滤波前后的波形图,深入了解滤波器的基本方法。通过程序调试及完善,该设计基本满足设计要求。 关键词滤波去噪;FIR滤波器;凯塞窗函数;MATLAB

1 引言 数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。随着现代通信的数字化,数字滤波器变得更加重要。数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。从实现方法上考虑,将滤波器分成两种,一种称为无限脉冲响应滤波器,简称IIR(Infinite Impulse Response)滤波器,另一种称为FIR(Finite Impulse Response)滤波器[1]。设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。 1.1 课程设计目的 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。 在本次课程设计中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。 本次的课程设计主要采用的是第一类设计方法,是利用汉宁窗函数法设计FIR滤波器对一段语音进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。此课程设计比较简单,主要是将书本中的知识运用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。对此,也可以加深我们对所学知识的理解,培养我们的动手能力。 1.2课程设计的要求 (1)通过利用各种不同的开发工具实现模拟信号数字化、信道编解码、基带数字信号编解码、数字信号的调制解调和语音信号的滤波去噪等课题,掌握数字信号的分析方法和处理方法。

FIR低通数字滤波器的设计要点

《DSP技术与应用》课程设计报告 课题名称:基于DSP Builder的FIR数字滤波器的设计与实现 学院:电子信息工程学院 班级:11级电信本01班 学号: 姓名:

题目基于DSP Builder的FIR数字滤波器的设计与实现 摘要 FIR数字滤波器是数字信号处理的一个重要组成部分,由于FIR数字滤波器具有严格的线性相位,因此在信息的采集和处理过程中得到了广泛的应用。本文介绍了FIR数字滤波器的概念和线性相位的条件,分析了窗函数法、频率采样法和等波纹逼近法设计FIR滤波器的思路和流程。在分析三种设计方法原理的基础上,借助Matlab仿真软件工具箱中的fir1、fir2和remez子函数分别实现窗函数法、频率采样法和等波纹逼近法设计FIR滤波器。然后检验滤波器的滤波效果,采用一段音频进行加噪声然后用滤波器滤,对比三段音频效果进而对滤波器的滤波效果进行检验。仿真结果表明,在相频特性上,三种方法设计的FIR滤波器在通带内都具有线性相位;在幅频特性上,相比窗函数法和频率采样法,等波纹逼近法设计FIR滤波器的边界频率精确,通带和阻带衰减控制。

Abstract FIR digital filter is an important part of digital signal processing, the FIR digital filter with linear phase, so it has been widely applied in the collection and processing of information in the course of. This paper introduces the concept of FIR digital filter with linear phase conditions, analysis of the window function method and frequency sampling method and the ripple approximation method of FIR filter design ideas and processes. Based on analyzing the principle of three kinds of design methods, by means of fir1, fir2 and Remez function of Matlab simulation software in the Toolbox window function method and frequency sampling method and respectively realize equiripple approximation method to design FIR filter. Then test the filtering effect of the filter, using an audio add noise and then filter, test three audio effects and comparison of filter filtering effect. Simulation results show that the phase frequency characteristic, three design methods of FIR filter with linear phase are in the pass band; the amplitude frequency characteristics, compared with the window function method and frequency sampling method, equiripple approximation method Design of FIR filter with accurate boundary frequency, the passband and stopband attenuation control.

基于数字滤波器的语音信号处理系统的设计

基于数字滤波器的语音信号处理系统的设计 前言:语音信号的数字滤波就是利用快速傅里叶变换fft对语音信号进行频谱分析,利用分析得到的指标设计数字滤波器,将不需要的部分通过设计好的数字滤波器滤除掉,以达到优化语音的目的。数字滤波器是一种对数字信号进行处理的系统,数字滤波器完成数字信号滤波处理功能,其输入是一组数字量,其输出是经过变换的另一组数字量。它通过一定的运算关系或电路形式来改变输入信号所包含的频率成分的相对比例或滤出某些频率成分,数字滤波器具有稳定性高、精度高、灵活性大等优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。 摘要:本文介绍了两种数字滤波器的基本设计原理及步骤1、利用双线性变换法以及脉冲响应不变法设计IIR数字滤波器2、用窗函数法实现FIR数字滤波器的设计。并且把理论与实践结合,通过一段语音,利用MATLAB软件分析语音信号频谱,确定指标设计滤波器,编写程序设计滤波器,对语音信号进行滤波处理,分析滤波后的时域和频域特征,回放语音信号分析其经过信号处理后的效果。 正文 1、总体设计 1.1 总体设计内容 1)利用脉冲响应不变法和双线性变换法设计IIR数字滤波器,实现数字低通、数字高通、数字带通、数字带阻。 2)利用窗函数实现FIR数字滤波器的设计 3)设计完整的语音信号处理系统,可实现语音信号的读入、语音信号的频域分析、滤波器选择、语音信号的时/频域滤波操作、语音信号的短时频域分析等功能。 1.2 课设流程图设计

2、模块设计 2.1 语音信号的采集 用windows工具中的录音机录一段(语音信号),将语音信号的文件命名为test.wav. 将语音文件保存后,在MATLAB软件平台下,首先调用wavread函数可采集到录制的音乐信号,并得到其采样率fs和比特数bits。具体调用如下:>> [y,fs,bits]=wavread('d:\test.wav')%读取语音信号。 运行后得出fs,bit。其中参数y是每个样本的值,fs是生成该波形文件时的采样率,bits 是波形文件每样的编码位数。 sound(y); 用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。 2.2 语音信号的时域及频域分析 语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。 2.2.1语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。 运用matlab软件,调用plot函数,在读取语音信号的基础上画出语音信号的时域波形图。理想状态下,语音信号的时域波形应该是关于时间轴对称的,但是实际情况下,由于存在着一些噪音,使得波形看上去不是那么完美。 2.2.2语音信号的频域分析 对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,调用格式如下: Xk=fft(xn,N) 参数xn为被变换的时域序列向量,N是DFT变换区间的长度,当N大于xn时,fft函数自动在xn后面补零,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,调用fft函数得到语音信号的快速傅里叶变换序列,再用plot函数画出信号的频谱图。 2.3 IIR数字滤波器的设计 IIR滤波器系统函数的极点可以再单位圆内的任何位置,实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,又由于IIR数字滤波器能够保留一些模拟滤波器的优良特性,因 此应用很广。设计IIR数字滤波器的方法主要有基于脉冲响应不变法和双线性Z变换法设计,

用窗函数法设计FIR数字低通滤波器要点

河北科技大学课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期 指导教师: 20 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间 设计题目 指 导 教 师 评 指导教师: 语 年月日

目录 1. 窗函数设计低通滤波器 1.1设计目的 (1) 1.2设计原理推导与计算 (1) 1.3设计内容与要求 (2) 1.4设计源程序与运行结果 (3) 1.5思考题 (10) 1.6心得体会 (14) 参考文献 (15)

1.窗函数设计低通滤波器 1.1设计目的 1. 熟悉设计线性相位数字滤波器的一般步骤。 2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。 3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。 4. 学会根据指标要求选择合适的窗函数。 1.2设计原理推导与计算 如果所希望的滤波器的理想的频率响应函数为() ωj d e H ,则其对应的单位脉冲响应为 ()() ωπ ωωπ π d e e H n h j j d d ?- = 21 (4.1) 窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数() ωj e H ,即 () ?????≤<≤=-π ωωωωωαω c c j j d ,, e e H 0,其中21-=N α ()() ()[]() a n a n d e e d e e H n h c j j j j d d c c --= = = ??- -- πωωπ ωπ ωαωω ωαω π π ω sin 21 21 用有限长单位脉冲响应序列()n h 逼近()n h d 。由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到: ()()()n n h n h d ω= (4.2) ()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函 数() ωj e H 为 ()()n j N n j e n h e H ωω ∑-==1 (4.3) 式中,N 为所选窗函数()n ω的长度。 用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取

相关主题
文本预览
相关文档 最新文档