信号处理

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

3
为什么我的阻带滤波器会衰减其他频率?
这是我的两色信号代码,其中我使用阻带去除较高的音调,然后在将信号与滤波器系数进行卷积后在频域中绘制前(蓝色)和后(红色) 。 如果将这段代码放入Matlab,您可以清楚地看到滤波器已成功去除了较高的频率,但是由于某种原因,较低频率的振幅已被减半,而我增加的滤波器系数也就越多,它越使我的整个曲线变得平坦,为什么会发生呢?以及如何防止阻带不向外传播?这是图像和代码: fSampling = 8000; tSampling = 1 / fSampling; t = 0:t采样:0.005; F0 = 1000; F1 = 3000; xt = sin(2 * pi * F0 * t)+ sin(2 * pi * F1 * t); ht = fir1(40,.25,'stop'); yt = conv(xt,ht); fAxis = -4000:125:4000-125; xF = fft(xt,64); MagXF = …
12 filters  matlab 

4
为什么在过渡带较窄的数字滤波器的输出中出现振铃?
我正在为音频的频谱修改类型效果做一些“极限”运算。我正在使用砖墙式滤波器,以及非常窄带的通过和拒绝滤波器(vst插件),我想知道对于线性相位/最小相位滤波器的前置/后置“振铃”,我是否可以做些什么。不幸的是,我必须使用陡峭的eq斜率。我准备使用最小相位,因为它避免了预振铃。 具体来说,我想知道: 在最小相位滤波器中,输入之后刚好导致脉冲响应振荡的原因是什么? 这些振荡是否会导致通过陡峭的斜率滤波将通带之前和之后的“振铃”声传给您? 振荡,因此振铃频率是否总是相同的频率,或者振铃频率是否在某种程度上取决于输入信号? 非常感谢您的专业知识。我期待任何回应。大叔

5
互相关之前的上采样没有用吗?
考虑一个简单的情况,其中来自两个不同传感器的两个信号互相关,并且从其互相关函数的峰值的横坐标计算出到达时间的延迟。 现在让我们进一步假设,由于两个天线的尺寸限制以及最大可能采样率的限制,最大可能延迟为DDD,对应于10个样本。 问题: 由于这些限制,你的计算延迟可以由任何变化整数:0和10之间的样品值,即0≤D≤100≤D≤100 \le D \le 10。这是有问题的,因为我真正想要的是区分撞击在我天线上的两个信号之间的延迟的小数延迟,并且改变尺寸或采样率不是一种选择。 一些想法: 自然,在这种情况下,我想到的第一件事是在执行互相关之前对信号进行上采样。但是我认为这在某种程度上“欺骗”,因为我并没有真正在系统中添加任何新信息。 从某种意义上说,我不了解上采样是不是“作弊”。是的,我们正在基于其当前观察到的频率信息重建信号,但是这如何使人们知道信号在D=7D=7D=7到之间真正从哪里开始D=8D=8D=8呢?哪里是确定包含在原始信号信息,该信号的真实分数延迟启动实际上是在D=7.751D=7.751D=7.751? 问题: 这真的是“作弊”吗? 如果没有,那么这个新的“信息”从哪里来? 如果是,那么还有哪些其他选项可用于估计分数延迟时间? 我知道要对互相关的结果进行上采样,以寻求对延迟的子采样答案,但这也是“作弊”的一种形式吗?为什么它与互相关之前的升采样不同? 如果确实确实存在上采样不是“作弊”的情况,那为什么我们还要提高采样率呢?(从某种意义上说,具有较高的采样率总是比内插低采样信号更好吗?) 这样看来,我们可以以非常低的速率采样并根据需要进行内插。那么,仅仅根据我们内心的需求插入信号,是否会使采样率“无用”?我意识到插值需要花费计算时间,而从较高的采样率开始就不会,但是那是唯一的原因吗? 谢谢。


1
检测跨越多行的阿拉伯语经文
我需要构建一个《古兰经》应用程序,我想在用户触摸它时朗读这些经文。我面临的问题是某些经文可能会扩展到一行和一半的行(突出显示的红色经文)或恰好适合四分之一行(突出显示的绿色经文)。因此,将每节经文添加到textview或其他视图中似乎无效。 我想在第二张图片中检测红色的经文。我有用于经文的音频文件,因此无需将文本转换为语音

4
使用FFT有效计算自相关
我正在尝试在平台上计算自相关,其中我唯一可用的加速原语是(I)FFT。我有一个问题。 我在MATLAB中原型化了它。但是,我有点困惑。我以为它的工作原理如下(这是从内存中来的,如果我有一点错的话,我深表歉意)。 autocorr = ifft( complex( abs( fft( inputData ) ), 0 ) ) 但是,我得到的结果不同于使用该xcorr函数得到的结果。现在,我完全期望不要获得自动相关的左侧(因为这是右侧的反映,因此无论如何都不需要)。但是,问题是我的右手侧似乎在中点附近反射。这实际上意味着我得到的数据量约为预期的一半。 因此,我敢肯定我一定在做一些非常简单的错误,但我只是不知道该怎么做。

