用DFT对语音信号进行压缩

用DFT对语音信号进行压缩
用DFT对语音信号进行压缩

使用DFT对语音信号进行压缩处理

学生姓名:XXX 学号:XXXXX 指导老师:XXXXX

摘要:本文要解决的问题是如何对音频文件(本文仅研究了wav格式的文件)进行微失真压缩,文中使用DFT算法将对音频信号中部分对声音影响较小的部分给去除,以实现音频压缩的目的。

关键词:DFT,音频压缩。

1.DFT原理:

对于一个有限长信号,我们可以使用DTFT算法得到其频谱,但是一个有限长的信号,其频谱都是无限长的:

但是对于人耳而言,能听到的频率在10Hz到44,1KHz之间,这样频谱中大部分的成分都是不需要的,而且对于计算机而言,无法模拟出一段连续的频谱。这时候我们只能对频谱进行采样,在保证最大程度不失真的程度上模拟出频谱,但是对频谱进行采样后,对得到的频谱信号进行IDTFT,得到的语音信号被周期话,成为一个无限长的序列,这样计算机还是无法模拟。

DFT 算法就很好的解决了这个问题,时域中的N 点序列x[n]的DFT 定义为:

2

10

[][]N j

nk N

n X k x n e

π--==∑,k=0,1,…N-1

一个有限长信号序列,通过DFT 变换后得到的频谱为:

由上式可知n 个点的DFT 仍是n 点,这时候我们可以对得到的频谱序列进行裁剪,搬移等操作,得到我们所需要的频谱上的语音信号。

而对得到的频谱做IDFT 得到的信号不会成为无限长的一个序列,n 个点的IDFT 仍是n 点。这样我们就可以在计算机中得到自己想要的频段上的语音信号了。本文中所实现的就是这样的一个过程。

2.音频压缩的基本原理

Wav文件保存音频信息的基本原理为将音频信号的每一个采样点的时域数值用1个16bit数记录下来,对应的采样频率越高单位时内记录的数据就越多,音质也就越高。所以在不改变wav文件记录音频文件的基本格式的前提下只有降低采样频率才能实现文件的压缩,当然对采样频率的降低就会带来音质的损耗,所以该类压缩方法不是无失真的压缩方法。

在尽量保证源文件的音质效果的前提下有以下两种压缩思路:

1.在源文件的时域序列上间隔取点,再将取点之后的新序列以与取点间隔相对应的采

样频率重新写制成为wav文件,以达到压缩的目的。

2.将源文件的时域序列进行DFT后得到频谱,将频谱中能量较低的成分删除,在按

照新的频谱的长度做IDFT得到新的较源文件更短的时域序列,同样以相应的采

样频率重新写制wav文件。

2.1时域间隔采样法

在时域的间隔采样等效于将频谱中高频成分向低频搬移,而将低频成分去掉。可以用MATLAB读取一段wav文件并将其间隔1点采样后作DFT得到频谱与源文件的频谱比较如图2-1.

MATLAB代码如下:

[time1 fs1 bits1]=wavread('monsterkill.wav');

freq1=fft(time1);

m1=length(time1)

for i=1:m1/2

time2(i)=time1(2*i);

end

freq2=fft(time2);

subplot(2,1,1);

plot(abs(freq1));

subplot(2,1,2);

plot(abs(freq2));

图2-1

可以明显的看到高频成分向序列中段靠拢而幅值则缩小了一半,由此可以得到时域间

[time1 fs1 bits1]=wavread('monsterkill.wav');

freq1=fft(time1);

m1=length(time1);

time2=real(ifft(freq1,m1/2));

wavwrite(time2,fs1/2,'monsterkill2-1.wav');

freq2=fft(time2);

figure(1);

subplot(2,1,1);

plot(abs(freq1));

subplot(2,1,2);

plot(abs(freq2));

title('频谱成分');

figure(2);

subplot(2,1,1);

plot(time1);

subplot(2,1,2);

plot(time2);

title('时域序列');

运行结果如(图2-2)、(图2-3)。实际得到新wav文件见附件monsterkill2-1.wav

图2-2

该种方法的优点在于操作方便易于实现,并且能够较好的保留源文件的音质特点。但在压缩比例较大或者源音频文件以中低音为主时将会很大的破坏音质,失真度很高。

2.2去除低能频点法

频谱上各频点对应值的模长表示能量的分布,将能量较小的部分忽略掉即可以达到压缩的目的,其基本压缩流程如下:

以去掉小于平均能量20倍的频点为例MATLAB 代码如下:

[time1 fs1 bits1]=wavread('monsterkill.wav');

freq1=fft(time1);

m1=length(time1);

en=0;

for n=1:m1

en=en+abs(freq1(n));

end

d=en/m1;

n=1;

for i=1:m1

if d/abs(freq1(i))<20

freq2(n)=freq1(i);

n=n+1;

end

end

time2=real(ifft(freq2));

wavwrite(time2,n*fs1/m1,'monsterkill2-2.wav'); figure(1);

subplot(2,1,1);

plot(time1);

subplot(2,1,2);

plot(time2);

title('时域序列');

figure(2);

subplot(2,1,1);

plot(abs(freq1));

subplot(2,1,2);

plot(abs(freq2));

title('频谱分布');

运行结果如(图2-4)、(图2-5)。实际得到新wav文件见附件monsterkill2-2.wav

图2-4

图2-5

该种方法的优点在于能够很好的保留源文件中的有效能量成分,在低能量判别门限较

基于MATLAB 的声音信号采集系统(论文)

