目录

1.算法概述

2.仿真效果预览

3.MATLAB/FPGA部分代码预览

4.完整MATLAB/FPGA程序


1.算法概述

CIC滤波器由一对或多对积分-梳状滤波器组成,在抽取CIC中,输入信号依次经过积分,降采样,以及与积分环节数目相同的梳状滤波器。在内插CIC中,输入信号依次经过梳状滤波器,升采样,以及与梳状数目相同的积分环节。CIC滤波器是一种基于零极点相抵消的FIR滤波器。N级CIC抽取滤波器的基本结构框图如图1所示。

我们将这个系统模块话,然后在实际应用的时候,我们只要改变其中的参数就可以了。

系统分为如下三个模块。

       

模块一的设计:

delay_one(

i_clk,//输入时钟

i_rst,//输入复位信号

i_data,//输入信号

o_data//输出信号

);

模块二的设计:

down(

i_clk,//输入时钟

i_rst,//输入复位信号

i_M,  //抽取值

i_data,//输入信号

o_data//输出信号

);

模块三的设计:

delay_M(

i_clk,//输入时钟

i_rst,//输入复位信号

i_data,//输入信号

o_data//输出信号

);

那么其在顶层,我们只要调用这些模块就行了。

2.仿真效果预览

QUARTUS12.1

matlab2022a仿真

3.MATLAB/FPGA部分代码预览

