Cypress技术论坛
直播中

杨会

7年用户 228经验值
私信 关注
[问答]

PSoC 5中的过滤器

你好,
我读过过滤器组件的数据表,它说每个设计只需要使用一个过滤器。我尝试的是过滤FTK上的3轴加速度计的数据。我知道我必须使用一个MUX和Delsig ADC。在所有的3轴中,如何在这种情况下使用滤波器?
谢谢,
斯托扬

以上来自于百度翻译


     以下为原文
  Hi,
    I read the datasheet of the filter component, and it says that I should use only one filter per design. What I am trying is to filter out the data from the 3 axis accelerometer on the FTK. I know taht I have to use a MUX and DelSig ADC. How can I use filter in this case for all 3 axis?
    Thanks,
    Stoyan

回帖(4)

丁冬芹

2019-4-8 15:47:54
斯图扬
PSOC5中可用的滤波器是数字滤波器。因此,你应该在多采样模式下使用ADC来获得数字值,然后使用DMA将其发送到滤波器块。
默认情况下,数字滤波器显示两个通道。这需要照顾两个轴。我不知道如何过滤加速度计的第三轴。

以上来自于百度翻译


     以下为原文
  stoyan
     
    the filter available in psoc5 is a digital filter. so, you ought to use an adc in multiple sample mode to obtain the digital value which then has to be sent to the filter block using a dma.
    the digital filter by default shows up with two channels. this takes care of two of the axis. i am unaware of how you can filter the third axis of the accelerometer.
举报

杨会

2019-4-8 15:59:47
嗨,戴维,
谢谢你的回复。我知道这个配置,我知道在这种情况下,我会丢失一个轴。我想知道是否有人知道如何“复用”ADC的输出。假设将数据存储在缓冲器中,然后将其发送到滤波器上的部分。我知道过滤器要完成它的工作,需要不断的数据流。但还是…如果THARE是一种方式(甚至实现数字滤波器从其他组件或软件之一)。我已经在考虑把模拟信号从CPU中取出,通过模拟带通滤波器,并把它们放回CPU中。不幸的是,这将需要额外的6免费I/OS的董事会。
问题是加速度计非常灵敏(这是好的),并且试图获得信号积分的速度是由于高噪声电平引起的偏置。如果我想使用加速度计进行运动检测或速度检测,我就不能依赖原始数据而不需要适当的过滤。
谢谢大家看我的帖子,欢迎任何想法。
斯托扬

以上来自于百度翻译


     以下为原文
  Hi David,
    Thank you for the reply. I am aware of this configuration, and I know that I will be missing an axis in this case. I was wonderinf if someone know a trick to "multiplex" the output of the ADC. Let say storing the data in a buffer, and then sending it to the filter on portions. I know that for the filter to do it's job it needs constant flow of data. But still.. if thare is a way (even implementing digital filter from other components or software one. I am already thinking in taking the analog signals out of the CPU , passing them through analog bandpass filters, and putting them back into the CPU. Unfortunately this will require additional 6 free I/Os of the board.
    The thing is that the accelerometer is very sensitive (which is good), and trying to get the velocity integrating the signal is causing biasing due to the high noise level. And if I want to use an accelerometer for movement detection, or speed detection, I can not rely on the raw data without decent filtering.
    Thank you everyone for looking at my post, any ideas are welcome.
    Stoyan
举报

周彦楠

2019-4-8 16:09:47
嗨,Stoyan
我想我不会迟到。但我的想法是,我们实际上可以在PSoC 5中设计我们自己的组件。那么,为什么不使用UDB来设计数字滤波器呢?不知道这对你有没有帮助。

以上来自于百度翻译


     以下为原文
   hi Stoyan
    I suppose I'm not late. but what I was thinking is, we can actually design our own components in PSoC 5. So why dont you design a digital filter using UDB's for that purpose. Don't know if it that was of any help.
举报

郭雨桐

2019-4-8 16:23:30
你可以做很多事情来过滤加速度计的输出。首先,最简单的方法是在输出端放置一个电容器进行模拟滤波。大多数加速度计数据表指定了基于它们所具有的一些表征数据来执行滤波的所需电容器。第二种方法:固件过滤器。比选择过滤组件需要更多的努力。加速度计最简单的方法是平均值。收集样品的铈数,平均值相同。使用平均数据。通常加速度计具有大约1000到2000赫兹的输出数据。因此,您需要对数据进行至少10倍或20倍的采样,以便进行有效的过滤。代替简单的平均,你也可以在固件中实现一些FIR过滤器,如果你能得到过滤器的系数。第三方法:使用DFB。DFB组件具有2个信道,但是这两个信道可以用于过滤超过2个信道,但是它取决于需要被过滤的信号的性质。由于加速度计输出通常约为1600 Hz(最大),所以DFB信道可以用于对加速度计的所有3个轴进行滤波,因为它以非常高的速度运行。固件过滤器在您的情况下似乎是理想的。

以上来自于百度翻译


     以下为原文
  
        
  • There are multiple things that you can do to filter the output of the accelerometer.    
  • First and simplest method is to put a capacitor at the output to perform analog filtering. Most of the accelerometer datasheet specifies the required capacitors to perform filtering based on some characterisation data that they have.    
  • Second method: Firmware filter. Requires little more effort than just choosing components for filtering. Simplest thing to do for an accelerometer would be to averaging. Collect ceratin number of sample and average the same. Use the averaged data. Typically accelerometers have outputs datarate of about 1000 - 2000 hz. So you need to sample the data atleast 10 or 20 times of this speed in order to perform effective filtering. Instead of simple averaging, you can as well implement some FIR filters in the firmware if you can get the coefficients for the filter.    
  • Third method: Using DFB. The DFB component has 2 channels, but these two channels can be used be used to filter more than 2 channels but it depends on the nature of the signal that needs to be filtered. Since accelerometer output is typically about 1600Hz(maximum), DFB channel can be used to filter all 3 axes of an accelerometer, since it runs at a very high speed.   
    Firmware filter seems to be ideal in your case.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分