MATLAB地语音信号频谱分析报告

合集下载

基于MATLAB语音信号频谱分析

基于MATLAB语音信号频谱分析

基于MATLAB语音信号频谱分析-语谱图(2012-03-01 15:48:00)转载▼分类:信号处理标签:语音信号语谱图频谱分析matlab杂谈目前已经有成熟的MATLAB程序(参考文献1)进行语音信号的频谱分析,但是该程序中对信号分帧的部分采用的算法有一些复杂,为了更方便大家理解,降低编程的难度,我利用标准的语音工具箱voicebox中的enframe分帧命令替换了原来的程序。

我的程序如下:首先,编写一个频谱分析的函数,其中Winsiz: 定义帧长, 一般应取2 的幂次, 其目的是适合FFT 的要求。

通过对Winsiz的选值可实现宽带频谱或窄带频谱的选择。

Shift: 定义帧移值。

一般此值小于或等于Winsiz。

Shift 值越小, 时域分辨率越高。

Base: 基准电平值。

注意, 此值的设定需根据实际经验, 可以通过在多次运行此程序中给出不同的Base 值, 观察所获得的频谱图的视觉和分辨率效果, 选择一个合适的Base 值, 如果没有特别要求, 可取默认值Base=0。

Mode: 定义显示模式。

1 伪彩色映射, 0 为灰度映射function sogram1(Winsiz,Shift,Base,Mode,Gray);[x,Fs]=wavread('npu.wav');n=fix((length(x)-Winsiz)/Shift)+1;A=zeros(1+Winsiz/2,n);s=enframe(x,Winsiz,Shift);fori=1:nz=fft(s(i,:));z=z(1:(Winsiz/2)+1);z=z.*conj(z);z=10*log10(z);A(:,i)=z;endL0=(A>Base);L1=(A<Base);B=A.*L0 +Base*L1;L=(B- Base)./(max(max(B))- Base);y=[0:Winsiz/2]*Fs/Winsiz;x=[0:n-1]*Shift;if Mode==1colormap('jet' );elsemymode =gray;mymode =mymode (Gray: - 1:1,:);colormap(mymode);endimagesc(x,y,L);axisxy;然后,编写主程序,输入相应的参数,得到语谱图:close all;sogram1(2048,128,0,1,64);文献中得程序得到的语谱图如图一所示:图-1修改后得到语谱图如图2图-2可以明显看出,改进后的程序更加清晰,且能够分析出更加细微的高频成分。

matlab 信号 频谱分析实验报告

matlab 信号 频谱分析实验报告

matlab 信号频谱分析实验报告实验背景:信号频谱分析是一种通过将信号在频域上进行分解和分析的方法,用于研究信号的频率成分和频率特性。

Matlab是一种常用的科学计算软件,拥有强大的信号处理和频谱分析功能。

本实验旨在通过使用Matlab对信号进行频谱分析,探索信号的频率特性。

实验目的:1. 了解信号频谱分析的基本概念和方法;2. 掌握Matlab中信号频谱分析的基本操作;3. 分析不同类型信号的频谱特性。

实验步骤:1. 生成信号:首先,我们需要生成一个待分析的信号。

可以选择不同类型的信号,如正弦信号、方波信号或噪声信号。

在Matlab中,可以使用相关函数生成这些信号。

2. 绘制时域图:使用Matlab绘制生成的信号的时域图。

时域图展示了信号在时间上的变化情况,可以帮助我们对信号有一个直观的了解。

3. 进行频谱分析:使用Matlab中的傅里叶变换函数对信号进行频谱分析。

傅里叶变换可以将信号从时域转换到频域,得到信号的频谱图。

频谱图展示了信号在不同频率上的能量分布情况。

4. 绘制频谱图:使用Matlab绘制信号的频谱图。

频谱图可以帮助我们观察信号的频率成分和频率特性。

可以选择使用不同的频谱分析方法,如快速傅里叶变换(FFT)或功率谱密度估计(PSD)。

5. 分析频谱特性:观察频谱图,分析信号的频率成分和频率特性。

可以计算信号的主要频率分量,如峰值频率或频率范围。

还可以计算信号的能量分布情况,了解信号在不同频率上的能量分布情况。

实验结果与讨论:通过对不同类型信号进行频谱分析实验,我们可以得到以下结果和讨论:1. 正弦信号的频谱特性:正弦信号在频谱上只有一个频率成分,即信号的频率。

通过频谱分析,我们可以准确地确定正弦信号的频率。

2. 方波信号的频谱特性:方波信号在频谱上存在多个频率成分,主要包括基波频率和谐波频率。

通过频谱分析,我们可以观察到方波信号频谱上的多个峰值。

3. 噪声信号的频谱特性:噪声信号在频谱上呈现较为均匀的能量分布,没有明显的峰值。

基于MATLAB的语音信号分析与处理的实验报告

基于MATLAB的语音信号分析与处理的实验报告

基于MA TLAB的语音信号分析与处理的实验报告数字信号课程设计,屌丝们有福了一.实验目的数字信号课程设计,屌丝们有福了综合计运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。

并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。

此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。

二.实验的基本要求数字信号课程设计,屌丝们有福了1.进一步学习和巩固MATLAB的使用,掌握MATLAB的程序设计方法。

2.掌握在windows环境下语音信号采集的方法。

3.掌握数字信号处理的基本概念、基本理论、原理和基本方法。

4.掌握MATLAB设计FIR和IIR数字滤波器的方法。

5.学会用MATLAB对信号进行分析和处理。

三.实验内容录制一段自己的语音信号,(语音信号声音可以理解成由振幅和相位随时间缓慢变化的正弦波构成。

人的听觉对声音的感觉特征主要包含在振幅信息中,相位信息一般不起作用。

在研究声音的性质时,往往把时域信息(波形图)变换得到它的频域信息(频谱),通过研究频谱和与频谱相关联的特征获得声音的特性。

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

数字信号课程设计,屌丝们有福了四.实验的实现(1).语音信号的采集采用windows下的录音机或者手机、其他的软件,录制一段自己的话音,时间控制在一分钟左右;然后在MATLAB软件平台下,利用函数wavread对自己的话音进行采样,记住采样的频率和采样的点数。

matlab对语音信号的频谱分析及滤波资料

matlab对语音信号的频谱分析及滤波资料

一.综合实验题目应用MatLab对语音信号进行频谱分析及滤波二.主要内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;课程设计应完成的工作:1、语音信号的采集;2、语音信号的频谱分析;3、数字滤波器的设计;4、对语音信号进行滤波处理;5、对滤波前后的语音信号频谱进行对比分析;三.具体要求1、学生能够根据设计内容积极主动查找相关资料;2、滤波器的性能指标可以根据实际情况作调整;3、对设计结果进行独立思考和分析;4、设计完成后,要提交相关的文档;1)课程设计报告书(纸质和电子版各一份,具体格式参照学校课程设计管理规定),报告内容要涵盖设计题目、设计任务、详细的设计过程、原理说明、频谱图的分析、调试总结、心得体会、参考文献(在报告中参考文献要做标注,不少于5篇)。

2)可运行的源程序代码(电子版)四.进度安排在基本要求的基础上,学生可根据个人对该课程设计的理解,添加一些新的内容。

