搜索
bottom↓
回复: 96

求一个完整的STM32运算FIR滤波程序

  [复制链接]

出0入50汤圆

发表于 2013-1-24 17:08:19 | 显示全部楼层 |阅读模式
本人对FIR滤波是小白一个,现求一个完整的STM32运算FIR滤波程序



信号来源:
1)AD数据16-24位,精度要求较高,需要采用浮点数运算;
2)AD速率10~500次/秒;

输出要求:
1)输出速率跟随输入同步变化,输入一个新数据,经过滤波输出一个同步数据(时间上因滤波肯定滞后,这个正常,无须理会);
2)输出滤波深度可设置(FIR滤波好像是叫滤波阶数);


代码要求:STM32工程,使用ST的外设库,但是FIR滤波代码,特别是输入输出部分要带详细中文注释,方便实际调用。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2013-1-24 17:10:22 | 显示全部楼层
哇擦,1000莫元

这个不难的

出110入109汤圆

发表于 2013-1-24 17:11:40 | 显示全部楼层
...\stm32f4_dsp_stdperiph_lib\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\CMSIS\DSP_Lib\Source\FilteringFunctions
这个目录下没有你想要的?
arm_fir_xxx.c

出0入50汤圆

 楼主| 发表于 2013-1-24 17:14:52 | 显示全部楼层
那个没弄出来,搞了好久,要不怎么说自己是小白一个呢

出0入0汤圆

发表于 2013-1-24 23:10:22 | 显示全部楼层
本帖最后由 lotsbiss 于 2013-1-24 23:17 编辑

500次采样的话,才2ms,直接硬算都行吧···
这是我以前在电脑上写的,没试过STM32里行不···
  1. #define FIRSTAGE 10

  2. float firbuf[FIRSTAGE];
  3. float datbuf[FIRSTAGE];

  4. int curpos;

  5. void Init(float *initfir)
  6. {
  7. u8 i;
  8. for(i=0;i<FIRSTAGE;i++)
  9. {
  10.   firbuf[i]=initfir[i];
  11.   datbuf[i]=0;
  12. }
  13. curpos=0;
  14. }

  15. float AddDat(float newdat)
  16. {
  17. float ret=0;
  18. u8 i=curpos;
  19. u8 j=0;

  20. datbuf[curpos]=newdat;
  21. do
  22. {
  23.   ret+=datbuf[i]*firbuf[j];
  24.   i--;
  25.   j++;
  26.   if(i==0xff)
  27.   {
  28.    i=FIRSTAGE-1;
  29.   }
  30. }while(i!=curpos);
  31. curpos++;
  32. if(curpos==FIRSTAGE)
  33. {
  34.   curpos=0;
  35. }
  36. return ret;
  37. }
复制代码

出0入0汤圆

