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

信号分析与处理MATLAB仿真程序
信号分析与处理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;

subplot(3,2,5);stem(ny,ya);

xlabel('n');ylabel('xn');title('序列相加');grid on;

subplot(3,2,6);stem(ny,ys);

xlabel('n');ylabel('xn');title('序列相减');grid on;

八正弦信号的傅里叶分析

w=pi/6;

ns1=0;nf1=48;

n1=[ns1:nf1];

x1=sin(w*n1);

xk=fft(x1,96);

k=0:95;wk=3*k/95;

subplot(3,1,1);stem(n1,x1);

xlabel('n');ylabel('xn');title('正弦信号');grid on;

subplot(3,1,2);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');title('96点的幅频特性图');grid on; subplot(3,1,3);stem(wk,angle(xk));

xlabel('\w/\pi');ylabel('相位');title('96点的相频特性图');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;

xk=fft(xn1,100);

k=0:99;wk=2*k/100;

subplot(3,1,1);stem(n1,xn1);

xlabel('n');ylabel('xn');title('周期信号');grid on;

subplot(3,1,2);stem(wk,abs(xk));

xlabel('\w\pi');ylabel('幅度');title('100点的幅频特性图');grid on; subplot(3,1,3);stem(wk,angle(xk));

xlabel('\w\pi');ylabel('相位');title('100点的相频特性图');grid on;十频谱混叠

w=pi/5;ns=0;nf=40;

n=[ns:nf];

xn=10*sin(w*n);

xk=fft(xn,160);

xn1=ifft(xk,160);

xk1=xk(1:2:160);

xn2=ifft(xk1,160);

k=0:159;wk=2*k/160;

subplot(4,1,1);stem(n,xn);

xlabel('n');ylabel('xn');title('正弦信号');grid on;

subplot(4,1,2);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');title('160点的dft幅频特性图');

grid on;

subplot(4,1,3);stem(0:length(xn1)-1,xn1);

xlabel('n');ylabel('xn');

title('抽取160点的dft还原信号');grid on;

subplot(4,1,4);stem(0:length(xn2)-1,xn2);

xlabel('n');ylabel('xn');

title('抽取80点的dft还原信号');grid on;

十一泄露分析

w=pi/5;

for i=1:2

if i==1

ns=0;nf=40;

else ns=0;nf=160;

end

n=[ns:nf];xn=10*sin(n*w);

figure(i)

xk=fft(xn,160);

k=0:159;wk=2*k/160;

subplot(2,1,1);stem(n,xn);

xlabel('n');ylabel('xn');

title('正弦信号');grid on;

subplot(2,1,2);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');

title('160点的dft幅频特性图');grid on;

end

十二整周期截取分析

w=pi/5;ns=0;nf=40;

n=[ns:nf];xn=10*sin(n*w);

xk=fft(xn,80);

xn1=n(1:35);

xk1=fft(xn1,80);

k=0:79;wk=2*k/180;

subplot(4,1,1);stem(n,xn);

xlabel('n');ylabel('xn');

title(' 整周期截取的正弦信号');grid on;

subplot(4,1,2);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');

title('整周期截取的80点dft的幅频特性图');grid on; subplot(4,1,3);stem(0:length(xn1)-1,xn1);

xlabel('n');ylabel('xn');

title('非整周期截取的正弦信号');grid on;

subplot(4,1,4);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');

title('非整周期截取的80点的dft幅频特性图');grid on;十三,频率分辨率

w=pi/5;

for i=1:3

if i==1

ns=0;nf=20;

else if i==2

ns=0;nf=40;

else ns=0;nf=80;

end

end

n=[ns:nf];y1=10*sin(w*n);y2=5*sin(0.25*w*n); y3=y1+y2;

xk=fft(y3,80);

k=0:79;wk=2*k/80;

subplot(3,1,1);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');

title('n=20 80点的dft幅频特性图');grid on;

subplot(3,1,2);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度 ');

title('n=40 80点的dft幅频特性图');grid on;

subplot(3,1,3);stem(wk,abs(xk));

xlabel('\w/\pi');ylabel('幅度');

title('n=80 80点的dft幅频特性图');grid on;

end

十五IIR滤波器

clear

wp=input('请输入通带截止频率wp=');

ws=input('请输入阻带截止频率ws=');

rp=input('请输入通带最大衰减rp=');

rs=input('请输入阻带最大衰减rs=');