五.成绩评定(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。

迟到15分钟按旷课处理(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。

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

课程设计成绩=平时成绩(30%)+设计成绩(30%)+设计报告成绩(40%)目录第一节实验任务 (3)第二节实验原理 (3)2.1 采样频率、位数及采样定理 (3)2.2 时域信号的FFT分析 (4)2.3 IIR数字滤波器设计原理 (4)2.4 FIR数字滤波器设计原理 (4)第三节实验过程 (5)3.1原始语音信号采样后的时域、频域分析 (5)3.2采样后信号的FFT变换分析 (7)3.3双线性变换法设计IIR数字滤波器 (8)3.4窗函数法设计FIR数字滤波器 (11)第四节心得体会 (14)第五节参考文献 (15)应用MatLab对语音信号进行频谱分析及滤波第一节实验任务录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。

matlab 信号 频谱分析实验报告

matlab 信号 频谱分析实验报告

matlab 信号频谱分析实验报告《Matlab 信号频谱分析实验报告》实验目的:通过Matlab软件对信号进行频谱分析,了解信号的频谱特性,并掌握频谱分析的基本方法。

实验原理:信号的频谱分析是指将信号在频域上进行分析,得到信号的频谱特性。

频谱分析可以帮助我们了解信号的频率成分,频率分布情况,以及信号的频谱密度等信息。

在Matlab中,可以使用fft函数对信号进行频谱分析,得到信号的频谱图像。

实验步骤:1. 生成信号:首先在Matlab中生成一个信号,可以是正弦信号、方波信号或者任意复杂的信号。

2. 采样信号:对生成的信号进行采样,得到离散的信号序列。

3. 频谱分析:使用fft函数对采样的信号进行频谱分析,得到信号的频谱特性。

4. 绘制频谱图像:将频谱分析得到的结果绘制成频谱图像,观察信号的频谱分布情况。

实验结果分析:通过频谱分析,我们可以得到信号的频谱图像,从图像中可以清晰地看出信号的频率成分,频率分布情况,以及信号的频谱密度等信息。

通过对信号频谱图像的观察和分析,可以更好地了解信号的频谱特性,为后续的信号处理和分析提供参考。

实验结论:通过本次实验,我们成功使用Matlab对信号进行了频谱分析,得到了信号的频谱特性,并且掌握了频谱分析的基本方法。

频谱分析是信号处理和分析的重要工具,对于理解信号的频率特性和频率分布情况具有重要意义。

希望通过本次实验,能够对信号的频谱分析有更深入的了解,并且能够在实际工程中应用到相关领域。

通过本次实验,我们对Matlab信号频谱分析有了更深入的了解,对信号处理和分析有了更深入的认识,也为我们今后的学习和工作提供了更多的帮助。

希望通过不断地实践和学习,能够更加深入地掌握信号频谱分析的相关知识,为实际工程应用提供更多的帮助。

利用MATLAB软件对音频信号进行频谱分析与处理

利用MATLAB软件对音频信号进行频谱分析与处理

利用MATLAB软件对音频信号进行频谱分析与处理一、简介频谱分析是通过对信号的频率成分进行分析,它允许我们了解信号的特性,计算信号的能量分布,同时还可以用来定位造成干扰的频率组件,以及检测和分析信号的变化。

MATLAB是一种编程语言和科学计算软件,它可以非常便捷地实现对音频信号的频谱分析和处理。

二、实现方法1.导入音频信号在使用MATLAB进行频谱分析时,首先需要先将音频信号导入MATLAB环境中。

可以使用audioplayer和audioread函数来完成这一步骤,示例代码如下:[audioData, fs] = audioread(‘AudioFile.wav’);player = audioplayer(audioData, fs);play(player);其中audioData表示从wav文件中读取的音频数据,fs表示采样率,player表示存储audioData和fs的audioplayer实例,play函数可以播放音频文件。

2.信号预处理针对所记录的音频信号,需要进行一些基本的信号处理操作,包括去噪、均衡、时域平均等。

去噪可以用MATLAB内置的函数完成,例如:audioData_NoiseRemoved = denoise(audioData,‘meanspectrum’);均衡是指将频谱的一些区域调整到更好的水平,可以用equalizer函数实现:audioData_Equalized = equalizer(audioData, ‘bandwidth’, 0.2);时域平均则可以使用conv函数实现:audioData_Meaned = conv(audioData, [1/N 1/N ... 1/N]);3.频谱分析频谱分析的主要工作是计算信号的谱密度,也就是每一个频率分量的能量。

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

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

数字信号处理课程设计报告书应用Matlab对语音信号进行频谱分析及滤波题目:应用Matlab 对语音信号进行频谱分析及滤波一、课程设计内容录制一段个人自己的语音信号,画出此语音信号的时域波形和频谱图;给定滤波器的性能指标,设计IIR 和FIR 滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。

二、课程设计目的1、进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;2、增强应用Mat lab 语言编写数字信号处理的应用程序及分析、解决实际问题的能力。

三、设计内容及步骤1、语音信号的采集利用matlab 的内置函数,设计一个录音器,录制一段自己的话音,时间在1s 内。

然后在Matlab 软件平台下,利用函数w avread 提取录制的语音信号,记住采样频率和采样点数。

说明:由于录音程序录制后用w avwrite 和w avrec ord 时一直出现错误,无法运行,在这里用[filen ame,filepath]=uig etfile('.w av','Open w av file'); [y,fs,nbits]=w avread([filepath,filen ame]);格式打开本地一个已录制好的w av 文件进行分析。

2 、语音信号的频谱分析首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。

3、设计数字滤波器和画出其频率响应用窗函数法和双线性变换法设计下面要求的3种滤波器。

(1)低通滤波器性能指标通带截止频率c f =1000Hz ,阻带截止频率st f =1200 Hz ,通带最大衰减1δ=1dB ,阻带最小衰减2δ=100d B 。

(2)高通滤波器性能指标通带截止频率c f =5000Hz ,阻带截止频率st f =3000 通带衰减1δ≤1dB ,阻带衰减2δ≥100d B 。

matlab 信号 频谱分析实验报告

matlab 信号 频谱分析实验报告

MATLAB 信号频谱分析实验报告实验目的本实验旨在使用MATLAB软件进行信号频谱分析,包括对信号的时域分析和频域分析,以及频谱图的绘制和解读。

实验步骤1. 准备工作在开始实验之前,首先需要安装MATLAB软件,并启动软件。

2. 信号生成在MATLAB的命令窗口中,通过使用信号发生器生成一个信号。

可以选择使用正弦波、方波、三角波等不同类型的信号进行频谱分析。

3. 信号时域分析使用MATLAB的时域分析函数,如plot函数,绘制生成的信号的时域波形图。

plot(t, x);title('信号的时域波形图');xlabel('时间');ylabel('幅值');其中,t表示时间轴上的时间点,x表示生成的信号。

4. 信号频域分析使用MATLAB的频域分析函数,如fft函数,将时域信号转换为频域信号。

X = fft(x);可以通过计算得到信号的频率分量f和幅度谱A。

L = length(x);f = Fs*(0:(L/2))/L;A = abs(X/L);A = A(1:L/2+1);其中,Fs表示信号的采样率。

5. 绘制频谱图使用MATLAB的绘图函数,如plot函数,将频域信号的频谱绘制成图表。

plot(f, A);title('信号的频谱图');xlabel('频率');ylabel('幅值');6. 频谱图解读通过观察频谱图,可以分析信号在不同频率上的能量分布情况。

高幅度的频率分量表示信号在该频率上具有较大的能量,低幅度的频率分量表示信号在该频率上具有较小的能量。

7. 实验总结通过本次实验,我们学习了如何使用MATLAB进行信号的时域分析和频域分析。

时域分析可以帮助我们观察信号在时域上的变化情况,频域分析可以帮助我们了解信号在不同频率上的能量分布情况。

通过绘制频谱图,我们可以直观地观察信号的频谱特征,并进行进一步的信号分析和处理。

基于MATLAB的语音信号的频谱分析报告

基于MATLAB的语音信号的频谱分析报告

数字信号处理结课报告设计题目:基于MATLAB的语音信号的频谱分析姓名:专业班级:学号:成绩:指导教师:日期:2013 年11 月30 日1.课程设计目的综合运用数学信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。

2.理解设计基本要求1)熟悉离散信号和系统的时域特性。

2)熟悉线性卷积和相关的计算编程方法。

3)掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散信号、系统和系统的响应进行频域分析。

4)学会MATLAB的使用,掌握MATLAB的程序设计方法。

5)利用MATLAB对wav文件进行频谱分析。

6)分别用不同的滤波器对加噪语音信号进行滤波,选择最佳滤波器。

3.课程设计内容选择一个wav文件作为分析的对象,或录制一段语音信号,对其进行频谱分析,分别对加噪前后的语音信号进行频谱分析,再通过不同滤波器根据信号的频谱特点重构语音信号,选出最佳滤波方案。

4.课程设计实现步骤(1)语音信号的获取选择一个wav文件作为分析的对象,可以利用Windows下的录音机或其他软件,录制一段自己的话音,在MATLAB中,[y,fs,bits]=wavread('Blip',[N1 N2]);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。

[N1 N2]表示读取的值从N1点到N2点的值。

sound(y);用于对声音的回放。

向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。

下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘出了语音信号时域波形,然后对语音信号进行频谱分析。

在MATLAB中,可以利用函数fft对信号进行快速傅里叶变化,得到信号的频谱特性。

在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻的两点之间的距离为。

基于matlab语音信号频谱分析

基于matlab语音信号频谱分析
3
第三章 图形用户界面设计
3.1 图形用户界面概念
图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用 图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相 比,图形界面对于用户来说更为简便易用。
GUIDE 是 Matlab 提供的图形用户界面开发环境,提供了一系列用于创建图 形用户界面的工具,从而简化界面布局和编程工作。
2
计指标,FIR 滤波器所要求的阶数可以比 IIR 滤波器高 5~10 倍,结果,成本较 高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则 IIR 滤波 器就必须加全通网络进行相位较正,同样要大增加滤波器的节数和复杂性。
整体来看,IIR 滤波器达到同样效果阶数少,延迟小,但是有稳定性问题, 非线性相位;FIR 滤波器没有稳定性问题,线性相位,但阶数多,延迟大
3.2 图形用户界面设计
1.GUI 设计模板 在 MATLAB 主窗口中,选择 File 菜单中的 New 菜单项,再选择其中的 GUI 命令,就会显示图形用户界面的设计模板。 MATLAB 为 GUI 设计一共准备了 4 种模板,分别是 Blank GUI(默认) 、GUI with Uicontrols(带控件对象的 GUI 模板) 、GUI with Axes and Menu(带坐标轴与菜 单的 GUI 模板)与 Modal Question Dialog(带模式问话对话框的 GUI 模板)。 当用户选择不同的模板时,在 GUI 设计模板界面的右边就会显示出与该模板 对应的 GUI 图形。 2.GUI 设计窗口 在 GUI 设计模板中选中一个模板,然后单击 OK 按钮,就会显示 GUI 设计窗 口。选择不同的 GUI 设计模式时,在 GUI 设计窗口中显示的结果是不一样的。 GUI 设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组 成。GUI 设计窗口的菜单栏有 File、Edit、View、Layout、Tools 和 Help 6 个 菜单项,使用其中的命令可以完成图形用户界面的设计操作。 3.GUI 设计窗口的基本操作 在 GUI 设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性

语音信号的频谱分析实验报告

语音信号的频谱分析实验报告

语音信号的频谱分析实验报告1 引言1.1 实验背景及意义随着信息技术的飞速发展,语音信号处理技术在通信、语音识别、音频编辑等领域发挥着越来越重要的作用。

频谱分析作为语音信号处理的核心技术之一,能够揭示语音信号的频率结构,对于理解语音的本质、提升语音处理技术的性能具有重要意义。

本实验旨在通过频谱分析,深入探究语音信号的内在特性,为相关领域的研究提供理论支持和技术参考。

1.2 实验目的本实验的主要目的是掌握语音信号的频谱分析方法,通过实际操作,理解频谱分析的基本原理及其在语音信号处理中的应用。

具体目标包括:1.学习并掌握语音信号的时域与频域表示方法;2.学习并掌握傅里叶变换(FFT)及短时傅里叶变换(STFT)的原理及其在语音信号频谱分析中的应用;3.分析语音信号的频谱特征,为后续的语音识别、降噪等处理提供依据。

1.3 实验方法与工具本实验采用以下方法与工具:1.实验方法:采用对比实验的方法,对原始语音信号及其频谱进行分析,探讨不同参数设置对频谱分析结果的影响。

2.实验工具:使用MATLAB软件进行实验,利用其强大的信号处理功能实现语音信号的采集、处理和频谱分析。

MATLAB具有以下优点:- 丰富的信号处理函数库,方便快速实现各种算法;- 图形化编程环境,便于观察实验结果; - 高度可扩展性,支持自定义函数和工具箱。

2. 语音信号基本概念2.1 语音信号的特性语音信号是人类交流的主要方式之一,它具有以下特性:•时变性:语音信号随着时间变化,其波形不断改变,即使在同一发音人的连续发音中,同一音素的波形也有所不同。

•非周期性:与简单的正弦波等周期性信号不同,语音信号在短时间内是非周期的,具有随机性质。

•频率特性:人的发声器官产生的语音信号主要频率范围在20Hz到4kHz之间,不同语言和方言的频率分布可能有所差异。