基于MATLAB 的声音信号采集系统 野龙平 (陕西师范大学电子信息科学与技术,陕西) 摘要: 声音是各种信号传递与交流最直接的体现,因此对声音信号的研究有十分重要的意义。本文主要针对Matlab指令系统对声音信号的采集,作者利用Matlab 提供的数据采集工具箱, 介绍了倆种采集方法,简单分析并比较其优缺点。基于matlab的数据采集系统, 具有实现简单、性价比和灵活度高的优点。 关键词: Matlab; 数据采集 0 引言 随着科技的发展,对于语音信号的采集已经有很多种方法,如基于单片机技术、VC,C++等编程、纯硬件电路,本文介绍的方法主要通过一款软件MATLAB。它是MathWorks 公司推出的一种面向工程和科学运算的交互式计算软件, 其中包含了一套非常实用的工具-- 数据采集工具箱。使用此工具箱更容易将实验测量、数据分析和可视化的应用集合在一起。数据采集工具箱提供了一整套的命令和函数, 通过调用这些命令和函数, 可以直接控制数据采集设备的数据采集。 作者简单介绍了一种用声卡进行语音信号采集和MATLAB 的数据采集工具箱进行分析处理的语音信号采集系统。经实验证明, 该系统可实现在线连续采集语音信号并进行分析和处理, 具有实现简单、性价比和灵活度高的特点。 1 语音数据采集系统设计 MATLAB 中提供了强大的数据采集工具箱( DAQ- Data Acquisition Toolbox) , 可满足控制声卡进行数据采集的要求。用户通过调用MATLAB 命令, 可对采集的数据进行分析和处理, 为用户带来了极大的方便。 语音数据采集过程如图1 所示。

图1 声卡采集声音信号有两种方式: 传输线输入方式(LineIn) 和麦克风输入( MicIn) 方式。LineIn 方式是通过传输线把其他声音设备, 如录音机等设备的音频输出信号连接到声卡, 通过声卡记录数据存入计算机。 本系统采用MicIn 方式, 即用麦克风接收语音通过声卡将音频信号存入计算机。利用MicIn 方式通过声卡采集数据有两种方法: 方法一是采用对声卡产生一个模拟输入对象进行采集, 方法二是直接利用MATLAB 数据采集箱中提供的的函数命令进行采集。 1. 1 方法1 本系统是以声卡为对象利用MATLAB 数据采集工具箱提供的环境完成数据采集过程, 麦克风成为数据采集系统中的传感器。数据采集过程与其他硬件设备无关, 只与声卡有关, 因此应对声卡产生一个模拟输入对象(AI) 。 数据采集过程的具体实现: 1) 初始化: 创建设备对象。 ai= analoginput(‘ winsound ’ ) 2) 配置: 根据数据采集硬件设备的特性, 增加通道和控制数据采集的行为。为AI 添加1 个通道, 设置采样频率和采样时间。 addchannel( ai, 1) freq= 8000; % 采样频率fs8000Hz set( AI, sampleRate, freq) %为模拟输入设备设置采样频率 duration= 2; %采样时间为2 秒 set (AI, SamplesPerTriffer, duration* freq) ; % 为模拟输入设备设置触发时间 3) 执行: 启动设备对象, 采集数据。 start( ai) ; %启动设备对象 data= getdata( ai) ; % 获得采样数据 4) 终止: 删除设备对象。 stop( ai) ; % 停止设备对象 语音信号输入 声卡 Matlab 数据采集箱 计算机

数字音频作业及其答案

第一次作业: 1:、声音可分为两种: 纯音和复合音,平常人们说话的声音属于哪一种?语音的频率范围是多少?音频通常包括哪几种声音信号?其频率范围是多少? 2、请说明音频信号数字化的三个步骤? 3、如何理解量化是信号数字化过程中重要的一步,而这一过程又是引入噪声的主要根源”这句话的含义?通过哪些途径可以减小量化误差? 4对双极性信号若采用均匀量化,则量化信噪比SNR与量化比特数之间的关系为: SNR=6.02xN+1.76dB试分析此式对实际量化与编码的指导意义? 5:、A/ D、D/A转换器的技术指标有哪些? 答:1:人们说话的声音为复合音,语言的频率范围为300HZ-3000HZ音频 暴多语音、音乐、效果声等声音信号,频率范围为20HZ-20KHZ 2: 1取样: 对连续信号按一定的时间间隔取样。奈奎斯特取样定理认为,只要取样频率大于等于信号中所包含的最高频率的两倍,则可以根据其取样完全恢复出原始信号,这相当于当信号是最高频率时,每一周期至少要采取两个点。但这只是理论上的定理,在实际操作中,人们用混叠波形,从而使取得的信号更接近原始信号。2量化: 取样的离散音频要转化为计算机能够表示的数据范围,这个过程称为量化。量化的等级取决于量化精度,也就是用多少位二进制数来表示一个音频数据。一般有8位,12位或16位。量化精度越高,声音的保真度越高。以8位的举例稍微说明一下其中的原理。若一台计算机能够接收八位二进制数据,则相当于能够接受256个十进制的数,即有256个电平数,用这些数来代表模拟信 号的电平,可以有256种,但是实际上米样后的某一时刻信号的电平不一定和256个电

