信号处理

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

2
FSK信号频谱
我在这里用C实现了一个简单的类似V.23的FSK调制解调器。 所选调制的特殊性使得0和1以两个不同频率(分别为2100 Hz和1300 Hz)的音调发送,并且每个符号的持续时间为1/1200秒,介于一到两个完整周期之间符号音调频率的 我在接收机中使用的带通滤波器的频率约为875 Hz至2350 Hz。该范围是根据经验确定的。 问题是,如何根据音调频率和符号持续时间来计算类似信号的频率范围? 编辑:建议与调幅相似,其中调制信号落入从F 载波 -消息带宽到F 载波 +消息带宽 Hz的频带。 如果我尝试将此逻辑直接应用于我的情况,那么我应该期望我的FSK信号的带宽是以下各项的并集: F1 - 比特率,以F1 + 比特率 F0 - 比特率以F0 + 比特率 或者,如果我插入数字,则为: 1300-1200 = 100至1300 + 1200 = 2500 2100-1200 = 900至2100 + 1200 = 3300 或者,简单地,从100到3300 Hz。 但是,如果我查看我的FSK信号的频谱,看起来它大致包含在2100-1200 = 900到1300 + 1200 = 2500 Hz …

2
iPhone iOS UIImage如何检测相机源上的“激光指示器”点?
我有一个履带式机器人玩具,正在用iPhone控制它。机器人会输出一个已知帧大小的实时摄像头供稿,然后将其显示在UIImage上。 我向机器人添加了激光指示器,并将其固定在机器人的轴上。我试图检测图像上的激光指示器点,从而尝试计算物体的接近度。如果激光点距离中心较远,我知道机器人被卡在墙上,需要备份。 如何检测屏幕上明亮的白红色像素点?一种解决方案是对中心一定半径内的像素颜色进行采样并检测斑点明亮的颜色。谁能为此活动提出算法? 另一种方法是跟踪最后几帧上点的平均位置,从而减小猜测半径。如果在预定义区域内没有点,则可以扩展搜索区域。 最后,我希望能够教机器人检测周围的地毯。地毯以某种方式反射激光笔,我想了解一下机器人周围有多少帧具有相似的属性。如果我知道激光指示器在屏幕上的位置,则可以从该图像中裁剪一个小矩形并将它们相互比较。有没有一种有效的方法可以将多个小图像相互比较,以了解它们的轮廓是否匹配? 我注意到激光是从光滑的表面反射回来的,根据折射定律,这种反射的方向可能告诉我一些关于空间在空间中的方向的信息。 谢谢!

2
如何创建频率与时间的关系图?
我是化学工程师,而不是电子工程师,所以这有点困难。 我试图弄清楚如何获取幅度随时间变化的数据并将其转换为频率随时间变化的数据。我的本能是将数据切成块,对每个块执行FFT,然后绘制。不幸的是,由于每个切片的持续时间接近零,因此不再有足够的信息来获取准确的频率信息(低频需要的时间超过非常小的时间片)。所以...我该怎么做?我确定这是某人已经解决的著名问题。 这是我正在寻找的一种变换,以声波(钢琴音符G)为例进行说明。如您所见,该图为三个轴,第三个轴由颜色表示。 谢谢!

1
如何扩展和加深图像/视频处理的基本技能?
我没有上图像处理课程,但最近三个月我根据讲义和重要书籍研究了该主题。因此,在这一点上,我想提高我的图像处理能力。当然,我正在练习很多图像处理工作,但工作似乎非常相似。 作为一名程序员,我从顶级编码器或类似的编码器中学到了很多东西,您可以互相竞争以获得更好的编程。我可以在任何网站上争夺图像处理难题吗?


