⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab_butterfilter.txt

📁 基于matlab的低通滤波器代码
💻 TXT
字号:
Fs  = 500;
Fn  = Fs/2;
Fco = 150;

filtdes = fdesign.lowpass('n,fc', 32, Fco, Fs);
Hd = butter(filtdes);
Hd = convert(Hd, 'df1sos');

fvtool(Hd, 'Fs', Fs, 'FrequencyScale', 'log');



Hd.arithmetic            = 'fixed';
Hd.InputWordLength       = 12;
Hd.InputFracLength       = 7;
Hd.OutputWordLength      = 12;
Hd.OutputMode            = 'SpecifyPrecision';
Hd.OutputFracLength      = 7;
Hd.CoeffWordLength       = 12;
Hd.AccumWordLength       = 20;
Hd.NumStateWordLength    = 20;
Hd.DenStateWordLength    = 20;
Hd.CastBeforeSum         = false;
Hd.RoundMode             = 'round';
Hd.OverflowMode          = 'wrap';

fvtool(Hd, 'Fs', Fs, 'FrequencyScale', 'log');







Hd.CoeffWordLength = 16;
fvtool(Hd, 'Fs', Fs, 'FrequencyScale', 'log');
axis([0 1.0 -1 1]);






scales = Hd.scalevalues .* 2^Hd.InputFracLength
% Now scale the filter using the frequency domain infinity norm.
scale(Hd,'Linf');
% After scaling, the scale value are all one in this case.
scales = Hd.scalevalues





workingdir = tempname;
generatehdl(Hd,'Name', 'hdlbutter', 'TargetLanguage', 'VHDL',...
            'TargetDirectory', workingdir);
edit(fullfile(workingdir, 'hdlbutter.vhd'));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -