文档库 最新最全的文档下载
当前位置:文档库 › 基于Matlab软件实现储粮害虫声信号的时频分析

基于Matlab软件实现储粮害虫声信号的时频分析

基于Matlab软件实现储粮害虫声信号的时频分析
基于Matlab软件实现储粮害虫声信号的时频分析

收稿日期:2002202210

基金项目:国家自然科学基金资助项目(39870467)

作者简介:郭敏(1964—

),女,江苏镇江人,陕西师范大学讲师,博士研究生文章编号:100123857(2002)0320062205

基于Matlab 软件实现储粮害虫声信号的时频分析

郭 敏, 尚志远

(陕西师范大学应用声学研究所,陕西西安710062)

摘 要:介绍了一种利用计算机软件实现储粮害虫声信号提取、分析与处理的新方法.声信号被转化为数字信号后,由计算机软件以串行方式采集,利用Matlab 软件实现数字信号处理,对声信号放大,低通滤波器滤除信号中的噪音,从而进行功率谱分析.实验结果表明,该方法准确可行,软件设计灵活,可取代传统的硬件分析方法,降低了检测成本.

关键词:Matlab ;数字信号处理;储粮害虫;声信号

中图分类号:O426.4;O42619 文献标识码:A

粮食储藏期间害虫造成的损失十分严重,据联合国粮农组织调查,全世界粮食收获后由于害虫造成的损失初步估计为10%.为适应粮食生产、保存的需要,我国政府已把发展现代化粮食储藏手段作为优化粮食储藏的重要措施.早期有效地防治害虫,利用储粮害虫的吃食声及爬行声信号检测害虫的发生情况,是近年来发展起来的一种快速、实用的检测储粮害虫的方法.前人常采用的检测方法为:首先提取害虫吃食及爬行的声信号,送放大器将此微弱信号放大;之后送入一个可变带通滤波器滤掉噪音,再送入快速傅里叶变换分析器进行谱分析,进而判断

有无害虫,找出害虫吃食及爬行声信号的频率、幅度[1~4].由于整个检测系统的放大、滤波等过程全由仪器完成,因而存在两个弊端:一是各种分析由仪器实现,增加设备噪音,降低了信噪比,直接影响检测结果的准确性;二是检测系统需要众多仪器设备,成本高.近年来,由于微型计算机技术的迅猛发展,使得检测系统中大多数由仪器实现的功能改由计算机软件实现已成为可能.本文介绍一种由计算机软件编程实现储粮害虫声信号检测及分析的新方法.

1 储粮害虫声信号检测系统

采用日本产TE AC R —61四通道录音机记录多种储粮害虫爬行声,记录的声信号送入数字示波器显示波形,之后被转换为数字信号(A/D 转换),通过其RS —232C 串口与计算机串口相连,实现与计算机的串行通讯.数据以串行方式传输给计算机,编写接口采数程序,串口初始化传输率为4800波特率,无奇偶校验位,1个终止位和8位数据位.示波器每次向计算机传输1000个数据,计算机利用接收程序将接收数据存为数据文件.由Matlab 软件对接收数据进行

第30卷 第3期

陕西师范大学学报(自然科学版)V ol.30 N o.3 2002年9月Journal of Shaanxi N ormal University (Natural Science Edition )Sep.2002 

信号处理,包括信号的再现、放大、滤波、功率谱分析等

[5,6].检测系统框图如图1所示.拾音器→录音机→示波器→计算机图1 检测系统框图

Fig.1 Experimental set 2up

for detection system

2 计算机软件对储粮害虫声信号的分析处理

我们利用Matlab 软件的数字信号处理工具箱进行储粮害虫声信号分析、处理.Matlab 作为一种高性能的科技语言,在数值计算、算法研究、数据分析及工程设计等方面已广泛使用,到目前为止,它已成为国际上最先进的科技应用软件之一.

2.1 声信号再现

Matlab ,最佳的输入方式依赖于用户的数据格式.检测系统将采集的声信号以数据文件格式存入计算机.Matlab 软件使用载入(Load )命令将数据文件读

入其工作区,并在Matlab 工作空间中创建一个与文件名相同的变量[7,8],此变量值即害虫声信

号.这样,数字化后的声信号又转变为模拟形式,显示在计算机屏幕上,供对比用.图2为杂拟谷盗和锯谷盗两种害虫采样声信号的幅值.

图2 杂拟谷盗和锯谷盗爬行声信号

Fig.2 Crawl s ounds of T ribolium con fusum and Oryzaephilus surinamensis

a.杂拟谷盗;

b.锯谷盗

2.2 声信号放大

由于采集的储粮害虫吃食及爬行声信号较微弱,一般多采用低噪音、高增益放大器对信号进行放大处理.利用Matlab 软件进行信号放大,可取代放大器功能.

2.3 声信号滤波处理

受传感器噪音、环境噪音、设备噪音和信号噪声比等方面的限制,需要对声信号进行滤波处理,从混有噪音的信号中提取有用的信号.储粮害虫吃食声及爬行声的频率低于210kH z.本文利用Matlab 软件,设计一个有限长低通数字滤波器(FIR 数字滤波器).由于FIR 数字滤波器的单位冲激响应是有限长的,因此,其系统函数永远稳定,且具有线性相位[9]

.

FIR 数字滤波器单位冲激响应h (n )的系统函数为 第3期郭敏等:基于Matlab 软件实现储粮害虫声信号的时频分析

63 

H (z )=

∑N -1n =0h (n )z -n ,

H (z )对应的频率响应为 H (e j ω

)=∑N -1

n =0h (n )e -j ωn ,0≤n ≤N - 1.

实际中遇到的离散时域信号总是有限长的,因此,不可避免地要遇到数据截短问题,即出现吉布斯效应.选择合适的窗函数,可有效抑制吉布斯效应.通常,可选用的窗函数有Hanning 窗、Hamming 窗、Blackman 窗等.本文在分析时选择Hanning 窗,其窗函数为

ω(n )=121-cos 2πn N -1,0≤n ≤N -1;0,其它n .

低通滤波器截止频率取1.5kHz ,32阶.

2.4 声信号的功率谱分析

对信号分析和处理的目的是要提取或利用信号的特征.信号既可以用时域描述,表示成时间的函数,还可以用频域描述,表示成频率的函数.在许多情况下,信号的频域表示比时域表示更简单,更容易解释和表征,因而便于进行特征分析.

害虫爬行声信号x (t )经采样、保持、A/D 转换等预处理后,转变为数字信号x (n ),对x (n )进行谱分析[10],可识别在时域中看不清楚的某些特征.

x (n )的瞬时频谱为

S xx (k )=FT [ω(n )x (n )],

0

其中ω(n )为Hanning 窗函数,FT []表示离散傅立叶变换,其正变换、逆变换关系为

X (k )=∑N -1n =0x (n )exp -j2πnk N ,

x (n )=1N ∑N -1k =0X (k )exp j2πnk N ,

0

功率谱为

S xx (k )=S xx 3(k )S xx (k )N =|S xx (k )|2N

,其中S xx 3(k )为S xx (k )的共轭复数.这种将S xx (k )的模的平方除以N 求得的功率谱估计称为周期图法,其优点是计算方便.对于固定的数据长度N ,周期图为有偏估计,但当N →∞时,它的期望是真实谱,是趋于无偏的.另外,周期图估计不是一致估计,方差不随N →∞而趋于零.直接的周期图估计平滑性不好,分辨率不高.为改善估计质量,我们采取平滑周期图平均法加以改进,进而使所得功率谱估计渐进无偏并趋于一致估计.

谱分析参数的选择包括3个方面:

(1)采样频率.对于一个确定的信号,在求其频谱之前,必须知道此信号的最高频率,然后根据Nyquist 采样定理确定出采样频率.Nyquist 定理要求采样频率f s 要大于或等于信号最高频率的2倍,一般取3~4倍.否则,将会出现严重的“泄漏”,使频谱失真.笔者测试中害虫爬行64

 陕西师范大学学报(自然科学版)第30卷

声最高频率不超过1.5kH z ,选择采样频率f s =510kH z.

(2)采样点数.FFT 处理的快速性体现在数据长度的采样点数上,即采样点数越多,越能体现FFT 处理的高速性.本文N 取1024.

(3)窗函数.为了减小波形的截短误差,即矩形窗函数引起的Sinc 函数造成的频谱失真,可选用合适的窗函数来加以改善,

本文选用Hanning 窗.

3 实例及结论

利用本文介绍的检测方法,选取两种主要储粮害虫杂拟谷盗和锯谷盗作测试虫种[11],对其爬行声进行分析,提取声信号中生物特征信息.杂拟谷盗成虫体长3~4mm ,扁平,长椭圆形,褐色,有光泽,爬行较慢,一年发生4~5代.成虫喜黑暗,常聚集在粮堆下层或碎屑中,有群集性和假死性,危害禾谷类粮粒、米糠、面粉、干果、干储食品等;锯谷盗成虫体长2~3mm ,扁长椭圆形,深褐色,无光泽,爬行快,一年发生2~5代,成虫寿命可达3a 以上.抗药性较强,主要危害破碎的禾谷类粮粒与碎屑以及粉类、加工品,也危害干果、药材等,食性较杂.

以上两种害虫的形态特征、活动行为、生态适应性、觅食方式等存在较大差异,在体长、体重及爬行速度方面差异尤为明显.在室温20℃时对单头害虫爬行声进行提取,TE AC R —61四通道录音机拾音器上覆膜,试虫置于薄膜上爬行,每种试虫每次处理1只,重复供试虫5只,录其爬行声,同时用耳机监听.经Matlab 软件分析处理杂拟谷盗及锯谷盗两种害虫爬行声功率谱见图

3.由图可见,两种害虫爬行声频率范围主要集中在0~1.5kH z ,属可听声范围,其幅度差异明显.杂拟谷盗较锯谷盗爬行声幅度更大,能量也更大.杂拟谷盗爬行声能量为锯谷盗的10倍左右.造成差异的主要原因是杂拟谷盗比锯谷盗体积和重量都大.

图3 杂拟谷盗和锯谷盗爬行声功率谱

Fig.3 P ower spectra of crawl s ounds of T ribolium con fusum and Oryzaephilus surinamensis

a.杂拟谷盗;

b.锯谷盗

分析表明,采用上述软件编程的方法可实现各种声信号的分析处理,代替传统的硬件实现方法,降低了检测成本,同时提高了检测准确性.

第3期郭敏等:基于Matlab 软件实现储粮害虫声信号的时频分析65 

参考文献:

[1]Shuman D ,C offelt J A ,Vick K W ,et al .Quantitative acoustical detection of larvae feed inside kernels of grain[J ].J

Econ Entom ol ,1993,86(3):933~938.

[2]Shuman D ,Weaver D K,Mankin R W.Quantifying larval in festation with an acoustical sens or array and cluster

analysis of cross 2correlation outputs[J ].Appl Acoust ,1997,50(4):279~296.

[3]Hagstrum D W ,Flinn P W ,Shuman D.Automated m onitoring using acoustical sens ors for insects in farm 2stored wheat

[J ].J Econ Entom ol ,1996,89(1):211~217.

[4]郭敏,尚志远.利用声测报技术检测农产品害虫的新方法[J ].陕西师范大学学报(自然科学版),2001,29

(1):107~112.

[5]楼顺天,李博菡.基于Matlab 的系统分析与设计———信号处理[M].西安:西安电子科技大学出版社,1998.

26~30.

[6]施阳,立俊.Matlab 语言工具箱———T oolbox 实用指南[M].西安:西北工业大学出版社,1998.36~38.

[7]伯晓晨,李涛,刘路.Matlab 工具箱指南(信息工程篇)[M].北京:电子工业出版社,2000.20~26.

[8]Vinay K Ingle ,John G Proakis.Digital signal processing using Matlab[M].Beijing :Publishing H ouse of E lectronics

Industry.1998.

[9]胡广书.数字信号处理理论、算法与实现[M].北京:清华大学出版社,1997.36~40.

[10]A.V.奥本海姆,R.W.谢弗.离散时间信号处理[M].王大海译.北京:科学出版社,1998.28~30.

[11]胡志江.中国农作物病虫图谱(储粮病虫)[M].北京:农业出版社,1979.27~69.

〔责任编辑 强志军〕

Time 2frequency analyze acoustical signals of

pests in stored grain by Matlab

G UO Min ,SH ANG Zhi 2yuan

(Applied Acoustics Institute ,Shaanxi Normal University ,

X i ′an 710062,Shaanxi ,China )

Abstract :This paper introduces a new method to pick 2up ,analyze ,and process the acoustical signals of pests in stored grain by com puter s oftware Matlab.The acoustical signals are translated into digital signals and are collected by com puter series communication m ode.Digital signal processing includes am plifying the acoustical signals ,low 2pass filtering ,and analyzing power spectra.The result of the experiment indicates the method is accurate and feasible.

K ey w ords :Matlab ;digital signal processing ;pest in stored grain ;acoustical signal 66 陕西师范大学学报(自然科学版)第30卷

信号的频谱分析及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音频信号处理实验

实验一MATLAB音频信号处理实验 一、实验目的 1、进一步加深DFT算法原理和基本性质的理解; 2、熟悉FFT算法原理; 3、理解掌握音频信号各参数的意义; 二、实验内容 1、对一个音频信号用FFT进行谱分析; 2、对该音频信号进行放大或衰减; 3、对该音频信号加入噪声与去掉噪声处理 三、实验要求 1.语音信号的读取、存储; 2.语音信号的播放; 3.FFT的MATLAB实现; 4.信号放大(6倍); 5.信号调制、产生高频信号; 6.信号叠加之后产生的带有噪声的语音信号; 7.绘制信号图像(时域与频域图像),包括原始信号图像,以及带有噪声的语音信号。 四、实验结果及代码 [S1,fs,bits]=wavread('C:\Users\1\Desktop\实验\handel.wav'); wavwrite(S1,'copy.wav'); F=fft(S1); S1=S1*6; fc=1000; y1=modulate(S1,fc,fs,'fm'); Y1=fft(y1,40000); y2=S1+y1; Y2=fft(y2,40000); figure(1); subplot(221); plot(S1); title('原始的信号时域图'); subplot(222); plot(abs(F));

title('原始的信号频域图'); subplot(223); plot(y1); title('调制后信号时域图'); subplot(224); plot(abs(Y1)); title('调制后信号频域图'); figure(2) subplot(221); plot(y2); title('加噪的信号时域图'); subplot(222); plot(abs(Y2)); title('加噪的信号频域图'); 运行结果如下图1-1 图1-1 五、实验总结 通过本次实验学习了如何使用MATLAB对音频信号进行处理。包括语音信号

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基本实验

《信号与系统MATLAB实践》第一次上机作业 实验一、熟悉MATLAB基本操作 三、基本序列运算 1.数组的加减乘除和乘方运算 A=[1 2 3]; B=[4 5 6]; C=A+B; D=A-B; E=A.*B; F=A./B; G=A.^B; subplot(2,4,1);stem(A) subplot(2,4,2);stem(B) subplot(2,4,3);stem(C) subplot(2,4,4);stem(D) subplot(2,4,5);stem(E) subplot(2,4,6);stem(F) subplot(2,4,7);stem(G) 2.绘制函数波形 (1)t=0:0.001:10

x=3-exp(-t); plot(t,x) ylabel('f(t)'); xlabel('t'); title('(1)'); (2)t=0:0.001:10 x=5*exp(-t)+3*exp(-2*t); plot(t,x) ylabel('f(t)'); xlabel('t'); title('(2)');

(3)t=0:0.001:3 x=exp(-t).*sin(2*pi*t); plot(t,x) ylabel('f(t)'); xlabel('t'); title('(3)'); (4)t=0:0.001:3 x=sin(3*t)./(3*t);

plot(t,x) ylabel('f(t)'); xlabel('t'); title('(4)'); (5)k=1:1:6 x=(-2).^(-k); stem(k) xlabel('k'); ylabel('f(k)'); title('(5)');

基于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的语音信号滤波处理

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

Matlab语音信号加噪、滤波处理及幅值幅频响应

课程设计二 基于MATLAB的语音信号采集与处理 一、实验目的和意义 1. MATLAB软件功能简介 MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。 MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。2. 本题目的意义 本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB 的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。 二、实验原理:

信号与系统 matlab答案

M2-3 (1) function yt=x(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); (2)function yt=x (t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); t=0:0.001:6; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)') axis([0,6,-2,3]) subplot(3,1,2) plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([0,11,-2,3]) subplot(3,1,3) plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,5,-2,3]) 图像为:

M2-5 (3) function y=un(k) y=(k>=0) untiled3.m k=[-2:10] xk=10*(0.5).^k.*un(k); stem(k,xk) title('x[k]') axis([-3,12,0,11])

M2-5 (6) k=[-10:10] xk=5*(0.8).^k.*cos((0.9)*pi*k) stem(k,xk) title('x[k]') grid on M2-7 A=1; t=-5:0.001:5; w0=6*pi; xt=A*cos(w0*t); plot(t,xt) hold on A=1; k=-5:5; w0=6*pi; xk=A*cos(w0*0.1*k); stem(k,xk) axis([-5.5,5.5,-1.2,1.2]) title('x1=cos(6*pi*t)&x1[k]')

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的语音信号采集与处理

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

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

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

基于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的语音信号滤波处理学院:物理与电子信息工程 专业:电子信息工程 班级: B07073041 学号: 200932000066 姓名:高珊 指导教师:任先平

摘要: 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。再在Matlab中分别设计不同形式的FIR数字滤波器。之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。

目录 1.设计内容 (4) 2.设计原理 (4) 2.1语音信号的时域分析 (4) 2.2语音信号的频域分析 (5) 3.设计过程 (5) 3.1实验程序源代码 (6) 3.1.1原语音信号时域、频域图 (6) 3.1.2低通滤波器的设计 (6) 3.1.3高通滤波器的设计 (7) 3.1.4带通滤波器的设计 (8) 3.1.5语音信号的回放 (9) 3.2调试结果描述 (10) 3.3所遇问题及结果分析 (15) 3.3.1所遇主要问题 (16) 3.3.2结果分析 (16) 4.体会与收获 (17) 5.参考文献 (17)

信号与系统作业

实验一常用连续时间信号的实现 一、实验目的 (1)了解连续时间信号的特点; (2)掌握连续时间信号表示的向量法和符号法; (3)熟悉MA TLABPlot函数等的应用。 二、涉及的MATLAB函数 1.plot函数 功能:在X轴和Y轴方向都按线性比例绘制成二维图形。 2.ezplot函数 功能:绘制符号函数在一定范围内的二维图形,简易绘制函数曲线。 3.Sym函数 功能:定义信号为符号变量。 4.subplot函数 功能:产生多个绘图区间。 三、实验内容与方法 1.正弦交流信号f(t)=sin(ωt+φ) (1)符号推理法生成正弦交流信号。 MATLAB程序:. t=-0:0.001:1; f=sym('sin(2*pi*t)'); ezplot(f,[0,1]); xlabel('时间(t)'); ylabei('幅值(f)'); title(‘正弦交流信号'); 用符号法生成的正弦交流信号如图所示:

(2)数值法生成正弦交流信号。 MATLAB程序:. t=-0:0.001:1; y=sin(2*pi*t); plot(t,y,'k'); xlabel('时间(t)'); ylabei('幅值(f)'); title('正弦交流信号'); 用数值法生成的正弦交流信号如图所示: 2.单边衰减指数信号. MATLAB程序: t1=-1;t2=10;dt=0.1; t=t1:dt:t2; A1=1; %斜率 a1=0.5; %斜率 n=A1*exp(-a1*t); plot(t,n); axis([t1,t2,0,1]); xlabel('时间(t)'); ylabel('幅值(f)'); title('单边衰减指数信号'); 用数值法生成的单边衰减指数信号如图所示:

信号分析与处理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源程序: 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作业.

(1) t=-2:0.001:4; T=2; xt=rectpuls(t-1,T); plot(t,xt) axis([-2,4,-0.5,1.5]) 图象为: (2) t=sym('t'); y=Heaviside(t); ezplot(y,[-1,1]); grid on axis([-1 1 -0.1 1.1]) 图象为:

A=10;a=-1;B=5;b=-2; t=0:0.001:10; xt=A*exp(a*t)-B*exp(b*t); plot(t,xt) 图象为: (4) t=sym('t'); y=t*Heaviside(t); ezplot(y,[-1,3]); grid on axis([-1 3 -0.1 3.1]) 图象为:

A=2;w0=10*pi;phi=pi/6; t=0:0.001:0.5; xt=abs(A*sin(w0*t+phi)); plot(t,xt) 图象为: (6) A=1;w0=1;B=1;w1=2*pi; t=0:0.001:20; xt=A*cos(w0*t)+B*sin(w1*t); plot(t,xt) 图象为:

A=4;a=-0.5;w0=2*pi; t=0:0.001:10; xt=A*exp(a*t).*cos(w0*t); plot(t,xt) 图象为: (8) w0=30; t=-15:0.001:15; xt=cos(w0*t).*sinc(t/pi); plot(t,xt) axis([-15,15,-1.1,1.1]) 图象为:

(1)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); (2)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); t=0:0.001:6; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)') axis([0,6,-2,3]) subplot(3,1,2) plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([0,11,-2,3]) subplot(3,1,3) plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,5,-2,3]) 图像为:

基于matlab的信号分析与处理

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

目录 摘要 (Ⅰ) 1 设计目的和要求 (1) 2 设计原理 (2) 3 设计内容 (3) 3.1 程序源代码 (4) 3.2 调试分析与过程描述 (7) 3.3 结果分析 (12) 总结 (13) 致谢 (14) 参考文献 (15)

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

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

相关文档
相关文档 最新文档