fs=1000;

[N,wn]=cheb1ord(wp,ws,rp,rs,'s');

[z,p,k]=cheb1ap(N,rp);

[b,a]=zp2tf(z,p,k);

[bt,at]=lp2lp(b,a,wn);

[bz,az]=impinvar(bt,at,fs); [h,f]=freqz(bz,az,512,fs); hdb=20*log10(abs(h));

subplot(2,1,1);plot(f,abs(h));

xlabel('f/HZ');ylabel('幅度/dB');

subplot(2,1,2);plot(f,hdb);

xlabel('f/HZ');ylabel('幅度/dB');

x=0:0.2:60;

xn1=10*sin(pi*x/10);

figure(2);

subplot(2,2,1);plot(x,xn1);grid on;

xlabel('x');ylabel('y');title('正弦信号');

xn2=randn(1,length(x));

subplot(2,2,2);plot(x,xn2);grid on;

xlabel('x');ylabel('y');title('高斯随机信号');

xn3=xn1+xn2;subplot(2,2,3);plot(x,xn3);

xlabel('x');ylabel('y');title('滤波前的信号');grid on;

xn=filter(bz,az,xn3);subplot(2,2,4);plot(x,xn);grid on; xlabel('x');ylabel('y');title('滤波后的信号');

十六,FIR

clear

wp=input('请输入通带截止频率wp=');

ws=input('请输入阻带截止频率ws=');

rp=input('请输入通带衰减rp=');

rs=input('请输入阻带衰减rs=');

tr_width=ws-wp;N=ceil(6.6*pi/tr_width)+1;

n=0:1:N-1;wc=(wp+ws)/2;alpha=(N-1)/2;

m=n-alpha+eps;

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

w_ham=(hamming(N))';

h=hd.*w_ham;[H,w]=freqz(h,[1]);

db=20*log10(abs(H));

subplot(2,1,1);plot(w/pi,abs(H));title('幅度');

xlabel('w/pi');axis([0,1.2,0,1.3]);

subplot(2,1,2);plot(w/pi,db);title('幅度');

xlabel('w/pi');axis([0,1.2,-100,10]);

x=0:0.2:40;

xn1=10*sin(pi*x/10);

figure(2);

subplot(2,2,1);plot(x,xn1);grid on;

xlabel('x');ylabel('y');title('正弦信号');

xn2=randn(1,length(x));

subplot(2,2,2);plot(x,xn2);grid on;

xlabel('x');ylabel('y');title('高斯随机信号');

xn3=xn1+xn2;subplot(2,2,3);plot(x,xn3);

xlabel('x');ylabel('y');title('滤波前的信号');grid on; xn=filter(h,1,xn3);subplot(2,2,4);plot(x,xn);grid on; xlabel('x');ylabel('y');title('滤波后的信号');

语音信号处理与及其MATLAB实现分析

目录 摘要 (2) 第一章绪论 (3) 1.1 语音课设的意义 (3) 1.2 语音课设的目的与要求 (3) 1.3 语音课设的基本步骤 (3) 第二章设计方案论证 (5) 2.1 设计理论依据 (5) 2.1.1 采样定理 (5) 2.1.2 采样频率 (5) 2.1.3 采样位数与采样频率 (5) 2.2 语音信号的分析及处理方法 (6) 2.2.1 语音的录入与打开 (6) 2.2.2 时域信号的FFT分析 (6) 2.2.3 数字滤波器设计原理 (7) 2.2.4 数字滤波器的设计步骤 (7) 2.2.5 IIR滤波器与FIR滤波器的性能比较 (7) 第三章图形用户界面设计 (8) 3.1 图形用户界面概念 (8) 3.2 图形用户界面设计 (8) 3.3 图形用户界面模块调试 (9) 3.3.1 语音信号的读入与打开 (9) 3.3.2 语音信号的定点分析 (9) 3.3.3 N阶高通滤波器 (11) 3.3.4 N阶低通滤波器 (12) 3.3.5 2N阶带通滤波器 (13) 3.3.6 2N阶带阻滤波器 (14) 3.4 图形用户界面制作 (15) 第四章总结 (18) 附录 (19) 参考文献 (24)

摘要 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。 数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。 数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

基于Matlab的脑电波信号处理