•幅度特性:语音信号的幅度变化较大,通常需要通过预处理进行归一化处理,以便于分析。

•短时平稳性:尽管语音信号整体上是非平稳的,但在短时间内(大约20-30ms),可以近似认为是平稳的,这是进行短时傅里叶变换(STFT)的理论基础。

MATLAB的语音信号频谱分析报告

MATLAB的语音信号频谱分析报告

. . . .幅值时间(s )信号波形信号频谱数字角频率幅度123-1-0.500.51幅度时间(s )2:1减抽样信号波形00.51 1.521000200030002:1减抽样信号频谱数字角频率w幅度0.51 1.5幅度时间(s )5:1减抽样信号波形00.51 1.525:1减抽样信号频谱数字角频率w幅度实验一[y,fs,bit]=wavread<'I do'>%读取音乐片段,fs 是采样率 size<y>%求矩阵的行数和列数y1=y<:,1>;%对信号进行分列处理n1=length<y1>;%取y 的长度t1=<0:n1-1>/fs;%设置波形图横坐标 figuresubplot<2,1,1>;plot<t1,y1>; %画出时域波形图 ylabel<'幅值'>; xlabel<'时间〔s'>; title<'信号波形'>;subplot<2,1,2>;Y1=fft<y1>;w1=2/n1*<0:n1-1>;%设置角频率 plot<w1,abs<Y1>>;%画频谱图 title<'信号频谱'>; xlabel<'数字角频率'>; ylabel<'幅度'>; grid on ;sound<y,fs>;实验二[y,fs,bit]=wavread<'I do'> y1=y<:,1>; n1=length<y1>; D=2;%设置抽样间隔 y2=y1<1:D:n1>;%减抽样n2=length<y2>;%减抽样后信号长度 t2=<0:n2-1>/fs;%设置横坐标 figuresubplot<2,2,1>;plot<t2,y2>; %绘制减抽样信号波形图 ylabel<'幅度'>; xlabel<'时间〔s'>;title<'2:1减抽样信号波形'>;Y2=fft<y2>; %对y2进行n2点fft 谱分析 w2=2/n2*[0:n2-1]; subplot<2,2,3>;plot<w2,abs<Y2>>;%绘制减抽样信号频谱图 title<'2:1减抽样信号频谱'>; xlabel<'数字角频率w'>; ylabel<'幅度'>;246-1-0.500.51时间(s)幅度调制后信号246时间(s)幅度调制后信号100020003000数字角频率w幅度调制后信号的频谱(高频率调制)数字角频率w幅度调制后信号的频谱(低频率调制)grid on ;sound<y2,fs/D>; D=5;%设置抽样间隔 y3=y1<1:D:n1>;%减抽样n3=length<y3>;%减抽样后信号长度 t3=<0:n3-1>/fs;%设置横坐标 subplot<2,2,2>;plot<t3,y3>; %绘制减抽样信号波形图 ylabel<'幅度'>; xlabel<'时间〔s'>;title<'5:1减抽样信号波形'>;Y3=fft<y3>; %对y2进行n2点fft 谱分析 w3=2/n3*[0:n3-1]; subplot<2,2,4>;plot<w3,abs<Y3>>;%绘制减抽样信号频谱图 title<'5:1减抽样信号频谱'>; xlabel<'数字角频率w'>; ylabel<'幅度'>; grid on ;sound<y3,fs/D>实验三[y,fs,bit]=wavread<'I do'> y1=y<:,1>; n1=length<y1>; n3=0:n1-1;b1=cos<0.75*pi*n3>;%设置调制信号 b2=cos<0.5*pi*n3>;c1=b1'.*y1;%对原信号进行调制 c2=b2'.*y1; lc1=length<c1>; t=<0:lc1-1>/fs;figure %用载波对信号进行调制,并对其做fft 变换 subplot<2,2,1> %获取频谱,从图中可以观察到,调制后的 plot<t,c1>; %信号频谱发生搬移 xlabel<'时间<s>'>; ylabel<'幅度'>;title<'调制后信号'>;subplot<2,2,2> %获取频谱,从图中可以观察到,调制后的 plot<t,c2>; %信号频谱发生搬移 xlabel<'时间<s>'>; ylabel<'幅度'>;title<'调制后信号'>;w1=2/lc1*[0:lc1-1];%设置角频率W-1-0.50.51音频时间幅度0120200040006000频谱频率/pi 幅度AM 调制音频信号时间幅度12AM 调制频谱频率/pi幅度x 105-1-0.500.51时间幅度AM 解调音频信号012100020003000AM 解调频谱频率/pi幅度C1=fft<c1>; C2=fft<c2>; subplot<2,2,3> plot<w1,abs<C1>>;xlabel<'数字角频率w'>; ylabel<'幅度'>;title<'调制后信号的频谱<高频率调制>'>; grid on ;subplot<2,2,4> plot<w1,abs<C2>>;xlabel<'数字角频率w'>; ylabel<'幅度'>;title<'调制后信号的频谱<低频率调制>'>; grid on ;sound<c1,fs>;实验四clear all ;cla;close all [a,fs,bit]=wavread<'I do'>; y1=a<:,1>;%去单列数据进行分析 f1=fft<y1>; n=length<f1>; tn=<0:n-1>/fs; w=2/n*[0:n-1]; %sound<y1,fs>; figure<1>subplot<2,3,1>;plot<tn,y1>;grid on ;title<'音频'>;xlabel<'时间'>; ylabel<'幅度'>; subplot<2,3,4>;plot<w,abs<f1>>; grid on ; title<'频谱'>; xlabel<'频率/pi'>;ylabel<'幅度'>; t=[0:n-1]; y2=cos<pi*1/2*t>;%载波函数 y3=y1.*y2';%信号调制 ty3=<0:length<y3>-1>/fs; subplot<2,3,2>;plot<ty3,y3>;%绘制调制后信号波形图 grid on ;title<'AM 调制音频信号'>; xlabel<'时间'>;H 低通滤波器波形ylabel<'幅度'>;f3=fft<y3>;n2=length<f3>;w2=2/n2*[0:n2-1];subplot<2,3,5>;plot<w2,abs<f3>>;%绘制调制后信号频谱图grid on;title<'AM调制频谱'>;xlabel<'频率/pi'>;ylabel<'幅度'>;%解调后信号n3=length<y3>t2=0:n3-1;y4=cos<pi*1/2*t2>y5=y3.*y4';%解调后的信号函数subplot<2,3,3>;plot<t2,y5>;grid on;xlabel<'时间'>;ylabel<'幅度'>;title<'AM解调音频信号'>;f5=fft<y5>;w3=2/n3*[0:n3-1];subplot<2,3,6>;plot<w3,abs<f5>>;%绘制解调后信号频谱图grid on;title<'AM解调频谱'>;xlabel<'频率/pi'>;ylabel<'幅度'>;%设计巴特沃斯滤波器进行滤波去噪[N1,wc1]=buttord<0.05,0.17,1,15>;%确定低通滤波器的阶数和截止频率;[b,a]=butter<N1,wc1>;%确定低通滤波器分子分母系数[H,W]=freqz<b,a>;figure<2>plot<W,abs<H>>;%低通滤波器波形xlabel<'w'>;ylabel<'H'>;title<'低通滤波器波形'>;m=filter<b,a,y5>;wavplay<m,fs>;lm=length<m>;%滤波后信号长度tm=<0:lm-1>/fs;%设置横坐标wm=2/lm*[0:lm-1];M=fft<m>;figure<3>subplot<2,1,1>;plot<tm,m>;grid on;矩形窗滤波后音频0100020003000矩形窗滤波后频谱布莱克曼窗滤波后音频布莱克曼窗滤波后频谱x 10-4-0.100.10.20.3矩形窗时域矩形窗频域-0.100.10.20.3布莱克曼窗时域布莱克曼窗频域0123456t 幅度00.20.40.60.81 1.2 1.4 1.6 1.82100020003000滤波后波形频谱图w/pi 幅度title<'滤波后波形'>; xlabel<'t'>; ylabel<'幅度'>;subplot<2,1,2>;plot<wm,abs<M>>;title<'滤波后波形频谱图'>;xlabel<'w/pi'>; ylabel<'幅度'>;%矩形窗和布莱克曼窗 N=33;wc=0.3*pi;%基于经验的指标,其中N hd=ideal<N,wc>;%调用理想低通滤波器函数 w1=boxcar<N>;%产生各种窗函数 w2=blackman<N>;h1=hd.*w1';%加窗设计各种FIR 滤波器h2=hd.*w2'; th1=<0:32>/fs; th2=<0:32>/fs; M=21184; fh1=fft<h1,M>;%矩形窗频谱函数 w=2/M*[0:M-1]; fh2=fft<h2,M>;%布莱克曼窗频谱函数 figure<4>subplot<2,2,1>;plot<th1,h1> title<'矩形窗时域'>;subplot<2,2,2>;plot<w,abs<fh1>>; title<'矩形窗频域'>; subplot<2,2,3>;plot<th2,h2>; title<'布莱克曼窗时域'>;subplot<2,2,4>;plot<w,abs<fh2>>; title<'布莱克曼窗频域'> %解调后信号n3=length<y3>t2=0:n3-1; y4=cos<pi*1/2*t2>y5=y3.*y4';%调制后的信号函数figure %滤波处理y6=conv<h1,y5>;%用矩形窗对调制后信号进行滤波f6=fft<y6>;n4=length<f6>; ty6=<0:n4-1>/fs; w3=2/n4*[0:n4-1];%sound<y6,fs>;figure<5> subplot<2,2,1>;plot<ty6,y6>;100200时间(s )幅值三余弦信号音谱012W噪声频谱12200040006000W加噪信号频谱0510-2-1012时间(s )幅值加噪信号音谱0510-1-0.500.51t(s)信号幅值去噪后信号波形012200040006000w/pi幅度kIIR 滤波器滤波后信号频谱title<'矩形窗滤波后音频'>subplot<2,2,2>;plot<w3,abs<f6>>; title<'矩形窗滤波后频谱'>y7=conv<h2,y5>;%用布莱克曼窗进行滤波 f7=fft<y7>; n5=length<f7>; ty7=<0:n5-1>/fs; w4=2/n5*[0:n5-1]; %sound<y7,fs>;subplot<2,2,3>;plot<ty7,y7>; title<'布莱克曼窗滤波后音频'> subplot<2,2,4>;plot<w4,abs<f7>>; title<'布莱克曼窗滤波后频谱'>实验五clc;clear;close;[y,fs,bit]=wavread<'I do'>; y0=y<:,1>; l=length<y0>; %加三余弦混合噪声 t0=<0:l-1>/fs;d0=[0.05*cos<2*pi*3000*t0>]'; t1=<0:l-1>/fs;d1=[0.05*cos<2*pi*5000*t1>]'; t2=<0:l-1>/fs;d2=[0.05*cos<2*pi*8000*t2>]'; noise=d2+d1+d0; y1=y0+noise; %sound<y1,fs>;a=length<noise>;%绘制三余弦噪声音频图 wa=2/a*[0:a-1]; Noise=fft<noise>; figure<1>subplot<2,3,4>;plot<noise<1:150>>; xlabel<'时间〔s'> ylabel<'幅值'>title<'三余弦信号音谱'>subplot<2,3,1>;%绘制三余弦噪声频谱图 plot<wa,abs<Noise>>; grid on ; xlabel<'W'>title<'噪声频谱'>w0=2/l*[0:l-1];%绘制加噪信号音频Y1=fft<y1>;subplot<2,3,5>plot<w0,abs<Y1>>;grid on;xlabel<'W'>title<'加噪信号频谱'>ly1=length<y1>;ty1=<0:ly1-1>/fs;subplot<2,3,2>;plot<ty1,y1>;xlabel<'时间〔s'>ylabel<'幅值'>title<'加噪信号音谱'>m=rand<l,1>-0.5; %产生幅度为0.5的随机信号lm=length<m>;y2=m+y0;%将噪声信号与原声音信号叠加wm=2/lm*[0:lm-1];M=fft<m>;figure<2>subplot<2,2,3>;plot<m<1:150>>xlabel<'时间〔s'>ylabel<'幅值'>title<'白噪信号音谱'>subplot<2,2,1>;plot<wm,abs<M>>;grid on;xlabel<'W'>title<'噪声频谱'>l=length<y2>;ty2=<0:l-1>/fs;w=2/l*[0:l-1];Y2=fft<y2>;subplot<2,2,4>plot<w,abs<Y2>>;grid on;xlabel<'W'>title<'加噪信号频谱'>subplot<2,2,2>;plot<ty2,y2>;xlabel<'时间〔s'>ylabel<'加噪信号幅值'>title<'加噪信号音谱'>;%设计滤波器进行滤波去噪[N1,wc1]=buttord<0.04,0.17,1,30>;%确定低通滤波器的阶数和截止频率;[b,a]=butter<N1,wc1>; %确定低通滤波器分子分母系数2400.511.5wH 低通滤波器波形0510n信号幅值低通滤波后波形012200040006000数字角频率w 幅度低通滤波后频谱02400.511.5w1H 1高通滤波器波形0510n信号幅值m高通滤波后波形0120200400600数字角频率w幅度kIIR 高通滤波后频谱0123456音乐信号的波形ty 1音乐信号的频谱wf 1m=filter<b,a,y1>;%用滤波器滤除三余弦噪声 sound<m,fs>;lm=length<m>;%滤波后信号长度tm=<0:lm-1>/fs;%设置横坐标figure<1>;subplot<2,3,3>;plot<tm,m>;%绘制滤波后的波形 xlabel<'t<s>'>ylabel<'信号幅值'>title<'去噪后信号波形'>;k=fft<m>; %滤波后的波形做离散傅里叶变换 w=2*[0:length<k>-1]/length<k>; subplot<2,3,6>plot<w,abs<k>>; xlabel<'w/pi'>ylabel<'幅度k'>title<'IIR 滤波器滤波后信号频谱'>;实验六.一clear all ;clc [y,fs,bit]=wavread<'I do'>; size<y>%查看读取信号的声道类型 y1=y<: ,1>;%对信号进行分列处理 n=length<y1>;%求信号y1的的长度t1=<0:n-1>/fs;f1=fft<y1>;%对y1进行fft 谱分析 w=2/n*[0:n-1];%w 为连续频谱的数字角频率横坐标%sound<y,fs>;%播放音乐信号figure<1>subplot<2,1,1>;plot<t1,y1>; title<'音乐信号的波形'>;xlabel<'t'>; ylabel<'y1'>; subplot<2,1,2>;plot<w,abs<f1>>; title<'音乐信号的频谱'>; xlabel<'w'>; ylabel<'f1'>; %用IIR 滤波器滤波〔低[n2,wc2]=buttord<0.15,0.20,1,15>;%确定低通滤波器的阶数和截止频率; [B2,A2]=butter<n2,wc2>; %确定低通滤波器分子分母系数 [H,W]=freqz<B2,A2>; figure<2>subplot<2,3,1>;plot<W,abs<H>>;%低通滤波器波形-0.50.5音乐信号1的波形ty 100.20.40.60.81 1.21.4 1.6 1.82200040006000%音乐信号1的频谱wf 1xlabel<'w'> ylabel<'H'>title<'低通滤波器波形'>; m2=filter<B2,A2,y1>;%滤波 lm2=length<m2>; tm2=<0:lm2-1>/fs; subplot<2,3,2>plot<tm2,m2>;xlabel<'n'>ylabel<'信号幅值'> title<'低通滤波后波形'>;k2=fft<m2>;%滤波后的波形做离散傅里叶变换 l2=length<k2>; w2=2*[0:l2-1]/l2;subplot<2,3,3>; plot<w2,abs<k2>>;xlabel<'数字角频率w'> ylabel<'幅度'> title<'低通滤波后频谱'>; %解调滤波后的频谱 %用IIR 滤波器滤波〔高[N,WC]=buttord<0.15,0.20,1,15>;%确定高通滤波器的阶数和截止频率; [B,A]=butter<N,WC,'high'>; %确定高通滤波器分子分母系数 [H1,W1]=freqz<B,A>; subplot<2,3,4>;plot<W1,abs<H1>>;%高通滤波器波形 xlabel<'w1'> ylabel<'H1'>title<'高通滤波器波形'>; m=filter<B,A,y1>; %滤波 lm=length<m>; tm=<0:lm-1>/fs; subplot<2,3,5>; plot<tm,m>; xlabel<'n'>ylabel<'信号幅值m'>title<'高通滤波后波形'>; k=fft<m>;l2=length<k>; w2=2*[0:l2-1]/l2; subplot<2,3,6>; plot<w2,abs<k>>;xlabel<'数字角频率w'> ylabel<'幅度k'>title<'IIR 高通滤波后频谱'>;0123456-2-1012音乐1的幅度与音乐2的相位交叉组合后的波形t X 1200040006000音乐1的幅度与音乐2的相位交叉组合后的频谱w F1-0.4-0.200.20.4音乐信号2的波形ty 200.20.40.60.81 1.2 1.4 1.6 1.82100020003000音乐信号2的频谱wf 2实验六.二clear all ;clc[a,fs1,bit1]=wavread<'I do'>;[b,fs2,bit2]=wavread<'风声'>; size<b>%查看读取信号的声道类型y2=b<:,1>;%对信号进行分列处理 n2=length<y2>;%求信号y2的的长度t2=<0:n2-1>/fs2; f2=fft<y2>;w2=2/n2*[0:n2-1];%wavplay<y2,fs2>;size<a>%查看读取信号的声道类型y1=a<: ,1>;%对信号进行分列处理n1=length<y1>; t1=<0:n1-1>/fs1;f1=fft<y1>;w1=2/n1*[0:n1-1];%w 为连续频谱的数字角频率横坐标 %wavplay<y1,fs1>;Fy1=abs<f1>;%音乐1的幅度 Ay1=angle<f1>;%音乐1的相位 Fy2=abs<f2>;%音乐2的幅度 Ay2=angle<f2>;%音乐2相位F1=Fy1.*exp<j*Ay2>;%音乐1的幅度与音乐2的相位交叉组合 X1=ifft<F1>; n3=length<X1>;tx1=<0:<n3-1>>/fs1; w3=2/n3*[0:n3-1];%wavplay<real<X1>,fs1>;F2=Fy2.*exp<j*Ay1>;%幅度相位交叉组合 X2=ifft<F2>;n4=length<X2>; tx2=<0:<n4-1>>/fs2;w4=2/n4*[0:n4-1]%wavplay<real<X2>,fs2>;figure<1> subplot<2,1,1>;plot<t1,y1>;%绘制信号1波形title<'音乐信号1的波形'>; xlabel<'t'>;ylabel<'y1'>;subplot<2,1,2>;plot<w1,abs<f1>>;%绘制音乐信号1的频谱title<'%音乐信号1的频谱'>; xlabel<'w'>;.12 / 11 0123456-0.500.5音乐2的幅度与音乐1的相位交叉组合后的波形tX 20100020003000音乐2的幅度与音乐1的相位交叉组合后的频谱w F 2ylabel<'f1'>;figure<2>subplot<2,1,1>;plot<t2,y2>;title<'音乐信号2的波形'>;xlabel<'t'>;ylabel<'y2'>;subplot<2,1,2>;plot<w2,abs<f2>>;title<'音乐信号2的频谱'>;xlabel<'w'>;ylabel<'f2'>;figure<3>subplot<2,1,1>;plot<tx1,X1>;title<'音乐1的幅度与音乐2的相位交叉组合后的波形'>; xlabel<'t'>;ylabel<'X1'>;subplot<2,1,2>;plot<w3,abs<F1>>;title<'音乐1的幅度与音乐2的相位交叉组合后的频谱'>; xlabel<'w'>;ylabel<'F1'>;figure<4>subplot<2,1,1>;plot<tx2,X2>;title<'音乐2的幅度与音乐1的相位交叉组合后的波形'>; xlabel<'t'>;ylabel<'X2'>;subplot<2,1,2>;plot<w4,abs<F2>>;title<'音乐2的幅度与音乐1的相位交叉组合后的频谱'>; xlabel<'w'>;ylabel<'F2'>;。