.......................................
b4=conv(b3,b3);
a4=conv(a3,a3);
b5=conv(b4,b3);
a5=conv(a4,a3);
b6=conv(b4,b4);
a6=conv(a4,a4);
b7=conv(b6,b3);
a7=conv(a6,a3);
figure(1);
freqz(b7/D^5,a7,'whole');%CIC抽取滤波器
% 抽取因子
r = 2;
hm = mfilt.cicdecim(r);
%原始的采样率 44.1kHz.
fs = 44.1e3;
%10240个采样点
n = 0:10239;
%原始信号
x  = sin(2*pi*1e3/fs*n);
%得到抽取后的5120个采样点
y_fi = filter(hm,x);
x = double(x);
y = double(y_fi);
y = y/max(abs(y));
figure(2);
stem(n(1:44)/fs,x(2:45)); hold on;
stem(n(1:22)/(fs/r),y(3:24),'r','filled');
xlabel('时间(sec)');ylabel('信号值');
title('CIC抽取滤波器');%CIC内插滤波器
%插值因子
R = 2;
hm = mfilt.cicinterp(R);
% 原始采样频率:22.05 kHz.
fs = 22.05e3;
% 5120个采样点
n = 0:5119;
%原始信号
x = sin(2*pi*1e3/fs*n);
y_fi = filter(hm,x);
x = double(x);
y = double(y_fi);
y = y/max(abs(y));
figure(3);
stem(n(1:22)/fs,x(1:22),'filled'); hold on;
stem(n(1:44)/(fs*R),y(4:47),'r');
xlabel('时间(sec)');ylabel('信号值');
01-23M
module down(i_clk,//输入时钟i_rst,//输入复位信号i_M,  //抽取值i_data,//输入信号o_data,//输出信号r_clk);input              i_clk;//输入时钟
input              i_rst;//输入复位信号
input       [7:0]  i_M;  //抽取值
input signed[31:0] i_data;//输入信号
output signed[31:0]o_data;//输出信号
output             r_clk;//输出信号
reg       [7:0] r_cnt =8'd0;
reg signed[31:0]o_data=32'd0;
reg             r_clk =1'b0;always @(posedge i_clk)
beginif(!i_rst)//系统复位beginr_cnt<=8'd0;r_clk<=1'b0;end
else beginif(r_cnt==i_M/2-1)//分频beginr_clk<=~r_clk;r_cnt<=8'd0;endelse beginr_cnt<=r_cnt+1'b1;r_clk<=r_clk; end end
end always @(posedge r_clk)
beginif(!i_rst)//系统复位begino_data<=32'd0;end
else begino_data<=i_data;//抽取end
end endmodule           

4.完整MATLAB/FPGA程序

matlab源码说明_我爱C编程的博客-CSDN博客

V

m基于FPGA和MATLAB的数字CIC滤波器设计和实现相关推荐

  1. 基于MATLAB FDATOOL的CIC滤波器设计

    级联积分梳状(CIC)滤波器是一种被广泛应用于软件无线电中,可以实现抽取或者插值的高效滤波器.它主要用于降低或提高采样率.CIC滤波器的主要特点是,仅利用加法器.减法器和寄存器,占用资源少,实现简单且 ...

  2. 【CIC滤波器】基于MATLAB/FPGA的数字CIC滤波器的设计

    FPGA代码: module down(i_clk,//输入时钟i_rst,//输入复位信号i_M, //抽取值i_data,//输入信号o_data,//输出信号r_clk);input i_clk ...

  3. 基于FPGA的CIC滤波器设计(2)——以数字上下变频为例讲解

    多级CIC滤波器理论与设计 项目简述 多级CIC滤波器 多级CIC滤波器的抽取操作 多级CIC滤波器的内插操作 多级CIC滤波器的抽取的MATLAB实现 多级CIC滤波器的抽取的MATLAB结果 多级 ...

  4. 基于matlab的数字下变频器的设计与仿真应用,基于MATLAB的数字下变频器的设计与仿真应用.pdf...

    基于MATLAB的数字下变频器的设计与仿真应用 中国科技论文在线 基于 Matlab 的数字下变频器的设计与仿真 朱建新,沈树群* (北京邮电大学电子工程学院,北京 100876 ) 摘要:本文通过对 ...

  5. matlab设计理想数字带通滤波器,基于matlab的数字带通滤波器课程设计报告

    基于matlab的数字带通滤波器课程设计报告 1 西安文理学院机械电子工程系 课程设计报告 专业班级 08级电子信息工程1班 题 目 基于 MATLAB 的数字带通滤波器 学 号 学生姓名 指导教师 ...

  6. matlab图形设计界面 文献翻译,毕业设计基于matlab的数字图像识别的设计与实现文献翻译V8.1(资料4)...

    <[毕业设计]基于matlab的数字图像识别的设计与实现文献翻译.doc>由会员分享,可免费在线阅读全文,更多与<毕业设计基于matlab的数字图像识别的设计与实现文献翻译(V8.1 ...

  7. matlab数字pid控制仿真程序,基于MATLAB的数字PID控制器设计及仿真分析

    基于MATLAB的数字PID控制器设计及仿真分析 基于基于MATLABMATLAB的数字的数字PIDPID控制器设计及仿真分析控制器设计及仿真分析 摘摘 要要 PID控制作为历史最为悠久,生命力最强的 ...

  8. 电子技术课程设计基于FPGA的音乐硬件演奏电路的设计与实现

    wx供重浩:创享日记 对话框发送:乐曲电路 免费获取完整无水印论文报告(包含电路图) 文章目录 一.设计任务要求 二.总体框图 三.选择器件 四.功能模块 五.总体设计电路图 六.结束语 一.设计任务 ...

  9. zemax场曲畸变图_基于ZEMAX软件的短焦数字投影镜头的设计(2)

    接上一篇<基于ZEMAX软件的短焦数字投影镜头的设计(1)>,欢迎阅读. 2.5.改进结构 该镜头焦距短,而且要求很长的后截距,另外,对于投影镜头在反向光路设计时,应尽量使光学系统的出瞳位 ...

最新文章

  1. 笨办法学C 练习22:栈、作用域和全局
  2. 初论函数指针、指针函数、指针的指针
  3. php获取图高度,PHP imagesx()、imagesy() – 获取图像宽度与高度_程序员人生
  4. C#几种访问修饰符理解
  5. [导入]Vista的屏幕截图小工具:Snipping Tool
  6. 利用RobHess源码实现SIFT算法及RANSAC去错的图像特征提取匹配及去除错匹配
  7. python字典有什么用_Python中的字典介绍
  8. 2005服务器文件夹网页设设置,设置VSS2005使支持通过Internet访问
  9. 【C++ 与 STL】集合:set
  10. python 人工智能课程对孩子的好处_少儿编程有什么好处?儿童编程课程学习Python的4大原因...
  11. 建造者模式 生成器模式 创建型 设计模式(五)
  12. linux系统中make install 时指定安装路径
  13. JavaScript网页特效5则
  14. 简单分析minidump
  15. 【MySQL】Mcafee审计插件
  16. 二进制与base64
  17. 盛迈坤电商:店铺获得流量有哪些方法
  18. java jse jee jme_Java学习笔记(1) --JSE 、JEE、 JME三者的区别
  19. 用Python画哆啦A梦
  20. 3月16日——3月20日课程表

热门文章

  1. 腾讯面了五轮,面委挂了,挂的原因让大家唏嘘
  2. ie 10中flash动画只有声音没有画面解决办法
  3. 她与父亲的小故事(我支持你)
  4. 6口全千兆二层网管型工业以太网交换机千兆2光4电光纤自愈ERPS环网交换机
  5. 【测试开发】掌握软件测试的概念及什么是BUG?
  6. 计算机网络学习笔记:物理层
  7. 弘辽科技:拼多多商品转化率低有什么影响?多少正常?
  8. 遗传算法工具箱Geatpy求解TSP
  9. 英文语料库词性标记表(TreeTagger) 附TreeTagger软件包
  10. 学弟抱怨说期末选修网课太多,于是我教他用python如何实现自动刷课,简直不要太爽!