当前位置:文档之家› 应用MatLab对语音信号进行频谱分析及滤波

应用MatLab对语音信号进行频谱分析及滤波

应用MatLab对语音信号进行频谱分析及滤波
应用MatLab对语音信号进行频谱分析及滤波

数字信号处理综合实验报告

综合实验名称:应用Matlab对语音信号进行

频谱分析及滤波

系:

学生姓名:

班级:通信

学号:11

成绩:

指导教师:

开课时间:2011-2012学年上学期

一.综合实验题目

应用MatLab对语音信号进行频谱分析及滤波

二.主要内容

录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;

课程设计应完成的工作:

1、语音信号的采集;

2、语音信号的频谱分析;

3、数字滤波器的设计;

4、对语音信号进行滤波处理;

5、对滤波前后的语音信号频谱进行对比分析;

三.具体要求

1、学生能够根据设计内容积极主动查找相关资料;

2、滤波器的性能指标可以根据实际情况作调整;

3、对设计结果进行独立思考和分析;

4、设计完成后,要提交相关的文档;

1)课程设计报告书(纸质和电子版各一份,具体格式参照学校课程设计管理规定),

报告内容要涵盖设计题目、设计任务、详细的设计过程、原理说明、、频谱图

的分析、调试总结、心得体会、参考文献(在报告中参考文献要做标注,不

少于5篇)。

2)可运行的源程序代码(电子版)

在基本要求的基础上,学生可以根据个人对该课程设计的理解,添加一些新的内容;

四.进度安排

五.成绩评定

(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。迟到15分钟按旷课处理

(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。

(3)设计报告成绩:按照提交报告的质量给出相应的成绩。

课程设计成绩=平时成绩(30%)+设计成绩(30%)+设计报告成绩(40%)

应用MatLab对语音信号进行频谱分析及滤波

第一章实验任务

录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。

第二章实验原理

2.1 采样频率、位数及采样定理

采样频率[2],也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。我们首先要知道:电脑中的声音文件是用数字0和1来表示的。所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。反之,在播放时则是把数字信号还原成模拟声音信号输出。

采样定理又称奈奎斯特定理[2],在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。

2.2时域信号的FFT分析

信号的频谱分析就是计算机信号的傅里叶变换[5]。连续信号与系统的傅里叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。

2.3 IIR数字滤波器设计原理

利用双线性变换设计IIR 滤波器(巴特沃斯数字低通滤波器的设计)[6]

,首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR 滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp 和Ws 的转换,对ap 和as 指标不作变化。边界频率的转换关系为 ∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N 和3dB 截止频率 ∩c ;根据阶数N 查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。之后,通过双线性变换法转换公式s=2/T((1-1/z)/(1+1/z))得到所要设计的IIR 滤波器的系统函数H(z)。

2.4 FIR 数字滤波器设计原理

基于窗函数的FIR 数字滤波器的设计方法通常也称之为傅立叶级数法,是用一定宽度窗函数截取无限脉冲响应序列,获得有限长的脉冲响应序列,从而得到FIR 滤波器。它是在时域进行的,由理想滤波器的频率响应)(ωj d e H 推导出其单位冲激响应h d (n ),再设计一

个FIR 数字滤波器的单位冲激响应h (n )去逼近h d (n ),表示)(n h d =

π

21ω

ωωπ

πd e e H

j j d

)(?-

由此得到的离散滤波器的系统传递函数H d (z ) 为 )(ω

j d e

H =∑-=-10

)(N n j e n h ω,该h d (n ) 为

无限长序列,因此H d (z )是物理不可实现的。为了使系统变为物理可实现的,且使实际的FIR 滤波器频率响应尽可能逼近理想滤波器的频率响应,采用窗函数将无限脉冲响应h d (n )截取一段h (n )来近似表示h d (n ),可得:h (n ) = h d (n )w (n ) ,从而有:式中N 表示窗口长度,这样H (z )就是物理可实现的系统。并且从线性相位FIR 滤波器的充要条件可知,为了获得线性相位FIR 数字滤波器的冲激响应h (n ) ,那么序列h (n ) 应有τ = (N ?1) / 2的延迟。由于窗函数的选择对结果起着重要的作用,针对不同的信号和不同的处理目的来确定窗函数的选择才能收到良好的效果。

第三章实验过程

一、原始语音信号采样后的时域、频域分析

1、源程序如下:

[x1,fs,bits]=wavread('C:\Documents and Settings\Administrator\桌面\gyw.wav');

%读取语音信号的数据,赋给变量x1 figure(1)

plot(x1) %做原始语音信号以44.1k采样后的时域图形title('原始语音采样后时域信号');

xlabel('时间轴n');

ylabel('幅值A');

figure(2)

freqz(x1) %绘制原始语音信号采样后的频率响应图title('原始语音信号采样后频率响应图');

[x1,fs,bits]=wavread('录音.wav'); %读取语音信号的数据,赋给变量x1

sound(x1,fs); %播放语音信号

2、运行结果如图3-1、3-2所示:

图3-1 原始语音采样后时域信号

图3-2 原始语音信号采样后频率响应

二、采样后信号的FFT变换分析

1、源程序如下:

[x1,fs,bits]=wavread(' C:\Documents and Settings\Administrator\桌面\gyw.wav'); %读取语音

信号的数据,赋给变量x1 y1=fft(x1,1024); %对采样后信号做1024点FFT变换

f=fs*(0:511)/1024; %生成频率序列

figure(1)

subplot(2,1,1);

plot(f,abs(y1(1:512)));

title('原始语音信号频谱')

xlabel('频率/Hz');

ylabel('幅值')

subplot(2,1,2);

plot(abs(y1(1:1024))) %采样后信号的FFT频谱图

title('原始语音信号FFT频谱')

xlabel('点数N');

ylabel('幅值');

2、运行结果如图3-3所示:

图3-3 原始语音信号频谱及FFT频谱

3、频谱分析:

从图3-3可以看出,采样点数为1024,离散点数越多,越接近原始信号频谱。

三、双线性变换法设计IIR数字滤波器

1)低通滤波器性能指标fp=1000Hz,fst=1200Hz,Ap=1db,As=100db。

(1)源程序如下:

fs=22050;

[x2]=wavread(' C:\Documents and Settings\Administrator\桌面\gyw.wav');

Ts=1/fs;R1=10;

wp=2*pi*1000/fs; %通带截止频率

ws=2*pi*1200/fs; %阻带截止频率

Rp=1; %通带衰减

Rl=100; %阻带衰减

wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,R1,'s'); %选择滤波器的最小阶数