matlab信号频谱分析实验报告

matlab信号频谱分析实验报告

matlab信号频谱分析实验报告《MATLAB信号频谱分析实验报告》摘要:本实验利用MATLAB软件对不同信号进行频谱分析,通过对信号的频谱特征进行分析和比较,探讨了不同信号的频谱特性及其应用。

实验结果表明,MATLAB信号频谱分析工具能够有效地帮助我们理解信号的频谱特性,为信号处理和通信系统设计提供了重要的参考依据。

引言:信号频谱分析是信号处理和通信领域中的重要内容之一,通过对信号的频谱特性进行分析,可以帮助我们了解信号的频率分布、能量分布和相位特性,为信号处理和通信系统设计提供重要的参考依据。

MATLAB作为一种强大的信号处理工具,提供了丰富的频谱分析函数和工具,能够帮助我们快速准确地分析信号的频谱特性。

实验目的:1. 掌握MATLAB中常用的信号频谱分析函数和工具;2. 对不同类型的信号进行频谱分析,比较它们的频谱特性;3. 探讨不同信号的频谱特性及其应用。

实验内容:1. 使用MATLAB中的fft函数对不同类型的信号进行频谱分析;2. 对比分析不同信号的频谱特性,包括频率分布、能量分布和相位特性;3. 分析不同信号的频谱特性对信号处理和通信系统设计的影响。

