概述
上一篇介绍了Matlab定点化的基本方法。
这里介绍一个使用CIC滤波器及其补偿滤波器进行24倍上变频的例子:
首先对信号源进行定点化,这里Sigm()是我编造的函数,不是Matlab自带的:
%% signal source
wave = Sigm(); % generate a signal
F = fimath('CastBeforeSum', 0, 'OverflowMode', 'Saturate', ...
'RoundMode', 'round', 'ProductMode', 'SpecifyPrecision', 'SumMode', 'SpecifyPrecision', ...
'ProductWordLength', 16, 'ProductFractionLength', 15, 'SumWordLength', 16, 'SumFractionLength', 15);
T = numerictype('Signed', true, 'WordLength', 16, 'FractionLength', 15);
WaveOut = fi(wave, T, F);
这里定义了fimath对象和numerictype对象 ,然后使用fi将波形定点化。
fimath对象只要约束运算过程,其中:
OverflowMode指定了饱和溢出的处理方式,这里选择了Saturate模式,可以降低误差。
RoundMode指定了舍弃多余位的方式
最后
以上就是冷酷火车为你收集整理的上变频的matlab实现,Matlab定点化仿真的一个例子:使用CIC滤波器进行数字上变频的仿真...的全部内容,希望文章能够帮你解决上变频的matlab实现,Matlab定点化仿真的一个例子:使用CIC滤波器进行数字上变频的仿真...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复