[Z,P,K]=buttap(N); %创建butterworth模拟低通滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn); %将模拟原型低通滤波器转换为低通滤波器

[bz,az]=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换[H,W]=freqz(bz,az); %绘制频率响应曲线

figure(1)

plot(W*fs/(2*pi),abs(H))

grid

xlabel('频率/Hz')

ylabel('频率响应幅度')

title('IIR低通滤波器')

f1=filter(bz,az,x2);

figure(2)

subplot(2,1,1)

plot(x2) %画出滤波前的时域图

title('IIR低通滤波器滤波前的时域波形');

subplot(2,1,2)

plot(f1); %画出滤波后的时域图

title('IIR低通滤波器滤波后的时域波形');

sound(f1,44100); %播放滤波后的信号

F0=fft(f1,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x2,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512))); %画出滤波前的频谱图

title('IIR低通滤波器滤波前的频谱')

xlabel('频率/Hz');

ylabel('幅值');

subplot(2,1,2)

F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图

title('IIR低通滤波器滤波后的频谱')

xlabel('频率/Hz');

ylabel('幅值');

(2)运行结果如图3-4、3-5和3-6所示:

图3-4 IIR低通滤波器

图3-5 IIR低通滤波器滤波前后时域波形

图3-6 IIR低通滤波器滤波前后的频谱

(3)频谱分析:

从图3-6可以看出,经过IIR低通滤波器滤波后将高频部分滤除了。

四、窗函数法设计FIR数字滤波器

1)低通滤波器性能指标fp=1000Hz,fst=1200Hz,Ap=1db,As=100db。

(1)源程序如下:

fs=10000;

x1=wavread(' C:\Documents and Settings\Administrator\桌面\gyw.wav');

wp=2*pi*1000/fs;

ws=2*pi*1200/fs;

Rp=1;

Rs=100;

wdelta=ws-wp;

N=ceil(8*pi/wdelta); %取整

wn=(wp+ws)/2;

[b,a]=fir1(N,wn/pi,hamming(N+1)); %选择窗函数,并归一化截止频率

figure(1)

freqz(b,a,512);

title('FIR低通滤波器');

f2=filter(b,a,x1);

figure(2)

subplot(2,1,1)

plot(x1)

title('FIR低通滤波器滤波前的时域波形');

subplot(2,1,2)

plot(f2);

title('FIR低通滤波器滤波后的时域波形');

sound(f2,44100); %播放滤波后的语音信号

F0=fft(f2,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x1,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512)));

title('FIR低通滤波器滤波前的频谱')

xlabel('频率/Hz');

ylabel('幅值');

