1-用C语言写一个函数生成一个正弦波信号(频率和幅值可设定)
2-在正弦波基础上叠加一个随机噪声
3-编写滤波算法,尽可能去除噪声,还原原来的信号(验证滤波算法的滤波效果)
提示:
1-查阅常规的滤波算法及C语言实现
2-数据显示的方法
1)输入信号的数据和滤波输出数据可以保存到文本csv,然后导入到excel进行对比处理
2)用matlab直接写程序验证(不允许使用现成的数学函数库)
1-用C语言写一个函数生成一个正弦波信号(频率和幅值可设定)
2-在正弦波基础上叠加一个随机噪声
3-编写滤波算法,尽可能去除噪声,还原原来的信号(验证滤波算法的滤波效果)
提示:
1-查阅常规的滤波算法及C语言实现
2-数据显示的方法
1)输入信号的数据和滤波输出数据可以保存到文本csv,然后导入到excel进行对比处理
2)用matlab直接写程序验证(不允许使用现成的数学函数库)
c语言生成正弦数据很简单,rad = 2PIfrepoint; SinTab[point] = A sin(rad);就能够得到,A为幅度,fre为频率,至于加噪声一个随机函数就搞定了,滤波算法你可以搞一个你指定频率fre为中心的带通滤波器,类似巴特沃斯之类的多阶滤波器就可以,mathlab有现成的fdatools根据,我的博客里有现成的例子。