实验步骤:1. 生成不同类型的信号,包括正弦信号、方波信号和三角波信号;2. 使用MATLAB中的fft函数对生成的信号进行频谱分析;3. 分析不同信号的频谱特性,包括频率分布、能量分布和相位特性;4. 对比分析不同信号的频谱特性,探讨其应用和影响。

实验结果:1. 正弦信号的频谱特性:频率集中在一个点上,能量分布均匀,相位特性明显;2. 方波信号的频谱特性:频率分布为奇次谐波,能量分布不均匀,相位特性复杂;3. 三角波信号的频谱特性:频率分布为奇次谐波,能量分布均匀,相位特性简单。

实验结论:1. 正弦信号的频谱特性与其频率、幅值和相位有关,能够直观地反映信号的频率和相位特性;2. 方波信号的频谱特性包含丰富的谐波成分,能够用于频率多重复用通信系统的设计;3. 三角波信号的频谱特性简单明了,适合于频率调制和解调系统的设计。

语音信号地采集与频谱分析报告(附代码)

语音信号地采集与频谱分析报告(附代码)

《信号与系统》大作业语音信号的采集与频谱分析——基于Matlab的语音信号处理学生某某:学号:专业班级:电子工程学院卓越班指导教师:2015年6月22日摘要本设计用苹果手机自带的录音设备采集了原始语音,并导入了电脑转成wav格式,然后用MATLAB和Adobe audition对其进展时域分析。

接着利用傅里叶变换进展了频域分析,绘制频谱图,再录制一段加上歌曲的伴奏的语音与原唱进展了比照分析,得出了我与歌星在频域上的差异。

本设计给信号加了两种噪声并通过观察加噪后的频谱和试听回放效果比拟加噪前后的差异,最后,设计了FIR数字低通滤波器和带通滤波器,分析滤波前后的频谱。

再次试听回放效果,得出结论。

关键词:语音、FFT、频谱图、噪声、滤波器AbstractThis design is based on the general function of Matlab and Adobe edition to deal with Audio signals. The original signals are c ollected by iPhone’s built-in recording equipment.First,I pare the file generated by myself with that of thesame song sang by a famous singer.The emphasis is generally laid on analysing the difference in frequncy domain,but time domain will be included too.After that,two noise signals are added to the original signal respectively and let them pass a filter to analyse it.In the two process mentioned before,I make parison between the before and after frequency domain.Sampling Theorem is the base of my design.It is by sampling we can get discrete signals from the original one and draw the image in time domain.Also,fast fourier transform is employed(FFT)to get the signals in frequency domain.The ayalysis of frequency domain is the highlight of this design.Through this design,I can deepen my prehension of principles of audio signals and I have learnt how to deal with it.Through met with much hindrance,I improved my skills finally.Keywords: audio signal、TTT、noise、filter1 绪论语音信号处理属于信息科学的一个重要分支,它是研究用数字信号处理技术对语音信号进展处理的一门新兴学科,同时又是综合性的多学科领域和涉与面很广的交叉学科,因此我们进展语言信号处理具有时代的意义。

matlab信号频谱分析实验报告

matlab信号频谱分析实验报告

matlab信号频谱分析实验报告Matlab信号频谱分析实验报告引言:信号频谱分析是一种常用的信号处理技术,它可以帮助我们了解信号的频率成分和能量分布情况。

在本次实验中,我们使用Matlab进行信号频谱分析,并通过实验结果来验证频谱分析的有效性和准确性。

实验目的:1. 了解信号频谱分析的基本原理和方法;2. 掌握Matlab中频谱分析函数的使用;3. 分析不同信号的频谱特性,并进行比较。

实验原理:信号频谱分析是将时域信号转换为频域信号的过程。

在频域中,信号的能量分布情况可以通过频谱图进行展示。

常用的频谱分析方法有傅里叶变换、快速傅里叶变换(FFT)等。

实验步骤:1. 生成信号:首先,我们需要生成一个待分析的信号。

可以选择不同类型的信号,如正弦信号、方波信号等。

在本次实验中,我们选择了一个包含多个频率成分的复合信号。

2. 采样信号:为了进行频谱分析,我们需要对信号进行采样。

采样过程将连续信号转换为离散信号,以便进行数字信号处理。

在Matlab中,可以使用`sample`函数对信号进行采样。

3. 频谱分析:使用Matlab中的频谱分析函数对采样信号进行频谱分析。

常用的函数有`fft`、`spectrogram`等。

通过这些函数,我们可以得到信号的频谱图,并可以进行进一步的分析和处理。

实验结果:通过对复合信号进行频谱分析,我们得到了如下的频谱图。

从图中可以看出,信号包含多个频率成分,且能量分布不均匀。

这些频率成分可以通过频谱图进行直观的观察和分析。

进一步分析:除了观察频谱图外,我们还可以通过频谱分析得到更多的信息。

例如,可以计算信号的功率谱密度,以了解信号在不同频率上的能量分布情况。

此外,还可以计算信号的频谱峰值、频谱带宽等参数,以进一步揭示信号的特性。

实验总结:通过本次实验,我们了解了信号频谱分析的基本原理和方法,并掌握了Matlab 中频谱分析函数的使用。

频谱分析是一种重要的信号处理技术,可以帮助我们了解信号的频率成分和能量分布情况。

matlab 信号频谱分析实验报告

matlab 信号频谱分析实验报告

matlab 信号频谱分析实验报告《Matlab 信号频谱分析实验报告》摘要:本实验利用Matlab软件对信号进行频谱分析,通过对信号的频谱特性进行研究,探讨了信号频谱分析的基本原理和方法。

实验结果表明,Matlab软件可以有效地对信号进行频谱分析,并能够准确地显示信号的频谱特性,为信号处理和分析提供了有力的工具。

1. 引言信号频谱分析是信号处理领域中的重要内容之一,它可以帮助人们了解信号的频率成分和频谱特性,对信号的特征进行深入分析。

Matlab作为一种强大的科学计算软件,能够提供丰富的信号处理工具和函数,可以方便地进行信号频谱分析。

本实验旨在利用Matlab软件对信号进行频谱分析,探讨信号频谱分析的基本原理和方法,并通过实验验证Matlab软件在信号频谱分析中的有效性和可靠性。

2. 实验原理信号的频谱分析是指将信号在频域上进行分析,得到信号的频率成分和频谱特性。

信号的频谱分析可以通过傅里叶变换来实现,傅里叶变换能够将信号从时域转换到频域,得到信号的频谱信息。

在Matlab中,可以利用fft函数来进行信号的傅里叶变换,得到信号的频谱信息,并通过plot函数将频谱信息可视化显示出来。

3. 实验过程(1)生成信号:首先在Matlab中生成一个测试信号,可以是正弦信号、方波信号或其他类型的信号。

(2)进行频谱分析:利用fft函数对生成的信号进行傅里叶变换,得到信号的频谱信息。

(3)频谱可视化:利用plot函数将信号的频谱信息可视化显示出来,观察信号的频谱特性。

4. 实验结果通过对不同类型的信号进行频谱分析实验,得到了它们在频域上的频谱特性。

通过对频谱的观察和分析,可以清晰地看到信号的频率成分和频谱分布情况,从而了解信号的频谱特性。

5. 结论本实验利用Matlab软件对信号进行频谱分析,通过对信号的频谱特性进行研究,探讨了信号频谱分析的基本原理和方法。

实验结果表明,Matlab软件可以有效地对信号进行频谱分析,并能够准确地显示信号的频谱特性,为信号处理和分析提供了有力的工具。

MATLAB的语音信号频谱分析

MATLAB的语音信号频谱分析

MATLAB的语音信号频谱分析MATLAB是一个功能强大的数学软件环境,它可以用于语音信号的频谱分析。

频谱分析是通过计算信号在不同频率上的能量分布来了解信号的频域特性。

在语音信号处理中,频谱分析可以用于声音的特征提取、语音识别、音频信号处理等各个方面。

要进行语音信号的频谱分析,我们需要首先将语音信号加载到MATLAB环境中。

这可以通过读取音频文件或者录制声音来实现。

然后,我们可以使用MATLAB中的信号处理工具箱中的函数来进行频谱分析。

下面是进行语音信号频谱分析的主要步骤:1.加载语音信号首先,我们需要将语音信号加载到MATLAB环境中。

可以使用`audioread`函数读取音频文件,或者使用`audiorecorder`函数录制声音。

```matlab[x, fs] = audioread('speech.wav');%或者recorder = audiorecorder(fs, 16, 1);recordblocking(recorder, 5); % 录制5秒声音x = getaudiodata(recorder);```2.预处理语音信号在进行频谱分析之前,通常需要对语音信号进行预处理。

这包括去除静音段、去除噪声等操作。

常用的预处理方法有均衡增强、滤波、语音端点检测等。

3.计算幅度谱幅度谱是频谱分析的最基本形式,它描述了信号在不同频率上的幅度分布。

可以使用`fft`函数对语音信号进行傅里叶变换,然后取幅度谱的绝对值。

```matlabX = abs(fft(x));```4.计算功率谱密度功率谱密度是幅度谱的平方值,它表示了信号在不同频率上的功率分布。

可以通过幅度谱的平方值来计算功率谱密度。

