0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的单级cic滤波器设计方案

电子设计 来源:FPGA开源工作室 作者:OpenSLee 2020-12-05 10:21 次阅读

作者: OpenSLee

1 概述

数字信号处理中,CIC滤波器是FIR滤波器中最优的一种,其使用了积分,梳状滤波器级联的方式。

CIC滤波器由一对或多对积分-梳状滤波器组成,在抽取CIC中,输入信号依次经过积分,降采样,以及与积分环节数目相同的梳状滤波器。在内插CIC中,输入信号依次经过梳状滤波器,升采样,以及与梳状数目相同的积分环节。

CIC滤波器的发明者是 Eugene B. Hogenauer,这是一类使用在不同频率的数字信号处理中的滤波器,在内插和抽取中使用广泛。与大多数FIR滤波器不同的是,它有一个内插或者抽取的结构。

1,线性相位响应

2,仅需延迟,加减法便可实现,不需要乘法,在FPGA等平台上易于实现。

2 单级CIC滤波器

CIC滤波器的冲击响应为:

3 设计目标

利用单级CIC滤波器将采样率为352.8KHZ的1khz sin波向下降采样率到44.1khz的1khz sin波(8倍抽取)。

1,matlab设计验证

2,FPGA verilog设计验证。

4 matlab设计验证

%Single CIC
%352.8khz sample rate down to 44.1khz sample rate
close all
clc
clear all

%参数定义
FS =352800; %Sample rate Frequncy
fc = 1000; %1khz
N = 1024;
Q = 16;
M= 8;
D = 8;
t =0:2*pi/FS:2*pi*(N-1)/FS;%时间序列

%波形产生
sin_osc =sin(t*fc); 
%滤波器系数
b=ones(1,M);
a = 1;

%8倍抽值处理
sf=filter(b,a,sin_osc);     
sm =sf./M;
sd=sm(1:D:length(t));

%绘图
figure(1),
subplot(221),stem(sin_osc);
title('采样频率352.8khz 1khz sin','fontsize',8);
subplot(222),stem(si0);
title('采样频率44.1khz 1khz sin','fontsize',8);
subplot(223);plot(f,mag);
xlabel('频率(Hz)','fontsize',8);
ylabel('幅度(dB)','fontsize',8);
title('freqz()幅频响应','fontsize',8);
subplot(224);plot(f,ph);
xlabel('频率(Hz)','fontsize',8);
ylabel('相位(度)','fontsize',8);

图1 8倍抽取前后的1khz sin时域波形

图2 滤波器系数的幅频和相频响应

由图1和图2分析可知,单级CIC滤波器的降采样率设计成功。

5 FPGA设计验证

FPGA的单级cic滤波器的设计其实就是一个滑动平均滤波器,由一个累加器和一个移位操作完成。