subplot(2,1,2)

F2=plot(f,abs(F0(1:512)));

title('FIR低通滤波器滤波后的频谱')

xlabel('频率/Hz');

ylabel('幅值');

(2)运行结果如图3-7、3-8和3-9所示:

图3-7 FIR低通滤波器

图3-8 FIR低通滤波器滤波前后时域波形

图3-9 FIR低通滤波器滤波前后频谱

(3)频谱分析:

从图3-9可以看出,经过FIR低通滤波器滤波后,将高频部分滤除了。

第四章心得体会

本次的数字信号处理综合实验的题目是应用Matlab对语音信号进行频谱分析及滤波,首先通过网络和书籍查找有关本次综合实验的资料,编写相关程序,并通过Matlab软件运行得到相关波形频谱图。

实验中利用双线性变换法设计IIR数字滤波器,利用窗函数设计FIR数字滤波器,可以是低通、高通和带通滤波器的设计,此次试验中选用的是低通滤波器,而低通滤波器是基于Butterworth滤波器来设计的,通过设计的滤波器对语音信号进行滤波,再对得出的频谱图进行分析。在实验中遇到一些困难,在设计数字滤波器的时候,通带频率和阻带频率的选取要满足低通的要求,以及通带允许的最大衰减和阻带应达到的最小衰减。

在这次的综合实验中,总的来说并不是很辛苦,实验将上课所学的理论知识运用到实践中。通过这次应用Matlab对语音信号进行频谱分析及滤波的综合实验,让我对Matlab的应用以及数字滤波器的设计有了更深层次的理解,每个程序中的语句表示什么意思也有了很清楚的了解。在实践中增强了我的动手能力,以及增强了我的团队意识,并提高了我的综合能力,使自身得到了很大的锻炼。最后要感谢老师的悉心指导和帮助,

参考文献

[1] 胡广书.《数字信号处理》[M]. 北京:清华大学出版社,2003

[2] 程佩青.《数字信号处理教程》[M]. 北京:清华大学出版社,2007.2

[3] 余成波、陶红艳等.《数字信号处理及MA TLAB实现(第二版)》[M]. 北京:清华大学

出版社,2007

[4] 郭仕剑、王宝顺等.《MATLAB7.X数字信号处理》[M].北京:人民邮电出版社,2006

[5] 周辉.《数字信号处理基础及其MATLAB实现》[M].北京:中国林业出版社,2006

[6] 王彬.《MATLAB数字信号处理》[M].北京:机械工业出版社,2010

matlab中关于数字滤波器的函数介绍

MATLAB下的数字信号处理实现示例 一信号、系统和系统响应 1、理想采样信号序列 (1)首先产生信号x(n),0<=n<=50 n=0:50; %定义序列的长度是50 A=444.128; %设置信号有关的参数 a=50*sqrt(2.0)*pi; T=0.001; %采样率 w0=50*sqrt(2.0)*pi; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); (2)绘制信号x(n)的幅度谱和相位谱 k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)(3)改变参数为:1,0734.2,4.0,10==Ω==TAα n=0:50; %定义序列的长度是50 A=1; %设置信号有关的参数 a=0.4; T=1; %采样率 w0=2.0734; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’) 2、单位脉冲序列 在MatLab中,这一函数可以用zeros函数实现: n=1:50; %定义序列的长度是50 x=zeros(1,50); %注意:MATLAB中数组下标从1开始

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

卡尔曼滤波算法与matlab实现