平某一个相等,此时只能用最接近的数字代码表示取样信号电平。3编码: 对音频信号取样并量化成二进制,但实际上就是对音频信号进行编码,但用不同的取样频率和不同的量化位数记录声音,在单位时间中,所需存贮空间是不一样的。波形声音的主要参数包括: 取样频率.量化位数.声道数.压缩编码方案和数码率等,未压缩前,波形声音的码率计算公式为: 波形声音的码率=取样频率*量化位数*声道数/8。波形声音的码率一般比较大,所以必需对转换后的数据进行压缩。 3:量化是按四舍五入对采样的样本值进行计量的,这个过程会产生误差可对噪声进行整形,提高采样频率等方法减小量化误差 4:量化比特数增加一位,则信噪比提高6dB,信噪比提高意味着声音动态范围的加宽,若采用量化比特N=16的A/D变换器的数字声记录在磁带上可以扩展到98dB,接近于交响乐动态范围,若将量化比特提高到N=20,可扩至人儿的122dB动态范围。 5: A/D的技术指标有: 分辨率、转换速率、量化误差、偏移误差、满刻度误差和线性度误差等。D/A转换器的技术指标有: 分辨率和建立时间。 第二次作业: 1. 什么叫最小可闻阈?什么叫掩蔽阈?什么叫频域掩蔽?什么叫时域掩蔽?掩蔽效应的一般规律是什么? 2. 何谓临界频带?简述它在音频编码中的应用。 3. 音频编码通常分为哪几类?它们各有什么优缺点? 4. 声音压缩的依据是什么?MPEG-1音频编码利用了听觉系统的什么特

实验一利用DFT分析信号频谱

实验一利用DFT 分析信号频谱 一、 实验目的 1. 加深对DFT 原理的理解。 2. 应用DFT 分析信号的频谱。 3. 深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。 二、 实验设备与环境 计算机、MATLAB^件环境。 三、 实验基础理论 1. DFT 与DTFT 的关系 方法二:实际在MATLAB 十算中,上述插值运算不见得是最好的办法。 由于DFT 是DTFT 的取 样值,其相邻两个频率样本点的间距为 —,所以如果我们增加数据的长度 N,使得到的 N DFT 谱线就更加精细,其包络就越接近 DTFT 的结果,这样就可以利用 DFT 计算DTFT 如果 没有更多的数据,可以通过补零来增加数据长度。 3、利用DFT 分析连续时间函数 利用DFT 分析连续时间函数是,主要有两个处理:①抽样,②截断 对连续时间信号x a (t) 一时间T 进行抽样,截取长度为 M 则 址 ML X a (N)「-x a (t)e4dt 二「x a (nT)e jnT n=0 再进行频域抽样可得 M 4 —j 竺 n 送,T' X a (nT)e N =TX M (k) NT n =0 因此,利用DFT 分析连续时间信号的步骤如下: (1 )、确定时间间隔,抽样得到离散时间序列 x(n). (2) 、选择合适的窗函数和合适长度 M 得到M 点离散序列x M DFT 实际上是 DTFT 在单位圆上以 的抽样,数学公式表示为: N-1 _j 空 k X(k) = X(z)| 耳八 x(n)e N z” N n=0 (2 — 1) 2、利用 DFT 求DTFT 方法一:利用下列公式: 2rk X(e j )二、X(k)( ) k=0 N k= 0,1,..N - 1 (2 — 2) Sn(N ,/2) Nsin(,/2) .N A e 2为内插函数 (2— 3) (2—4) X a (r 1)|

labview声音采集系统

虚拟仪器技术 姓名:史昌波 学号:2131391 指导教师:孙来军 院系(部所):电子工程学院专业:控制工程

目录 1、前言 (3) 2、声卡的硬件结构和特性 (3) 2.1声卡的作用和特点 (3) 2.2声卡的构造 (5) 3、LABVIEW中与声卡相关的函数节点 (5) 4、LABVIEW程序设计 (6) 4.1程序原理 (6) 4.2程序结构 (7) 4.3结果分析 (9) 5、结束语 (9) 6、参考文献 (10)

基于声卡的数据采集与分析 1、前言 虚拟仪器技术是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。在虚拟仪器系统中,硬件解决信号的输入和输出,软件可以方便地修改仪器系统的功能,以适应不同使用者的需要。其中硬件的核心是数据采集卡。目前市售的数据采集卡价格与性能基本成正比,一般比较昂贵1。 随着DSP(数字信号处理)技术走向成熟,计算机声卡可以成为一个优秀的数据采集系统,它同时具有A/D和D/A转换功能,不仅价格低廉,而且兼容性好、性能稳定、灵活通用,驱动程序升级方便,在实验室中,如果测量对象的频率在音频范围,而且对指标没有太高的要求,就可以考虑使用声卡取代常规的DAQ设备。而且LABVIEW中提供了专门用于声卡操作的函数节点,所以用声卡搭建数据采集系统是非常方便的2。 2、声卡的硬件结构和特性 2.1声卡的作用和特点 声卡的主要功能就是经过DSP(数字信号处理)音效芯片的处理,进行模拟音频信号的与数字信号的转换,在实际中,除了音频信号以外,很多信号都在音频范围内,比如机械量信号,某些载波信号等,当我们对这些信号进行采集时,使用声卡作为采集卡是一种很好的解决方案。 声卡的功能主要是录制与播放,编辑与合成处理,MIDI接口三个部分3。 (1)录制与播放

数字音频技术_MP3_的压缩编码原理与制作方法