发表于 2013-1-25 11:22:31 | 显示全部楼层
本帖最后由 xivisi 于 2013-1-25 11:50 编辑
  1. #define ORDER        (27)                        //阶数
  2. extern double Buffer[ORDER];        //采样历史数据
  3. extern double Gains[ORDER+1];        //增益数据

  4. double Fir(double Input)
  5. {
  6.         double                 Output=0.0;        //数据输出
  7.         unsigned int Index;                //下标索引
  8.        
  9.         //采样数据移位
  10.         for(Index=ORDER;Index>0;Index--) Buffers[Index]=Buffers[Index-1];
  11.         Buffers[0]=Input;
  12.        
  13.         //计算输出
  14.         for(Index=0;Index<ORDER+1;Index++)
  15.         {
  16.                 Output+=Gains[Index]*Buffers[Index];
  17.         }
  18.        
  19.         return Output;
  20. }

  21. double Buffer[ORDER+1];

  22. //27阶FIR椭圆低通滤波系数
  23. //Fsample=1M,Fpass=10K, Gpass=1; Stop=100K, Gstop=0.001
  24. double Gains[ORDER+1]=
  25. {
  26.         0.00059697504964033668,              /* Expression: 0.00059697504964033668
  27.         * Referenced by: '<S1>/b(1)'
  28.         */
  29.         0.0015403196387599274,               /* Expression: 0.0015403196387599274
  30.         * Referenced by: '<S1>/b(2)'
  31.         */
  32.         0.0033064320276585081,               /* Expression: 0.0033064320276585081
  33.         * Referenced by: '<S1>/b(3)'
  34.         */
  35.         0.0061113563487949557,               /* Expression: 0.0061113563487949557
  36.         * Referenced by: '<S1>/b(4)'
  37.         */
  38.         0.010163018665706843,                /* Expression: 0.010163018665706843
  39.         * Referenced by: '<S1>/b(5)'
  40.         */
  41.         0.01556871821436694,                 /* Expression: 0.01556871821436694
  42.         * Referenced by: '<S1>/b(6)'
  43.         */
  44.         0.022287913896844945,                /* Expression: 0.022287913896844945
  45.         * Referenced by: '<S1>/b(7)'
  46.         */
  47.         0.030101200648240893,                /* Expression: 0.030101200648240893
  48.         * Referenced by: '<S1>/b(8)'
  49.         */
  50.         0.038603810412670289,                /* Expression: 0.038603810412670289
  51.         * Referenced by: '<S1>/b(9)'
  52.         */
  53.         0.047231317739074019,                /* Expression: 0.047231317739074019
  54.         * Referenced by: '<S1>/b(10)'
  55.         */
  56.         0.055313182265383343,                /* Expression: 0.055313182265383343
  57.         * Referenced by: '<S1>/b(11)'
  58.         */
  59.         0.062153319101224389,                /* Expression: 0.062153319101224389
  60.         * Referenced by: '<S1>/b(12)'
  61.         */
  62.         0.067119721211364419,                /* Expression: 0.067119721211364419
  63.         * Referenced by: '<S1>/b(13)'
  64.         */
  65.         0.069732498345159072,                /* Expression: 0.069732498345159072
  66.         * Referenced by: '<S1>/b(14)'
  67.         */
  68.         0.069732498345159072,                /* Expression: 0.069732498345159072
  69.         * Referenced by: '<S1>/b(15)'
  70.         */
  71.         0.067119721211364419,                /* Expression: 0.067119721211364419
  72.         * Referenced by: '<S1>/b(16)'
  73.         */
  74.         0.062153319101224389,                /* Expression: 0.062153319101224389
  75.         * Referenced by: '<S1>/b(17)'
  76.         */
  77.         0.055313182265383343,                /* Expression: 0.055313182265383343
  78.         * Referenced by: '<S1>/b(18)'
  79.         */
  80.         0.047231317739074019,                /* Expression: 0.047231317739074019
  81.         * Referenced by: '<S1>/b(19)'
  82.         */
  83.         0.038603810412670289,                /* Expression: 0.038603810412670289
  84.         * Referenced by: '<S1>/b(20)'
  85.         */
  86.         0.030101200648240893,                /* Expression: 0.030101200648240893
  87.         * Referenced by: '<S1>/b(21)'
  88.         */
  89.         0.022287913896844945,                /* Expression: 0.022287913896844945
  90.         * Referenced by: '<S1>/b(22)'
  91.         */
  92.         0.01556871821436694,                 /* Expression: 0.01556871821436694
  93.         * Referenced by: '<S1>/b(23)'
  94.         */
  95.         0.010163018665706843,                /* Expression: 0.010163018665706843
  96.         * Referenced by: '<S1>/b(24)'
  97.         */
  98.         0.0061113563487949557,               /* Expression: 0.0061113563487949557
  99.         * Referenced by: '<S1>/b(25)'
  100.         */
  101.         0.0033064320276585081,               /* Expression: 0.0033064320276585081
  102.         * Referenced by: '<S1>/b(26)'
  103.         */
  104.         0.0015403196387599274,               /* Expression: 0.0015403196387599274
  105.         * Referenced by: '<S1>/b(27)'
  106.         */

  107.         0.00059697504964033668               /* Expression: 0.00059697504964033668
  108.         * Referenced by: '<S1>/b(28)'
  109.         */
  110. };