一个应用实例详解卡尔曼滤波及其算法实现 标签:算法filtermatlabalgorithm优化工作 2012-05-14 10:48 75511人阅读评论(25) 收藏举报分类: 数据结构及其算法(4) 为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式。 在介绍他的5条公式之前,先让我们来根据下面的例子一步一步的探索。 假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的,也就是下一分钟的温度等于现在这一分钟的温度(假设我们用一分钟来做时间单位)。假设你对你的经验不是100%的相信,可能会有上下偏差几度。 我们把这些偏差看成是高斯白噪声(White Gaussian Noise),也就是这些偏差跟前后时间是没有关系的而且符合高斯分配(Gaussian Distribution)。另外,我们在房间里放一个温度计,但是这个温度计也不准确的,测量值会比实际值偏差。我们也把这些偏差看成是高斯白噪声。 好了,现在对于某一分钟我们有两个有关于该房间的温度值:你根据经验的预测值(系统的预测值)和温度计的值(测量值)。下面我们要用这两个值结合他们各自的噪声来估算出房间的实际温度值。 假如我们要估算k时刻的是实际温度值。首先你要根据k-1时刻的温度值,来预测k时刻的温度。因为你相信温度是恒定的,所以你会得到k时刻的温度预测值是跟k-1时刻一样的,假设是23度,同时该值的高斯噪声的偏差是5度(5是这样得到的:如果k-1时刻估算出的最优温度值的偏差是3,你对自己预测的不确定度是4度,他们平方相加再开方,就是5)。然后,你从温度计那里得到了k时刻的温度值,假设是25度,同时该值的偏差是4度。 由于我们用于估算k时刻的实际温度有两个温度值,分别是23 度和25度。究竟实际温度是多少呢?相信自己还是相信温度计呢?究竟相信谁多一点,我们可以用他们的covariance(协方差)来判断。因为Kg^2=5^2/(5^2+4^2),所以Kg=0.78,我们可以估算出k时刻的实际温度值是:23+0.78*(25-23)=24.56度。 可以看出,因为温度计的covariance比较小(比较相信温度计),所以估算出的最优温度值偏向温度计的值。 现在我们已经得到k时刻的最优温度值了,下一步就是要进入k+1时刻,进行新的最优估算。到现在为止,好像还没看到什么自回归的东西出现。对了,在进入k+1时刻之前,我们还要算出k时刻那个最优值(24.56 度)的偏差。算法如下:((1-Kg)*5^2)^0.5=2.35。这里的5就是上面的k时刻你预测的那个23度

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

对周期方波信号进行滤波matlab的实现

对周期方波信号进行滤波 ) 1、生成一个基频为10Hz的周期方波信号; ) 2、设计一个滤波器,滤去该周期信号中40Hz以后的频率成分,观察滤波前后的信号波形和频谱。 )3、如果该信号x(t)淹没在噪声中(随机噪声用randn(1,N)生成,N为其样点数),试滤去噪声。 %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比 %采用低通滤波器,保留40Hz以下频率成分 clear fs=200; t=0:1/fs:1; x=square(2*pi*10*t); wp=40*2/fs; ws=45*2/fs; Rp=3;Rs=45;Nn=128; [N,wn]=buttord(wp,ws,Rp,Rs) [b,a]=butter(N,wn,'low') y=filter(b,a,x); figure(1) plot(t,x,'r-',t,y) %grid on axis([0 1.2 -2 2]) title('红色代表原信号,蓝色代表只保留40Hz以下频率成分') figure(2) [H,W]=freqz(b,a); k=0:511; plot((fs/2)/512*k,abs(H)); grid on title('滤波器频率响应') T=1/fs; N=4*(fs/10); n=0:N-1; xn=square(2*pi*10*n*T); X=fftshift(fft(xn,512)); xk=1/N*X;

Y=fftshift(fft(y,512)); yk=1/N*Y; figure(3) plot(-fs/2+fs/512*k,abs(xk)) grid on legend('方波信号的频谱') figure(4) plot(-fs/2+fs/512*k,abs(xk),'b',-fs/2+fs/512*k,abs(yk),'r') grid on legend('原信号的频谱','滤波后信号的频谱') %%%%%%%%%%%%%%%%%%%%保留40Hz频率成分%%%%%%%%%%%% %采样频率取200Hz,可以改变看看。输入、输出信号频谱同时绘制在一起对比 %采用带通滤波器,只保留40Hz频率成分 clear fs=200; t=0:1/fs:1; x=square(2*pi*10*t); wp=[35 45]*2/fs; ws=[30 50]*2/fs; Rp=3;Rs=45;Nn=128; [N,wn]=buttord(wp,ws,Rp,Rs) [b,a]=butter(N,wn,'bandpass') %只保留40Hz频率成分 y=filter(b,a,x); figure(1) plot(t,x,'r-',t,y) grid on axis([0 1.2 -1.2 1.2]) title('红色代表原信号,蓝色代表只保留40Hz频率成分') figure(2) [H,W]=freqz(b,a); k=0:511; plot((fs/2)/512*k,abs(H)); grid on title('滤波器频率响应') T=1/fs; N=4*(fs/10); n=0:N-1; xn=square(2*pi*10*n*T);

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论 (3) 1.1课题背景及意义 (3) 1.2国内外研究现状 (3) 1.3本课题的研究内容和方法 (4) 1.3.1 研究内容 (4) 1.3.2 开发环境 (4) 2 语音信号处理的总体方案 (4) 2.1 系统基本概述 (4) 2.2 系统基本要求与目的 (4) 2.3 系统框架及实现 (5) 2.3.1 语音信号的采样 (5) 2.3.2 语音信号的频谱分析 (5) 2.3.3 音乐信号的抽取 (5) 2.3.4 音乐信号的AM调制 (5) 2.3.5 AM调制音乐信号的同步解调 (5) 2.4系统设计流程图 (6) 3 语音信号处理基本知识 (6) 3.1语音的录入与打开 (6)