第4卷第2期2004年6月 长沙航空职业技术学院学报 CHAN GSHA AERONAU TICAL VOCA TIONAL AND TECHN ICAL COLL EGE JOURNAL Vol.4No.2 J un.2004 收稿日期:2004-03-20 作者简介:张晓婷(1964-),女,上海市人,讲师,主要从事计算机教学与研究。 数字音频技术(MP3)的压缩编码原理与制作方法 张晓婷 (珠海市工业学校,广东珠海 519015) 摘要:本文从音频压缩理论的角度,阐述MP3音频格式、压缩编码原理,同时介绍专业制作 MP3的方法。 关键词:MP3音频格式;压缩编码原理;制作经验与技巧中图分类号:TN919.3+11 文献标识码:A 文章编号:1671-9654(2004)02-051-06 Compression Coding Principle and F acture of Digital Audio Frequency T echnique (MP 3) ZHAN G Xiao 2ting (Zhuhai Indust ry School ,Zhuhai Guangdong 519015) Abstract : From the perspective of Audio Compression Theory ,the paper discusses format of audio Frequency tech 2 nique (MP3)and compression coding principle and also introduces the facture of audio Frequency technique (MP3). K ey w ords : Fomat of audio Frequency technique (MP3);compression coding principle ;facture 一、引言 数字技术的出现与应用为人类带来了深远的影响,特别是互联网的普及,使数字音频技术得到更为广泛的应用,并具有良好的市场前景。与之相关的数字音频压缩技术也得到了充分的发展,一些著名的研究机构和公司都致力于开发专利技术和产品。其中,MP3便是目前为止开发得最为成功的数字音频压缩技术之一。 二、MP3简介 (一)数字音频MP3的格式 MP3音频格式诞生于20世纪80年代,全名MPEG Audio layer 3,是MPEG (Moving PicturesEx 2pert Group 运动图像专家组)当初和影像压缩格式同时开发的音频压缩格式,是MPEG 21标准中的第三个层次,是综合了MPEG Audio layer 2和ASPEC 优点的混合压缩技术,音频质量好,主要用于MP3音频压缩,典型的码流为每通道64Kbit/s 。 (二)数字音频MP3压缩的优点 使用数字音频MP3压缩方式的处理,能增加更多的存储空间。由于MP3的压缩比约在十到十二倍之间,一分钟的CD 音乐经MP3压缩后,只需要一兆左右的存储空间,即一张光盘可以存储六百五十分钟到七百五十分钟的音乐;MP3典型的码流是每通道64Kbit/s ,只有CD 音乐每通道大约十分之一的码流,非常适合网上传输。更重要的是,即使压缩比如此惊人,音乐的品质依然较好,这主要是利用了人类听觉掩蔽效应(Masking Effect )的缘故。MP3具有容量小、数码化、制作简单、传输方便、成本低廉等特点,虽历经14余年,仍然是网上最流行的音乐格式之一。 三、MP3压缩编码原理在MPEG 21的音频压缩中,采样频率可分为32、44.1和48KHz ,可支持的声道有单声道(mono 2phonic )、双—单声道(dual 2monophonic )、立体声模式 ? 15?

信号与测试实验1时率与频率

基本信号分析 一、实验目的 1.掌握基本信号的时域和频域分析方法 2.掌握信号的自相关和互相关分析,了解其应用 二、数据处理与分析 (1)幅值为1,频率为100Hz的正弦信号,上图为时域图,下图为利用快速傅里叶变换获得的频谱图。从频谱图上看出,f=100Hz时频域的幅值最大。 (2)频域为100Hz,幅值为1的方波信号,上图为时域图,下图为借助快速傅立叶变换获得的频域图。从频谱图上看出,f=100Hz时频域的幅值最大,随着频域增大,频域的幅值逐渐衰减。

(3)频率为100Hz,幅值为1的锯齿波信号图,上图为时域图,下图为借助傅立叶变换而获得的频域图。从频域图看出,在100Hz的整数倍频率上,频域幅值都出现了峰值,随着频率的增大,峰值逐渐收敛至0. (4)平均振幅为1的噪声信号,上图为时域图,下图为通过快速傅立叶变

换得出的频谱图,从频谱图可以看出,白噪声信号的频谱杂乱无章,无明显规律。 (5)由频率为50Hz、100Hz、150Hz的正弦信号组成的复合信号,上图为时域图,下图为频域图,从图中可以看出,频谱图在50、100、150Hz处出现了峰值。 (6)频率为100Hz 的正弦信号叠加噪声信号:上图为时域信号图,下图为

通过快速傅立叶变换获得的频谱图。与没有叠加噪声信号的正弦波相比,时域波形出现了毛刺,而频谱图中除了在100Hz处有峰值外,在其他频率点处也出现了一些较低的峰值。 (7)频率为100Hz的正弦信号和频率为100Hz的方波信号进行叠加,上图为时域信号,下图为频谱图。从时域图上可以看出,正弦波形叠加方波后有了明显的畸变。从频谱图上可以看出,除了100Hz处出现峰值以外,在其他频率点也出现了一些峰值。

声音信号的获取与处理

