Matlab调用函数实现CIC滤波器
matlab里设计cic滤波器的函数有以下两种:
1. fdesign.decimator
例如:设定好采样频率Fs, 信号带宽Fp, 阻带衰减As, 差分时延m及降采样比D就可以得到cic滤波器的传输函数
d1 =fdesign.decimator(D,'CIC',m,Fpass,As,Fs);
Hcic =design(d1);
2.mfilt.cicdecim (fixed-point CIC decimator, mfilt是matlab里专门用来设计多速率信号处理滤波器的一套函数)
hm =mfilt.cicdecim(decimation_factor,differential_delay,NumberofSections);
decimation_factor为降采样比,differential_delay同上为差分时延,NumberofSections为cic滤波器的节数,与第一个函数相比,这个函数没有规定采样滤波,通带宽度、阻带衰减等
在信号处理中,信号发射时,信号通过载波,调制,以电磁波的形式发射出来
在接收端,射频信号通过天线接收,超外差式等方式进行处理,变频到中频
然后通过数字技术对中频信号进行处理,此时的中频信号采样率很高,多达几十兆赫
而要解调出来的信号很小,此时就要经过滤波来得到我们需要的信号
如果直接设计滤波器,阶数会非常庞大,软件,硬件设备都承受不了
因此,一般常用的技术是进行下变频处理,其主要技术就是通过抽取滤波进行下变频
常用的滤波器就是CIC抽取, 希望可以帮助一些坛友解决基本的问题。
下面以一个实例,对一个采样频率为45.5MHz的信号进行14倍的抽取滤波,同时进行
补偿滤波器的设计,并给出CIC滤波器、补偿滤波器和级联后的频谱图
- % Design a minimum-order CIC compensator that compensates...
- % for the droop in the passband for the CIC decimator.
- Fs = 45.5e6; % Input sampling frequency
- Fpass = 0.5e6; % Frequency band of interest
- D = 14; % Decimation factor of CIC
- d1 = fdesign.decimator(D,'CIC',1,Fpass,65,Fs); %design a cic filter
- Hcic = design(d1);
- Hd(1) = cascade(dfilt.scalar(1/gain(Hcic)),Hcic);
- d2 = fdesign.ciccomp(Hcic.DifferentialDelay, ...
- Hcic.NumberOfSections,Fpass,1.625e6,.005,66,Fs/D); % design a cic compensator filter
- Hd(2) = design(d2);
- fcfwrite([Hcic Hd(2)],'CICdesciption','dec'); % 其中,生成的.fcf文件描述滤波器的结构
- hvt=fvtool(Hd(1),Hd(2),cascade(Hd(1),Hd(2)),'Fs',[Fs Fs/D Fs], ... % plot whole response
- 'ShowReference', 'off');
- legend(hvt, 'CIC','CIC compensator', 'Whole response','Location', 'Northeast');
复制代码
Matlab调用函数实现CIC滤波器相关推荐
- matlab调用库函数,Matlab调用函数的详细操作
小编今天带来的是关于Matlab调用函数的详细操作,下面就一起来学习关于Matlab调用函数的操作步骤吧,希望能够帮助到大家. Matlab调用函数的详细操作 首先我们需要在Matlab中打开New ...
- matlab调用函数出错,[MATLAB基础] matlab 调用函数老是出错怎么回事??高手请指点一下...
matlab 调用函数老是出错怎么回事??高手请指点一下 function main() for w2=1:1:100 %生成一个区间 p1=w2; p2=p1+1; eps=1.0e-4; y=er ...
- 【CIC滤波器】基于MATLAB/FPGA的数字CIC滤波器的设计
FPGA代码: module down(i_clk,//输入时钟i_rst,//输入复位信号i_M, //抽取值i_data,//输入信号o_data,//输出信号r_clk);input i_clk ...
- matlab 调用函数本身,怎么在matlab自定义函数中再调用一个自定义函数?
Matlab自定义函数的七种方法1.函数文件+调用命令文件:需单独定义一个自定义函数的M文件.2.函数文件+子函数:定义一个具有多个自定义函数的M文件.3.Inline:无需M文件,直接定义.4.匿名 ...
- matlab调用函数为什么会有多个输出,matlab自定义函数,可以输出多个数组么?
www.mh456.com防采集. 可以输出多个2113是不是5261因为你在函数中没有4102给输1653出变量赋值?专给一个例子属function[a,b,c]=test1(input)ifinp ...
- 对数线性模型 matlab,非线性规划含有对数函数用什么matlab调用函数的程序
matlab非线性规划fmincon函数中目标函数参数传递问题, 使用匿名函数句柄就可以了fmincon需要的函数fun只有一个输入参数fun(x)而你的函数需要多一个能改变的变量那么形式变成myfu ...
- matlab调用函数出nan,求助:Matlab的fmincon函数出现RCOND = NaN
输出为: Max Line search Directional First-order Iter F-count f(x) constraint steplengt ...
- IIR滤波器设计(调用MATLAB IIR函数来实现)
转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途 对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求甚解,也没用过. ...
- matlab调用c语言驱动函数,[转载]Matlab调用C语言函数
3.3000 要得出以上的结果,那应该怎样做呢? 解决方法之一是要通过使用MEX文件,MEX文件使得调用C函数和调用Matlab的内置函数一样方便.MEX文件是由原C代码加上MEX文件专用的接口函数后 ...
最新文章
- Microsoft 的 OpenSource Licence
- LeetCode之Reverse String II
- Mybatis中(#{ })模糊查询like(使用oracle的concat函数嵌套拼接SQL)
- d3h 技嘉b365m 黑苹果_黑苹果硬件选购指南主板amp;硬盘amp;WI
- 搜狗浏览器扩展开发过程
- Ueditor编辑器如何改变上传图片大小限制
- 椭圆曲线密码体制算法C语言,椭圆曲线密码的C语言设计与实现
- Slove the {Failed to load unit 'HGCM' (VERR_INVALID_PARAMETER)}
- 微软云中国的服务器在哪,微软云计算平台Windows Azure将落户中国
- 《Linux C/C++服务器开发实践》简介
- linux设备驱动归纳总结(十):1.udevmisc
- 龙门标局商标SaaS服务系统,商标知产业务模块功能如此强大!
- cut命令的详细用法
- 服务器重启django项目
- 一个Tab切换类,求指导
- 咸鱼ZTMS实例—三轴加速传感器
- Python opencv 伪彩色保存的结果和plt.imshow(blur_heatMap_jet)的结果截然相反 Python opencv如何imshow一张图片
- 解决m2e插件maven-dependency-plugin问题
- 社会化阅读:阅读的未来
- 办公室局域网监控员工上网记录合适吗?
热门文章
- 印制塑料卡片中的IC芯片
- Hans R. Camenzind发明555定时器的故事
- 只要尝试过飞,日后走路也会仰望天空
- 贝壳测试|新赛道、新电源
- 反对人工智能的九条意见是什么?
- azure devops中文显示乱码_【Azure DevOps系列】Azure DevOps生成代码覆盖率
- js margin作用到父元素_CSS中margin-top对父级元素产生作用的问题
- dede修改mysql,Dedecms(织梦)程序MySQL修复表和文章路径修改方法
- 基于cnn的短文本分类_基于时频分布和CNN的信号调制识别分类方法
- java 扫描包框架_在Android中实现类似Spring的软件包扫描