Matlab浮点变定点

1、利用matlab中的fdatool工具箱生成所需的浮点滤波器
在这里插入图片描述
2、导出该滤波器的matlab函数
function Hd = Lp_fs144_fp4p85_fs5p4
%LP_FS144_FP4P85_FS5P4 Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB® 9.3 and DSP System Toolbox 9.5.
% Generated on: 24-Jul-2019 10:34:35

% Equiripple Lowpass filter designed using the FIRPM function.

% All frequency values are in kHz.
Fs = 144; % Sampling Frequency

Fpass = 4.85; % Passband Frequency
Fstop = 5.4; % Stopband Frequency
Dpass = 0.057501127785; % Passband Ripple
Dstop = 3.1622776602e-05; % Stopband Attenuation
dens = 20; % Density Factor

% Calculate the order from the parameters using FIRPMORD.
[N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);

% Calculate the coefficients using the FIRPM function.
b = firpm(N, Fo, Ao, W, {dens});
Hd = dfilt.dffir(b);

% [EOF]
3、利用下面的程序将滤波器的系数由浮点型转化为定点
%% 低通滤波16bit量化
Hd = Lp_fs144_fp4p85_fs5p4; %直接引用第二步中生成的matlab函数
hd_144k_4k85_5k5 = Hd.Numerator;
Lowpass_bit = 15;
Lowpass_bitV = Lowpass_bit - ceil(log2(max(abs(hd_144k_4k85_5k5))));
Lowpass_fix = round(2.^Lowpass_bitV*hd_144k_4k85_5k5); %生成的定点数据,可直接用于quartus中滤波器系数导入

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值