实验一声音信号的获取与处理 声音媒体是较早引入计算机系统的多媒体信息之一,从早期的利用PC机内置喇叭发声,发展到利用声卡在网上实现可视电话,声音一直是多媒体计算机中重要的媒体信息。在软件或多媒体作品中使用数字化声音是多媒体应用最基本、最常用的手段。通常所讲的数字化声音是数字化语音、声响和音乐的总称。在多媒体作品中可以通过声音直接表达信息、制造某种效果和气氛、演奏音乐等。逼真的数字声音和悦耳的音乐,拉近了计算机与人的距离,使计算机不仅能播放声音,而且能“听懂”人的声音是实现人机自然交流的重要方面之一。 采集(录音)、编辑、播放声音文件是声卡的基本功能,利用声卡及控制软件可实现对多种音源的采集工作。在本实验中,我们将利用声卡及几种声音处理软件,实现对声音信号的采集、编辑和处理。 实验所需软件: Windows录音机(Windows98内含) Creative WaveStudio(Creative Sound Blaster系列声卡自带) Syntrillium Cool Edit 2000(下载网址:https://www.360docs.net/doc/df9170978.html,) 进行实验的基本配置: Intel Pentium 120 CPU或同级100%的兼容处理器 大于16MB的内存 8位以上的DirectX兼容声卡 1.1 实验目的和要求 本实验通过麦克风录制一段语音信号作为解说词并保存,通过线性输入录制一段音乐信号作为背景音乐并保存。为录制的解说词配背景音乐并作相应处理,制作出一段完整的带背景音乐的解说词。 1.2 预备知识 1.数字音频和模拟音频 模拟音频和数字音频在声音的录制和播放方面有很大不同。模拟声音的录制是将代表声音波形的电信号转换到适当的媒体上,如磁带或唱片。播放时将纪录在媒体上的信号还原为波形。模拟音频技术应用广泛,使用方便。但模拟的声音信号在多次重复转录后,会使模拟信号衰弱,造成失真。 数字音频就是将模拟的(连续的)声音波形数字化(离散化),以便利用数字计算机进行处理,主要包括采样和量化两个方面。 2.数字音频的质量 数字音频的质量取决于采样频率和量化位数这两个重要参数。采样频率是对声音波形每秒钟进行采样的次数。人耳听觉的频率上限在2OkHz左右,根据采样理论,为了保证声音

音频信号分析与处理

实验三音频信号的分析与处理1 一、实验目的 1.掌握音频信号的采集以及运用Matlab软件实现音频回放的方 法; 2.掌握运用Matlab实现对音频信号的时域、频谱分析方法; 3.掌握运用Matlab设计RC滤波系统的方法; 4.掌握运用Matlab实现对加干扰后的音频信号的进行滤波处理 的方法; 5.锻炼学生运用所学知识独立分析问题解决问题的能力,培养学 生创新能力。 二、实验性质 设计性实验 三、实验任务 1.音频信号的采集 音频信号的采集可以通过Windows自带的录音机也可以用专用的录制软件录制一段音频信号(尽量保证无噪音、干扰小),也可以直接复制一段音频信号,但必须保证音频信号保存为.wav的文件。 2.音频信号的时域、频域分析 运用Matlab软件实现对音频信号的打开操作、时域分析和频域分析,并画出相应的图形(要求图形有标题),并打印在实验报告中(注意:把打印好的图形剪裁下来,粘贴到实验报告纸上)。 3.引入干扰信号 在原有的音频信号上,叠加一个频率为100KHz的正弦波干扰信号(幅度自定,可根据音频信号的情况而定)。 4.滤波系统的设计 运用Matlab实现RC滤波系统,要求加入干扰的音频信号经过RC滤波系统后,能够滤除100KHz的干扰信号,同时保留原有的音频信号,要求绘制出RC滤波系统的冲激响应波形,并分析其频谱。

% 音频信号分析与处理 %% 打开和读取音频文件 clear all; % 清除工作区缓存 [y, Fs] = audioread('jyly.wav'); % 读取音频文件 VoiceWav = y(300000 : 400000, 1); % 截取音频中的一段波形 clear y; % 清除缓存 hAudio = audioplayer(VoiceWav, Fs); % 将音频文件载入audioplayer SampleRate = get(hAudio, 'SampleRate'); % 获取音频文件的采样率KHz T = 1/SampleRate; % 计算每个点的时间,即采样周期SampLen = size(VoiceWav,1); % 单声道采样长度 %% 绘制时域分析图 hFig1 = figure('Units', 'normalized', 'Position', [0 0.05 0.49 0.85]); t = T: T: (SampLen* T); subplot(2, 1, 1); % 绘制音频波形 plot(t, VoiceWav); % 绘制波形 title('音频时域波形图'); axis([0, 2.3, -0.5, 0.5]); xlabel('时间(s)'); ylabel('幅值(V)'); % 显示标题 %% 傅里叶变换 subplot(2, 1, 2); % 绘制波形 myfft(VoiceWav, SampleRate, 'plot'); % 傅里叶变换 title('单声道频谱振幅'); % 显示标题 xlabel('Frequency (Hz)'); ylabel('|Y(f)|'); play(hAudio); % 播放添加噪声前的声音 pause(3); %% 引入100KHz的噪声干扰 t = (0: SampLen-1)* T; noise = sin(2 * pi * 10000 * t); % 噪声频率100Khz,幅值-1V到+1V hFig2 = figure('Units', 'normalized', 'Position', [0.5 0.05 0.5 0.85]); subplot(2, 1, 1); % 绘制波形 plot(t(1: 1000), noise(1: 1000)); title('100KHz噪声信号'); % 显示标题 noiseVoice = VoiceWav+ noise'; % 将噪声加到声音里面 hAudio = audioplayer(noiseVoice, Fs); % 将音频文件载入audioplayer subplot(2, 1, 2); % 绘制波形 [fftNoiseVoice, f] = myfft(noiseVoice, SampleRate, 'plot'); title('音乐和噪声频谱'); % 显示标题 play(hAudio); % 播放添加噪声后的声音 pause(3);

光纤声音采集系统

摘要:科技的发展带来许多电磁干扰或射频干扰的恶劣环境,要想解决电磁干扰问题的,必须从本质上改变麦克风的工作模式。文章提出了利用激光的传输频带宽、通信容量大和抗电磁干扰能力强等优点,研制一种基于光相位干涉的高灵敏度声音采集系统。光纤声音采集能够传送非常高的声音质量,适用于多种恶劣环境下的声音采集。 关键词:光纤声音采集、干涉型光纤传感器 引言: 麦克风在声场和电场中起着重要的沟通界面,它可将声音信号传至任何地方或者记忆装置。传统型的使用电磁场或静电场来产生动作,外部的强电磁场影响会阻绝这些装置的功能。本项目研制的光纤声音采集系统是一种新颖的声音信号传感器,在反射式强度型光纤传感器的原理基础上,利用激光来采集声音信号,由于它与传统的麦克风有着本质的区别,所以在使用方面具有很大的优越性。系统由非导磁材料制成,其主要工作本体是光,即使在强电磁场或高射频环境中也能正常工作。把光纤应用于麦克风,充分利用了光纤传感器体积小、结构简单、灵敏度高、抗电磁干扰且光纤本身低损耗、耐腐蚀、安全可靠等优良特性。 1、系统结构 本系统利用干涉型光纤传感器的原理,开发基于光相位干涉的高灵敏度声音采集系统,由光纤传感探头、光路系统、光信号调制解调器等部分组成。 干涉型光纤传感器通常将被测量转化为光信号的相位,因此,相位测量是该类型传感器信号处理的基本要求。若直接对相位进行测量,那么有两个问题将限制系统的性能:一是系统受到环境的干扰时被测相位会产生随机漂移,从而引入测量误差,此外,相位漂移还会导致信号衰减;二是直接测相意味着直流检测,信号处理易受电路直流漂移的影响。针对这两个问题引出了相位生成载波技术。相位生成载波调制是在被测信号带宽以外的某一频带之外引入大幅度的相位调制,被测信号则位于调制信号的边带上,这样就把外界干扰的影响转化为对调制信号的影响,且把被测信号频带与低频干扰频带分开,以利于后续的噪声分离。 项目研制的光纤声音采集系统,在对传统michelson干涉仪加以改进的基础上,通过构造由光纤耦合器和振动膜组成的动态michelson干涉光路,能够将外界声压对振膜的作用转化为对光路相位的调制,得到的干涉光信号直接光电转换后即可解调还原声音信号。在多种干涉型光纤传感器的解调方法中,相位生成载波解调技术(pgc)由于是一种无源解调技术,并具有高灵敏度、大动态范围和好的线性度而得到广泛的应用。 2、系统原理 2.1光纤传感探头原理: 激光器发出的激光经耦合器到达传输光纤,由光纤出射的光束照射到振动膜上,传输光纤出射端面m1与振动膜构成一个干涉腔,从两表面反射回的光进行干涉,干涉光再经耦合器由光电探测器接收,外界声音信号通过改变干涉腔的光纤出射端面m1和振动膜之间的距离对光相位进行调制。系统中半导体激光器发出的光源光频随输入的调制电流线性变化,振动膜采用硅微技术进行研制。 2.2解调原理: 光纤声音采集系统中的调制解调器是由光源,光电转换器,高增益微弱信号放大电路,背景噪声消除器等组成。 光源向光纤传感头发射一稳定的激光,传感头内的振动薄膜被周围声音振动信号带动,从而对发射到振动薄膜上的激光进行相位调制后再反射回去,被调制的激光在光路系统里发生干涉,形成携带微弱声音强度的激光信号,光电转换系统的探测器将此激光信号转换成电信号,再经高增益微弱信号放大,pgc解调,噪声滤除,后将解调后的电信号还原成声音信号输出。

习题1 绘制典型信号及其频谱图(参考模板)

习题一绘制典型信号及其频谱图 电子工程学院 202班一、单边指数信号 单边指数信号的理论表达式为 对提供的MATLAB程序作了一些说明性的补充,MATLAB程序为

figure(3); plot(w,20*log10(abs(F)));xlabel('\omega');ylabel('|F(\omega)| in dB');title(' 幅频特性/dB'); figure(4); plot(w,angle(F)*57.29577951);xlabel('\omega');ylabel('\phi(\omega)/(°) ');title('相频特性'); 调整,将a分别等于1、5、10等值,观察时域波形和频域波形。由于波形 较多,现不失代表性地将a=1和a=5时的各个波形图列表如下进行对比,其 他a值的情况类似可推知。 a15 时 域 图 像

幅频特性 幅频特性/d B 相频特性

分析: 由上表中a=1和a=5的单边指数信号的波形图和频谱图的对比可以发现,当a值增大时,信号的时域波形减小得很快,而其幅频特性的尖峰变宽,相频特性的曲线趋向平缓。 二、矩形脉冲信号 矩形脉冲信号的理论表达式为 MATLAB程序为:

clear all; E=1;%矩形脉冲幅度 width=2;%对应了时域表达式中的tao t=-4:0.01:4; w=-5:0.01:5; f=E*rectpuls(t,width); %MATLAB中的矩形脉冲函数,width即是tao,t为时间 F=E*width*sinc(w.*width/2); figure(1); plot(t,f);xlabel('t');ylabel('f(t)');title('信号时域图像'); figure(2); plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|');title('幅频特性'); figure(3); plot(w,20*log10(abs(F)));xlabel('\omega');ylabel('|F(\omega)| in dB');title(' 幅频特性/dB'); figure(4); plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega)');title('相频特性'); 调整,将分别等于1、4等值,观察时域波形和频域波形。由于波形较多,现不失代表性地将a=1和a=4时的各个波形图列表如下进行对比,其他值的情况类似可推知。 14