2
确定正确的位置放置标签
在下图所示的图像中,我有一个2D数据集,其中标识了四个标记为的聚类[0,1,2,3]。我正在寻找一种算法,可以针对每种形状以自然*的方式放置标签。我的第一个猜测是将它们放置在群集的“质量中心”,如下所示。对于连续的群集,这很好。0但是,对于形状像群集一样的群集,该方法将失败。如果不使用图例,将标签放置在此图像上的更好方法是什么? * 这里的自然程度在某种程度上是主观的,但是标签的重点是帮助查看者将xy平面中的某个区域与数字相关联。

1
Haar小波变换的归一化步骤代表什么?
当执行Haar小波变换时,您需要求和与求和,然后在每个阶段将整个信号乘以。2–√2\small\sqrt2 进行逆变换时,对于每次迭代,您都将信号乘以。12√12\frac{1}{\sqrt2} 这种“规范化”的真正含义是什么?

5
使用互相关的示波器信号时延估计
我已经从显微镜上记录了2个信号。他们看起来像这样: 我想在Matlab中测量它们之间的时间延迟。每个信号有2000个采样,采样频率为2001000.5。 数据在csv文件中。这是我到目前为止所拥有的。 我从csv文件中删除了时间数据,以便csv文件中只有电压电平。 x1 = csvread('C://scope1.csv'); x2 = csvread('C://scope2.csv'); cc = xcorr(x1,x2); plot(cc); 这样得出的结果: 从我读过的书中,我需要对这些信号进行互相关,这应该给我一个与时间延迟有关的峰值。但是,当我对这些信号进行互相关时,会在2000年出现一个峰值,我知道这是不正确的。在互相关它们之前我应该​​对这些信号做什么?只是寻找一些方向。 编辑:删除直流偏移后,这是我现在得到的结果: 有没有一种方法可以解决此问题,以获得更明确的时间延迟? 编辑2:这是文件: http : //dl.dropbox.com/u/10147354/scope1col.csv http://dl.dropbox.com/u/10147354/scope2col.csv

2
如何使用GLCM检索纹理并使用SVM分类器进行分类?
我正在进行肝肿瘤分割和分类的项目。我分别使用“区域生长”和“ FCM”进行肝脏和肿瘤分割。然后,我将灰度共生矩阵用于纹理特征提取。我必须使用支持向量机进行分类。但是我不知道如何规范化特征向量,以便将其作为SVM的输入。谁能说出如何在Matlab中进行编程? 对于GLCM程序,我将肿瘤分割图像作为输入。我说得对吗 我认为,如果是这样,我的输出也将是正确的。 据我尝试,我的glcm编码是 I = imread('fzliver3.jpg'); GLCM = graycomatrix(I,'Offset',[2 0;0 2]); stats = graycoprops(GLCM,'all') t1= struct2array(stats) I2 = imread('fzliver4.jpg'); GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]); stats2 = graycoprops(GLCM2,'all') t2= struct2array(stats2) I3 = imread('fzliver5.jpg'); GLCM3 = graycomatrix(I3,'Offset',[2 0;0 2]); stats3 = graycoprops(GLCM3,'all') t3= struct2array(stats3) t=[t1,t2,t3] xmin = min(t); xmax = …

2
自适应滤波器有什么作用?
我对互联网上的自适应滤波器进行了一些研究,发现它是一种特殊的滤波器,该滤波器会在其运行时立即更新其滤波器值。它找出输入和输出之间的差异,并使用误差函数,而先前的系数找出新的滤波器系数。 但这没有任何意义。它总是试图最小化输入和输出之间的差异。因此,如果它试图按原样传递所有信号,它有什么用? 谁能解释我在实际应用中如何使用它。 如果您可以通过一些可以帮助我实现自适应数字滤波器的链接来帮助我,那也将很好。 如果我不清楚我是否表示怀疑,请发表评论!

1
实离散傅里叶变换
我试图理解真正的DFT和DFT以及为什么存在这种区别。 据我所知,到目前为止的DFT使用为基矢量和给出了表示X [ Ñ ] = ñ - 1 Σ ķ = 0 X [ ķ ] ë 我2 π ķ Ñ / Ñ总和由于历史原因,它是从k = 0到N − 1写入的,我认为与其以类似于傅立叶级数的方式写入,且总和从k =ei2πkn/Nei2πkn/Ne^{i2\pi kn/N}x[n]=∑k=0N−1X[k]ei2πkn/Nx[n]=∑k=0N−1X[k]ei2πkn/Nx[n]=\sum_{k=0}^{N-1}X[k]e^{i2\pi kn/N}k=0k=0k=0N−1N−1N-1到 Ñ / 2 - 1: X [ Ñ ] = ñ / 2 - 1 Σ ķ = - …
12 dft 

