打印

滤波器设计!

[复制链接]
1439|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlgcumt|  楼主 | 2013-10-12 18:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
zhangmangui| | 2013-10-13 20:32 | 只看该作者
这个还是要你自己先学学理论了   最好结合matlab下看看效果  
得到一些参数   在移植到C上
网上应该有很多的相关代码   也可以参考一下  
TI也有相应的资源

使用特权

评论回复
板凳
jlgcumt|  楼主 | 2013-10-13 21:09 | 只看该作者
zhangmangui 发表于 2013-10-13 20:32
这个还是要你自己先学学理论了   最好结合matlab下看看效果  
得到一些参数   在移植到C上
网上应该有很多 ...

用MATLAB的工具FDATool设计出的滤波器怎么生成c代码?

使用特权

评论回复
地板
zhangmangui| | 2013-10-13 23:41 | 只看该作者
jlgcumt 发表于 2013-10-13 21:09
用MATLAB的工具FDATool设计出的滤波器怎么生成c代码?

直接是生不成的吧  你可以使用一些系数

使用特权

评论回复
5
aresc| | 2013-10-14 10:10 | 只看该作者
order = 40;     % order of filter
Fs = 8000;      % sampling rate
N_Fs = Fs/2;    % half of sampling rate
h = firls(order, [0, 3200/N_Fs, 3400/N_Fs, 3600/N_Fs, 3800/N_Fs, 1], [1,1,0.7071, 0.06, 0.01, 0]);  % length of h is order + 1.
fvtool(h);      % for filter analysis, such as mangnitude/phase...
fid = fopen('coeff.h', 'w+t');          % save filter coefficients to coeff.h
fprintf(fid, 'coeff[%d] = {\n', N+1);
for i=1:40
    fprintf(fid, '\t%.15f,\n',h(i));
end
fprintf(fid, '\t%.15f\n', h(41));
fprintf(fid, '}\n');
fclose(fid);

Magnitude_response.PNG (37.14 KB )

幅度响应

幅度响应

使用特权

评论回复
6
zhangmangui| | 2013-10-14 10:19 | 只看该作者
aresc 发表于 2013-10-14 10:10
order = 40;     % order of filter
Fs = 8000;      % sampling rate
N_Fs = Fs/2;    % half of sampling ...

牛人  向你学习

使用特权

评论回复
7
youluo235| | 2013-10-14 15:35 | 只看该作者
楼上同意

使用特权

评论回复
8
huangzj121| | 2013-10-27 19:37 | 只看该作者
本帖最后由 huangzj121 于 2013-10-27 19:42 编辑

5楼的 不好
搞些浮点数 不要误导年轻人 不动脑筋
另外 采样8000 有点低吧



如图
等纹波

使用特权

评论回复
9
huangzj121| | 2013-10-27 19:55 | 只看该作者

使用特权

评论回复
10
wxjawgy| | 2013-11-19 14:31 | 只看该作者

使用特权

评论回复
11
恬蔚| | 2013-11-20 16:20 | 只看该作者
正好课本学到这了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:善攻者,动于九天之上,善守者,藏于九地之下!

183

主题

733

帖子

4

粉丝