3.2采样位数和采样频率 (6) 3.3时域信号的FFT分析 (7) 3.4切比雪夫滤波器 (7) 3.5数字滤波器设计原理 (8) 4 语音信号实例处理设计 (8) 4.1语音信号的采集 (8) 4.3.1高频调制与低频调制 (10) 4.3.2切比雪夫滤波 (11) 4.3.3 FIR滤波 (11) 5 总结 (12) 参考文献 (13) 语音信号的处理与分析 【摘要】语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。信号处理是Matlab重要应用的领域之一。 本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。 最后,本文对语音信号处理的进一步发展方向提出了自己的看法。 【关键词】Matlab 语音信号傅里叶变换低通滤波器

扩展卡尔曼滤波matlab程序

文件一 % THIS PROGRAM IS FOR IMPLEMENTATION OF DISCRETE TIME PROCESS EXTENDED KALMAN FILTER % FOR GAUSSIAN AND LINEAR STOCHASTIC DIFFERENCE EQUATION. % By (R.C.R.C.R),SPLABS,MPL. % (17 JULY 2005). % Help by Aarthi Nadarajan is acknowledged. % (drawback of EKF is when nonlinearity is high, we can extend the % approximation taking additional terms in Taylor's series). clc; close all; clear all; Xint_v = [1; 0; 0; 0; 0]; wk = [1 0 0 0 0]; vk = [1 0 0 0 0]; for ii = 1:1:length(Xint_v) Ap(ii) = Xint_v(ii)*2; W(ii) = 0; H(ii) = ‐sin(Xint_v(ii)); V(ii) = 0; Wk(ii) = 0; end Uk = randn(1,200); Qu = cov(Uk); Vk = randn(1,200); Qv = cov(Vk); C = [1 0 0 0 0]; n = 100; [YY XX] = EKLMNFTR1(Ap,Xint_v,Uk,Qu,Vk,Qv,C,n,Wk,W,V); for it = 1:1:length(XX) MSE(it) = YY(it) ‐ XX(it); end tt = 1:1:length(XX); figure(1); subplot(211); plot(XX); title('ORIGINAL SIGNAL'); subplot(212); plot(YY); title('ESTIMATED SIGNAL'); figure(2); plot(tt,XX,tt,YY); title('Combined plot'); legend('original','estimated'); figure(3); plot(MSE.^2); title('Mean square error'); 子文件::function [YY,XX] = EKLMNFTR1(Ap,Xint_v,Uk,Qu,Vk,Qv,C,n,Wk,W,V); Ap(2,:) = 0; for ii = 1:1:length(Ap)‐1 Ap(ii+1,ii) = 1;

应用matlab对语音信号进行频谱分析及滤波.

数字信号处理 —综合实验报告 综合实验名称:应用MatLab对语音信号进行 频谱分析及滤波 系: 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间学年学期

目录 一.综合实验题目 (1) 二、综合实验目的和意义 (1) 2.1 综合实验目的 (1) 2.2 综合实验的意义 (1) 三.综合实验的主要内容和要求 (1) 3.2 综合实验的要求: (2) 四.实验的原理 (2) 4.1 数字滤波器的概念 (2) 4.2 数字滤波器的分类 (2) (1)根据单位冲激响应h(n)的时间特性分类 (2) 五.实验的步骤 (3) 下面对各步骤加以具体说明。 5.1语音信号的采集 (3) 5.2 语音信号的频谱分析; (3) 5.3 设计数字滤波器和画出其频率响应 (5) 5.3.1设计数字滤波器的性能指标: (5) 5.3.2 用Matlab设计数字滤波器 (6) 5.6 设计系统界面 (19) 六、心得体会 (20) 参考文献: (21)

一.综合实验题目 应用MatLab对语音信号进行频谱分析及滤波 二、综合实验目的和意义 2.1 综合实验目的 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,再者,加强学生对Matlab软件在信号分析和处理的运用 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.2 综合实验的意义 语言是我们人类所特有的功能,它是传承和记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。 语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展;它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。 三.综合实验的主要内容和要求 3.1综合实验的主要内容: 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;综合实验应完成的工作: (1)语音信号的采集; (2)语音信号的频谱分析;

应用MATLAB对信号进行频谱分析及滤波

应用MATLAB对信号进行频谱分析及滤波fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1; f=100;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f*t); figure(1); subplot(211); plot(t,x);%作正弦信号的时域波形 axis([0,0.1,-1,1]); title('正弦信号时域波形'); z=square(50*t); subplot(212) plot(t,z) axis([0,1,-2,2]); title('方波信号时域波形');grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; figure(2); subplot(211); plot(f,mag);%做频谱图 axis([0,1000,0,200]); title('正弦信号幅频谱图'); y1=fft(z,N);%进行fft变换 mag=abs(y1);%求幅值 f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; subplot(212); plot(f,mag);%做频谱图 axis([0,1000,0,200]); title('方波信号幅频谱图');grid; %求功率谱 sq=abs(y);