基于LabView的双声道声卡数据采集系统

基于LabView的双声道声卡数据采集系统班级:热动1007 姓名:刘堂俊学号:U201011568 在虚拟仪器系统中,信号的输入环节一般采用数据采集卡实现。商用的数据采集卡具有完整的数据采集电路和计算机借口电路,但一般比较昂贵,计算机自带声卡是一个优秀的数据采集系统,它具有A/D和D/A转换功能,不仅价格低廉,而且兼容性好、性能稳定、通用性强,软件特别是驱动程序升级方便。如被测对象的频率在音频范围内,同时对采样频率要求不是太高,则可考虑利用声卡构建一个数据采集系统。 1.从数据采集的角度看声卡 1.1声卡的作用 从数据采集的角度来看,声卡是一种音频范围内的数据采集卡,是计算机与外部的模拟量环境联系的重要途径。声卡的主要功能包括录制与播放、编辑和处理、MIDI接口三个部分。 1.2声卡的硬件结构 图1是一个声卡的硬件结构示意图。一般声卡有4~5个对外接口。 图1 声卡的硬件结构示意图 声卡一般有Line In 和Mic In 两个信号输入,其中Line In为双通道输入,Mic In仅作为单通道输入。后者可以接入较弱信号,幅值大约为0.02~0.2V。声音传感器(采用通用的麦克风)信号可通过这个插孔连接到声卡。若由Mic In 输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,故推荐使用Line In ,其噪声干扰小且动态特性良好,可接入幅值约不超过1.5V的信号。另外,输出接口有2个,分别是Wave Out和SPK Out。Wave Out(或LineOut)给出的信号没有经过放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out给出的信号是通过功率放大的信号,可以直接接到喇叭上。这些接口可以用来作为双通道信号发生器的输出。 1.3声卡的工作原理 声音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。声卡作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转换为数字信号,经过DSP音效芯片的处理,将该数字信号转换为模拟信号输出。输入时,麦克风或线路输入(Line In)获取的音频信号通过A/D转换器转换成数字信号,送到计算机进行播放、录音等各种处理;输出时,计算机通过总线将数字化的声音信号以PCM(脉冲编码调制)方式送到D/A转换器,变成模拟的音频信号,进而通过功率放大器或线路输出(Line Out)送到音箱等设备转换为声波。