复制代码
增益数据,可使用Matlab中的fdatool生成


PS: 图片修改

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-1-25 11:51:58 | 显示全部楼层
一个应用中,通常系数是固定的,不用动态生成

出0入50汤圆

 楼主| 发表于 2013-1-25 16:08:20 | 显示全部楼层
我的应用,需要用户自己更加实际需要选择他认为合适的采样速率,以及滤波深度。也就是采用速率和滤波阶数是调设置的,而不是固定的;
另外标准的FIR程序,都是一组数据(英文资料称之为block)输入,然后一组数据输出,但是我的应用需要采集到一个新的AD,就要滤波,然后输出一个AD数值,作为当前输出,被程序调用;

感谢楼上几位的积极回应,遗憾的是目前的资料还没有合适我用,继续等待。

出0入0汤圆

发表于 2013-1-25 18:11:24 | 显示全部楼层
ilikemcu 发表于 2013-1-25 16:08
我的应用,需要用户自己更加实际需要选择他认为合适的采样速率,以及滤波深度。也就是采用速率和滤波阶数是 ...

汗,早说是如果是动态生啊

参考《数字信号处理c语言程序集》 第六章,我也不好贴他的代码说是我的

出0入50汤圆

 楼主| 发表于 2013-1-26 11:06:12 | 显示全部楼层
呵呵,谢谢xivisi,这类书或代码我要能搞定,也不至于来悬赏了啊,一般网上的代码我早已搜索无数,常去的几个电子网站,包括这里,早就用FIR关键字搜索无数遍了,能CTRL+C,CTRL+V的资料也早就存到硬盘里了。MATLAB的书也借过看过不少,里边都有FIR滤波章节介绍的。

这里附上一个计算系数的小工具软件,和谐版。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-1-26 21:55:28 | 显示全部楼层
STM32的DSP库里面有吧。

出0入0汤圆

发表于 2013-1-27 21:23:31 | 显示全部楼层


你看看调用filter_init_bandpass这个函数的时候传的几个参数的意义,和它创建的滤波器的调用方法。应该有所启发

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入50汤圆

 楼主| 发表于 2013-1-30 09:45:38 | 显示全部楼层
12楼的这个包打开之后不知道是些什么格式的文档,不过还是谢谢支持!

出0入50汤圆

 楼主| 发表于 2013-2-3 15:05:31 | 显示全部楼层
重赏之下也无勇夫啊

出110入109汤圆

发表于 2013-2-3 15:08:31 | 显示全部楼层
ilikemcu 发表于 2013-2-3 15:05
重赏之下也无勇夫啊

你这个确实重赏~
系数得要根据应用需求来的,我们已经离职的工程师用Matlab做过。
我们接手后,决定放弃FIR

出0入0汤圆

发表于 2013-2-3 16:10:39 | 显示全部楼层
确实是重赏啊……从未做过瞬间重伤了……

出0入17汤圆

发表于 2013-2-3 16:13:27 | 显示全部楼层
ilikemcu 发表于 2013-2-3 15:05
重赏之下也无勇夫啊

确实是重赏但是有论坛里一位前辈的说法,这可是能卖钱的代码

出0入50汤圆

 楼主| 发表于 2013-2-3 18:30:04 | 显示全部楼层
其实FIR滤波部分的代码,MDK已经自带了,是针对M0,M3,M4的,除了库,还带有源代码,是公开的。
我高数和数字信号处理学得比较烂,弄不懂如何应用。

出0入17汤圆

发表于 2013-2-3 19:38:04 | 显示全部楼层
ilikemcu 发表于 2013-2-3 18:30
其实FIR滤波部分的代码,MDK已经自带了,是针对M0,M3,M4的,除了库,还带有源代码,是公开的。
我高数和数 ...

至少低通滤波的截至频率可以确定吧?

出0入50汤圆

 楼主| 发表于 2013-2-4 08:43:29 来自手机 | 显示全部楼层
截止频率在1赫兹左右。其实我需要的是方法。

出0入0汤圆