power=sq.^2; figure(3) subplot(211); plot(f,power); title('正弦信号功率谱');grid; sq1=abs(y1); power1=sq1.^2; subplot(212); plot(f,power1); title('方波信号功率谱');grid; %用IFFT恢复原始信号 xifft=ifft(y); magx=real(xifft); ti=[0:length(xifft)-1]/fs; figure(4); subplot(211); plot(ti,magx); axis([0,0.1,-1,1]); title('通过IFFT转换的正弦信号波形'); zifft=ifft(y1); magz=real(zifft); ti1=[0:length(zifft)-1]/fs; subplot(212); plot(ti1,magz); title('通过IFFT转换的方波信号波形');grid; please input the fs:1000 please input the N:1024

matlab信号处理学习总结

常用函数 1 图形化信号处理工具,fdatool(滤波器设计),fvtool(图形化滤波器参数查看)sptool (信号处理),fvtool(b,a),wintool窗函数设计.或者使用工具箱 filter design设计。当使用离散的福利叶变换方法分析频域中的信号时,傅里叶变换时可能引起漏谱,因此 需要采用平滑窗, 2数字滤波器和采样频率的关系。 如果一个数字滤波器的采样率为 FS,那么这个滤波器的分析带宽为Fs/2。也就是说这 个滤波器只可以分析[0,Fs/2]的信号.举个例字: 有两个信号,S1频率为20KHz,S2频率为40KHz,要通过数字方法滤除S2。 你的滤波器的采样率至少要为Fs=80HKz,否则就分析不到 S2了,更不可能将它滤掉 了!(当然根据采样定理,你的采样率 F0也必须大于80HK,,Fs和 F0之间没关系不大,可以任取,只要满足上述关系就行。) 3 两组数据的相关性分析 r=corrcoef(x,y) 4 expm 求矩阵的整体的 exp 4 离散快速傅里叶 fft信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量)。Ft为连续傅里叶变换。反傅里叶 ifft 5 ztrans(),Z变换是把离散的数字信号从时域转为频率 6 laplace()拉普拉斯变换是把连续的的信号从时域转为频域 7 sound(x)会在音响里产生 x所对应的声音 8 norm求范数,det行列式,rank求秩 9 模拟频率,数字频率,模拟角频率关系 模拟频率f:每秒经历多少个周期,单位Hz,即1/s; 模拟角频率Ω是指每秒经历多少弧度,单位rad/s; 数字频率w:每个采样点间隔之间的弧度,单位rad。 Ω=2pi*f; w = Ω*T 10 RMS求法 Rms = sqrt(sum(P.^2))或者norm(x)/sqrt(length(x) var方差的开方是std标准差,RMS应该是norm(x)/sqrt(length(x))吧. 求矩阵的RMS:std(A(:)) 11 ftshift 作用:将零频点移到频谱的中间 12 filtfilt零相位滤波, 采用两次滤波消除系统的非线性相位, y = filtfilt(b,a,x);注意x的长度必须是滤波器阶数的3倍以上,滤波器的 阶数由max(length(b)-1,length(a)-1)确定。 13 [h,t]=impz(b,a,n,fs),计算滤波器的冲激响应 h为n点冲击响应向量 [h,x]=freqz(b,a,n,fs)计算频响,有fs时,x为频率f,无fs,x为w角频率, 常用于查看滤波器的频率特性 14 zplane(z,p) 画图零极点分布图 15 beta=unwarp(alpha) 相位会在穿越+-180发生回绕,可将回绕的 16 stepz 求数字滤波器的阶跃响应 [h,t] = stepz(b,a,n,fs) fvtool(b1,a1,b2,a2,...bn,an) fvtool(Hd1,Hd2,...) h = fvtool(...) 15 IIR数字滤波器设计方法 1 先根据已知带同参数求出最佳滤波器阶数和截止频率 [n,Wn] = buttord(Wp,Ws,Rp,Rs);

卡尔曼滤波入门简介及其算法MATLAB实现代码

卡尔曼滤波入门: 卡尔曼滤波是用来进行数据滤波用的,就是把含噪声的数据进行处理之后得出相对真值。卡尔曼滤波也可进行系统辨识。 卡尔曼滤波是一种基于统计学理论的算法,可以用来对含噪声数据进行在线处理,对噪声有特殊要求,也可以通过状态变量的增广形式实现系统辨识。 用上一个状态和当前状态的测量值来估计当前状态,这是因为上一个状态估计此时状态时会有误差,而测量的当前状态时也有一个测量误差,所以要根据这两个误差重新估计一个最接近真实状态的值。 信号处理的实际问题,常常是要解决在噪声中提取信号的问题,因此,我们需要寻找一种所谓有最佳线性过滤特性的滤波器。这种滤波器当信号与噪声同时输入时,在输出端能将信号尽可能精确地重现出来,而噪声却受到最大抑制。 维纳(Wiener)滤波与卡尔曼(Kalman)滤波就是用来解决这样一类从噪声中提取信号问题的一种过滤(或滤波)方法。 (1)过滤或滤波 - 从当前的和过去的观察值x(n),x(n-1),x(n-2),…估计当前的信号值称为过滤或滤波; (2)预测或外推 - 从过去的观察值,估计当前的或将来的信号值称为预测或外推; (3)平滑或内插 - 从过去的观察值,估计过去的信号值称为平滑或内插; 因此,维纳过滤与卡尔曼过滤又常常被称为最佳线性过滤与预测或线性最优估计。这里所谓“最佳”与“最优”是以最小均方误差为准则的。 维纳过滤与卡尔曼过滤都是解决最佳线性过滤和预测问题,并且都是以均方误差最小为准则的。因此在平稳条件下,它们所得到的稳态结果是一致的。然而,它们解决的方法有很大区别。 维纳过滤是根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方误差最小条件下所得到的系统的传递函数H(z)或单位样本响应h(n)的形式给出的,因此更常称这种系统为最佳线性过滤器或滤波器。 而卡尔曼过滤是用前一个估计值和最近一个观察数据(它不需要全部过去的观察数据)来估计信号的当前值,它是用状态方程和递推的方法进行估计的,它的解是以估计值(常常是状态变量值)形式给出的。因此更常称这种系统为线性最优估计器或滤波器。 维纳滤波器只适用于平稳随机过程,而卡尔曼滤波器却没有这个限制。维纳过滤中信号和噪声是用相关函数表示的,因此设计维纳滤波器要求已知信号和噪声的相关函数。 卡尔曼过滤中信号和噪声是状态方程和量测方程表示的,因此设计卡尔曼滤波器要求已知状态方程和量测方程(当然,相关函数与状态方程和量测方程之间会存在一定的关系。卡尔曼过滤方法看来似乎比维纳过滤方法优越,它用递推法计算,不需要知道全部过去的数据,从而运用计算机计算方便,而且它可用于平稳和不平稳的随机过程(信号),非时变和时变的系统。 但从发展历史上来看维纳过滤的思想是40年代初提出来的,1949年正式以书的形式出版。卡尔曼过滤到60年代初才提出来,它是在维纳过滤的基础上发展起来的,虽然如上所述它比维纳过滤方法有不少优越的地方,但是最佳线性过滤问题是由维纳过滤首先解决的,维纳过滤的物理概念比较清楚,也可以认为卡尔曼滤波仅仅是对最佳线性过滤问题提出的一种新的算法。 卡尔曼滤波在数学上是一种统计估算方法,通过处理一系列带有误差的实际量测数据而得到的物理参数的最佳估算。例如在气象应用上,根据滤波的基本思想,利用前一时刻预报误差的反馈信息及时修正预报方程,以提高下一时刻预报精度。作温度预报一般只需要连续两个月的资料即可建立方程和递推关系。

基于matlab的信号分析与处理

基于m a t l a b的信号分 析与处理 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期: 2014年1月

目录4

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信

根据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、语音信号的录入

信号分析与处理MATLAB仿真程序

一正弦信号 w=pi/6; ns1=0;nf1=48; n1=[ns1:nf1]; x1=sin(w*n1); subplot(1,1,1); stem(n1,x1); axis([0,50,-1.2,1.2]); xlabel('n');ylabel('x');title('正弦信号'); grid on; 二周期信号 x=[1 1 0 -1 -1 1 0 0]; xn1=x'*ones(1,8); xn1=xn1(:); xn1=xn1'; n1=0:length(xn1)-1; subplot(1,1,1); stem(n1,xn1); axis([0,42,-1.5,1.5]); xlabel('n');ylabel('xn');title('周期信号'); grid on; 三高斯随机信号 n1=30; xn1=randn(1,n1); subplot(1,1,1); stem(xn1); axis([0,32,-4,4]); xlabel('n');ylabel('xn');title('高斯随机信号'); grid on; 四正选信号求特征值: >> clear w=pi/6; ns1=0;nf1=48; >> n1=[ns1:nf1]; >> xn1=sin(w*n1); >> x=mean(xn1); >> y=var(xn1); >> x x = -1.0931e-017 >> y y = 0.5000 五周期信号特征值计算: >> clear >> x=[1 1 0 -1 -1 1 0 0]; xn1=x'*ones(1,8);

xn1=xn1(:); xn1=xn1'; n1=0:length(xn1)-1; >> u=mean(xn1); >> v=var(xn1); >> u u = 0.1250 >> v v = 0.6190 六高斯随机信号特征值计算: >> clear >> n1=30; xn1=randn(1,n1); >> m=mean(xn1); >> v=var(xn1); >> m m = -0.1349 >> v v = 1.3187 七信号运算 w=pi/6; ns1=0;nf1=48;n1=[ns1:nf1]; xn1=sin(w*n1); x=[1 1 0 -1 -1 1 0 0]; xn2=x'*ones(1,8); xn2=xn2(:); xn2=xn2'; ns2=0;nf2=length(xn2)-1;n2=0:nf2;ny=0:max(nf1,nf2); y1=zeros(1,length(ny));y2=y1; y1(find(ny<=nf1))=xn1;y2(find(ny<=nf2))=xn2; ya=y1+y2;ys=y1-y2; subplot(3,2,1);stem(n1,xn1); xlabel('n');ylabel('xn');title('正弦信号');grid on; subplot(3,2,2);stem(ny,y1); xlabel('n');ylabel('xn');title('修正后的正弦信号');grid on; subplot(3,2,3);stem(n2,xn2); xlabel('n');ylabel('xn');title('周期信号');grid on; subplot(3,2,4);stem(ny,y2); xlabel('n');ylabel('xn');title('修正后的周期信号');grid on;

基于matlab声音信号的滤波去噪处理

基于matlab声音信号的滤波去噪处理 摘要 滤波器设计在数字信号处理中占有极其重要的地位FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分Matlab功能强大简单易学编程效率高深受广大科技工作者的欢迎特别是Matlab还具有信号分析工具箱不需具备很强的编程能力就可以很方便地进行信号分析处理和设计利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器课题基于MATLAB有噪音语音信号处理的设计与实现综合运用数字信号处理的理论知识对加噪声语音信号进行时域频域分析和滤波通过理论推导得出相应结论再利用MATLAB作为编程工具进行计算机实现在设计实现的过程中使用窗函数法来设计FIR数字滤波器用巴特沃斯切比雪夫和双线性变法设计IIR数字滤波器并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制通过对对所设计滤波器的仿真和频率特性分析可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器过程简单方便结果的各项性能指标均达到指定要求 目录 摘要 ABSTRACT 绪论 11研究的目的和意义 12国内外同行的研究状况 13本课题的研究内容和方法语音信号去噪方法的研究 21去噪的原理 22去噪的方法去噪和仿真的研究 31语音文件在MATLAB平台上的录入与打开 32 原始语音信号频谱分析及仿真 33 加噪语音信号频谱分析及仿真 34 去噪及仿真 35 结合去噪后的频谱图对比两种方式滤波的优缺点总结致谢 参考文献 1绪论 11研究的目的和意义 语音信号的采集与分析技术是一门涉及面很广的交叉科学它的应用和发展与语音学声音测量学电子测量技术以及数字信号处理等学科紧密联系语音是人类获取信息的重要来源和利用信息的重要手段在信号传输过程中由于实验条件或各种其他主观或客观条件的原因语音处理系统都不可避免地要受到各种噪声的干扰噪声不但降低了语音质量和语音的可懂度而且还将导致系统性能的急剧恶化严重时使整个系统无法正常工作 MATLAB是由美国mathworks公司发布的主要面对科学计算可视化以及交互式程序设计的高科技计算环境它将数值分析矩阵计算科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中为科学研究工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案并在很大程度上摆脱了传统非交互式程序设计语言如CFortran的编辑模式代表了当今国际科学计算软件的先进水平其强大的数据处理能力可以极大程度上削弱噪声影响还原出真实的语音信号相符度在90以上 12 国内外同行研究现状 20世纪60年代中期形成的一系列数字信号处理的理论和算法如数字滤波器快速傅立叶变换FFT等是语音信号数字处理的理论和技术基础随着信息科学技术的

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