```matlabP=X.^2;```5.均衡化谱图为了更好地可视化频谱分析结果,可以对频谱图进行均衡化处理。

可以使用`db`函数将功率谱密度转换为分贝尺度。

```matlabdB = 10 * log10(P);```6.绘制谱图最后,可以使用`plot`函数绘制频谱图。

语音信号的频谱分析实验报告

 语音信号的频谱分析实验报告

综合设计实验语音信号的频谱分析一、实验内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。

二、实现步骤1.语音信号的采集利用Windows下的录音机,录制一段自己的话音(“信号与系统”),时间在3s内。

然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,采样频率设置为4kHz。

[y,fs,bits]=wavread('j.wav',[1024 63500]);sound(y,fs,bits);2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音号进行傅里叶变换,得到信号的频谱特性。

在采集得到的语音信号中加入正弦噪声信号(频率为10kHz),然后对加入噪声信号后的语音号进行傅里叶变换,得到信号的频谱特性。

并利用sound试听前后语音信号的不同。

3. 设计滤波器设计一个理想低通滤波器,滤除正弦噪声信号,得到信号的频谱特性。

要求采样卷积计算的方式滤除噪声,并利用sound试听滤波前后语音信号的不同。

1、语音信号的采集[y,fs,bits]=wavread('j.wav',[1024 63500]);sound(y,fs,bits);2、语音信号的频谱分析Y=fft(y,4096);figure(1);plot(y);title('语音信号的时域波形');figure(2);plot(abs(Y));title('语音信号的频谱特性');IIR 数字滤波器低通clear;close all;[y,fs,bits]=wavread('j.wav',[1024 63500]);Y=fft(y,4096);fb=1000;fc=1200;As=100;Ap=1;fs=22050;wc=2*fc/fs; wb=2*fb/fs;[n,wn]=ellipord(wc,wb,Ap,As);[b,a]=ellip(n,Ap,As,wn);figure(1);freqz(b,a,512,fs);x=filter(b,a,y);X=fft(x,4096);figure(2);subplot(2,2,1);plot(y);title('滤波前信号波形');subplot(2,2,2);plot(abs(Y));title('滤波前信号频谱');Subplot(2, 2 ,3);plot(x);title('滤波后信号波形');Subplot(2, 2 ,4);plot(abs(X));title('滤波后信号频谱');sound(x,fs,bits);IIR 高通wp=2*pi*4800/18000;wr=2*pi*5000/18000;Ap=1;Ar=15;T=1[N,wn]=buttord(wp/pi,wr/pi,Ap,Ar);[b,a]=butter(N,wn,'high');[db,mag,pha,grd,w]=freqz_m(b,a);subplot(211);plot(w/pi,mag);title('数字巴特沃茨高通滤波器幅度响应|Ha(J\Omega)|'); subplot(212);plot(w/pi,db);title('数字巴特沃茨高通滤波器幅度响应(db)');[y,Fs,nbite]=wavread('j.wav',[1024 63500]);Y=fft(y,4096);x=filter(b,a,y);X=fft(x,4096);figure(3)subplot(211);plot(y);title('原时域波形');subplot(212);plot(x);title('滤波后信号波形');figure(4)subplot(211);plot(abs(Y));title('原频谱频谱');subplot(212);plot(abs(X));title('滤波后信号频谱');sound(x,Fs);IIR 带通wp=[1200*pi*2/9000,3000*2*pi/9000];wr=[1000*2*pi/9000,3200*2*pi/9000];Ap=1;Ar=10 0;[N,wn]=buttord(wp/pi,wr/pi,Ap,Ar);[b,a]=butter(N,wn,'bandpass');[db,mag,pha,grd,w]=freqz_m(b,a);subplot(211);plot(w/pi,mag);title('数字巴特沃茨带通滤波器幅度响应|Ha(J\Omega)|');subplot(212);plot(w/pi,db);title('数字巴特沃茨带通滤波器幅度响应(db)');[y,Fs,nbite]=wavread('j.wav');Y=fft(y,4096);x=filter(b,a,y);X=fft(x,4096);figure(3)subplot(211);plot(y);title('原时域波形');subplot(212);plot(x);title('滤波后信号波形');figure(4)subplot(211);plot(abs(Y));title('原频谱频谱');subplot(212);plot(abs(X));title('滤波后信号频谱');sound(x,Fs);FIR 数字滤波器FIR 低通fsamp=8000;rp=1;rs=100;fcuts=[1000 1200];d1=(10^(rp/20)-1)/(10^(rp/20)+1);d2=10^(-rs/20);mags=[1 0];devs=[d1 d2];[n,wn,beta,ftype]=kaiserord(fcuts,mags,devs,fsamp); hh=fir1(n,wn,ftype,kaiser(n+1,beta),'noscale'); freqz(hh);[y,Fs,nbite]=wavread('j.wav');Y=fft(y,4096);x=fftfilt(hh,y);X=fft(x,4096);figure(2)subplot(211);plot(y);title('原时域波形');subplot(212);plot(x);title('滤波后信号波形'); figure(3)subplot(211);plot(abs(Y));title('原频谱频谱'); subplot(212);plot(abs(X));title('滤波后信号频谱'); sound(x,Fs);FIR 高通wc=2*pi*4800;wp=5000*2*pi/18000;f=[0.5333,0.5556]; m=[0,1];rp=1;rs=100;d1=(10^(rp/20)-1)/(10^(rp/20)+1);d2=10^(-rs/20); rip=[d2,d1];[N,fo,mo,w]=remezord(f,m,rip);N=N+2;hn=remez(N,fo,mo,w);[hw,w]=freqz(hn,1);plot(w/pi,20*log10(abs(hw)));[y,Fs,nbite]=wavread('j.wav');Y=fft(y,4096);x=fftfilt(hn,y);X=fft(x,4096);figure(2)subplot(211);plot(y);title('原时域波形');subplot(212);plot(x);title('滤波后信号波形');figure(3)subplot(211);plot(abs(Y));title('原频谱频谱');subplot(212);plot(abs(X));title('滤波后信号频谱');sound(x,Fs);FIR 带通wp1=2*pi*1200/8000;wp2=3000*2*pi/8000;wc1=2*pi*1000/8000;wc2=2*pi*3200*8000; f=[0.25,0.30,0.75,0.80][n,wn,bta,ftype]=kaiserord([0.25,0.30,0.75,0.80],[0 1 0],[0.01 0.1087 0.01]);h1=fir1(n,wn,ftype,kaiser(n+1,bta),'noscale');[hh1,w1]=freqz(h1,1,256);figure(1);plot(w1/pi,20*log10(abs(hh1)));grid;[y,Fs,nbite]=wavread('j.wav');Y=fft(y,4096);x=fftfilt(h1,y);X=fft(x,4096);figure(2)subplot(211);plot(y);title('原时域波形');subplot(212);plot(x);title('滤波后信号波形');figure(3)subplot(211);plot(abs(Y));title('原频谱频谱');subplot(212);plot(abs(X));title('滤波后信号频谱');sound(x,Fs);设计结果分析(1)语音分析图1图2Fs=22050; n=4096(2)IIR 低通图3滤波器在通带内平滑,通带截止频率为 1000hz,最大衰减 0dB;阻带起始频率为1200hz,最小衰减 100dB;相位不是线性变化, 基本满足性能要求.图4语音信号经过低通滤波器后,基本没发生变化(3) IIR 高通图5数字滤波器在通带内平滑,通带截止频率为0. 5π,最大衰减 0dB;阻带起始频率为 0. 48π,最小衰减 100dB;相位不是线性变化, 基本满足性能要求.语言信号经过高通滤波器后,低频分量基本被衰减。

基于MATLAB分析语音信号频域特征-工程设计报告

基于MATLAB分析语音信号频域特征-工程设计报告

工程设计报告题目:基于MATLAB分析语音信号频域特征指导教师:学院:电子工程学院学生姓名:学号:班级:2016 年1 月6日摘要语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱等,常用的频域分析方法有带通滤波器组法、傅里叶变换法、线性参见测法等几种。

本文从傅里叶分析原理出发,估计了短时谱、倒谱,在此基础上借助频域分析方法所求得的参数分析了语音信号的基因周期或共振峰。

目录摘要 (2)1实验目的 (2)2实验原理 (3)2.1短时傅立叶变换 (3)2.2语谱图 (3)2.3基因周期估计 (3)2.4共振峰估计 (3)3实验步骤 (3)4实验内容及结果分析 (4)4.1短时谱分析 (4)4.2基音周期和共振峰的估计 (6)4.3倒谱分析 (10)4.4语谱图 (10)5参考程序代码 (11)5.1短时谱和语谱图 (11)5.2倒谱和复倒谱 (11)6实验总结 (12)参考文献 (12)1实验目的信号的傅立叶表示在信号的分析与处理中起着重要的作用。

因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。

另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项物理现象。

由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。

输出频谱是声道系统频率响应与激励源频谱的乘积。

声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。

由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。

本实验要求掌握傅里叶分析原理,会利用已学的知识,编写程序估计短时谱、倒谱,画出语谱图,并分析实验结果,在此基础上,借助频域分析方法所求得的参数分析语音信号的基音周期或共振峰。

2实验原理2.1短时傅立叶变换由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为:2.2语谱图水平方向是时间轴,垂直方向是频率轴,图上的灰度条纹代表各个时刻的语音短时谱。

matlab 信号频谱分析实验报告

matlab 信号频谱分析实验报告

matlab 信号频谱分析实验报告Matlab 信号频谱分析实验报告引言:信号频谱分析是一项重要的技术,用于研究信号在频域上的特性。

在实际应用中,我们经常需要对信号进行频谱分析,以了解信号的频率成分和频谱特征。

本实验利用Matlab软件进行信号频谱分析,通过实验数据和结果展示,探索信号频谱分析的原理和应用。

实验一:时域信号与频域信号的关系在信号处理中,时域信号和频域信号是两个重要的概念。

时域信号是指信号在时间上的变化,频域信号则是指信号在频率上的变化。

通过傅里叶变换,我们可以将时域信号转换为频域信号,从而获得信号的频谱信息。

实验中,我们首先生成一个简单的正弦信号,并绘制其时域波形图。

然后,利用Matlab中的傅里叶变换函数对信号进行频谱分析,得到其频域波形图。

