信号处理

为信号,图像和视频处理领域的艺术和科学从业者提供的问答

1
ICA如何处理不可避免的信号延迟?
我目前正在从许多好的资料中学习ICA并自学。(另请参阅这篇文章以了解过去的背景)。我有基本的看法,但是有些事情我不清楚。 对于多个信号撞击多个空间传感器的情况(当然,传感器的数量> =信号的数量),对于任何一个传感器,不可避免的是,到达它的所有信号将具有不同的延迟/相位-与到达不同传感器的偏移量相比,与它们相关的偏移量。 现在,据我所知,ICA的信号模型是一个简单的混合矩阵,其中到达任何一个传感器的总能量建模为所有其他感兴趣信号的简单线性组合。每个传感器都有与其相关的线性组合系数的不同阵列。到现在为止还挺好。 我不明白,是必然存在的打算,其实是一些延迟/相位偏移到达,从彼此不同的单个传感器的单个信号之一。也就是说,可能在某个时间0s 到达,而相同的s_1(n)却衰减了,但也有一些延迟或相位差到达了sensor_2。我认为这在物理上是不可避免的。s1(n)s1(n)s_1(n)sensor1sensor1sensor_1s1(n)s1(n)s_1(n)sensor2sensor2sensor_2 ...这怎么可能不在混合矩阵中建模?似乎延迟会带来巨大的变化。我们不再谈论简单的线性组合。ICA如何处理?我在这里错过了什么吗? 我还应该补充一点,如果ICA确实不能处理延迟,那么它在哪些应用程序中有用呢?显然带有传感器的空间传感器已经淘汰! 谢谢
12 ica 

2
参数化语音以删除情感内容
我很高兴接受R或Matlab中的建议,但是我在下面介绍的代码仅是R。 下面附带的音频文件是两个人之间的简短对话。我的目标是使他们的讲话失真,使情感内容变得无法识别。困难在于,我需要一些参数空间来使这种变形从1到5,其中1是“高度可识别的情绪”,而5是“不可识别的情绪”。我认为我可以使用三种方法来实现R。 从此处下载“快乐”音频波。 从此处下载“愤怒”音频波。 第一种方法是通过引入噪声来降低整体清晰度。下面介绍了此解决方案(感谢@ carl-witthoft的建议)。这将同时降低语音的清晰度和情感内容,但这是非常“肮脏的”方法-很难正确地获得参数空间,因为您可以控制的唯一方面是噪声(音量)。 require(seewave) require(tuneR) require(signal) h <- readWave("happy.wav") h <- cutw(h.norm,f=44100,from=0,to=2)#cut down to 2 sec n <- noisew(d=2,f=44100)#create 2-second white noise h.n <- h + n #combine audio wave with noise oscillo(h.n,f=44100)#visualize wave with noise(black) par(new=T) oscillo(h,f=44100,colwave=2)#visualize original wave(red) 第二种方法是以某种方式调整噪声,仅在特定频带中使语音失真。我以为我可以通过从原始音频波中提取幅度包络,从该包络中产生噪声,然后将噪声重新应用于音频波来做到这一点。下面的代码显示了如何执行此操作。它所做的与噪声本身不同,使声音破裂,但它又回到了同一点-我只能在此处更改噪声的幅度。 n.env <- setenv(n, h,f=44100)#set envelope of …
12 matlab  audio  noise 

1
如何在频域中找到卷积核?
我有两个空间数据向量(每个长度约2000个元素)。一个是另一种的卷积版本。我试图确定将产生这种卷积的内核。我知道我可以通过找到输出和输入矢量的傅立叶变换的比率的傅立叶逆变换来做到这一点。确实,当我这样做时,我或多或少得到了我期望的形状。但是,当实际上卷积仅使用大约五分之一(约300-400)的点时,我的核向量与两个输入向量具有相同的维数。我得到的形状正确但点数错误,这一事实使我认为我没有正确地使用ifft和fft函数。好像我真的在做正确的事情,这应该自然而然地发生。此刻我只是在做; FTInput = fft(in); FtOutput = fft(out); kernel = ifft(FtOutput./FTInput). 这是正确的吗?要由我来正确解释输出向量,还是我简化了任务?我敢肯定是后者,我只是不确定在哪里。

4
这是固定模式噪声校正的正确方法吗?
我目前正在参与一个涉及对成像传感器进行编程的项目。我们的传感器给我们带来噪音,因此我们要对其进行纠正。该项目中的其他人提出了拍摄“黑色”图像的想法,即戴上镜头盖并拍摄一个全黑的图像。(很明显,这不是由于噪声引起的)在这一点上,在随后的拍摄中,他从黑色图像中获取像素值,然后从常规拍摄的图像中减去像素值。 图像看起来确实更好,并且可以消除大部分噪点,但是由于以下原因,我不认为这是消除噪点的最佳方法: 固定图像的范围是[-172 194](366个值),而标准范围是[0 255]。重新绘制时,它的范围回到[0 255],看起来确实更好,但是我认为这是不正确的。 我应该提到新图像是在弱光下拍摄的。 这种方法对消除噪音是否正确?为什么或者为什么不?

