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

共10条 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 12:08:47     打赏
3楼

你晚上问的问题,可能不会有人看到!
所以,问了问题后,第二天来看答案吧,一般会有人回答你的!


高工
2011-06-03 12:33:24     打赏
4楼

你的图挂了,打不开。


高工
2011-06-03 12:46:54     打赏
5楼

挨个回答吧。

1. 为什么滤波器前和滤波后的波形没有对齐?

滤波器有相频特性的,也就是有相移,所以没对齐。

2. 为什么滤波后的信号频谱会出现杂散,就是有很多谐波?

CIC插值是定点数的,所以会有很多“毛”,但那些“毛刺”的功率和信号相比都在-100dBc以下了,可以不用考虑。实际上你是做不到这么高信噪比的。

3. 顺便请教一下有没有谁有CIC插值的例子供我借鉴一下呢?

你的这个就可以了,可以在末尾加上 hvt=fvtool( hm,1, 'ShowReference', 'off');, 看看滤波器的特性


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

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

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


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

高工
2011-06-03 19:50:50     打赏
9楼
你用的什么软件? Quartus 还是 ISE ?

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

共10条 1/1 1 跳转至

回复

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