发表于 2013-2-4 08:57:17 | 显示全部楼层
ilikemcu 发表于 2013-1-30 09:45
12楼的这个包打开之后不知道是些什么格式的文档,不过还是谢谢支持!

你下载之后改名为g.tgz然后用winrar之类的软件解压。
或者直接去 google一下gmfsk 下载源代码

出0入0汤圆

发表于 2013-2-5 16:31:43 | 显示全部楼层
stm32官方有DSP库的

出0入50汤圆

 楼主| 发表于 2013-2-5 19:07:01 | 显示全部楼层
DSP库我知道,MDK和ST公司官方的都有,我现在的问题是不会用。

出0入0汤圆

发表于 2013-2-5 19:27:52 | 显示全部楼层
关注。我也是不会用。

出0入50汤圆

 楼主| 发表于 2013-2-22 21:37:11 | 显示全部楼层
自己顶上去。

出0入0汤圆

发表于 2013-2-22 23:17:02 | 显示全部楼层
本帖最后由 kmani 于 2013-2-22 23:18 编辑

楼主你要的是滤波阶数可以随时改变的FIR?
我在Matlab里面算FIR系数,我看软件都得算一会儿,要是单片机计算,不知道会不会耗时太久?
我也同求,再友情帮顶.

出0入50汤圆

 楼主| 发表于 2013-2-25 08:57:08 | 显示全部楼层
系数不需要单片机算的,因为事先可以用穷举法把可能用到的系数表格算出来,到时候根据条件,调用合适对应的表格即可。

出420入0汤圆

发表于 2013-2-26 09:38:27 | 显示全部楼层
你要1hz的高通还是低通,这频率够低的

出420入0汤圆

发表于 2013-2-26 09:38:47 | 显示全部楼层
FIR实现要很多级

出0入50汤圆

 楼主| 发表于 2013-2-26 09:43:33 | 显示全部楼层
我的输出都是低通,1HZ输出的时候,采样频率可能只有10-20SPS了,不需要太高。

出420入0汤圆

发表于 2013-2-26 09:48:25 | 显示全部楼层
非得fir么?iir不行么?

出0入50汤圆

 楼主| 发表于 2013-2-27 09:20:15 来自手机 | 显示全部楼层
是的,不希望用其它算法

出0入0汤圆

发表于 2013-3-1 12:55:12 | 显示全部楼层

求同啊,DSP库我也看不懂
头像被屏蔽

出0入0汤圆

发表于 2013-3-1 15:31:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2013-3-1 17:10:57 | 显示全部楼层
好帖得收藏

出0入0汤圆

发表于 2013-3-8 11:03:18 | 显示全部楼层
晕,看了一楼觉得很EASY。但觉得楼主对问题的阐述不清晰,要求也苛刻,这分不要也罢。虽然说是悬赏,但你是在请教别人问题

出0入50汤圆

 楼主| 发表于 2013-3-20 17:09:04 | 显示全部楼层
lianxiao33 发表于 2013-3-8 11:03
晕,看了一楼觉得很EASY。但觉得楼主对问题的阐述不清晰,要求也苛刻,这分不要也罢。虽然说是悬赏,但你是 ...

我才晕呢,不知道是哪句话,哪里让你老不爽了呢?又或是得罪你了?想不明白啊

出10入95汤圆

发表于 2013-4-20 22:42:58 | 显示全部楼层
请问 6楼 xivisi :
原来FIR的主要运算公式是:
Output+=Gains[Index]*Buffers[Index];
吗?貌似很简单啊

出0入0汤圆

发表于 2013-4-22 11:17:39 | 显示全部楼层
没做过  看看学习一下

出0入0汤圆

发表于 2013-4-22 14:05:06 | 显示全部楼层

出0入0汤圆

发表于 2013-4-22 15:26:51 | 显示全部楼层
直接使用STM32F407的DSP库,然后它还带有FPU能够加快运算速度

出0入0汤圆

发表于 2013-7-12 12:52:06 | 显示全部楼层
DSP库只有16位的哦,高精度AD的话还要自己来

出0入50汤圆

 楼主| 发表于 2013-7-12 12:53:27 | 显示全部楼层