3
非EE软件API上下文中的“低通滤波器”
我是一位经验丰富的软件工程师,正在研究智能手机传感器。我已经学习了DSP的基础EE课程,并正在尝试运用我的知识。我相信我了解卷积,传递函数,z变换等。我对FIR和IIR滤波器有所了解。 现在,当阅读软件API和文档时,我看到人们正在将LPF应用于时域中的传感器数据。我知道您可以通过使用差分方程式来做到这一点(例如y [i] = y [i-1] + 2 * x [i]),但是我在EE类中了解到LPF通常通过卷积运算来应用您可以将时间信号与正弦波的系数(例如)和特定的截止频率进行卷积。因此,“低通滤波器”的口语用法对我来说还不够准确。 例如,Google Android API具有以下文档:http : //developer.android.com/reference/android/hardware/SensorEvent.html#values public void onSensorChanged(SensorEvent event) { // alpha is calculated as t / (t + dT) // with t, the low-pass filter's time-constant // and dT, the event delivery rate final float alpha = 0.8; …

3
在实际录制中无法通过FastICA分离声音信号
我已经编写了一个程序,使用Python MDP FastICA示例上的代码在立体声WAV文件上执行FastICA。 通过音频示例,我得到了很好的结果。 然后,我尝试通过将麦克风1连接到L通道,将麦克风2连接到R通道,使用连接到我电脑立体声麦克风的两个计算机单声道麦克风进行真实世界录音。在安静的房间里聊天时,我会在后台播放一些音乐进行测试。 但是,运行FastICA根本不会分离信号。麦克风的质量是否可能太差?在运行FastICA之前,我需要对记录的WAV文件(16位,有符号PCM,44100Hz)做任何事情吗? 您可以在此处下载录音。
12 ica  python 

2
单色(1位黑白)图像转换
将扫描的文本转换为1位黑白图像时,可以在过程中应用哪些过滤器以改善结果?现在,我遇到了抖动错误,使图像看起来很恐怖的问题。 更新:我认为尝试撤消抖动是一个困难得多的问题。如何将第一张图像转换为单色图像?默认方法convert -monochrome img1 img2如下所示。我还尝试了两步方法:1)减小深度(调色板)和伽玛2)转换为双层图像(未显示)。我玩过的其他东西包括imagemagick的有序抖动(在各种设置下),但是它不如两步法好。

3
通过DCT进行纹理分类
使用离散余弦变换的特征对图像的纹理进行分类的可行性如何?谷歌搜索“纹理分类dct”仅使用神经网络找到有关该主题的一篇学术论文。 对于我的应用程序,我有大量带标签的图像,其中整个图像是一致的纹理(例如,毯子,树皮,草地等的特写镜头)。 受前一个问题的启发,我正在考虑以下方法: 将每个图像分成NxN个像素块 取每个块的DCT 将每个DCT展平为1xM阵列,并将其馈送给K-Means聚类算法,并获得每个DCT的聚类标签 通过计算#3中每个图像的每个标签,计算每个图像的聚类标签的直方图 通过为其提供一组[(直方图,图像标签)]来训练SVM分类器 效果如何?我使用通过SIFT / SURF算法提取的特征实现了一个类似的系统,但是我只能获得大约60%的精度。 我还可以通过哪些其他方式使用DCT对纹理进行分类?

4
如何“增白”时域信号?
我试图了解如何准确实现所谓的“白化前”过滤器或简称“白化”过滤器。 我知道这样做的目的是使其具有自相关函数作为增量,但是我不确定如何准确地做到这一点。 这里的上下文如下:在两个不同的接收器处接收信号,并计算它们的互相关。互相关可以看起来像三角形,或其他一些不可思议的形状。因此,很难找到互相关信号的峰值。在这种情况下,我听说在对信号执行互相关之前必须先“变白”信号,这样互相关现在更像三角形。 怎么做? 谢谢!

