这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 关于CIC滤波器仿真的一些初级问题

共6条 1/1 1 跳转至

关于CIC滤波器仿真的一些初级问题

助工
2011-06-02 17:07:50     打赏
clear close all 
r=2; 
hm = mfilt.cicinterp(r); 
fs=48000;%采样频率 
Delta_f=1;%频率间隔 
T=1/fs;%采样间隔 
L=1/Delta_f;%时间长度 
N=floor(fs/Delta_f);%采样点数 
t=0:T:L-T;%时间轴 
freq=0:Delta_f:fs-Delta_f;%频率轴 
y=sin(2*pi*1000*t)';%原始信号 
figure Y_t_hanning=hanning(N).*y;%加窗
F_w=fft(Y_t_hanning,N)+eps;%计算频谱 
mag=abs(F_w); 
dB=20*log10(mag); 
plot(freq,dB); 
title('原始信号频谱'); 
y_f = filter(hm,y); 
y1=double(y_f) ;
y1=y1/max(abs(y1)); 
fs1=fs*r;%采样频率 
Delta_f=1;%频率间隔 
T1=1/fs1;%采样间隔 
L=1/Delta_f;%时间长度 
N1=floor(fs1/Delta_f);%采样点数 
t1=0:T1:L-T1;%时间轴 
freq1=0:Delta_f:fs1-Delta_f;%频率轴 
figure Y_t_hanning=hanning(N1).*y1;%加窗 
F_w=fft(Y_t_hanning,N1)+eps;%计算频谱 
mag=abs(F_w); 
dB1=20*log10(mag); 
plot(freq1,dB1); 
title('经过CIC滤波器插值后的信号频谱') 
figure stem(t(1:48),y(1:48),'filled');
hold on stem(t1(1:48*r),y1(1:48*r),'r'); 
legend('原始信号','插值后的信号') 

我的问题是:为什么滤波器前和滤波后的波形没有对齐;为什么滤波后的信号频谱会出现杂散,就是有很多谐波。请大虾给指点一下,顺便请教一下有没有谁有CIC插值的verilog的例子供我借鉴一下呢?






关键词: 关于     滤波器     真的     一些     初级     问题    

助工
2011-06-02 20:45:08     打赏
2楼
木有人知道吗?还是我问的问题太弱智了呀

助工
2011-06-03 14:36:31     打赏
3楼
哦~是这样啊,嘻嘻,第一次在论坛发帖,以前都是百度、google啊,比较没经验,谢谢指点~~~

助工
2011-06-03 14:37:26     打赏
4楼

你那有Matlab吗?跑下程序也行


助工
2011-06-03 14:38:45     打赏
5楼
谢谢你的回答~~~~就是,我想问下大家有没有verilog的例子,嘿嘿~我也在网上找了,但是没有我满意的,就是能把我用Matlab仿真的这个效果做出来的就行

助工
2011-06-03 21:02:44     打赏
6楼
Quantus。
我想请问一下,我写了两个模块,梳状模块和积分模块。
如果我想做插值的话,梳状模块的时钟应该比积分模块的时钟快,想要做几倍插值,时钟就快几倍,是这样理解吗?
反之,我要是想做抽取,那么积分模块的时候就应该比梳状模块的时钟快
请高手指点下,用verilog硬件语言描述的时候,是这样的思路吗?

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]