呵呵,你说的DSP库是ST的那个,keil公司自带的,可以支持浮点数哦

出0入0汤圆

发表于 2013-7-12 19:27:35 | 显示全部楼层
基于STM32F407的这个1024个FFT我做过,但FIR滤波器没搞过!

出0入0汤圆

发表于 2013-7-13 00:42:01 | 显示全部楼层
呼~~~~~学习一下!

出0入0汤圆

发表于 2013-7-13 23:37:19 | 显示全部楼层
stm32f407,IAR6.4寄存器版,可以不

自带AD,定时器触发DMA踩数,使用DSP库,arm_fir_f32.c
32位浮点开FPU,127阶带通,1ms大概能算两百来点

出0入0汤圆

发表于 2013-7-14 13:24:39 | 显示全部楼层
还有需要,找我吧,我还不知道1000莫元有什么用

我QQ: 176226457,注明 :FIR

出0入0汤圆

发表于 2013-7-14 13:28:08 | 显示全部楼层
加我QQ: 176226457,给你提供最合适解决方案

出0入0汤圆

发表于 2013-7-30 13:44:59 | 显示全部楼层
#include "dsp.h"
#define FIR_N 128
#define FIR_M 32


Complex signal[signal_N]; //信号
float signal1[signal_N];
float signal1_out[signal_N];
Complex signal_out[signal_N];
int16_t signal_real[signal_N];
int16_t signal_img[signal_N];
int32_t signal2[signal_N];
int32_t signal2_out[signal_N];
int32_t Y[signal_N];

int16_t FIR_in[FIR_N+FIR_M-1];
int32_t FIR_out[FIR_N];



COEFS fir_coefs;



void Signal_Init()
{
        u16 i,j;
        u16 fs=8192;
        u16 f1=100;
        u16 f2=200;
        float V1=60.0;
        float V2=20.0;
        for(i=0;i<signal_N;i++)
        {
                signal_real[i]=V1*sin((float)f1/fs*i*2.0*PI)+V2*sin((float)f2/fs*i*2.0*PI);
                signal2[i] = (((int16_t)(signal_real[i])) | ((int32_t)(signal_img[i]<<16)));
                //signal[i].img =0;
        }
        for(i=0;i<FIR_N+FIR_M-1;i++)
        {
                 FIR_in[i]=V1*sin((float)f1/fs*i*2.0*PI);//+V2*sin((float)f2/fs*i*2.0*PI);
        }
}

void Display_Dsp()
{
        u16 i,j;
        for(i=1;i<FIR_N+FIR_M-1;i++)
        {
                TFT_DrawLine(i-1,300-FIR_in[i-1],i,300-FIR_in[i],BLACK);
        }
        for(i=0;i<FIR_N;i++)
        {
                TFT_DrawLine(i-1,150-FIR_out[i-1],i,150-FIR_out[i],BLUE);
        }
}

void MY_FIR()
{
        u16 i;
        u16 h[FIR_M]={
                                        90,358,794,1138,2100,2923,3821,4762,5712,6635,
                                        7500,8274,8930,9444,9797,9977,9977,9797,9444,8930,
                                        8274,7500,6635,5712,4762,3821,2923,2100,1381,794,
                                        358,90,                         //汉宁窗
                                /*
      540,    231,    276,    323,    371,    419,    467,    513,    558,
      598,    635,    667,    694,    714,    728,    735,    735,    728,
      714,    694,    667,    635,    598,    558,    513,    467,    419,
      371,    323,    276,    231,    540 */
                                          } ;
                                        for(i=0;i<FIR_M;i++)
                                        {
                                                h[i]/=2;
                                        }
        fir_coefs.nh = FIR_M;
        fir_coefs.h = h;
           fir_16by16_stm32(FIR_out,FIR_in,&fir_coefs,FIR_N);
        for(i=0;i<FIR_N;i++)
        {
                FIR_out[i]/=160000;
        }

}
int main(void)
{

        Signal_Init() ;
        //cr4_fft_256_stm32(signal2_out, signal2, signal_N);
        MY_FIR();
        Display_Dsp();
        while(1)
        {
       
        }
}

