我目前正在研究DSP和FFT,对此我还很陌生,并且长期从事Arduino和业余项目的电子学研究。最近,我正在做一个项目,目标是在您每天的通勤时间里绘制坑洼,以测量路面不平度。这不是道路轮廓,而是驾驶员在旅途中感觉到的行驶不平顺度。为了简化起见,我安装了一个加速度来测量汽车的Z轴“垂直”加速度,当遇到坑洼时,震动和弹簧会按照四分之一汽车模型来衰减力。为了能够创建一个通过使用FFT查找垂直加速度的主要频率来检测坑洼的检测器,那么我可以将其匹配到模式以检测轿门的门猛撞或坑洼中的人孔盖或许在将来。

我不确定是否可以采用FFT,我非常感谢任何输入或建议以及构想,我制作了一个低通滤波器,以滤除传动系统中较高频率的振动,发动机。

汽车上的乘客/驾驶员对承受的“粗糙度”有何想法?我当时想在平坦的道路,碎石路,砖砌的道路,恶劣的道路上进行道路测试,并提出垂直加速度大小的阈值,并以某种方式对所谓的“粗糙”进行缩放

检测到的坑洼也将通过GPS记录其位置,我正尝试将Rasberry Pi用于此目的,并将其数据存储和速度作为一个很好的项目。

谢谢感谢任何帮助或想法,书籍,教程,智慧等

更新:

此处提供更多数据:

https:// electronics.stackexchange.com/questions/56238/accelerometer-data-smoothing-filtering-pothole-detection

评论

PAK-9的回答下面有一些好的建议。步骤1可能应该是使用路测(如您建议的那样)收集一些数据,以查看您想要检测的功能的实际外观。

您是否要自动将其提交给seeclickfix.com? :)

是的,如果我能使其正常运行,我可以。我的情况将只是其中的一个简单子集,我想大多数人会使用智能手机在车内四处移动它,因此您必须将手机放在手机座中才能获得准确的读数,也不会掉落手机或在移动时移动手机汽车在行驶。因此,我使用外部加速度计来避免这些并发症

@ user978563您正在使用的btw加速度计的外部品牌是什么?

品牌是KXPS5-3157数据表dz863.com/downloadpdf-lovdnabsxg-KXPS5-3157.pdf

#1 楼

您对信号中的频率信息并没有真正感兴趣的,而是具有可检测的功能-因此,我建议这里的FFT没有太大的用途。

您真正想做的事情将连续记录在汽车中的“汽车信号”与另一个信号相关联,该信号是坑洼凸起的“签名”。您需要通过将其记录在经过坑洼的汽车中来获取此签名(也许记录很多并使用它们来产生代表坑洼的良好信号)。一旦有了它,就可以将其与汽车信号进行互相关。您可能希望在频域中执行此操作,在这种情况下,应将签名的FFT与汽车信号的滑动FFT互相关。

您可能需要在使用前处理汽车信号它可以消除例如高频噪声(使用低通滤波器)。您可以通过肉眼观察到非常有效的效果-在汽车信号灯上使用各种过滤器,以查看哪些过滤器除去了最无关紧要的信息,同时又保留了重要的坑洞信息。

评论


$ \ begingroup $
以编程方式很难做到这种互相关吗?我希望这一切都可以在软件中自动完成。我想最困难的部分是获得一个“坑洼”的“通用信号”,该坑足够宽以使FFT与汽车中当前数据的FFT相匹配。滑动FFT,开窗函数是什么?让我感到困惑的是窗口,那会是滑动窗口吗?坑洼频率似乎发生在5HZ至20HZ范围内,而低频对阻尼悬架的SHM却有影响
$ \ endgroup $
– zacharoni16
13年1月4日在17:21

$ \ begingroup $
交叉相关在编程上并不是特别困难,它与卷积非常相似(卷积本质上是在两个数组上进行迭代,并对每个数组执行一些函数)-我确信如果您有不想自己写。签名可能有点难以获取,但是如果您获得大量数据,则应该看到一些功能正在出现,而且互相关不是二进制的,结果本质上是一个“置信度”值,因此您可以根据需要对其进行阈值设置。
$ \ endgroup $
– PAK-9
13年1月4日在17:29

$ \ begingroup $
滑动FFT的开窗fn可以是您想要的任何值,它不会太大地影响结果。我希望看到一个很大的冲动在短时间内得到衰减(如您所说的悬架的SHM),因此您可以基于信号的观察来合成类似的东西。
$ \ endgroup $
– PAK-9
13年1月4日在17:35

$ \ begingroup $
AH很有道理,困难的部分是要获得签名,是否有任何教程,书籍或网站上都有类似的示例程序,现在我想我只需要制作类似于减速带的合成凹凸片和坑洼,并驱使他们多次以获得大量数据。我不确定我应该为签名选择哪些功能
$ \ endgroup $
– zacharoni16
13年1月4日在17:35

$ \ begingroup $
只需行驶一堆凹凸不平的东西,然后将信号的这些部分切掉,就会为您提供签名库。对它们中的每一个进行FFT以给您一个光谱特征,如果某些特征在外观上明显不同,则将它们分成相似的组。然后,您可以对每组签名进行某种平均,最后得到每组签名中的最终“主”签名,您可以将它们与汽车信号进行比较。
$ \ endgroup $
– PAK-9
13年1月4日在17:40