请问谁做过滤波器,能否提供源代码参考?

yangbill 2005-05-09 03:31:42
最近正在做数据分析系统,
需要设计数字滤波器,
请问有哪位高手做过,IIR滤波和FIR滤波,
还有窗函数的选择,功率谱分析等数据处理方法
能否提供源代码给我参考一下,
不胜感激。
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangbill 2005-05-17
  • 打赏
  • 举报
回复
多谢了~~
GeoPhoenix 2005-05-13
  • 打赏
  • 举报
回复
简单的带同滤波就可以了了下面是一段带通滤波的代码,你简单修改一下就可以用了
void __fastcall TMainForm::BandFilter(float HighCut,float LowCut)
{
int i,ch,key;
float *px,*ppx,*py,*ppy;
float tmp;
float f1,f2,w,v,a0,b1,b2,b3,b4;
double Dt;
double e1;
float PI = 3.1415926;
float PP = 1.41421;
int length;
try
{
length = Length;
f2 = HighCut;
f1 = LowCut;
px = new float[length];
if(!px)
{
return ;
}
py = new float[length];
if(!py)
{
delete px;
return;
}
ppx = px;
ppy = py;

if(DataFormat ==8)
Dt = dt*1000000.0;
else
Dt = dt;
e1=-cos(PI*Dt*(f2+f1))/cos(PI*dt*(f2-f1));
w=tan(PI*Dt*(f2-f1));
v=1+PP*w+w*w;
a0=w*w/v;
b1=2*e1*(2+PP*w)/v;
b2=2*(2*e1*e1+1-w*w)/v;
b3=2*e1*(2-PP*w)/v;
b4=(1-PP*w+w*w)/v;
for(ch=0; ch<TotalScan; ch++)
{
px = ppx;
py = ppy;
for(i=0;i<length;i++)
px[i]= dat[ch][i];
px=ppx;
*(py+0)=a0*(*(px+0));
*(py+1)=a0*(*(px+1))-*(py+0)*b1;
*(py+2)=a0*(*(px+2))-2*a0*(*(px+0))-*(py+0)*b2-*(py+1)*b1;
*(py+3)=a0*(*(px+3))-2*a0*(*(px+1))-*(py+0)*b3-*(py+1)*b2-*(py+2)*b1;
py +=4;
px +=4;
for(;py<=ppy+length-1;py++,px++)
{
*py=a0*(*px)-2*a0*(*(px-2))+a0*(*(px-4))-b1*(*(py-1))-b2*\
(*(py-2))-b3*(*(py-3)) -b4*(*(py-4));
}
px=ppx;
py=ppy;
*(px+length-1)=a0*(*(py+length-1));
*(px+length-2)=a0*(*(py+length-2))-b1*(*(px+length-1));
*(px+length-3)=a0*(*(py+length-3))-2*a0*(*(py+length-1))-b1*(*(px+length-2))-b2\
*(*(px+Length-1));
*(px+Length-4)=a0*(*(py+Length-4))-2*a0*(*(py+Length-2))-b1*(*(px+Length-3))-b2\
*(*(px+Length-2))-b3*(*(px+Length-1));
py +=Length-5;
px +=Length-5;
for(;px>=ppx;px--,py--)
{
*px=a0*(*py)-2*a0*(*(py+2))+a0*(*(py+4))-b1*(*(px+1))-b2*
(*(px+2))- b3*(*(px+3))-b4*(*(px+4));
}
px=ppx;
for(i=0;i<Length;i++)
{
tmp = *px++ ;
dat[ch][i] = tmp;
}
}
px = ppx;
py = ppy;
delete px;
delete py;
}
catch(Exception &E)
{
Application->ShowException(&E);
}
}

//这是俺写的一个多道数据滤波的程序,你可根据自己的需要适当修改

yangbill 2005-05-13
  • 打赏
  • 举报
回复
不是。是振动数据采集分析
不知道是否需要数字滤波,
有哪位大侠会的麻烦告诉偶一下啊
摆脱
constantine 2005-05-09
  • 打赏
  • 举报
回复
楼主搞语音的?
yangbill 2005-05-09
  • 打赏
  • 举报
回复
多谢,我查了好久的资料了,
哪位大侠帮帮忙啊。
NetSpider9804040 2005-05-09
  • 打赏
  • 举报
回复
没做过,只能帮楼主顶一下!
致看到这个简介的你您是否曾对时变陷波器领域感到好奇?是否希望深入了解其背后的知识点和相关公式推导,并渴望学习如何将其应用于实际情况?如果是的话,那么恭喜您!发现了您绝不能错过的一门论文复现课程——《使用时变陷波滤波器在低信噪比下进行瞬时频率估计-TVNF论文复现》。本课程旨在帮助您全面理解时变陷波器的原理、设计和应用。无论您是工程师、学生还是科研人员,相信这门课程都将为您提供宝贵的知识和技能。课程亮点:知识点详解:本课程将深入讲解时变陷波器的基本概念和原理,涵盖了从滤波器设计到信号处理的关键知识点。公式推导:本课程将引导您逐步推导时变陷波器的数学模型和相关公式,助您深入理解其工作原理。实践操作:通过实践案例和实验环节,您将有机会亲自动手复现时变陷波器,并掌握实际操作的技巧和窍门。应用案例:本课程将分享现实应用案例,展示时变陷波器在通信等领域的广泛应用。互动学习:课程设置有讨论小组,您可以与讲师和其他学员互动交流,共同探讨问题和解决方案。无论您是初学者还是有一定基础的专业人士,本课程都将根据您的需求进行量身定制,确保您能够从中获得最大的收益和成长。跟随本课程一起踏上时变陷波器的探索之旅吧!这是一个充满挑战和机遇的领域,相信您将在本课程中找到乐趣和启发,并获得您所期望的结果。祝学习愉快!课程团队  论文简介:这篇论文旨在寻找参数信号模型,这些模型在低信噪比(SNR)下对噪声音调有良好的建模性能。我们关注的是一个应用于数据段的模型,而不是像自适应方法那样按顺序处理数据。受到陷波滤波器理论的启发,我们将著名的时变自回归(TVAR)模型扩展到包括加性噪声的效应,并得出两种类型的时变陷波滤波器(TVNF)。第一种,就像TVAR模型一样,采用滤波器系数的基函数展开。对于第二种,我们利用音调瞬时频率(IF)与分母多项式根的角度直接成比例的事实,并对IF进行基函数展开。自适应陷波滤波器众所周知,并已成功应用于几个领域。通过对模拟信号的应用,TVNF是低SNR 下IF估计的有用工具。TVNF估计采用正则化的高斯-牛顿类型迭代搜索算法,该算法表现出快速和可靠的收敛性。

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