出0入0汤圆

发表于 2013-7-31 12:30:06 | 显示全部楼层
MARK一下,都是高手啊

出0入0汤圆

发表于 2013-7-31 14:07:27 | 显示全部楼层
学习了,顶一下

出0入0汤圆

发表于 2013-7-31 15:30:38 | 显示全部楼层
ilikemcu 发表于 2013-2-3 18:30
其实FIR滤波部分的代码,MDK已经自带了,是针对M0,M3,M4的,除了库,还带有源代码,是公开的。
我高数和数 ...

MDK自带的库有使用手册吗?

出0入0汤圆

发表于 2013-7-31 17:12:52 | 显示全部楼层
直接发工程给你吧,刚调好的,可以用。AD采样,DA输出

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-7-31 18:37:56 | 显示全部楼层
这个我会,已经调出来了!!!!有需要私聊

出0入0汤圆

发表于 2013-8-3 12:39:55 | 显示全部楼层
现在还要吗?

出0入0汤圆

发表于 2013-8-3 12:40:18 | 显示全部楼层
最近在弄这个

出0入0汤圆

发表于 2013-8-3 12:40:37 | 显示全部楼层
如果要的话,我可以按照你的要求来做

出0入50汤圆

 楼主| 发表于 2013-11-20 10:00:38 | 显示全部楼层
zlpvch 发表于 2013-8-3 12:40
如果要的话,我可以按照你的要求来做

当然要的啦,我开出这个悬赏,莫元撒出去就收不回来了 ,我的要求就是进来一个数据,给我输出一个数据,还有就是楼主位的说明了。

出0入0汤圆

发表于 2013-11-20 22:27:05 | 显示全部楼层
stm32计算浮点数可以吗?

出0入0汤圆

发表于 2013-12-3 15:23:39 | 显示全部楼层
这么多莫元还没送出去啊

出0入4汤圆

发表于 2013-12-3 19:52:48 | 显示全部楼层
都是高手啊!!!

出0入0汤圆

发表于 2013-12-30 17:30:35 | 显示全部楼层
高人们,下一上看看

出0入0汤圆

发表于 2013-12-31 09:06:42 | 显示全部楼层
我手上有用汇编实现(非常高效),采用定点运算(非浮点),一个采样值输入,一个采样值输入一个采样值输出,直接用C语言调用的滤波器函数,适合cortex M3和cortex M0!有兴趣联系我!QQ:53142807

出0入0汤圆

发表于 2013-12-31 09:13:23 | 显示全部楼层
我是进来看楼主莫元够不够的,,,,,

出0入0汤圆

发表于 2013-12-31 09:39:02 | 显示全部楼层
是来看高手代码的! 莫元的租用不大啊!

出0入0汤圆

发表于 2014-12-23 11:33:00 | 显示全部楼层
首先楼主你要注意,fir这种滤波器真正含义不在于滤掉特定值,而是将一系列数据中混杂的高频信号滤去,也就是说至少一组数据对应一组输出数据,你的意思我明白,但你应该是对应一个数据以及之前的一系列数据在输出一个当前数据,这样是不规范的fir,更偏向于预测器的概念

出0入0汤圆

发表于 2014-12-23 13:30:29 | 显示全部楼层
楼主,我怎么觉得卡尔曼滤波更适合你啊?FIR响应速度快吗?

出0入50汤圆

 楼主| 发表于 2014-12-23 14:48:51 | 显示全部楼层
wzyllgx 发表于 2014-12-23 13:30
楼主,我怎么觉得卡尔曼滤波更适合你啊?FIR响应速度快吗?

100次/秒的话,STM32,即使是M3核运行浮点FIR都不是问题,绰绰有余。现在用MDK自带的DSP库,有问题,还需要学习。

出0入0汤圆

发表于 2014-12-24 10:10:39 | 显示全部楼层
我的观点同67楼,你应该是要预测器的概念,卡尔曼滤波就是这样一种算法。

出0入0汤圆

发表于 2014-12-25 16:55:00 | 显示全部楼层
土豪呀~~