通过对比时域和频域波形图,我们可以观察到信号在不同频率上的能量分布情况。

实验二:频谱分析的应用频谱分析在许多领域中具有广泛的应用。

在通信领域中,频谱分析可以用于信号调制和解调、频率选择性传输等方面。

在音频处理中,频谱分析可以用于音乐合成、音频效果处理等方面。

在图像处理中,频谱分析可以用于图像压缩、图像增强等方面。

本实验中,我们以音频处理为例,展示频谱分析的应用。

首先,我们选取一段音频信号,并绘制其时域波形图。

然后,通过傅里叶变换,将信号转换为频域信号,并绘制其频域波形图。

通过观察频域波形图,我们可以了解音频信号在不同频率上的能量分布情况,从而进行音频效果处理或音频识别等应用。

实验三:信号滤波与频谱分析信号滤波是信号处理中常用的技术,用于去除信号中的噪声或干扰。

在频谱分析中,我们可以通过滤波器对信号进行滤波,从而改变信号的频谱特性。

本实验中,我们选取一段含有噪声的信号,并绘制其时域波形图。

然后,利用滤波器对信号进行滤波,并绘制滤波后的时域波形图和频域波形图。

通过对比滤波前后的波形图,我们可以观察到滤波器对信号频谱的影响,以及滤波效果的好坏。

