多速率信号处理

server/2024/12/19 13:04:23/

介绍

简单来说, 多速率信号处理,是指对同时存在两个以上数据速率的系统进行信号处理。多速率信号处理原理就是通过改变信号速率,以适应系统内部各个节点对信号速率的要求。这里的速率其实就是指采样率。 多速率技术已广泛应用于数字音频处理、语音处理、频谱分析、无线通信、雷达等领域。其实,以目前的系统复杂度,在我们绝大多数实际应用中,小到一个模块,大到一个系统,基本都是一个多速率处理系统。都面临着改变信号采样率的问题。

插值

I倍插值为例,在序列x(n)的每个样本之间插入I-1个零,以使序列拉长至原序列长度的I倍。

y(n)=\left\{ \begin{aligned} &x(\frac{n}{I}), & \frac{n}{I} \in Z \\ &0, & otherwise. \end{aligned} \right.

Y(z) = X(z^I)

插值后信号采样率相对原信号采样率提升I倍,此时对应的序列整个频谱由(-\pi~\pi)压缩I倍到(-\pi/I,\pi/I),并以2\pi/I为周期重复扩展I-1次,重复的部分就是原信号的镜像,如果我们能够实现一个截止频率为\pi/I的理想的低通滤波器,那么我们就实现了一个理想的上采样I倍的系统,对拉伸后的信号x(n)进行滤波,就可以实现将信号x(n)无失真的插值I

抽取

D倍抽取为例,在序列x(n)中只提取D倍时的样本,以使序列缩短至原序列长度的D倍。

y(n)=x(Dn)

Y(z) = \frac{1}{D} \sum_{m=0}^{D-1}X(z^{\frac{1}{N}}e^{-jm\frac{2\pi}{D}})

抽取后信号采样率相对原信号采样率下降D倍,此时对应的序列整个频谱由(-\pi~\pi)扩展D倍,并按间隔为2\pi/D平移叠加,导致出现混叠。因此当原信号的频谱带宽大于\pi/D时,抽取的信号将出现混叠失真。如果我们要对一个信号进行D倍抽取并且无混叠,我们必须将信号首先通过一个截止频率为\pi/D的理想低通滤波器,然后再进行抽取

Filter Bank

Two Channel Filter Bank

Two-Channel Critically Sampled Filter Banks

经过两个analysis filter的输出:

X_k(z)=H_k(z)X(z), k=0,1

经过下采样后的输出:

V_k(z)=\frac{1}{2}[X_k(z^{\frac{1}{2}}+X_k(-z^{\frac{1}{2}}))], k=0,1

上采样后的输出:

Y_k(z)=V_k(z^2) \\ =\frac{1}{2}[X_k(z)+X_k(-z)] \\ =\frac{1}{2}[H_k(z)X(z)+H_k(-z)X(-z)],k=0,1

经过synthesis filter并重建的信号:

\hat{X}(z)=\frac{1}{2}[H_0(z)F_0(z)+H_1(z)F_1(z)]X(z)+\frac{1}{2}[H_0(-z)F_0(z)+H_1(-z)F_1(z)]X(-z)

为了完美重建,需要施加一定约束,使混叠项为0,即:

F_0(z)=H_1(-z) \\ F_1(z)=-H0(-z)

为了完美重建,还需要施加约束:

c=H_0(z)F_0(z)+H_1(z)F_1(z)=H_0(z)H_1(z-)-H_1(z)H_0(-z)

Quadrature Mirror Filters(QMF)约束:

H_1(z)=H_0(-z)

也就是说,H_0H_1关于\pi/2镜像对称,在时域中,有:

h_1(n)=(-1)^nh_0(n) \\ f_0(n)=h_0(n) \\ f_1(n)=-h_1(n)

N Channel Filter Bank

对于任意通道N的filter banks,完美重建至少需要下采样因子D \leq ND=N为严格采样(Critically Sampled),D < N为过采样(OverSampled),当D > N时,欠采样(UnderSampled),此时无法完美重建。

DFT FilterBank

Modulation by a Complex Sinusoid

输入信号被频率为\omega_c 的复指数信号调制,中心频率\omega_c向下偏移至0,信号x(n)的频率偏移-\omega_c

Bandpass Filter from Lowpass Filter

一组带通滤波器可以通过原型低通滤波器经过调制得到:

h_m(n) = h_0(n)e^{j2\pi nm/N},m=0,1,...,N-1

回顾DFT公式:

X(k)=\sum_{n=0}^{N-1}x(n)e^{-j2\pi nk/N}

可以看出DFT的系数也可以看作是一组窄带滤波器组,当我们对序列进行分帧,相当于对序列加矩形窗,此时原型低通滤波器h_0为矩形窗。

以往对窗函数的理解是信号在时域与窗函数相乘,对应于频域则是理想频响与窗函数频谱的卷积,因此加窗产生了过渡带、尖峰和余震。窗函数频谱中最大的瓣为主瓣,其余的为旁瓣,加窗的目的都是为了抑制旁瓣。

从filterbank的角度来看,以矩形窗为原型的低通滤波器阻带衰减不够大,因此会导致各子带间产生混叠。

Polyphase filter

Noble Identities

Polyphase Decomposition

以下采样为例:

简单理解就是滤波后再进行抽取,其中没有抽取的信号是不需要计算的,因此经过Noble变换,计算效率可以提升N倍

对于h(0)的输入信号为:

x(nN)=[x_0,x_N,x_{2N},...]

对于h(1)的输入信号为:

x(nN-1)=[x_1,x_{N-1},x_{2N-1},...]

...

对于h(m)的输入信号为:

x(nN-m)=[x_m,x_{N-m},x_{2N-m},...]

这些下采样的子信号称为polyphase signals,这样的滤波结构称为polyphase filter bank,其中每组h(m)称为subphase filter

滤波器的输出为:

y(n)=\sum_{m=0}^{N-1}h(m)x(nN-m)

subphase filters的分解方式如示意图所示:

e_l(n)=h(Nn+l)

Polyphase filter结构如下:

Polyphase DFT FilterBank

polyphase filter的带通滤波器组是根据原型低通滤波器复调制得到的,那么便可以使用DFT实现,其结构如下:

Polyphase View of the STFT

一个特例是当原型滤波器为矩形窗时,此时我们也可以将STFT看作为polyphase filter结构

L点FFT为例,长度为L的窗口在序列x(n)上进行滑动进行分帧和加窗,每帧滑动的长度R即为下采样因子,当R等于N时,即分帧无重叠时,此时下采样为N,即此时的FFT可以看作为一个Critically Sampled FilterBank,当R小于N时,可以看作为OverSampled FilterBank,当R=1时,没有下采样

可以这样理解:我们一般对信号分帧、加窗、然后做STFT,相当于是multirate signal processing中的一个特例


http://www.ppmy.cn/server/151443.html

相关文章

NVM:安装配置使用(详细教程)

文章目录 一、简介二、安装 nvm三、配置 nvm 镜像四、配置环境变量五、使用教程5.1 常用命令5.2 具体案例 六、结语 一、简介 在实际的开发和学习中可能会遇到不同项目的 node 版本不同&#xff0c;而出现的兼容性问题。 而 nvm 就可以很好的解决这个问题&#xff0c;它可以在…

webpack打包流程及原理

Webpack 是一个模块打包工具&#xff0c;它可以分析项目的依赖关系&#xff0c;将这些依赖转换和打包为合适的格式以供浏览器使用。以下是 Webpack 打包流程的简化版&#xff1a; **初始化&#xff1a;**读取 webpack 配置文件&#xff0c;创建 compiler 对象。 **配置&#x…

Pycharm访问MongoDB数据库

MongoDB的基础操作 1. 创建连接 #导入pymongo中的用于操作数据库的客户端 from pymongo import MongoClient #创建客户端对象&#xff0c;连接MongoDB服务器 client MongoClient(mongodb://admin:admin123456localhost:27017) 2. 数据的增删改查 2.1 数据的写入 from mon…

利用Java爬虫获取京东商品SKU信息

在当今数字化时代&#xff0c;电子商务平台如京东&#xff08;JD&#xff09;已成为我们日常生活中不可或缺的一部分。对于数据分析师、市场研究人员以及电子商务从业者来说&#xff0c;获取商品的详细信息&#xff08;如SKU信息&#xff09;是至关重要的。本文将介绍如何利用J…

SpringBoot集成Caffeine缓存:高性能本地缓存解决方案

SpringBoot集成Caffeine缓存&#xff1a;高性能本地缓存解决方案 一.Caffeine是什么&#xff1f; Caffeine是一个高性能的Java缓存库&#xff0c;为Java应用程序提供了极快的本地内存缓存解决方案。它是基于Google Guava Cache重新设计的缓存框架&#xff0c;在性能和功能上都…

联邦学习中:公共物品属性的一般定义

在经济学和相关领域中,公共物品属性具有特定的含义,在论文中与联邦学习数据交易等情境相关联时,其意义如下: 公共物品属性的一般定义 非排他性 公共物品一旦被提供,很难或不可能排除其他人使用。例如,路灯照亮了街道,一个人使用路灯照明并不会阻止其他人同时使用,无法…

《Amazon Bedrock vs ChatGPT:谁更胜一筹?》

在生成性AI技术的赛道上&#xff0c;Amazon Bedrock和ChatGPT无疑是两大热门名字。两者虽然都在人工智能的领域大展拳脚&#xff0c;但它们的设计理念、功能侧重点和应用场景却大不相同。那么&#xff0c;作为开发者或企业用户&#xff0c;选择这两者中的哪一个更为合适呢&…

VUE3 笔记总结

最近自己搭了一个vue3的项目 所以有一些之前都没有用过的方法 记录一下。 1、菜单图标的引入&#xff08;和vue2引入的方法不太一样 之前一直是用的require v3无法这样使用&#xff09; const getAssetURL (path:any) > {return new URL(./assets/images/home/${path}.png…