出0入0汤圆

发表于 2014-12-26 09:22:50 | 显示全部楼层
远远地    看一下!
努力学习中   。。。  

出0入0汤圆

发表于 2014-12-28 08:45:56 | 显示全部楼层

远远地    看一下!
努力学习中   。。。  

出0入0汤圆

发表于 2014-12-28 10:24:40 | 显示全部楼层
重赏之下应该会有勇夫出现的

出0入0汤圆

发表于 2014-12-31 12:02:46 | 显示全部楼层
求科普下fir滤波的应用在哪方面

出0入36汤圆

发表于 2014-12-31 12:36:09 | 显示全部楼层
楼主弄好没?给分享一下哦~

出0入0汤圆

发表于 2014-12-31 14:57:52 | 显示全部楼层
同问是用在哪方面的,很好奇

出0入0汤圆

发表于 2014-12-31 14:58:37 | 显示全部楼层
同问是用在哪方面的,很好奇

出0入0汤圆

发表于 2015-8-7 17:18:03 | 显示全部楼层
楼主没分享成功的。。。。

出0入50汤圆

 楼主| 发表于 2015-12-2 08:35:03 | 显示全部楼层
DMing 发表于 2015-8-7 17:18
楼主没分享成功的。。。。

我没弄成功,都没人接盘,怎么分享?

出0入0汤圆

发表于 2015-12-2 09:00:36 | 显示全部楼层
2年了,楼主还没搞出来啊??

出0入0汤圆

发表于 2015-12-2 10:07:20 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2016-1-15 21:13:28 | 显示全部楼层
现在正关注这方面...

出0入0汤圆

发表于 2016-4-13 09:17:28 | 显示全部楼层
楼主可以看下自适应滤波算法

出0入0汤圆

发表于 2016-4-14 11:49:42 | 显示全部楼层
楼主用GA遗传算法滤波试试看

出0入0汤圆

发表于 2016-4-14 17:27:53 | 显示全部楼层
帮顶,希望楼主早点找到解决方案

出0入0汤圆

发表于 2016-4-14 20:30:03 | 显示全部楼层
顶顶大神的帖子

出0入0汤圆

发表于 2016-5-9 21:12:26 | 显示全部楼层
看来到现在还没搞定啊?

出0入0汤圆

发表于 2016-5-11 12:45:49 | 显示全部楼层
不就是一个滑动窗做FIR吗?20行代码。 主要是头尾少几帧做不到完美的一进一出

出0入0汤圆

发表于 2017-1-18 06:59:09 | 显示全部楼层
ST的 DSP可以用,比想象的快。

出0入0汤圆

发表于 2017-3-21 20:04:24 | 显示全部楼层
好贴,希望能有坛友解答

出10入23汤圆

发表于 2013-1-24 17:08:20 | 显示全部楼层
yuanpiggy 发表于 2017-3-21 20:04
好贴,希望能有坛友解答

http://www.amobbs.com/thread-5671402-1-1.html

出0入0汤圆

发表于 2017-11-17 08:46:27 | 显示全部楼层
看来还是没有解决,希望高手能早点出现。

出0入0汤圆

发表于 2017-12-1 09:23:13 | 显示全部楼层
xz19921230 发表于 2013-7-31 18:37
这个我会,已经调出来了!!!!有需要私聊

你好,请问能发一下这个工程吗

出0入0汤圆

发表于 2017-12-5 17:14:41 | 显示全部楼层
我有点晕,最佳答案2楼在13年贴出了17年的帖子链接,难道我穿越了
头像被屏蔽

出0入0汤圆

发表于 2018-3-22 09:51:04 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出10入23汤圆

发表于 2018-3-22 11:23:56 来自手机 | 显示全部楼层
armok 发表于 2018-3-22 09:51
唯一的合理解释,是我们2017年应楼主的要求,帮他更新到2楼。

这种事情偶尔会发生的,有些坛友完美主义 ...

你的解释是对的
头像被屏蔽

出0入0汤圆

发表于 2018-3-22 11:50:47 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 22:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表