`
omygege
  • 浏览: 1354833 次
文章分类
社区版块
存档分类
最新评论

信号处理,想到就写

 
阅读更多

从一个实际的小问题出发,回顾一些基础的知识点:

平稳噪声x[n]激励系统h[n],输出y[n]能量需要和x[n]一致,系统的形式:

A

H(z) = --------------------------

1 - sum(i=1:m, a[i]h[i])

求A。

1. 首先看系统的响应:

平稳随机过程x通过LSI系统h的输出。

输出的自相关是输入自相关、系统和系统反演的卷积。输出功率谱是输入功率谱和系统函数绝对值平方的乘积。

signal: x[n]
system: h[n]
output: y[n]

y[n] = x[n] * h[n]

R{n,r,y} = E{y[n] y[n-r]'}
= E{ (x[n]*h[n]) (x[n-r]'*h[n-r]') }
= E{ sum(i; x[i] h[n-i]) sum(j; x[j]' h[n-r-j]') }
= E{ sum(i,j; x[i] h[n-i] x[j]' h[n-r-j]') }

= E{ sum(i,j; x[i] x[j]' h[n-i] h[n-r-j]') }
since x and h are not correlated and h is deterministic:

= sum(i,j; E{x[i] x[j]'} h[n-i] h[n-r-j]' ) }
let j = i - s
= sum(i,s; E{x[i] x[i-s]'} h[n-i] h[n-r+s-i]' ) }
if x is stationary
(note, if x were not stationary, Rx and h would not even be set apart)
= sum(i,s; R{s,x} h[n-i] h[-(r-s - (n-i))]' ) }
= sum(i,s; R{s,x} h[i] h[-(r-s - i)]' ) }
= sum(s; R{s,x} h[r-s] * h-[r-s]' ) }
= R{r,x} * h[r] * h-[r]'
y is also stationary

in conclusion:
Py(w) = Px(w) | H(w) |^2

如果噪声是白的,就要求 intg(w, |H(w)|^2) = 1

严格的讲H(w)是h[n]的Fourier变换: H(w) = sum(k, h[k] e^(-j*w*k))

而此处H(w)是IIR滤波器。IIR的特点是极点(poles)都在单位圆内部。同时它是一个因果(casual)系统,因此ROC是一个z平面去掉一个圆域,这个圆域应该是包含极点的最小圆。如果ROC包含单位圆那么系统是BIBO的(因此极点都在单位圆内部),这也是此处暗含的要求。另外为什么要对离散时间系统用z变换讨论?实际上z变换只是Laplace变换自变量的一个映射,而用z变换就能包含所有信息(离散变换,即周期冲击的连续信号在Laplace变换域具有纵向的周期性),Laplace变换虚轴左侧都映射到单位圆内部。

根据Parseval定理(实际上就是一个正交变换模长不变性):

intg(w, |H(w)|^2) = 2 pi sum(k, |h[k]|^2)

因此对于BIBO的IIR情况,忽略冲击响应中远端的较小项,用h[k]的前几项通过上式计算可以估计出这个能量,于是就能求出A进行调整。

另外也有人提出用对偶的FIR进行近似和用FFT转换到频域进行估算的方法。

2. 输入输出信号的互相关/互功率谱

Pxy(w) 为 Rxy[r] = E{x[n] y[n-r]'} = E{ x[n+r]' y[n] }' 的Fourier变换。
y[n] = x[n]*h[n] = sigma(k; x[n-k] h[k])
E{ x[n+r]' y[n] } = E{ x[n+r]' sigma(k; x[n-k] h[k]) } = E{ sigma(k; x[n+r]' x[n-k] h[k]) }
= sigma(k; E{x[n+r]' x[n-k]} h[k]) = sigma(k; Rxx[-r-k] h[k]) = Rxx[-r] * h[-r]
E{ x[n+r]' y[n] }' = Rxx[-r]' * h[-r]' = Rxx[r] * h[r]
因此Pxy(w) = Pxx(w) H(w)

分享到:
评论

相关推荐

    matlab语音信号处理/滤波器降噪/时域频域、归一化图谱

    matlab语音信号处理课程设计,我自己在做的时候想要借鉴,发现在csdn付费下载的一个有用的都没有,我更愿意免费分享给大家 (后记:好久没登陆这个号,没想到这么多人看了,也没想到资源下载还是有限制,平台问题我...

    signal:学习信号处理

    这个存储库将包含 C 和 Octave 中的各种信号处理代码,主要是受到我阅读 Mallat 的“信号处理小波之旅”的启发。 现在对其他人没有太大用处,但我希望更多地参与稀疏表示和冗余字典。 我想到的应用与音频处理(吉他...

    数据转换/信号处理中的影响ADC总精度的因素

     曾经想到过ADC的TUE技术规格中的“总”代表什么吗?它是不是简单到将ADC数据表的所有DC误差技术规格(即偏移电压,增益误差,INL)相加,还是要更复杂一些?事实上,TUE是总系统误差相对于ADC工作输入范围的比率。...

    第9章 Qt事件机制与原理

    系统内核的消息通过事件处理转变成QT的信号 9.1.3 Qt中的事件处理 (1)在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent.  事件处理的核心包括事件①产生、②分发、③接受和处理 ①事件的产生 ...

    全数字音频功率放大系统

    随着数字信号处理(DSP)技术和新型功率器件及应用的发展,开发实用化的16位数字音频功放成为可能。 一个音响系统必须具备音源、功放和音箱三大部分。音源部分目前已数字化了,如CD、VCD、DVD、DAB和数字电视等。...

    C#Winform调用Windows API user32.dll实现鼠标事件示例-自动点击工具

    之前工作时需要固定点击屏幕上一位置的button,即使人不在工位也需要,就想起了按键精灵,但转念一想自己会使用C#为何不自行写一个小工具呢 主要是调用Windows API user32.dll动态库,将其引入到项目之中,此为非...

    基于单片机频率计的设计

    根据频率检测的原理,很容易想到利用51单片机的T0、T1两个定时/计数器,一个用来定时,另一个用来计数,两者均应该工作在中断方式,一个中断用于1s时间的中断处理,一个中断用于对频率脉冲的计数溢出处理,(对另一个...

    Django model重写save方法及update踩坑详解

    一个非常实用的小方法 ...如果你看过我之前的文章『Django使用Signals监测model字段变化发送通知』]就能想到可以通过signals信号来处理,添加一个pre_save的信号,每当数据库数据变更前都会触发pre_save方法,可以在

    空间滤波器之平滑滤波器和锐化滤波器

    滤波是将信号中特定波段频率滤除的操作。 根据滤波频率的不同,空间滤波可以分为平滑滤波(加强低频信息)和锐化滤波(加强高频信息)。 在灰度图像中,低频成分指的是灰度变化小的区域,高频成分指的是灰度变化大的...

    电子电路设计软件.doc

    但是有 的时候,我们会发现做出来的东西有很多的问题,事先并没有想到,这样一来就浪费了 我们的很多时间和物资。而且增加了产品的开发周期和延续了产品的上市时间从而使产 品失去市场竞争优势。有没有能够不动用电...

    人工智能-神经网络.pdf

    信号处理。能分别对通讯、语⾳、⼼电和脑电信号进⾏处理分类;可⽤于海底声纳信号的检测与分类,在反潜、扫雷等⽅⾯得到应 ⽤。 模式识别。已成功应⽤于⼿写字符、汽车牌照、指纹和声⾳识别,还可⽤于⽬标的⾃动...

    让调音台和周边设备达到最佳兼容的方法

    形象来说调音台就像一个大的水处理池,我们把多种音源信号像流水一样输入进这个大水池,然后在水池内对流入的各种水进行合理的处理,最后再从各种不同渠道流出去,整个过程就是这么简单。因此对调音台的连接无非也是...

    基于单片机的GSM智能家庭监控系统设计

    如果住宅内发生突发事件时,住宅内的传感装置就可以迅速的感应到,然后马上将信息发送至微控制器,此时报警单元会发出报警声音,LED输出单元会显示具体的报警信息,微控制器收到信息然后经过处理后,再将信息通过GSM...

    精通Qt4编程(第二版)源代码

    \两年前,当我们准备在Linux系统下开发GUI应用软件时,首先想到的就是选择一个GUI应用框架来简化开发。在三大GUI框架GTK+、Qt和wxWidgets 之间,我们选择了Qt 4工具包。作为重量级桌面系统KDE多年的坚实基础,Qt应该...

    精通qt4编程(源代码)

    \两年前,当我们准备在Linux系统下开发GUI应用软件时,首先想到的就是选择一个GUI应用框架来简化开发。在三大GUI框架GTK+、Qt和wxWidgets 之间,我们选择了Qt 4工具包。作为重量级桌面系统KDE多年的坚实基础,Qt应该...

    Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案

    添加该事件处理,就能在页面postback提交之前,重置页面的地址。 为前面的页面添加onsubmit之后,我们发现,postback不再会改变地址栏地址显示了。 注意:你确认试过点击最后一组链接中的buildin default page和...

    soundshader.github.io:声音GLSL

    这一事实以及相关实验已将自相关作为人类听力中信号处理的潜在重要组成部分。 ACF是一种可视化音乐的简单方法,可以产生令人惊讶的出色效果。 ACF的最出乎意料的特性也许是它可以将主观的“和声水平”从音乐准确地...

    tini:一个很小但有效的容器初始化

    例如,对于Tini,即使您没有显式安装信号处理程序, SIGTERM也会正确终止您的进程。 它是如此完全透明地执行! 没有Tini的Docker映像将与Tini一起使用,而无需进行任何更改。 如果您想详细了解为什么这样做有用,...

    Simtrix.simplis仿真-中文教程.doc

    “只要你能想到的,你就可以用电路实现!” 虽然这几年一直在接触这款软件,但离“精通”还相差很远,但我想利用它简单易学的特点,让更多的人了解使用它,对实际开发有所帮助。并希望引出玉来,使大家共同提高。 ...

    32位DAC、USB数字HIFI耳机放大器(原理图、PCB、制作讲解)-电路方案

    前言: ...然后DAC采用差分方式,将信号转换成模拟信号,再经过LPF,I/V,等进行处理,最后输出到耳机里。 如截图所示: USB数字HIFI耳机放大器电路设计框图: 材料清单(BOM表)主要物料: PCB实物图:

Global site tag (gtag.js) - Google Analytics