`timescale 1ps/1ps
module cic(
       input mclk,//45.1584MHZ
	   input reset_n,
	   input signed[31:0] pcm_in,//352.8khz 
	   output signed[31:0] pcm_out //44.1khz
	   );
	   
localparam LAST_CYCLE = 128;
reg [9:0] i;//44.1

reg signed [35:0] temp_pcm;
reg signed [35:0] dout_pcm;
assign pcm_out = dout_pcm[35:4];
always @(posedge mclk or negedge reset_n) begin
  if(reset_n == 1'b0) begin
    i <= 0;
	temp_pcm<=0;
	dout_pcm<=0;
  end
  else begin
    i<= i+1;
	if(i == (LAST_CYCLE-1) || i == (LAST_CYCLE*2-1) ||i == (LAST_CYCLE*3-1) || i == (LAST_CYCLE*4-1) || i == (LAST_CYCLE*5-1)||i == (LAST_CYCLE*6-1) ||i == (LAST_CYCLE*7-1)  ) temp_pcm <= temp_pcm + pcm_in;
	if(i == (LAST_CYCLE*8-1)) begin 
	  dout_pcm<= temp_pcm + pcm_in;
	  temp_pcm<=0;
	end
  end 
end
endmodule



图3 modelsim时域数据检测

图4 modelsim时域波形

图5 matlab还原数据的时域和频域

由图3,图4,和图5分析,1khz基本未发生改变,44.1khz相对于352.8khz采样率1khz点变得疏松。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603044
  • 数字信号处理

    关注

    15

    文章

    560

    浏览量

    45847
  • fir滤波器
    +关注

    关注

    1

    文章

    95

    浏览量

    19037
  • CIC滤波器
    +关注

    关注

    0

    文章

    15

    浏览量

    10539
  • 梳状滤波器
    +关注

    关注

    0

    文章

    5

    浏览量

    6636
收藏 人收藏

    评论

    相关推荐

    基于FPGA实现FIR数字滤波器

    在数字信号处理系统中,有限脉冲响应(finite impulse response,FIR)数字滤波器是一个非常重要的基本单元。近年来,由于FPGA具有高速度、高集成度和高可靠性的特点而得到快速发展
    的头像 发表于 11-05 16:26 511次阅读
    基于<b class='flag-5'>FPGA</b>实现FIR数字<b class='flag-5'>滤波器</b>

    LC滤波器和RC滤波器有哪些差异

    LC滤波器和RC滤波器是电子工程中常见的两种滤波器类型,它们在电路结构、工作原理、性能特点以及应用场合等方面存在显著的差异。
    的头像 发表于 09-27 15:26 1492次阅读

    无源滤波器和有源滤波器的区别

    无源滤波器和有源滤波器在多个方面存在显著差异。无源滤波器以其低成本和简单结构在大容量滤波场合具有广泛应用;而有源滤波器则以其卓越的
    的头像 发表于 09-26 16:23 851次阅读

    emi滤波器是什么滤波器

    EMI滤波器(Electromagnetic Interference Filter)是一种用于抑制电磁干扰(EMI)的滤波器。电磁干扰是指在电子设备中由于电磁波的传播而产生的干扰信号,这些干扰信号
    的头像 发表于 08-25 15:59 1001次阅读

    陷波滤波器和低通滤波器的区别是什么

    陷波滤波器和低通滤波器是两种常见的滤波器,它们在信号处理领域有着广泛的应用。 定义 陷波滤波器(Notch Filter)是一种特殊类型的滤波器
    的头像 发表于 08-21 11:13 796次阅读

    请问FilterPro怎么设计电源的滤波器

    FilterPro中怎么设计电源的滤波器
    发表于 08-16 06:39

    iir滤波器和fir滤波器的优势和特点

    IIR滤波器和FIR滤波器是数字信号处理领域中两种非常重要的滤波器类型。它们各自具有独特的优势和特点,适用于不同的应用场景。本文将介绍IIR滤波器和FIR
    的头像 发表于 07-19 09:28 1416次阅读

    高通滤波器和低通滤波器判别方法

    高通滤波器和低通滤波器是信号处理领域中非常重要的两种滤波器。它们在各种应用中都有广泛的应用,如音频处理、图像处理、通信系统等。 一、滤波器的基本概念 1.1
    的头像 发表于 07-15 11:15 1223次阅读

    低通滤波器、高通滤波器、带通滤波器的简单介绍

    在信号处理领域,滤波器是一种重要的电子元件或算法,用于从复杂信号中提取或抑制特定频率成分。其中,低通滤波器、高通滤波器和带通滤波器是最常见的三种滤波
    的头像 发表于 07-09 18:04 1.6w次阅读
    低通<b class='flag-5'>滤波器</b>、高通<b class='flag-5'>滤波器</b>、带通<b class='flag-5'>滤波器</b>的简单介绍

    巴特沃斯滤波器是模拟滤波器

    巴特沃斯滤波器是一种模拟滤波器,也是一种在频域设计中常用的滤波器类型。
    的头像 发表于 05-22 15:39 781次阅读

    高通滤波器和低通滤波器的区别

    在电子信号处理的领域中,滤波器是一种至关重要的工具,它们能够按照特定的频率特性对信号进行筛选和处理。高通滤波器和低通滤波器是两种常见的滤波器类型,它们在频率选择和处理方式上有着显著的差
    的头像 发表于 05-21 15:51 4853次阅读

    什么是低通滤波器?低通滤波器有什么作用?

    在电子工程领域中,滤波器是一种用于信号处理的重要元件。而低通滤波器作为滤波器的一种类型,具有其独特的频率响应特性。本文维爱普电源滤波器小编将详细探讨低通
    的头像 发表于 04-08 16:30 3467次阅读
    什么是低通<b class='flag-5'>滤波器</b>?低通<b class='flag-5'>滤波器</b>有什么作用?

    高通滤波器、低通滤波器、带通滤波器怎样测幅频特性?

    高通滤波器、低通滤波器、带通滤波器怎样测幅频特性? 高通滤波器、低通滤波器和带通滤波器是常用的
    的头像 发表于 03-28 17:28 5030次阅读

    如何通过滤波器类型判断滤波器的通带和阻带?

    如何通过滤波器类型判断滤波器的通带和阻带? 滤波器是信号处理中常用的工具,用于将输入信号的某些频率分量通过,而将其他频率分量阻止或抑制。滤波器的通带和阻带是
    的头像 发表于 03-28 15:37 2162次阅读

    村田车规LC复合滤波器

    EMI静噪滤波器(EMC降噪对策)概要: LC低通滤波器(EMIFIL) (3端子低ESL片状多层陶瓷电容器/LC复合型・用途特定型EMI滤波器
    的头像 发表于 03-26 19:47 473次阅读
    村田车规<b class='flag-5'>级</b>LC复合<b class='flag-5'>滤波器</b>