文号
t62620
阅读
12589
回复
5
收藏
3
CIC抽取和插值滤波器 便于理解
2013/11/13
IP:四川

关于CIC滤波器的个人理解


结论:CIC抽取滤波器就是对数据每隔r(抽取因子)个抽取一个,这样数据率就降低为原来的1/r;

CIC插值滤波器就是对数据每两个点之间插入r-1个使得数据率是原来的r倍
Untitled.png
陈辉铭作者
13年1个月前IP:未同步
653610
1楼
CIC抽取----代码:
r = 2;                  % Decimation factor.
hm = mfilt.cicdecim(r); % Use default NumberOfSections &
                        % DifferentialDelay property values.
fs = 44.1e3;            % Original sampling frequency: 44.1kHz.
n = 0:10239;            % 10240 samples, 0.232 second long signal.
x  = sin(2*pi*1e3/fs*n);% Original signal, sinusoid at 1kHz.

y_fi = filter(hm,x); % 5120 samples, still 0.232 seconds.
  
% Scale the output to overlay the stem plots.
x = double(x);
y = double(y_fi);
y = y/max(abs(y));
stem(n(1:44)/fs,x(2:45)); hold on;  % Plot original signal  
                                      % sampled at 44.1kHz.
stem(n(1:22)/(fs/r),y(3:24),'r','filled'); % Plot decimated
                                           % signal (22.05kHz)
                                           % in red.
xlabel('Time (seconds)');ylabel('Signal Value');
引用
评论
陈辉铭作者
13年1个月前IP:未同步
653611
2楼
CIC插值的代码
R = 2;                       % Interpolation factor.
hm = mfilt.cicinterp(R);           % Use default NumberOfSections and
                             % DifferentialDelay property values.
fs = 22.05e3;               % Original sample frequency:22.05 kHz.
n = 0:5119;                 % 5120 samples, .232 second long signal.
x = sin(2*pi*1e3/fs*n);     % Original signal, sinusoid at 1 kHz.

y_fi = filter(hm,x); % 5120 samples, still 0.232 seconds.
  
% Scale the output to overlay stem plots correctly.
x = double(x);
y = double(y_fi);
y = y/max(abs(y));
stem(n(1:22)/fs,x(1:22),'filled'); % Plot original signal sampled
                           % at 22.05 kHz.
hold on;
stem(n(1:44)/(fs*R),y(4:47),'r');   % Plot interpolated signal
                                   % (44.1 kHz) in red.
xlabel('Time (sec)');ylabel('Signal Value');
引用
评论
13年1个月前IP:未同步
653685
3楼
感觉撸主这样通过做仿真实验来学习高数和信号处理的方法很好。
引用
评论
13年0个月前IP:未同步
660774
4楼
顶一下,再读一遍
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的