应用Matlab分析声音文件的失真

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

Analyze the D istortion of Sound F iles w ith M atlab
Abstract: M atlab is a very strong tool to analyze and com pute data, wh ich can be used to ana lyze the d istortion of a sound file. D istortion is the m ost no rm a l phenom enon in the sound reproducing. By pick ing out the enve lope sig nal the am plitude of the signals from the m odu lated signa ls before and after reproducing, one can com pare those tw o signa ls and get the difference w ith the help of M atlab. K ey w ord s: M atlab; d istortion; frequency; enve lope signal
本文通过讨论 M atlab 的应用来介 绍一种分 析 声音文件的新方法, 即通过分析声音信号的幅度失 真来衡量一个信号失真度的方法。
1 声音信号的组成
在实际中, 任何的声音信号都包含很多不同的 频率。人类的听觉系统在分析声音文件的时候, 会 同时分析时间信号和频率信号。无论是线性, 还是 非线性的失真, 都会改变一个声音文件的时间上和 频率上的属性。
通过比较两个信号的不同, 可以得到一个单位 为 db的差值。
第二个参数就是调制失真度。调制失真度为上 面所得到的失真二维表中的系数与一个二维的权相 乘后的总和。在这里, 称为 K 矩阵。
T he m odu lat ion error = ij | D ij & K ij | 在这个算法当中, 最困难的就是通过 m atlab 命 令实现滤波。要制定滤波的波段并不困难, 但是, 需 要非常小心选择滤波 的权。例如命 令行中的 [ b1, a1] = octdsgn( 0. 25, 32, 4) ; 其中的数字 4, 就是滤波 器的权。这个值取得不好, 会导致计算出来的值误 差很大。通过比较 1、2和 4, 并经过计算, 确定 4 为 最理想的权值。
引言
一个系统, 或者是一个设备, 在重新播放声音文 件的时候, 都会产生失 真。例如, 通过 扬声器的 声 音, 很多时候都会产生失真。失真是评价一个被复 制声音文件的重要指标, 失真越少越好。有很多方 法可以衡量一个声音文件是否失真, 如谐波失真的 测试互调失真测量方法等等。
但是, 这些方法衡量出来的声音的失真, 跟人类 的耳朵听起来的失真, 并不是非常吻合。这是因为 人类的耳朵本身就是一个非线性的系统。人类自身 的非线性系统, 都会产生自身的失真。比如说, 一套 做工非常好的音响, 但是, 听起来, 就不怎么样, 原因 就是因为人类自身的听力系统产生了失真的原因。
字图像 处 理 ( MATLA B 版 ) [M ]. 北 京: 电 子 工 业 出 版 社, 2004. [ 2]马兴义, 杨立 群, 林 敏, 龚少 华. M atlab 6 应 用 开 发指 南 [M ]. 北京: 机械工业出版社, 2002. [ 3] M ichae l R obin. M easuring the perform ance of audio dev ices and system s[ J]. B roadcast Eng inee ring, 2002, 44( 5).
signa l) , ( t )是瞬间相位信号。信封信号 A ( t ) 为
x 2 ( t) + x 2 ( t)正平方根: A ( t) = ( t) = tan- 1 [ x ( t) /x ( t) ]
2 2 算法
x2 ( t) + x 2 ( t),
ห้องสมุดไป่ตู้
整个分析方法主要有四个步骤:
( 1) 使用 hanning 函数去掉信号中的直流电 信 号的噪音。
( 1) 卷积分 这是一个在时间域中的定义。一个真值 x ( t )
的 H ilbert变换的范围为 - ! < t< ! , 见下式:
∀!
x ( t) = H [ x ( t) ] = -!
x( (1
u -
) u
)
du
因此 x ( t) 为 x ( t)的卷积, 简写为: x ( t) = x ( t )*
( 责任编辑 周 源 )
Envelope_norm alized = 20* log ( enve lope /m ax i m um )
当然, 失真后的信号与失真前的信号的区别, 可 以通过一个公式来表示:
D ifference= Envelope_norm alized_recorded- En ve lope_norm alized_orig ina l
因为非线性失真会改变一个声音文件的频率, 所以, 非线性失真会改变一个信号的调制信号。图 1是一个频率为 60赫兹的正弦信号用一个 5赫兹的
正弦信号调制后的信号。在此, 称调制信号为 信 封 信号。信号的失真, 体现在信封信号的幅度的改 变。图 2就是该调制信号的信封信号。
图 1 调制信号
图 2 调制信号的信封信号
康洁
(广东外语外贸大学 教育技术中心, 广东 广州 510420)
摘 要: M atlab是一个非常强大的计算和分析工具, 可以应用于分析声音数据的失真。通过提取调 解信号信 封文件 的幅度, 应用 M atlab分析不同频率 段的声音文件, 从而找出了一种分析声音文件的新方 法。 关键词: M atlab; 失真; 频率; 信封信号 中图分类号: TN912. 34 文献标识码: A
第 5卷第 2期 2005年 6月
南 京工 业职 业技 术学 院 学报 Journal o f Nan jing Inst itute o f Industry T echno logy
文章编号: 1671 4644( 2005) 02 0070 03
应用 M atlab分析声音文件的失真
V o .l 5, N o. 2 Jun. , 2005
( 1 / t)
( 2) 定义为 ( / 2) 相位迁移系统
这是在频域中的定义。所有为负值的频率都进
行 + 90#的相位移动, 同时, 所有正值的频率都进行 - 90#的相位移动。
( 3) 定义为一个信号的虚部 z ( t ) = x ( t) + jx ( t)或者 z ( t) = A ( t) ej ( t) 这里, A ( t)就是要使用到的信封信号 ( envelope
3 实验结果
在这个实验中, 共使用了三种声音信号, 分别是 摇滚声音信号, 语音信号和小提琴声音信号。所有 的图片及结果均用 m atlab做分析处理和提取。
三种信号的信封信号分别如图 3、图 4、图 5 所 示, 三种声音 信号的调 制失真度 如图 7、图 8、图 9 所示。
图中不同的颜色表示不同的扬声器。横坐标表 示声音信号的音量强度, 单位为 db, 纵坐标表示 调 制失真度, 单位是 db。可以看出, 并不是同一种 扬 声器在播放所有类型的声音信号的时候, 都能够获 得最小的失真。实验结果表明, 随着声音信号的音 量幅度值越大, 失真越明显。小提琴声音信号由于
72
南 京工 业 职 业技 术 学 院学 报
第 5卷第 2期
含有比较复杂的频 率成分, 实 验结果也 比较复杂。 因为含有比较多的频率范围, 所以人类听觉系统感 觉到的失真也相对较不明显。这与人类听觉感觉是 一致的。通过实验结果的分析, 证明使用这个方法 对声音信号分析, 是可以实现的。该方法也可以同 时应用到分析其他声音文件上去。
收稿日期: 2004 12 17 作者简介: 康洁 ( 1978 ) , 女, 广东湛江人, 广东外语外贸大学助理工程师, 工学硕士。
第 5卷第 2期
康洁: 应用 m atlab分析声音文件的失真
71
2 分析方法
在本实验中, 比较的信号为通过一个扬声器重
新播放出来的声音信号与原声音信号的比较。通过
4 结束语
经过实验结果的分析, 应用本方法分析的信号 的失真度, 与人类听觉系统感觉上的失真程度较为 吻合。不过, 如果需要更为正确的实验结果, 需要配
合听力测试进行检验。本文只是从 M atlab应用 出 发, 提出一个分析声音失真的新的方法。
参考文献: [ 1] R a fae l C. G onzalez, R ichard E. W oods, Steven L. Eddins. 数
比较这两个信号的不同, 分析信号的失真。
现开始分析如何将一个声音文件的信封信号分
离成适当的频率范围, 用以学习和分析在不同频率 段中的信封信号的改变。在该方法中, 需要分析的
是一个信号的信封信号。要得到信封信号, 需要进
行 H ilbert变换。 2 1 H ilbert变换
H ilbert变换有三种定义:
( 2) 使用 butter窗口函数处理信号, 去掉信号周
边太微弱, 不利于分析的信号成分。 ( 3) 使用 resam ple函数对信号重新采样。
( 4) 使用 octdsgn函数把信号频率划分为从 31.
5到 16000十个倍频段。然后用 H ilbert函数在倍频 段中取信号的信封信号。
( 5) 再次重新采样, 然后对 信封信号频率再 取
倍频段信号。
通过 M atlab的 ∃H ilbert% 函数, 可以得到一个信
号的信封信号。通常来说, 信封信号所包含的频率
值已经是非常低的。为了在这些信封信号中加上滤 波器, 必须再次进行重新取样。然后把信封信号分 离成不同的相对倍频带, 并获得在不同的相对倍频 率段中的信号幅度。通过计算在不同倍频段, 和倍 频段中的相对倍频带的信封信号的值, 然后取根, 将 会得到一个两维数组。同时, 因为这些值的真值都 是不一样的, 需要一个标准来对这些值进行标准化。 标准化的方法是, 取该二维数组中的值与数组中的 最大值的商的对数, 标准化以后的单位为 db。也就 是说, 数组中的最大值为 0db。标准化公式为:
相关文档
最新文档