1
KLT跟踪器中反黑森州特征值的解释
我是一名硕士生,正在准备一个计算机视觉研讨会。主题之一是Kanade-Lucas-Tomasi(KLT)跟踪器,如 J. Shi,C。Tomasi,“要跟踪的好功能”。会议记录CVPR '94。 这是我用来了解KLT跟踪器的网络资源。我需要一些数学方面的帮助,因为我对线性代数有点生疏,并且没有计算机视觉方面的经验。 在此公式中(摘要中的第5步),请注意反黑森州:ΔpΔp\Delta p Δp=H−1Σx[∇I∂W∂p]T[T(x)−I(W(x;p))]Δp=H−1Σx[∇I∂W∂p]T[T(x)−I(W(x;p))]\Delta p = H^{-1}\Sigma_x\left[\nabla I \frac{\partial W}{\partial p}\right]^\mathsf{T} \left[T(x) − I(W(x; p))\right] 在本文中,要跟踪的良好特征被定义为其中逆黑森州矩阵的总和具有相似的大特征值:min(λ1,λ2)>thresholdmin(λ1,λ2)>threshold\min(\lambda_1,\lambda_2)>threshold。我无法从数学上理解它的来源和来源。 直觉是这代表了一个角落。明白了。这与特征值有什么关系?我希望如果Hessian的值很低,就不会有任何变化,这也不是一个角落。如果他们很高,那就是一个角落。有谁知道反角Hessian的特征值中的直角直觉如何起作用,以便在KLT跟踪器的迭代中确定ΔpΔp\Delta p? 我已经找到了声称反黑森州与图像协方差矩阵相关的资源。此外,图像协方差指示强度变化,然后才有意义……但是我一直无法找到图像协方差矩阵相对于图像而不是矢量或图像集合的确切含义。 同样,特征值在主成分分析中具有意义,这就是为什么我有了图像协方差矩阵的想法,但是我不确定如何将其应用于Hessian,因为通常将其应用于图像。据我所知,Hessian是矩阵,定义了,和在某个位置二阶导数。2×22×22\times 2xxxyyyxyxyxy(x,y)(x,y)(x,y) 我非常感谢您提供帮助,因为我已经花了3天以上的时间,这只是一个小公式,而且时间不多了。

3
将滤波实现为乘法或卷积在数值上更稳定吗?
我正在编写一个程序,以使用五阶Butterworth滤波器离线过滤20,000个采样信号。我可以访问FFT实现。似乎有两种选择可以实现过滤: 在时域中将信号与脉冲响应进行卷积,或者 在频域中将信号与脉冲响应相乘,然后对结果进行逆变换 这些方法在理论FT情况下将是相同的。但是,我认为使用DFT在现实生活中做这件事是不同的。其中一种方法在数值上更稳定吗?还有其他应注意的问题吗?计算数量并不重要。
12 filters 

2
减法传感器之间具有互感的输出
背景:我用来分析信号的软件是matlab。我有两个使用两个磁传感器记录的音频信号。让我们将一个传感器称为A,将另一个称为B。A和B在它们之间具有互感。 当传感器A和B工作时,我想减去由于传感器B的互感而在传感器A中收到的信息。 我试图通过简单地写入matlab(AB)从信号A中减去信号B,但这给了我一个奇怪的答案。我认为这源于我同阶段的转变。这两个音轨的开始录制时间是相同的,因此我认为这不是时间延迟。 我想知道理论上如何进行这种减法过程,如果有人想知道如何在matlab中轻松实现它的技巧,我想知道。 我将非常感谢您的帮助。 提前致谢。 下面我附上信号图的图片。在第一张图片中,您可以看到从传感器A和B接收到的信号。在第二张图片中,我将传感器A绘制为红色,将传感器B绘制为蓝色,范围为2.12:2.16,并且放大了更多。
12 audio 

1
识别歌曲中的数学函数
我是DSP的新手,刚刚发现了这个StackExchange,因此,如果不是发布此问题的正确位置,请道歉。 是否有资源以更数学的术语描述类型?例如,如果我已经对歌曲这一部分的信号执行了FFT(如果链接没有从那里开始,则是2:09),那么我有什么办法可以检测到该部分的分类很粗糙的声音?这样的声音是否遵循我可以比较的一些数学函数? http://www.youtube.com/watch?v=SFu2DfPDGeU&feature=player_detailpage#t=130s(链接立即开始播放声音) 是使用监督学习技术的唯一方法,还是有其他方法(最好不需要监督)? 感谢您的任何建议。

1
没有ISI的最佳匹配滤波器
给定用于整形数字信号的滤波器,并且鉴于我们不希望该滤波器组合引起任何ISI,那么哪个“匹配”滤波器q (x )将使SNR最大化?p(x)p(x)p(x)q(x)q(x)q(x) 匹配滤波器用于数字通信中,以最大化信噪比。通常使用根升余弦滤波器对信号进行整形,因为它在频率空间中有界,并且可以将同一滤波器应用于接收到的信号,以改善信噪比(SNR),而不会引起符号间干扰-干扰(ISI)。 但是,如果使用次优的滤波器来整形信号,则在接收器上使用相同的滤波器会引入ISI。接收端最好的滤波器选择是什么现在还不是很明显。 我的理解是,SNR通过最大化最大化,所以我想滤网原因没有ISI(以最大化这一点的同时满足约束p (X )* q (X )= 0的x = k T,k是整数,T是符号宽度)。∫p(x)q(x)dx∫p(x)q(x)dx\int{p(x)q(x)dx}p(x)∗q(x)=0p(x)∗q(x)=0p(x)*q(x) = 0x=kTx=kTx=kTkkkTTT 大概可以通过求解带有一些拉格朗日乘数的约束的Euler-Lagrange方程来做到这一点。有没有更简单的方法,还是我犯错了,还是走错了方向?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.