结论:通过本实验,我们深入了解了Matlab在信号频谱分析中的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实用标准文档大全0123456-1-0.50.51幅值时间(s)信号波形00.20.40.60.81 1.2 1.4 1.6 1.82200040006000信号频谱数字角频率幅度0123-1-0.50.51幅度时间(s)2:1减抽样信号波形00.51 1.521000200030002:1减抽样信号频谱数字角频率w幅度00.51 1.5-1-0.50.51幅度时间(s)5:1减抽样信号波形00.51 1.5250010005:1减抽样信号频谱数字角频率w幅度实验一[y,fs,bit]=wavread('I do')%读取音乐片段,fs是采样率size(y)%求矩阵的行数和列数y1=y(:,1);%对信号进行分列处理n1=length(y1);%取y的长度t1=(0:n1-1)/fs;%设置波形图横坐标figuresubplot(2,1,1);plot(t1,y1); %画出时域波形图ylabel('幅值');xlabel('时间(s)');title('信号波形');subplot(2,1,2);Y1=fft(y1);w1=2/n1*(0:n1-1);%设置角频率plot(w1,abs(Y1));%画频谱图title('信号频谱');xlabel('数字角频率');ylabel('幅度');grid on;sound(y,fs);实验二[y,fs,bit]=wavread('I do')y1=y(:,1);n1=length(y1);D=2;%设置抽样间隔y2=y1(1:D:n1);%减抽样n2=length(y2);%减抽样后信号长度t2=(0:n2-1)/fs;%设置横坐标figuresubplot(2,2,1);plot(t2,y2); %绘制减抽样信号波形图ylabel('幅度');xlabel('时间(s)');title('2:1减抽样信号波形');Y2=fft(y2); %对y2进行n2点fft谱分析w2=2/n2*[0:n2-1];subplot(2,2,3);plot(w2,abs(Y2));%绘制减抽样信号频谱图title('2:1减抽样信号频谱');xlabel('数字角频率w');ylabel('幅度');grid on;sound(y2,fs/D);D=5;%设置抽样间隔y3=y1(1:D:n1);%减抽样n3=length(y3);%减抽样后信号长度t3=(0:n3-1)/fs;%设置横坐标subplot(2,2,2);plot(t3,y3); %绘制减抽样信号波形图ylabel('幅度');xlabel('时间(s)');title('5:1减抽样信号波形');Y3=fft(y3); %对y2进行n2点fft谱分析w3=2/n3*[0:n3-1];subplot(2,2,4);plot(w3,abs(Y3));%绘制减抽样信号频谱图title('5:1减抽样信号频谱');xlabel('数字角频率w');ylabel('幅度');grid on;sound(y3,fs/D)实验三[y,fs,bit]=wavread('I do')y1=y(:,1);n1=length(y1);n3=0:n1-1;b1=cos(0.75*pi*n3);%设置调制信号b2=cos(0.5*pi*n3);c1=b1'.*y1;%对原信号进行调制c2=b2'.*y1;lc1=length(c1);t=(0:lc1-1)/fs;figure %用载波对信号进行调制,并对其做fft变换subplot(2,2,1) %获取频谱,从图中可以观察到,调制后的plot(t,c1); %信号频谱发生搬移xlabel('时间(s)');ylabel('幅度');title('调制后信号');subplot(2,2,2) %获取频谱,从图中可以观察到,调制后的plot(t,c2); %信号频谱发生搬移xlabel('时间(s)');ylabel('幅度');title('调制后信号');510-1-0.500.51音频时间幅度120200040006000频谱频率/pi幅度510-1-0.500.51AM 调制音频信号时间幅度12100020003000AM 调制频谱频率/pi幅度24x 105-1-0.500.51时间幅度AM 解调音频信号012100020003000AM 解调频谱频率/pi幅度246-1-0.500.51时间(s)幅度调制后信号246-1-0.500.51时间(s)幅度调制后信号00.51 1.52100020003000数字角频率w幅度调制后信号的频谱(高频率调制)0.51 1.52100020003000数字角频率w幅度调制后信号的频谱(低频率调制)w1=2/lc1*[0:lc1-1];%设置角频率W C1=fft(c1); C2=fft(c2); subplot(2,2,3) plot(w1,abs(C1));xlabel('数字角频率w');ylabel('幅度'); title('调制后信号的频谱(高频率调制)');grid on ; subplot(2,2,4) plot(w1,abs(C2)); xlabel('数字角频率w');ylabel('幅度');title('调制后信号的频谱(低频率调制)');grid on ; sound(c1,fs);实验四clear all ;cla;close all[a,fs,bit]=wavread('I do'); y1=a(:,1);%去单列数据进行分析 f1=fft(y1); n=length(f1); tn=(0:n-1)/fs; w=2/n*[0:n-1]; %sound(y1,fs); figure(1)subplot(2,3,1);plot(tn,y1); grid on ;title('音频'); xlabel('时间'); ylabel('幅度');subplot(2,3,4);plot(w,abs(f1)); grid on ;title('频谱');xlabel('频率/pi'); ylabel('幅度'); t=[0:n-1];y2=cos(pi*1/2*t);%载波函数 y3=y1.*y2';%信号调制ty3=(0:length(y3)-1)/fs;subplot(2,3,2);plot(ty3,y3);%绘制调制后信号波形图 grid on ;title('AM 调制音频信号');0.511.522.533.500.10.20.30.40.50.60.70.80.91wH低通滤波器波形xlabel('时间'); ylabel('幅度'); f3=fft(y3); n2=length(f3); w2=2/n2*[0:n2-1];subplot(2,3,5);plot(w2,abs(f3));%绘制调制后信号频谱图 grid on ;title('AM 调制频谱'); xlabel('频率/pi'); ylabel('幅度'); %解调后信号n3=length(y3) t2=0:n3-1;y4=cos(pi*1/2*t2)y5=y3.*y4';%解调后的信号函数 subplot(2,3,3);plot(t2,y5); grid on ;xlabel('时间'); ylabel('幅度');title('AM 解调音频信号'); f5=fft(y5);w3=2/n3*[0:n3-1];subplot(2,3,6);plot(w3,abs(f5));%绘制解调后信号频谱图 grid on ;title('AM 解调频谱'); xlabel('频率/pi'); ylabel('幅度');%设计巴特沃斯滤波器进行滤波去噪[N1,wc1]=buttord(0.05,0.17,1,15);%确定低通滤波器的阶数和截止频率; [b,a]=butter(N1,wc1);%确定低通滤波器分子分母系数[H,W]=freqz(b,a); figure(2)plot(W,abs(H));%低通滤波器波形 xlabel('w'); ylabel('H');title('低通滤波器波形'); m=filter(b,a,y5); wavplay(m,fs);lm=length(m);%滤波后信号长度 tm=(0:lm-1)/fs;%设置横坐标 wm=2/lm*[0:lm-1]; M=fft(m); figure(3)subplot(2,1,1);plot(tm,m);2468x 10-4-0.100.10.20.3矩形窗时域00.51 1.520.511.5矩形窗频域2468x 10-4-0.100.10.20.3布莱克曼窗时域00.51 1.520.511.5布莱克曼窗频域0123456-0.50.5滤波后波形t幅度00.20.40.60.811.2 1.4 1.6 1.82100020003000滤波后波形频谱图w/pi幅度grid on ;title('滤波后波形'); xlabel('t');ylabel('幅度');subplot(2,1,2);plot(wm,abs(M)); title('滤波后波形频谱图'); xlabel('w/pi');ylabel('幅度'); %矩形窗和布莱克曼窗N=33;wc=0.3*pi;%基于经验的指标,其中N 为理想低通滤波器阶数,wc 为截止频率 hd=ideal(N,wc);%调用理想低通滤波器函数 w1=boxcar(N);%产生各种窗函数 w2=blackman(N);h1=hd.*w1';%加窗设计各种FIR 滤波器 h2=hd.*w2'; th1=(0:32)/fs; th2=(0:32)/fs; M=21184;fh1=fft(h1,M);%矩形窗频谱函数 w=2/M*[0:M-1];fh2=fft(h2,M);%布莱克曼窗频谱函数 figure(4)subplot(2,2,1);plot(th1,h1) title('矩形窗时域');subplot(2,2,2);plot(w,abs(fh1)); title('矩形窗频域');subplot(2,2,3);plot(th2,h2); title('布莱克曼窗时域');subplot(2,2,4);plot(w,abs(fh2)); title('布莱克曼窗频域') %解调后信号n3=length(y3) t2=0:n3-1;y4=cos(pi*1/2*t2)y5=y3.*y4';%调制后的信号函数 figure%滤波处理y6=conv(h1,y5);%用矩形窗对调制后信号进行滤波 f6=fft(y6); n4=length(f6);ty6=(0:n4-1)/fs;w3=2/n4*[0:n4-1];%sound(y6,fs); figure(5)0100200-0.100.10.20.3时间(s )幅值三余弦信号音谱0120200040006000W噪声频谱12200040006000W加噪信号频谱0510-2-1012时间(s )幅值加噪信号音谱0510-1-0.500.51t(s)信号幅值去噪后信号波形012200040006000w/pi幅度kIIR 滤波器滤波后信号频谱246-0.500.51矩形窗滤波后音频00.51 1.52100020003000矩形窗滤波后频谱246-0.50.5布莱克曼窗滤波后音频00.51 1.52100020003000布莱克曼窗滤波后频谱subplot(2,2,1);plot(ty6,y6); title('矩形窗滤波后音频')subplot(2,2,2);plot(w3,abs(f6));title('矩形窗滤波后频谱')y7=conv(h2,y5);%用布莱克曼窗进行滤波f7=fft(y7);n5=length(f7); ty7=(0:n5-1)/fs; w4=2/n5*[0:n5-1]; %sound(y7,fs);subplot(2,2,3);plot(ty7,y7); title('布莱克曼窗滤波后音频')subplot(2,2,4);plot(w4,abs(f7)); title('布莱克曼窗滤波后频谱')实验五clc;clear;close;[y,fs,bit]=wavread('I do'); y0=y(:,1); l=length(y0);%加三余弦混合噪声 t0=(0:l-1)/fs;d0=[0.05*cos(2*pi*3000*t0)]'; t1=(0:l-1)/fs;d1=[0.05*cos(2*pi*5000*t1)]'; t2=(0:l-1)/fs;d2=[0.05*cos(2*pi*8000*t2)]'; noise=d2+d1+d0; y1=y0+noise; %sound(y1,fs);a=length(noise);%绘制三余弦噪声音频图 wa=2/a*[0:a-1];Noise=fft(noise); figure(1) subplot(2,3,4);plot(noise(1:150));xlabel('时间(s )') ylabel('幅值')title('三余弦信号音谱')subplot(2,3,1);%绘制三余弦噪声频谱图 plot(wa,abs(Noise)); grid on ; xlabel('W') title('噪声频谱')w0=2/l*[0:l-1];%绘制加噪信号音频Y1=fft(y1);subplot(2,3,5)plot(w0,abs(Y1));grid on;xlabel('W')title('加噪信号频谱')ly1=length(y1);ty1=(0:ly1-1)/fs;subplot(2,3,2);plot(ty1,y1);xlabel('时间(s)')ylabel('幅值')title('加噪信号音谱') m=rand(l,1)-0.5; %产生幅度为0.5的随机信号lm=length(m);y2=m+y0;%将噪声信号与原声音信号叠加wm=2/lm*[0:lm-1];M=fft(m);figure(2)subplot(2,2,3);plot(m(1:150))xlabel('时间(s)')ylabel('幅值')title('白噪信号音谱')subplot(2,2,1);plot(wm,abs(M));grid on;xlabel('W')title('噪声频谱')l=length(y2);ty2=(0:l-1)/fs;w=2/l*[0:l-1];Y2=fft(y2);subplot(2,2,4)plot(w,abs(Y2));grid on;xlabel('W')title('加噪信号频谱')subplot(2,2,2);plot(ty2,y2);xlabel('时间(s)')ylabel('加噪信号幅值')title('加噪信号音谱');123456-1-0.500.51音乐信号的波形ty 100.20.40.60.81 1.2 1.4 1.6 1.82200040006000音乐信号的频谱wf 1%设计滤波器进行滤波去噪[N1,wc1]=buttord(0.04,0.17,1,30);%确定低通滤波器的阶数和截止频率; [b,a]=butter(N1,wc1); %确定低通滤波器分子分母系数 m=filter(b,a,y1);%用滤波器滤除三余弦噪声 sound(m,fs);lm=length(m);%滤波后信号长度 tm=(0:lm-1)/fs;%设置横坐标 figure(1);subplot(2,3,3);plot(tm,m);%绘制滤波后的波形 xlabel('t(s)')ylabel('信号幅值')title('去噪后信号波形');k=fft(m); %滤波后的波形做离散傅里叶变换 w=2*[0:length(k)-1]/length(k); subplot(2,3,6) plot(w,abs(k)); xlabel('w/pi')ylabel('幅度k')title('IIR 滤波器滤波后信号频谱');实验六.一clear all ;clc[y,fs,bit]=wavread('I do'); size(y)%查看读取信号的声道类型 y1=y(: ,1);%对信号进行分列处理 n=length(y1);%求信号y1的的长度 t1=(0:n-1)/fs;f1=fft(y1);%对y1进行fft 谱分析w=2/n*[0:n-1];%w 为连续频谱的数字角频率横坐标 %sound(y,fs);%播放音乐信号figure(1)subplot(2,1,1);plot(t1,y1); title('音乐信号的波形'); xlabel('t'); ylabel('y1');subplot(2,1,2);plot(w,abs(f1)); title('音乐信号的频谱'); xlabel('w'); ylabel('f1');%用IIR 滤波器滤波(低)[n2,wc2]=buttord(0.15,0.20,1,15);%确定低通滤波器的阶数和截止频率; [B2,A2]=butter(n2,wc2); %确定低通滤波器分子分母系数 [H,W]=freqz(B2,A2);2400.511.5wH低通滤波器波形0510-2-101n信号幅值低通滤波后波形012200040006000数字角频率w 幅度低通滤波后频谱02400.511.5w1H 1高通滤波器波形0510-2-112n 信号幅值m高通滤波后波形012200400600数字角频率w幅度kIIR 高通滤波后频谱figure(2)subplot(2,3,1);plot(W,abs(H));%低通滤波器波形 xlabel('w') ylabel('H')title('低通滤波器波形'); m2=filter(B2,A2,y1);%滤波 lm2=length(m2); tm2=(0:lm2-1)/fs; subplot(2,3,2) plot(tm2,m2); xlabel('n')ylabel('信号幅值')title('低通滤波后波形');k2=fft(m2);%滤波后的波形做离散傅里叶变换l2=length(k2); w2=2*[0:l2-1]/l2;subplot(2,3,3);plot(w2,abs(k2));xlabel('数字角频率w') ylabel('幅度') title('低通滤波后频谱'); %解调滤波后的频谱 %用IIR 滤波器滤波(高)[N,WC]=buttord(0.15,0.20,1,15);%确定高通滤波器的阶数和截止频率; [B,A]=butter(N,WC,'high'); %确定高通滤波器分子分母系数 [H1,W1]=freqz(B,A); subplot(2,3,4);plot(W1,abs(H1));%高通滤波器波形 xlabel('w1') ylabel('H1')title('高通滤波器波形'); m=filter(B,A,y1); %滤波 lm=length(m); tm=(0:lm-1)/fs; subplot(2,3,5); plot(tm,m); xlabel('n')ylabel('信号幅值m')title('高通滤波后波形'); k=fft(m);l2=length(k); w2=2*[0:l2-1]/l2; subplot(2,3,6); plot(w2,abs(k));123456-0.4-0.200.20.4音乐信号2的波形ty 200.20.40.60.81 1.2 1.4 1.6 1.82100020003000音乐信号2的频谱wf 2123456-1-0.500.51音乐信号1的波形ty 100.20.40.60.81 1.2 1.4 1.6 1.82200040006000%音乐信号1的频谱wf 1xlabel('数字角频率w') ylabel('幅度k')title('IIR 高通滤波后频谱');实验六.二clear all ;clc[a,fs1,bit1]=wavread('I do'); [b,fs2,bit2]=wavread('风声'); size(b)%查看读取信号的声道类型 y2=b(:,1);%对信号进行分列处理 n2=length(y2);%求信号y2的的长度 t2=(0:n2-1)/fs2; f2=fft(y2);w2=2/n2*[0:n2-1]; %wavplay(y2,fs2);size(a)%查看读取信号的声道类型 y1=a(: ,1);%对信号进行分列处理 n1=length(y1); t1=(0:n1-1)/fs1; f1=fft(y1);w1=2/n1*[0:n1-1];%w 为连续频谱的数字角频率横坐标 %wavplay(y1,fs1);Fy1=abs(f1);%音乐1的幅度 Ay1=angle(f1);%音乐1的相位 Fy2=abs(f2);%音乐2的幅度 Ay2=angle(f2);%音乐2相位F1=Fy1.*exp(j*Ay2);%音乐1的幅度与音乐2的相位交叉组合 X1=ifft(F1); n3=length(X1);tx1=(0:(n3-1))/fs1;w3=2/n3*[0:n3-1];%wavplay(real(X1),fs1); F2=Fy2.*exp(j*Ay1);%幅度相位交叉组合 X2=ifft(F2); n4=length(X2);tx2=(0:(n4-1))/fs2; w4=2/n4*[0:n4-1]%wavplay(real(X2),fs2); figure(1)subplot(2,1,1);plot(t1,y1);%绘制信号1波形title('音乐信号1的波形'); xlabel('t');ylabel('y1'); subplot(2,1,2);0123456-0.500.5音乐2的幅度与音乐1的相位交叉组合后的波形tX 200.20.40.60.811.2 1.4 1.6 1.820100020003000音乐2的幅度与音乐1的相位交叉组合后的频谱w F20123456-2-1012音乐1的幅度与音乐2的相位交叉组合后的波形t X 100.20.40.60.81 1.2 1.4 1.6 1.820200040006000音乐1的幅度与音乐2的相位交叉组合后的频谱w F 1plot(w1,abs(f1));%绘制音乐信号1的频谱 title('%音乐信号1的频谱'); xlabel('w');ylabel('f1');figure(2) subplot(2,1,1);plot(t2,y2); title('音乐信号2的波形');xlabel('t');ylabel('y2');subplot(2,1,2);plot(w2,abs(f2));title('音乐信号2的频谱');xlabel('w');ylabel('f2');figure(3)subplot(2,1,1);plot(tx1,X1); title('音乐1的幅度与音乐2的相位交叉组合后的波形'); xlabel('t');ylabel('X1');subplot(2,1,2);plot(w3,abs(F1));title('音乐1的幅度与音乐2的相位交叉组合后的频谱'); xlabel('w');ylabel('F1');figure(4)subplot(2,1,1);plot(tx2,X2);title('音乐2的幅度与音乐1的相位交叉组合后的波形'); xlabel('t');ylabel('X2');subplot(2,1,2);plot(w4,abs(F2));title('音乐2的幅度与音乐1的相位交叉组合后的频谱'); xlabel('w');ylabel('F2');。

相关文档
最新文档