2
高斯噪声下卡尔曼估计的统计性质。
对于具有独立高斯状态和输出噪声且对初始状态有完美猜测的线性状态空间模型,卡尔曼估计是否具有以下属性: 哪里P ķ | ķ = V 一- [R (X ķ | ķ - X ķ), 或 V 一- [R (X ķ | ķ), 或 V 一- [R (X ķ)?Ë(x^k | ķ−xk)=0Ë(X^ķ|ķ-Xķ)=0 E(\hat{x}_{k|k} - x_k) = 0 Pk|k=Var(x^k|k−xk), or Var(x^k|k), or Var(xk)?Pķ|ķ=V一个[R(X^ķ|ķ-Xķ), 要么 V一个[R(X^ķ|ķ), 要么 V一个[R(Xķ)? P_{k|k} = Var(\hat{x}_{k|k} - …

3
别名频率公式
我正在攻读MSc计算机科学专业的多媒体系统课程,但在理解混叠频率的公式时遇到了一些麻烦-这可能是由于我对混叠信号的误解。 我对混叠信号的理解是,如果您对输入信号进行欠采样(即以小于最大频率两倍的速率进行采样),那么我们会出现混叠现象,因为我们采样的频率不足以捕获高频细节。混叠信号是获取这些样本值并将它们与一条平滑曲线相连的结果。 因此,由于纯正弦曲线每次振荡需要两个采样(每个转折点为1个),因此所得信号的频率为采样频率的一半-这将意味着混叠频率应仅为采样频率的函数。 别名频率的公式是信号频率的绝对差和采样频率的最接近整数倍-有人可以向我解释吗?提前致谢!


2
什么是适用于受限(嵌入式)处理器的面部检测(非识别)算法?
我正在寻找一个用于监视类应用程序的基于硬件的平台。我想识别出现在场景中的人的面孔。 我不打算真正应用人脸识别(那时或以后)。出于实际目的,也可以假定面的方向是笔直的。检测到的脸部无需进一步处理。 有没有一种快速(有效)的算法可以从实时视频源中检测人脸?

2
评估自相关“质量”的最佳方法?
这是我打app应用程序的一个小路。 我在产生音频信号的自相关方面遇到了麻烦,看它是否与打nor /呼吸很好地“相关”。我有一个简单的算法(产生1.0作为第零个元素,这是一个好兆头),但是我想知道如何评估结果以确定自相关是否很强,以及也许进一步如何使用它来分离各种可能的声源。 问题1:自相关的RMS(跳过元素为零)是否像任何一个“质量”指标一样好,还是有更好的方法? 详细说明: 我只是想用一种数值方式(与图表“看”相比)来将高度自相关的信号与不太自相关的信号区分开。 (我不太了解要问什么其他问题。) 一些早期的结果: 在某些情况下,自相关(均方根或峰值)显示出打ore声的急剧跳跃-正是我希望看到的响应。在其他情况下,在这些测量中根本没有明显的运动(这可能是具有两个响应的两个连续打sn),而在高噪声情况下,测量实际上在打ore时会稍微下降。 更新-5月22日: 我终于有时间再做一些工作。(我从另一个应用程序退出,这确实很痛苦。)我将自相关的输出输入到FFT中,输出有些有趣-当打sn开始时,它在原点附近显示了一个相当大的峰值。 因此,现在我面临以某种方式量化此峰值的问题。奇怪的是,就绝对幅度而言,最高峰有时在其他时间出现,但我尝试了峰均值与算术平均值的比率,并且跟踪得很好。因此,有什么好的方法可以测量FFT的“峰值”。(并且请不要说我需要对其进行FFT-这东西已经快要吞噬自己的尾巴了。:)) 同样,我想到,如果我镜射输入自相关结果,中间为零(定义为1.0幅度),则FFT的质量可能会有所提高。这将把“尾巴”放在两端。这(可能)是个好主意吗?镜像应该竖直放置还是倒置?(当然,无论您说什么,我都会尝试,但是我想也许我会得到一些关于细节的提示。) 尝试过平坦度- 我的测试用例可以大致分为“行为良好”类别和“问题儿童”类别。 对于“行为良好”的测试用例,自相关的FFT的平坦度急剧下降,并且在打ore期间峰均值与平均自相关之比上升。这两个数字的比率(峰值比率除以平坦度)特别敏感,在呼吸/打no过程中会出现5-10倍的爬升。 但是,对于“问题孩子”,数字正好相反。峰/平均比略有下降,而平坦度实际上增加了50-100% 这两类之间的差异(主要是三方面): “问题儿童”中的噪音水平通常较高 “问题儿童”中的音频电平(几乎总是)较低 “有问题的孩子”往往包括更多的呼吸和更少的实际打呼((我需要同时检测两者) 有任何想法吗? 更新-2012年5月25日: 进行胜利跳舞还为时过早,但是当我反映出某个点的自相关性,对该点进行FFT并进行频谱平坦度时,我的组合比率方案显示出几个不同的环境。反映自相关似乎可以改善FFT的质量。 但是,有一点要注意的是,由于反射的“信号”的“ DC分量”为零,因此第零个FFT结果始终为零,这有点破坏了包含零的几何平均值。但是跳过第零个元素似乎可行。 我得到的结果不足以单独识别打sn /呼吸,但这似乎是一个相当敏感的“确认”-如果我没有“跳”,则可能不是打sn /呼吸。 我没有仔细分析它,但是我怀疑正在发生的是在呼吸/打no期间某处发出了啸叫声,并且正在检测到啸叫声。

3
离散傅立叶变换的对称性
我正在阅读里昂的书中的离散傅里叶变换一章-了解数字信号处理-不能理解关于对称性的最后一段。 DFT还有另外一个对称属性,这一点值得一提。在实践中,有时需要确定实际输入函数的DFT,其中输入索引ññn定义为正值和负值。如果那个实数输入函数是偶数,那么总是实数和偶数;也就是说,如果实数,则通常为非零,而为零。相反,如果实输入功能是奇数,,则总是为零和是,通常为非零。X (Ñ )= X (- ñ )X 真实(米)X IMAG(米)X (X(米)X(米)X(m)X (Ñ )= X (- Ñ )X(ñ)=X(-ñ)x(n) = x(−n)X真实(米)X真实(米)X_{\textrm{real}}(m)X意象(米)X意象(米)X_{\textrm{imag}}(m)x (n )= − x (− n )X(ñ)=-X(-ñ)x(n) = −x(−n)X真实(米)X真实(米)X_{\textrm{real}}(m)X意象(米)X意象(米)X_{\textrm{imag}}(m) 注意:X(米)= X真实(m )+ j X意象(米)X(米)=X真实(米)+ĴX意象(米)X(m) = X_{\textrm{real}}(m) + jX_{\textrm{imag}}(m) 首先,“奇数”和“偶数”是什么意思?我怀疑这是输入信号中的样本数,但这使我想到了第二个问题, 为什么实输入函数为偶数为零,为什么实输入函数为奇数的为零且通常非零吗?X意象(米)X意象(米)X_{\textrm{imag}}(m)X真实(米)X真实(米)X_{\textrm{real}}(m)X意象(米)X意象(米)X_{\textrm{imag}}(m)

2
在MATLAB中计算与图像边界相交的对象数
我有带有各种标志的RGB图像。我的主要目标是计算与图像边界接触的标志。 方法与问题 我首先加载图像[Fig。1],然后将其转换为灰度并应用中值滤波器以消除一些噪声[图1]。2]。然后,我用0.2的阈值对它进行了二值化处理,结果如图3所示。这时我得到了二值化图像,但问题是,属于同一符号的某些部分出现在各个区域中,而不仅仅是一个区域。现在,我的目标是合并属于同一对象的区域,因此我可以bwlabel用来计算图像中有多少个符号,并imclearborder用来消除边界中的符号,然后bwlabel再次使用来获得他们俩。 我的方法是使用bwmorph,Dilate扩大对象,然后尝试用imfill,填充它们holes。但是问题是,如果我少量扩张它们[图。4],imfill似乎并没有填充它们,如果我将它们大量扩张[图5],所有对象就会开始合并:( 码 img=im2double(imread('image.png')); figure, imshow(img) img_gray=rgb2gray(img); imshow(img_gray); img_mediana=medfilt2(img_gray, [3 3]); figure, imshow(img_mediana); img_bin=im2bw(img_mediana, 0.2); imshow(img_bin) img_dilate=bwmorph(img_bin, 'Dilate', 10); imshow(img_dilate) img_fill=imfill(img_dilate, 'Holes'); figure, imshow(img_fill) 图 图1: 图1 http://dl.dropbox.com/u/5272012/1.png 图2: 图2 http://dl.dropbox.com/u/5272012/2.png 图3: 图3 http://dl.dropbox.com/u/5272012/3.png 图4: 图4 http://dl.dropbox.com/u/5272012/4.png 图5: 图5 http://dl.dropbox.com/u/5272012/5.png

2
如何估算位于Harris角的视觉特征的八度和大小
我目前正在使用OpenCV作为视觉特征匹配基础的几种特征检测器,并对其性能进行比较。 我正在使用SIFT描述符。在检测MSER和DoG(SIFT)功能时,我已经完成了令人满意的匹配(拒绝了不匹配的匹配之后)。 目前,我正在使用GFTT(要跟踪的良好功能-Harris角)测试我的代码以进行比较,并且因为在最后的应用中,视觉功能跟踪过程中将提供一组GFTT功能。 我使用cv::FeatureDetector::detect(...)它为我提供了一个std::vector<cv::KeyPoint>充满了兴趣检测的特征/关键点/地区。该结构cv::KeyPoint包含有关要素的位置有关的基本信息,以及信息size,并octave在关键点已经被检测到。 在比较不同类型的特征的典型值和参数之前,我对GFTT的最初结果很糟糕:sizeoctave MSER设置大小(10到40px之间),并将八度保留为0 DoG(SIFT)设置大小和八度(大小/八度比在20到40之间) GFTT参数始终为:size = 3,octave = 0 我认为这是因为GFTT功能的主要目的不是用于匹配,而只是用于跟踪。这解释了匹配结果的低质量,因为从如此微小的特征中提取的描述符不再具有歧视性,并且对于许多事物(包括小的1像素偏移)不变。 如果我手动设置size的GFTT至10 - 12,我得到了良好的效果,非常类似于使用时MSER或DOG(SIFT) 。 我的问题是:有没有比10见才能确定增加size(和/或octave)多少更好的方法呢?我想避免对可能的增加进行硬编码,并以编程方式确定它,但是只要我有一些可靠的论据来支持对新的/ 增加 / 估计算法的选择,就可以进行硬编码。sizesizesizesize

1
直接比较两个光谱之间的亚像素位移-并获得可信的误差
我有同一个天文物体的两个光谱。基本问题是:如何计算这些光谱之间的相对位移,并在该位移上获得准确的误差? 如果您仍在我身边,请提供更多详细信息。每个光谱将是一个具有x值(波长),y值(通量)和误差的数组。波长偏移将是子像素。假设像素是规则间隔的,并且将只有一个波长偏移应用于整个光谱。因此,最终答案将类似于:0.35 +/- 0.25像素。 这两个光谱将是许多无特征的连续体,它们被一些不容易建模(且不是周期性的)的相当复杂的吸收特征(凹陷)所打断。我想找到一种直接比较两个光谱的方法。 每个人的第一个本能是进行互相关,但是随着子像素的移动,您将不得不在光谱之间进行插值(首先要进行平滑处理?),而且,错误似乎很难纠正。 我目前的方法是通过与高斯核卷积来平滑数据,然后对平滑结果进行样条化处理,并比较两个样条化谱线-但我不信任它(尤其是错误)。 有人知道正确执行此操作的方法吗? 这是一个简短的python程序,将产生两个可以播放的玩具光谱,这些光谱偏移了0.4个像素(写在toy1.ascii和toy2.ascii中)。即使此玩具模型使用了简单的高斯特征,也要假设实际数据不能与简单的模型拟合。 import numpy as np import random as ra import scipy.signal as ss arraysize = 1000 fluxlevel = 100.0 noise = 2.0 signal_std = 15.0 signal_depth = 40.0 gaussian = lambda x: np.exp(-(mu-x)**2/ (2 * signal_std)) mu = 500.1 np.savetxt('toy1.ascii', zip(np.arange(arraysize), np.array([ra.normalvariate(fluxlevel, …

3
为什么在AM和FM中产生边带?
当信号被调制到电磁频谱中的载波上时,该信号将占据载波频率周围频谱的一小部分。它还会导致在载波频率之上和之下的频率处产生边带。 但是,为什么和为什么在AM和FM中产生这些边带?为什么在FM中产生那么多的边带,而在AM中只产生两个呢?请提供一个实际的例子,因为我已经知道它们是如何数学生成的。 我知道的是,在时域中,将原始信号放入载波信号时,实际上是将其与载波信号相乘,这意味着在频域中,原始信号会与载波信号卷积。AM中的这两个边带实际上是载波信号的傅立叶变换。 它是否正确?

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.