这个滤波器怎么求带宽呢?
1-4/z^16+6/z^32-4/z^48+1/z^64-------------------------------------------------------
1-4/z+6/z^2-4/z^3+1/z^4
可以从图中看出来吗? 一般对低通滤波器,带宽都是指比最大值下降3分贝处的频率。所以对楼主的滤波器可以先用最大值(0Hz处)归一,找出-3dB的频率,即是该滤波器的带宽。 这个是梳状滤波器的图
是按照多个带通的算还是怎么算?
只知道那个传递函数就可以算出来吧?
按楼上的算法是算到最后下降得还是第一次下降的呢?
回复 3楼 的帖子
如果0频是x dB的话,找x-3 dB对应的值就是了.-3 dB的点就只一个,后面的峰远不只降3 dB了 本帖最后由 wdhd 于 2016-9-10 14:10 编辑
原帖由 yangzj 于 2008-5-15 12:08 发表
如果0频是x dB的话,找x-3 dB对应的值就是了.
-3 dB的点就只一个,后面的峰远不只降3 dB了
还有就是那个横轴的单位怎么读呢??
x*2*piHz?? 补充一下
这个是一个四阶的积分器,进行16倍下采样,在经过四阶差分器,最后输出
这个就是整个过程的传递函数 本帖最后由 wdhd 于 2016-9-10 14:11 编辑
原帖由 HolySaint 于 2008-5-15 12:42 发表
还有就是那个横轴的单位怎么读呢??
x*2*piHz??
横轴是圆频率,单位是弧度/秒。楼主标出的rad/sample,好象不对,应为rad/second。 本帖最后由 wdhd 于 2016-9-10 14:11 编辑
原帖由 songzy41 于 2008-5-15 16:37 发表
横轴是圆频率,单位是弧度/秒。楼主标出的rad/sample,好象不对,应为rad/second。
我的输入信号的采样是1024个点
t=0:1023;%点数
%%--------取样测试--------%%
%d0=fix((sin(2*pi*t/512)+abs(wgn(1,length(t),1))+1)*10000);
%d0=fix((sin(2*pi*t/512)+1)*10000);
d0=fix((sin(2*pi*t/512)+square(t*2*pi/12,0.5)+2)*10000);
%%--------画图比较--------%%
plot(d0);
title('周期取点数256');
%%--------转换数制--------%%
for i=1:1024
b=dec2bin(d0(i),16);
bout(i,:)=b;
end;
%%--------写入文本--------%%
fid = fopen('input.txt','wt');
for j=1:1024
fprintf(fid,'%s\n',bout(j,:));
end;
fclose(fid);
主要是我想证实一下这个滤波器的带宽是否大于24kHz??
需要把输入改成24k的信号,,看结果吗?? 图中是归一化的频率,1对应采样频率的一半. 我这个滤波器使用verilog写的
他的传函如一楼
输入时matlab那个程序生成的
我想验证带宽大于24k
我的输入要怎么给?
下图可以说明吗??
附下图生成信号代码
t=0:47999;%点数
t1=0:.00001:.47999;
%%--------取样测试--------%%
d0=fix((sin(2*pi*t/24000)+1)*10000);
%%--------画图比较--------%%
plot(d0);
title('周期取点数256');
%%--------转换数制--------%%
for i=1:48000
b=dec2bin(d0(i),16);
bout(i,:)=b;
end;
%%--------写入文本--------%%
fid = fopen('input.txt','wt');
for j=1:48000
fprintf(fid,'%s\n',bout(j,:));
end;
fclose(fid);
[ 本帖最后由 HolySaint 于 2008-5-15 17:14 编辑 ] 滤波前是48000个点
滤波后是3000个点~
[ 本帖最后由 eight 于 2008-5-15 21:12 编辑 ]
页:
[1]