语音处理-傅里叶分析和Z变换

news/2024/7/7 18:59:30

语音处理-傅里叶分析和Z变换

时域与频域
•信号可以表示任何类型的序列测量
•信号通常表示序列时间上的测量
•信号分析的一项有用技术是将其分解为一组基本部分易于理解(例如线性趋势)
•分解为周期函数可以是将信号转换为“频域”(即时间上的重复可以表示为频率)f = 1/T(cycles-per-second/Hertz)

傅里叶分析(Fourier Analysis)
•约瑟夫·傅立叶(1768-1830)介绍定理:频率为f0的任何周期信号都可以通过加在一起精确地构造“正弦”(正弦波)与频率f0,2f0…

“傅立叶级数”中的每个正弦曲线其特征在于频率,振幅,阶段
f0被称为“基频fundamental frequency”;2f0,3f0等被称为“谐波harmonics”

光谱The Spectrum
•任何周期函数都可以是其特征在于振幅和正弦分量的相位
•周期信号仅具有频谱整数倍的组件基本(傅立叶定理)
•非周期和随机信号具有连续的光谱频率函数(即所有可能的频率)
•白噪声频谱平坦(即能量完全相等频率

功率谱
•前面的例子说明了“权力”光谱’,即每个频率有能量
•每个频率的信号功率为其实它的真实和虚分量的平方(例如,正弦波具有变化振幅但恒定功率)
•信息(相位关系)在功率谱的计算,所以这个表示原始信号无法准确地恢复
•然而,信号的频谱完全由每个频率的幅度和相位…这是“复杂光谱”

复谱The Complex Spectrum
真实光谱(笛卡尔协调);想象光谱(笛卡尔协调);功率谱(对立的协调);幅度谱(对立的协调);相位谱(对立的协调)
Real Spectrum; Imaginary Spectrum; Power Spectrum; Magnitude Spectrum; Phase Spectrum
笛卡尔坐标系(Cartesian coordinates)就是直角坐标系和斜坐标系的统称。相交于原点的两条数轴,构成了平面仿射坐标系。如两条数轴上的度量单位相等,则称此仿射坐标系为笛卡尔坐标系。两条数轴互相垂直的笛卡尔坐标系,称为笛卡尔直角坐标系,否则称为笛卡尔斜角坐标系。

傅里叶变换
•复谱(幅度和相位)为通过傅立叶变换从时间信号中获得转换’
•转换过程中不会丢失任何信息
•这意味着时间信号可以从用“逆傅里叶”方法计算复谱转换’

滤波(频域)
•信号可通过
1.将其变换到频域(使用DFT)
2.将信号频谱乘以滤波器频谱: y[n] = x[n]h[n]
3.将其转换回时域(使用IDFT)
另一种方法是描述过滤器在时间上的作用域(即在波形本身上)
•这是使用“差分方程”完成的

过滤(时域)
•考虑线性滤波器,其中:
x[kT] := x[k] 是输入;
y[kT] := y[k] 是输出
省略取样间隔T为了简单,k: 离散时间指数
差分方程与电流滤波器相关输出到当前和过去的输入和输出
•滤波器的设计可在“Z域”中完成

线性时间不变滤波器(Linear Time-Invariant Filters)
•“线性滤波器”遵循以下原则超级位置:
– if x1[k] yields y1[k] and input is a x1[k] + b x2[k] then y[n] = a y1[k] + b y2[k]
•“时间不变量”的响应过滤器”始终相同:
– if x[k] yields y[k] then x[k-k0] yields y[k-k0]
线性和时间不变性允许输入(和响应)时移脉冲的加权和δ[k]

Z变换
•时域滤波器分析(即使用差分方程)是麻烦的
•“Z变换”是幂级数离散时间序列的表示
•例如,对于序列x[0]x[1]x[2]x[3],Z变换简单地将每个系数乘以
z的幂对应的序列到其索引
X(z)= x[0]z^0 + x[1]z^-1 +x[2]z^-2 +x[3]z^-3
•按照惯例,使用z的负幂对于正时间指数(即z^-k个表示k个样本的延迟)
该变换由Z{…}运算符表示:X(z)=Z{x[k]}
Z变换变换的关键属性是…
–线性度: Z{ax1[k]+bx2[k]} = a Z{x1[k]}+ b Z{x2[k]}
–时移: Z{x[k-k0]} = z^(-k0)Z{x[k]}
–卷积convolution: Z{x[k]*y[k]} = Z{x[k]}Z{y[k]}; 这可以用Z变换表示为乘积Y[z] =X[z] H[z]; 因此,“z平面传递函数”H[z]可以写成 H[z] = Y[z]/ X[z]

与傅里叶变换的链接
如果z>1,则变换等效于乘上升指数序列
•如果0<z<1,则转换等效于乘下降指数序列
•如果z是位于单位圆上的复数,则转换等效于将序列乘以实余弦和虚正弦(这与傅立叶变换直接等价!)
•因此,给定滤波器传递函数H[z]可以在任何频率下评估频率响应
ω通过设置: z= e^(jωT)

极点和零点
•线性滤波器传递函数(源自一般差分方程)可以写成二的比率z中的多项式H[z] = P[z] / Q[z]
P[z]=0的z值称为“零”H[z]
•Q[z]=0的z值称为“极点”H[z]
•极点对应于滤波器传输的频率函数趋于无穷大(即“共振”)
•零对应于滤波器传输的频率函数趋于零(即“反共振”)
•滤波器的特点完全在于其极点和零点
•极点和零点对应于差分方程
•他们可以通过在“Z平面”标出点被可视化
滤波器的幅度响应可以很快根据其极点的位置和零
•从极点/零点图开始,可以设计滤波器并获得其传递函数很容易…

滤波器频率响应
•滤波器的频率响应可以是使用距“单位”的距离绘制
圆到极点和零点
•在单位圆周围移动时…
–如果接近零,则幅度较小
–如果靠近极点,则震级较大
•如果单位圆上为零,则频率响应在该点为零
•如果极位于单位圆上,则频率响应达到无穷大指向点

过滤器响应:示例
•考虑以下简单平均滤波器差分方程y[k] = ay [k-1]+x [k]
•采用Z变换,这变成Y(z) = a Y(z) z^-1 +X(z)


http://lihuaxi.xjx100.cn/news/104564.html

相关文章

JQuery详解(讲解+举例)--(后端开发适用)

JQuery JQueryJQuery1.JQuery内容2. JQuery对象2.1.Jquery的下载与安装2.1.1.下载2.1.3.优点2.1.4.安装2.2.Jquery核心2.3.Dom对象与Jquery包装集对象2.3.1 javascript中获取Dom对象&#xff0c;Dom对象只有有限的属性和方法&#xff1a;2.3.2.Jqueryt包装集对象2.3.3.Dom对象转…

Web3.0 对网络安全世界的影响

随着全球技术格局在过去十年中不断发展&#xff0c;引起许多人兴趣的一个概念是“Web3”。从最基本的意义上说&#xff0c;Web3 可以被视为互联网的迭代&#xff0c;它是去中心化的&#xff0c;并授予用户以安全、点对点方式相互交互的能力&#xff08;即无需任何中心化中介&am…

idea打包maven项目及python3调用jar包

1、目标 解决java组件依赖的问题&#xff1a;将依赖java实现的程序封装后&#xff0c;打成可执行的jar包&#xff0c;再通过python3执行调用即可。 2、核心步骤 1&#xff09;选择合适的框架&#xff0c;如maven&#xff0c;并引入依赖包(pom.xml) 2&#xff09;封装主程序后&…

详解静态成员 什么是静态成员,静态成员和普通成员的区别

什么是静态成员 首先了解一下为什么产生了静态成员的需求&#xff0c;有时候需要一些成员直接和类本身相关&#xff0c;而不是和所有对象保持关联。举一个C Primer中的例子&#xff1a; 一个银行账户类可能需要一个数据成员来表示当前的基准利率。在此例中&#xff0c;我们希望…

Qt文档阅读笔记-Hello Speak Example

官方的这个例子比较有意思&#xff0c;在此记录下&#xff0c;方便以后查阅。 Hello Speak Example 这个例子主要是使用QTextToSpeech类将用户自定义输入的文本转换为口语&#xff0c;包括高低音、声音大小、读速。并且能够选择语言和声音。 包含的文件如下&#xff1a; 本篇博…

MySQL 8.0 OCP(1Z0-908)中文题库解析

作者介绍&#xff1a;姚远&#xff0c;Oracle ACE&#xff08;Oracle和MySQL数据库方向&#xff09;&#xff0c;华为云MVP&#xff0c;《MySQL 8.0运维与优化》的作者。中国第一个Oracle高可用大师&#xff0c;拥有包括 Oracle 10g和12c OCM在内的20数据库相关认证。曾任IBM公…

科比,老大1000天

不知不觉&#xff0c;老大已经走了1000天了&#xff0c;正好这个星期的数据分析的课就是科比投篮可视化&#xff0c;让我一起来分享一下吧。 对照列表机翻,仅供参考 action_type 进攻方式&#xff08;更具体&#xff09; combined_shot_type 进攻方式 game_event_id 比赛时…

leetcode88. 合并两个有序数组

不用辅助数组的做法&#xff0c;就是从后往前放&#xff0c;因为已经排好序了&#xff0c;双指针从后往前 def merge(self, nums1, m, nums2, n): “”" :type nums1: List[int] :type m: int :type nums2: List[int] :type n: int :rtype: None Do not return anything, …