2
用来区分不同(音乐?)音调的方法
我正在尝试研究并弄清楚如何最好地解决这个问题。它横跨音乐处理,图像处理和信号处理,因此有无数种查看方法。我想询问最佳方法,因为在纯sig-proc域中看似复杂的事情可能对进行图像或音乐处理的人来说是简单的(并且已经解决了)。无论如何,问题如下: 如果您原谅我对问题的看法,我们可以看到以下内容: 从上图可以看出,我有3种不同的信号“类型”。第一个是一个脉冲,其频率从到,然后重复。它具有特定的脉冲持续时间和特定的脉冲重复时间。f1f1f_1f4f4f_4 第二个仅存在于,但脉冲长度较短,脉冲重复频率较高。f1f1f_1 最后,第三个只是在的音调。f1f1f_1 问题是,我以何种方式解决此问题,以便编写可以区分信号1,信号2和信号3的分类器。也就是说,如果您向它提供信号之一,它应该能够告诉您该信号是这样的。什么最佳分类器会给我对角线混淆矩阵? 一些其他背景以及到目前为止我一直在想的是: 正如我所说的,这跨越了许多领域。我想问一想,在我坐下来与之作战之前可能已经存在哪些方法。我不想无意中重新发明轮子。以下是我从不同角度看过的一些想法。 信号处理观点: 我看过的一件事是进行倒频谱分析,然后可能使用倒频谱的Gabor带宽将信号3与其他信号2区分开,然后测量倒频谱的最高峰来区分信号3。信号2中为1。那是我当前的信号处理工作解决方案。 图像处理观点:我在这里思考,因为我实际上可以针对频谱图创建图像,也许我可以利用该领域的某些东西?我对这部分不是很熟悉,但是如何使用Hough变换进行“线”检测,然后以某种方式“计数”线(如果它们不是线和斑点,又如何呢?)然后从那里开始呢?当然,在我拍摄频谱图的任何时间点,您看到的所有脉冲都可能沿时间轴移动,那么这有关系吗?不确定... 音乐处理的观点:可以肯定的是信号处理的一个子集,但是在我看来,信号1具有一定的(也许是重复的)(音乐?)质量,音乐处理过程中的人们一直都能看到并且已经解决了。也许是区分乐器?不确定,但是这种想法确实发生在我身上。也许,从这个观点出发,是最好的方法,它占用了大部分时域并调高了这些步进率?再说一次,这不是我的领域,但是我非常怀疑这是以前见过的东西……我们可以将所有三种信号视为不同类型的乐器吗? 我还应该补充一点,我拥有大量的训练数据,因此也许使用其中一些方法可能会让我进行一些特征提取,然后我可以将其与K-Nearest Neighbor一起使用,但这只是一个想法。 无论如何,这就是我现在的立场,我们将不胜感激。 谢谢! 根据评论进行的编辑: 是的,预先知道,,,。(有些差异,但很小。例如,假设我们知道 = 400 Khz,但它可能以401.32 Khz出现。但是到距离很高,因此相比之下可能为500 Khz。)Signal-1将始终踩到这4个已知频率。Signal-2将始终具有1个频率。f1f1f_1f2f2f_2f3f3f_3f4f4f_4f1f1f_1f2f2f_2f2f2f_2 还预先知道所有三类信号的脉冲重复率和脉冲长度。(再次有一些差异,但很少)。尽管有些警告,但信号1和2的脉冲重复频率和脉冲长度始终是已知的,但它们是一个范围。幸运的是,这些范围根本不重叠。 输入是实时的连续时间序列,但是我们可以假设信号1、2和3是互斥的,因为在任何时间点仅存在一个信号。对于在任何时间点要花费多少时间块,我们也具有很大的灵活性。 数据可能是嘈杂的,是的,在我们已知的,,,不在的频段中可能存在虚假的音调等。这是完全有可能的。我们可以假设中等信噪比只是为了“开始”解决这个问题。f1f1f_1f2f2f_2f3f3f_3f4f4f_4

3
数字滤波器中的滤波器系数代表什么?
我使用matlab的fdatool设计了一个数字滤波器,并从该工具获得了滤波器系数。 问题是我设计了一个四阶滤波器。这给了我5个过滤器值 h[] = {0.1930,0.2035,0.2071,0.2035,0.1930} x[k] = Discrete time input signal 现在继续使用公式 Output = h[k]*x[n-k]; 输出代表最终的滤波值,尽管结果很好,但我无法找出如何通过Matlab获得这些系数以及仅乘法(卷积)如何得出任何样本的最终滤波响应。 任何链接或解释都可以。我想知道滤波器系数计算的完整后端工作。 如果我不确定某个地方是否有疑问,请发表评论。 谢谢 :)
12 filters  matlab 

2
在嘈杂的.wav文件中检测鼓bpm
我正在寻找解决以下问题的算法:给定嘈杂的.wav声音捕获(麦克风上有风和摩擦噪声),如何检测柔和鼓声的BPM? 我尝试过搜索该主题,但由于用于分析和生成指纹ID的大量mp3相关软件,结果非常差。他们都没有提供有关如何实际执行操作的信息。 我知道消除噪声的算法,但是仍然使我面临检测BPM的问题。而且,根据解决BPM问题的方式,可能甚至不需要去噪(由于鼓的频率往往较低,而噪声的频率较高,因此简单的低通可能就足够了)。

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.