信号与系统实验报告-实验3--周期信号的频谱分析

信号与系统实验报告-实验3--周期信号的频谱分析

信号与系统 实验报告 实验三周期信号的频谱分析 实验三周期信号的频谱分析 实验目的: 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;

3、掌握各种典型的连续时间非周期信号的频谱特征。 实验内容: (1)Q3-1 编写程序Q3_1,绘制下面的信号的波形图: 其中,0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(0t)、cos(30t)、cos(50t) 和x(t) 的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。 程序如下: clear,%Clear all variables close all,%Close all figure windows dt = 0.00001; %Specify the step of time variable t = -2:dt:4; %Specify the interval of time w0=0.5*pi; x1=cos(w0.*t); x2=cos(3*w0.*t); x3=cos(5*w0.*t); N=input('Type in the number of the harmonic components N='); x=0; for q=1:N; x=x+(sin(q*(pi/2)).*cos(q*w0*t))/q; end subplot(221) plot(t,x1)%Plot x1 axis([-2 4 -2 2]); grid on, title('signal cos(w0.*t)') subplot(222) plot(t,x2)%Plot x2 axis([-2 4 -2 2]); grid on, title('signal cos(3*w0.*t))') subplot(223) plot(t,x3)%Plot x3

声音信号的获取与处理

声音信号的获取与处理 一、实验目的和要求 本实验通过麦克风录制一段语音信号作为解说词并保存,通过线性输入录制一段音乐信号作为背景音乐并保存。为录制的解说词配背景音乐并作相应处理,制作出一段完整的带背景音乐的解说词。 二、实验内容和步骤 1、软件与硬件的准备 目前,多媒体计算机中的音频处理工作主要借助声卡,从对声音信息的采集、编辑加工,直到声音媒体文件的回放这一整个过程都离不开声卡。声卡在计算机系统中的主要作用是声音文件的处理、音调的控制、语音处理和提供MIDI接口功能等。 进行录制音频信号所需的硬件除了声卡,还有麦克风、音箱以及外界的音源信号设备(如CD唱机、录音机等),把麦克风、音箱、外界音源信号设备与声卡正确连接完成硬件准备工作。在Windows的【控制面板】/【多媒体】中选择正确的录音和回放设备,并对其进行调试。 2、用Windows录音机录制解说词 使用Windows录音机录制任意一段语音信号作为解说词,录制完毕后把文件存为Wav 格式,文件名为【示例1_1】。 3、使用Cool Edit录制背景音乐 使用Cool Edit 2000录制任意一段语音信号作为背景音乐,要求录制的声音文件 采样频率为44100Hz,立体声,量化位数为16位,保存文件的为Wav格式,文件名【示例1_2】。

4、使用WaveStuido编辑和处理背景音乐 使用WaveStuido对【示例1_2】先进行回声处理,【幅度】值为100%,【回声延迟】为300毫秒。然后进行【淡入】和【淡出】处理,【幅度】值各为50%。 5、使用Cool Edit进行混音处理 使用Cool Edit的【Mix paste】功能对【示例1_1】和【示例1_2】进行混音处理。把【示例1_2】加入【示例1_1】中去,编辑成为一个完整的带背景音乐的解说词,保存为【示 例1_3】

音频信号采集与传输

《信号与系统》 ——综合性设计性实验报告标题:音频信号采集与传输 组长:学号 成员:学号 学号 学号 实验时间:2011年6月20日星期一第1、2节2011年6月27日星期一第1、2节实验地点:电子信息楼617 实验课室: 机械与电气工程学院 电子信息工程系 信息工程专业 教师:胡晓

目录 1、课题设计流程 (3) 2、课题设计理论基础 (3) 2.1信号的采集 (3) 2.2频谱分析 (3) 2.3 调制与解调 (3) 2.4 高斯白噪声 (4) 2.5 滤波 (4) 3、课题设计(程序) (4) 4、课题设计效果(效果图) (6) 5、课题设计总结 (7) 6、心得体会 (7)