做脑电波信号处理滴嘿嘿。。Matlab addicted Codes %FEATURE EXTRACTER function [features] = EEGfeaturetrainmod(filename,m) a = 4; b = 7; d = 12; e = 30; signals = 0; for index = 1:9; % read in the first ten EEG data because the files are numbered as ha11test01 rather than ha11test1. s = [filename '0' num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0; signals = signal; else signals = [signals signal]; end end for index = 10:1:m/2; % read in the rest of the EEG training data s = [filename num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0;

signals = signal; else signals = [signals signal]; end end %%%%% modification just for varying the training testing ratio ------ for index = 25:1:25+m/2; % read in the rest of the EEG training data s = [filename num2str(index) '.dat']; signal = tread_wfdb(s); if signals == 0; signals = signal; else signals = [signals signal]; end end %%%%%end of modification just for varying the training testing ratio----- for l = 1:m % exrating features (power of each kind of EEG wave forms) [Pxx,f]=pwelch(signals(:,l)-mean(signals(:,l)), [], [], [], 200); % relative power fdelta(l) = sum(Pxx(find(fa))); falpha(l) = sum(Pxx(find(fb))); fbeta(l) = sum(Pxx(find(fd))); fgama(l)= sum(Pxx(find(f>e))); % gama wave included for additional work

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

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论.............................................................................................................. 错误!未定义书签。 1.1课题背景及意义................................................................................. 错误!未定义书签。 1.2国内外研究现状................................................................................. 错误!未定义书签。 1.3本课题的研究内容和方法................................................................. 错误!未定义书签。 1.3.1 研究内容................................................................................ 错误!未定义书签。 1.3.2 开发环境................................................................................ 错误!未定义书签。 2 语音信号处理的总体方案............................................................................ 错误!未定义书签。 2.1 系统基本概述.................................................................................... 错误!未定义书签。 2.2 系统基本要求与目的........................................................................ 错误!未定义书签。 2.3 系统框架及实现................................................................................ 错误!未定义书签。 2.3.1 语音信号的采样.................................................................... 错误!未定义书签。 2.3.2 语音信号的频谱分析............................................................ 错误!未定义书签。 2.3.3 音乐信号的抽取.................................................................... 错误!未定义书签。 2.3.4 音乐信号的AM调制.............................................................. 错误!未定义书签。 2.3.5 AM调制音乐信号的同步解调............................................... 错误!未定义书签。 2.4系统设计流程图................................................................................. 错误!未定义书签。 3 语音信号处理基本知识................................................................................ 错误!未定义书签。 3.1语音的录入与打开............................................................................. 错误!未定义书签。 3.2采样位数和采样频率......................................................................... 错误!未定义书签。 3.3时域信号的FFT分析......................................................................... 错误!未定义书签。 3.4切比雪夫滤波器................................................................................. 错误!未定义书签。 3.5数字滤波器设计原理......................................................................... 错误!未定义书签。 4 语音信号实例处理设计................................................................................ 错误!未定义书签。 4.1语音信号的采集................................................................................. 错误!未定义书签。

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计 摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。 关键词:Matlab,语音信号,傅里叶变换,滤波器 1课程设计的目的和意义 本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的: 1.1.了解Matlab软件的特点和使用方法。 1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法; 1.3.掌握数字滤波器的设计方法及应用。 1.4.了解语音信号的特性及分析方法。 1.5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 2 设计任务及技术指标 设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,

利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是: 2.1.采集语音信号。 2.2.对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。 2.3.针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。 2.4.对噪声滤除前后的语音进行时频域分析。 2.5.对语音信号进行重采样,回放并与原始信号进行比较。 2.6.对语音信号部分时域参数进行提取。 2.7.设计图形用户界面(包含以上功能)。 3 设计方案论证 3.1语音信号的采集 使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。 3.2语音信号的处理 语音信号的处理主要包括信号的提取播放、信号的重采样、信号加入噪声、信号的傅里叶变换和滤波等,以及GUI图形用户界面设计。 Ⅰ.语音信号的时域分析 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法。 Ⅱ.语音信号的频域分析 信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更

MATLAB仿真教程

一、设计目的 通过运用MATLAB对函数进行Z域分析和单边带信号的调制与解调,使我们进一步加深对MATLAB的认识和运用,以实现以下目的: 1.本次试验进一步熟悉了MATLAB软件的使用方法及相关的操作。 2.对Z变换及其反变换函数在MATLAB中的调用有了掌握。 3.理论与实际的仿真相结合,更直观的看到结果。 4.观察了单边带信号调制与解调后的图像,加深认识。 二、设计原理 MATLAB是The MathWorks公司在1984年推出的一种商品化软件,它提供了大量丰富的应用函数,并且具有扩充的开放性结构。目前,该软件包涵盖了控制系统应用、数字信号处理、数字图像处理、通讯、神经网络、小波理论分析、优化与统计、偏微分方程、动态系统实时仿真等多学科专业领域。 其中单边带调制信号是将双边带信号中的一个边带滤掉而形成的。根据方法的不同,产生单边带调制信号的方法有:滤波和相移法。 由于滤波法在技术上比较难实现所以在此我们将用相移法对单边带调制与解调系统进行讨论与设计。 三、设计内容和MATLAB图像

1、数字系统的响应 源代码如下: b=[0 1 2 1 0]; a=[1 -0.5 0 0.3 -0.005]; subplot(421);zplane(b,a); title('系统的零极点图'); subplot(422);impz(b,a,21); title('单位脉冲响应'); subplot(423);stepz(b,a,21); title('单位阶跃响应');

N=21;n=0:N-1; x=exp(-n); x0=zeros(1,N); y0=[1,-1]; xi=filtic(b,a,y0); y1=filter(b,a,x0,xi); xi0=filtic(b,a,0); y2=filter(b,a,x,xi0); y3=filter(b,a,x,xi); [h w]=freqz(b,a,21); subplot(424);stem(n,y1); title('零输入响应');grid on; subplot(425);stem(n,y2); title('零状态响应');grid on; subplot(426);stem(n,y3); title('系统的全响应');grid on; subplot(427);plot(w,abs(h)); title('幅频特性曲线');grid on; subplot(428);plot(w,angle(h)); title('相频特性曲线');grid on;

直流电动机的MATLAB仿真..

第一章课程设计内容及要求 1. 直流电动机的机械特性仿真; 2. 直流电动机的直接起动仿真; 3. 直流电动机电枢串联电阻启动仿真; 4. 直流电动机能耗制动仿真; 5.直流电动机反接制动仿真; 6. 直流电动机改变电枢电压调速仿真; 7. 直流电动机改变励磁电流调速仿真。 要求:编写M文件,在Simulink环境画仿真模型原理图,用二维画图命令画仿真结果图或用示波器观察仿真结果,并加以分析

第二章直流电动机的电力拖动仿真绘制 1)直流电动机的机械特性仿真 clear; U_N=220;P_N=22;I_N=115; n_N=1500;R_a=;R_f=628; Ia_N=I_N-U_N/R_f; C_EPhi_N=(U_N-R_a*Ia_N)/n_N; C_TPhi_N=*C_EPhi_N; Ia=0;Ia_N; n=U_N/C_EPhi_N-R_a/(C_EPhi_N)*Ia; Te=C_TPhi_N*Ia; P1=U_N*Ia+U_N*U_N/R_f; T2_N=9550*P_N/n_N; figure(1); plot(Te,n,'.-'); xlabel('电磁转矩Te/'); ylabel('转矩n/rpm'); ylim([0,1800]); figure(2); plot(Te,n,'rs'); xlabel('电磁转矩Te/'); ylabel('转矩n/rpm');

hold on; R_c=0; for coef=1:;; U=U_N*coef; n=U/C_EPhi_N-(R_a+R_c)/(C_EPhi_N*C_TPhi_N)*Te; plot(Te,n,'k-'); str=strcat('U=',num2str(U),'V'); s_y=1650*coef; text(50,s_y,str); end figure(3); n=U_N/C_EPhi_N-(R_a+R_c)/(C_EPhi_N*C_TPhi_N)*Te; plot(Te,n,'rs'); xlabel('电磁转矩Te/'); ylabel('转矩n/rpm'); hold on; U=U_N;R_c=; for R_c=0::; n=U/C_EPhi_N-(R_a+R_c)/(C_EPhi_N*C_TPhi_N)*Te; plot(Te,n,'k-'); str=strcat('R=',num2str(R_c+R_a),'\Omega'); s_y=400*(4-R_c*; text(120,s_y,str);

基于MATLAB的语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号: 指导老师:

一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,

是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(…A?); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

语音信号处理matlab实现

短时能量分析matlab源程序: x=wavread('4.wav'); %计算N=50,帧移=50时的语音能量 s=fra(50,50,x);%对输入的语音信号进行分帧,其中帧长50,帧移50 s2=s.^2;%一帧内各种点的能量 energy=sum(s2,2);%求一帧能量 subplot(2,2,1); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=50'); axis([0,500,0,30]) %计算N=100,帧移=100时的语音能量 s=fra(100,100,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,2); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=100'); axis([0,300,0,30]) %计算N=400,帧移=400时的语音能量 s=fra(400,400,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,3); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=400'); axis([0,60,0,100]) %计算N=800,帧移=800时的语音能量 s=fra(800,800,x); s2=s.^2; energy=sum(s2,2); subplot(2,2,4); plot(energy) xlabel('帧数'); ylabel('短时能量E'); legend('N=800'); axis([0,30,0,200]) 分帧子函数: function f=fra(len,inc,x) %对读入语音分帧,len为帧长,inc为帧重叠样点数,x为输入语音数据 fh=fix(((size(x,1)-len)/inc)+1);%计算帧数 f=zeros(fh,len);%设一个零矩阵,行为帧数,列为帧长 i=1;n=1; while i<=fh %帧间循环 j=1; while j<=len %帧内循环 f(i,j)=x(n); j=j+1;n=n+1; end n=n-len+inc;%下一帧开始位置 i=i+1; end

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

基于MATLAB的有噪声语音信号处理毕设

大学本科毕业设计论文 基于MATLAB的有噪声语音信号处理

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB 有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词?数字滤波器;MATLAB;窗函数法;巴特沃斯; 切比雪夫; 双线性变换

Abstract ?Filterdesignin digital signal processingplaysan extre melyimportant role, FIR digital filters and IIR filter is an importan tpart of filter design.Matlab is powerful,easy to learn,programming efficiency,which was welcomed bythemajority ofsc ientists. Matlab alsohas a particular signalanalysis toolbox,it need nothave strongprogrammingskills can be easily signal analysis, processing and design. Using MATLAB Signal Processing Toolbox can quickly andefficiently design avarietyof digitalfilters. MATLAB basedon the noise issuespeech signal processing design and implementation of digital signalprocessing integrated use of the theoretical knowledge ofthe speechsignal plus noise, time domain, frequencydomainanalysis andfiltering. Thecorrespondingresults obtainedthroughtheoreticalderivation, and then use MATLAB as a programming toolfor computer implementation.Implemented inthe design process,usingthewindow function methodtodesign FIR digital filters with Butterworth, Chebyshev andbilinear Reform IIR digital filter design and use ofMATLAB as asupplementary tool to complete thecalculation and graphic design Drawing. Throughthesimulation of thedesigned filter and the frequency analysis shows thatusingMatlabSignal Processing Toolbox can quickly and easily design digital filters FIR andIIR,the processis simple and convenient, the results of the performance indicators to meetthe specifiedrequirements. ? Keywords: digital filter; MATLAB;Chebyshev;Butterworth;

matlab电力电子仿真教程

MATLAB在电力电子技术中的应用 目录 MATLAB在电力电子技术中的应用 (1) MATLAB in power electronics application (2) 目录 (4) 1绪论 (6) 1.1关于MATLAB软件 (6) 1.1.1MATLAB软件是什么 (6) 1.1.2MATLAB软件的特点和基本操作窗口 (7) 1.1.3MATLAB软件的基本操作方法 (10) 1.2电力电子技术 (12) 1.3MATLAB和电力电子技术 (13) 1.4本文完成的主要内容 (14) 2MATLAB软件在电路中的应用 (15) 2.1基本电气元件 (15) 2.1.1基本电气元件简介 (15) 2.1.2如何调用基本电器元件功能模块 (17) 2.2如何简化电路的仿真模型 (19) 2.3基本电路设计方法 (19) 2.3.1电源功能模块 (19) 2.3.2典型电路设计方法 (20) 2.4常用电路设计法 (21) 2.4.1ELEMENTS模块库 (21) 2.4.2POWER ELECTRONICS模块库 (22) 2.5MATLAB中电路的数学描述法 (22) 3电力电子变流的仿真 (25) 3.1实验的意义 (25) 3.2交流-直流变流器 (25)

3.2.1单相桥式全控整流电路仿真 (26) 3.2.2三相桥式全控整流电路仿真 (38) 3.3三相交流调压器 (53) 3.3.1无中线星形联结三相交流调压器 (53) 3.3.2支路控制三角形联结三相交流调压器 (59) 3.4交流-交流变频电路仿真 (64) 3.5矩阵式整流器的仿真 (67)

基于matlab的语音信号处理程序

wavefile='a.wav'; [y,fs,nbits]=wavread(wavefile);%读取信号,采样率和采样位数[10000,19999] sound(y,fs,nbits) fs %采样频率这里每秒22050,发现采样频率为音频信号的典型值22050Hz nbits Y=fft(y,1024);%数据点数 whos y figure(1), subplot(2,1,1),plot(y);title('原始信号波形');grid on subplot(2,1,2),plot(abs(Y));title('原始信号频谱'); grid on%横坐标频率,纵坐标振幅%subplot(3,1,3),plot(angle(Y));title('原始信号相位');grid on %双线性变换法设计的低通滤波器 fp=1000;%fp为通带频率 fc=1200;%fc为阻带起始频率 As=100;%As-阻带最小衰减(dB); Ap=1;%Ap-通带波纹(dB); fs1=fs; wp=2*fp/fs1;%wp-椭圆滤波器通带截止角频率; wc=2*fc/fs1;%Ws-椭圆滤波器阻带起始角频率; [n,wn]=ellipord(wp,wc,Ap,As); %n-椭圆滤波器最小阶数; [b,a]=ellip(n,Ap,As,wn);%返回长度为n+1的滤波器系数行向量b和a, b为分子a 为分母 figure(2),freqz(b,a,512,fs1); %数字滤波器的频率响应函数,512表示选取单位圆的上半圆等间距的N个点作为频响输出; x=filter(b,a,y);%一维数字滤波器,y2为滤波前输入,x为滤波结果序列 X=fft(x,1024); figure(3), subplot(2,1,1),plot(x);title('低通滤波后信号波形');grid on subplot(2,1,2),plot(abs(X));title('低通滤波后信号频谱');grid on sound(x,fs); %分析图形,比较滤波前后时域波形和频域频谱。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %短时能量 y=y*2^nbits/2; frameSize=256; overlap=128; %[y,fs,nbits]=wavReadInt(wavefile); fprintf('length of %s is %g sec.\n',wavefile,length(y)/fs);

基于MATLAB的脑电信号处理

南京航空航天大学基于Matlab的脑电信号处理 姓名陆想想 专业领域生物医学工程 课程名称数字信号处理 二О一三年四月

摘要:脑电信号属于非平稳随机信号,且易受到各种噪声干扰。本文基于Matlab仿真系统,主要研究了小波变换在脑电信号处理方面的应用,包括小波变换自动阈值去噪处理、强制去噪处理,以α波为例,提取小波分解得到的各层频率段的信号,并做了一定的分析和评价。关键词:脑电信号;小波变换;去噪重构;频谱分析 0引言 脑电信号EEG(Electroencephalograph)是人体一种基本生理信号,蕴涵着丰富的生理、心理及病理信息,脑电信号的分析及处理无论是在临床上对一些脑疾病的诊断和治疗,还是在脑认知科学研究领域都是十分重要的。由于脑电信号的非平稳性且极易受到各种噪声干扰,特别是工频干扰。因此消除原始脑电数据中的噪声,更好地获取反映大脑活动和状态的有用信息是进行脑电分析的一个重要前提。本文的研究目的是利用脑电采集仪器获得的脑电信号,利用Fourier变换、小波变换等方法对脑电信号进行分析处理,以提取脑电信号α波的“梭形”节律,并对脑电信号进行功率谱分析和去噪重构。 1实验原理和方法 1.1实验原理 1.1.1脑电信号 根据频率和振幅的不同,可以将脑电波分为4种基本类型[1],即δ波、θ波、α波、β波。4种波形的起源和功能也不相同,如图1所示。 图1脑电图的四种基本波形 α波的频率为8~13Hz,振幅为为20~100μV,它是节律性脑电波中最明显的波,整个皮层均可产生α波。正常成人在清醒、安静、闭目时,波幅呈现有小变大,再由大变小,如此反复进行,形成所谓α节律的“梭形”。每一“梭形”持续时间约为1~2s。当被试者睁眼、警觉、思考问题或接受其他刺激时,α波立即消失而代之以快波,这种现象称之为“α波阻断”。一般

相关文档
最新文档