1、课题设计流程 用matlab录制音频文件 ?→ ?)(f t频谱分析?→ ?调制? ? ? ?→ ?加入高斯白噪声解调?→ ?滤 波?→ ?扬声器 2、课题设计理论基础 2.1信号的采集 用matlab录制5秒mic声音,y = wavrecord(5*fs,fs,'int16'),其中采样率为44100,时长为5*fs,然后用wavplay(y,fs);语句播放出来,再写成以xinhao_test01命名的wav文件。Y也可以直接用windows自带的录音工具进行录音,并直接读取[y,fs,bits]=wavread('xinhao_test01.wav'),然后对声音进行回放sound(y,fs),感觉效果。 2.2频谱分析 快速傅里叶变换原理: 在matlab的信号处理工具箱中函数FFT用于快速傅里叶变换,此次实验调用FFT函数的一种格式y=fft(x,N),其中x是序列,y是序列的FFT,N为正整数,函数执行N点的FFT,由于实验中fs=44100,所以取N=2^16,由于经过fft求得的y一般是复序列,所以用其幅值进行分析,可以用函数abs(y)进行计算复向量y的幅值。由于用matlab自带的FFT快速傅里叶变换得到的幅频图的横坐标是从1到1/2fs,是从低频到高频,再由1/2fs到1,是从高频到低频,实验中用语句Y0(2^N/2+1:2^N)=Y(1:2^N/2),Y0(1:2^N/2)=Y(2^N/2+1:2^N)(其中N=16)。这样就可以将幅频图变成横坐标原点是低频,向坐标的正负端频率逐渐递增的形式,这是平常傅里叶变换得到的幅频图横坐标。

数字音频压缩编码

数字音频压缩编码 一、 PCM脉冲编码调制 PCM 脉冲编码调制是Pulse Code Modulation的缩写。脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。 编码原理:PCM脉冲编码调制是对连续语音信号进行空间采样、幅度值量化及用适当码字将其编码的总称,即它把连续输入的模拟信号变换为在时域和振幅上都离散的量,然后将其转化为代码形式传输或存储,原理框图如图所示。在图中,它的输入是模拟声音信号,输出是PCM样本。图中的“防失真滤波器”是一个低通滤波器,用来滤除声音频带以外的信号;“波形编码器”可暂时理解为“采样器”;“量化器”可理解为“量化阶大小”(Step—Size)生成器或者称为“量化间隔”生成器。 PCM原理框图 优点:音源信息保存完整,音质好。 缺点:信息量大,体积大,冗余度过大。 二、DPCM差值编码调制 DPCM编码是对模拟信号幅度抽样的差值进行量化编码的调制方式。这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。差值编码可以提高编码频率,这种技术已应用于模拟信号的数字通信之中。

编码原理:DPCM采用预测编码的方式传输信号,所谓预测编码就是根据过去的信号样值来预测下一个信号样值,并仅把预测值与现实样值的差值加以量化,编码后进行数字信号传输。在接收端经过和发送端相同的预测操作,低通滤波器便可恢复出与原始信号相近的波形。 优点:DPCM的压缩比不高,但它容易硬件实现,成本低,因此应用比较普遍。 缺点:有误码扩散。即:如果在量化或传输中出现了噪声,那么它不仅仅停留在发生误码的地方,而是继续向以后的象素值扩散。 三、ADPCM自适应差分脉冲编码调制 自适应脉冲编码调制是一种根据输入信号幅度大小来改变量化阶大小的一种波形编码技术。这种自适应可以是瞬时自适应,即量化阶的大小每隔几个样本就改变;也可以是音节自适应,即量化阶的大小在较长时间周期里发生变化。编码原理:①利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值;②使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。

信号与检验测试实验一

实验一、基本信号分析 一、实验目的 1. 掌握基本信号的时域和频域分析方法 2. 掌握信号的自相关和互相关分析,了解其应用 二、实验原理 (1)信号的时域和频域转换 目的:研究分析信号的时域特征(如持续时间、幅值、周期等)和信号的频域特征(如是否含有周期性信号、信号的频率带宽等) 转换方法:时域有限长序列 频域有限长序列: 离散傅里叶变换 (2)信号相关性 相关是用来描述一个随机过程自身在不同时刻的状态间,或者两个随机过程在某个时刻状态间线性依从关系的数字特征。 自相关函数定义为: xx 01()lim ()()T T R x t x t dt T ττ→∞ =+? 互相关函数定义为: xx 0 1()lim ()()T T R x t x t dt T ττ→∞=+?

三、实验内容与步骤 (1)产生不同的周期信号,包括正弦信号、方波信号、锯齿波信号,在时域分析这些波形特征(幅值、频率(周期))。 上图为幅值为2频率为20Hz的正弦信号时域图,下图为快速傅里叶变换之后获得的频谱图。从频谱图上看出,f=20Hz时频域的幅值最大,和时域图吻合。

上图为幅值为3频率为5Hz的方波信号时域图,下图为快速傅里叶变换之后获得的频谱图。从频谱图上看出,方波信号傅里叶分解后由一个频率为5Hz 的基波和无数个高次谐波组成。以幅值衰减十倍为带宽,由图可知此方波信号带宽约为35Hz

上图为幅值为4频率为10Hz的三角波信号时域图,下图为快速傅里叶变换之后获得的频谱图。从频域图看出,在10Hz的整数倍频率上,频域幅值出现了峰值,其后有无数个谐波和基波一起组成了三角波。以幅值衰减十倍为带宽,由图可知此三角波信号带宽约为80Hz (2)在Matlab中产生随机噪声、阶跃信号(选作)、矩形脉冲(选作)

基于MATLAB的语音信号采集与处理课程设计报告

MATLAB 课程设计报告书 课题名称 基于MATLAB 的语音信号采集与处理 姓 名 学 号 院、系、部 专 业 指导教师 2009年 5月 31日 ※※※※※※※※※ ※※ ※※ ※※ 2007级学生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软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。

相关文档
最新文档