实验五IIR数字滤波器设计及软件实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四:IIR数字滤波器设计及软件实现

一、实验内容及步骤

1、调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号

st,三路信号在时域混叠无法在时域分离,但频域是可分离的,所以可以通过滤波的方法在频域分离。

2、要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可

以分离st中三路抑制载波单频调幅信号的三个滤波器(低通、高通、带通)的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1db,阻带最小衰减为60db.

3、编程序调用MATLAB滤波器设计函数ellipord和ellip分别设计三个椭圆滤

波器,并绘图显示其损耗函数曲线。

4、调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生

的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号yn1、yn2、yn3的,并绘图显示其时域波形,观察分离效果。

二、实验结果显示

原信号图形:

高通滤波器

输出波形

带通滤波器输出波形

低通滤波器输出波形

带阻滤波器输出波形

三、实验结论:由上面所绘图形可知,利用数字滤波器完全可以将时域混叠而频域未混叠的波形分开,达到滤波目的。

四、思考题

(1)请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。答:第一路调幅信号的调制信号频率为100HZ,载波频率为1000HZ;第二路调幅信号的调制信号频率为50HZ,载波频率为500HZ;第三路调幅信号的调整信号频率为25HZ,载波频率为250HZ。

(2)信号产生函数mstg中采样点数N=1600,对st进行N点FFT可以得到6根理想谱线。如果取N=1800,可否得到6根理想谱线?为什么?N=2000呢?请改变函数mstg 中采样点数N的值,观察频谱图验证您的判断是否正确?

答:

因为信号st是周期序列,谱分析时要求观察时间为整数倍周期。分析可知,st的每个频率成分都是25Hz的整数倍。采样频率Fs=10kHz=25×400Hz,即在25Hz 的正弦波的1个周期中采样400点。所以,当N为400的整数倍时一定为st的整数个周期。因此,采样点数N=800和N=2000时,对st进行N点FFT可以得到6根理想谱线。如果取N=1000,不是400的整数倍,不能得到6根理想谱线。

(3)修改信号产生函数mstg,给每一路调幅信号加入载波成分,产生AM信号,观察AM信号与抑制载波调幅信号的时域波形及其频谱的差别。

可以观察到AM的频谱中含有离散的载波分量,且占用很大比重。

五、实验程序:

1、信号产生函数mstg程序:

function st=mstg

N=800;

FS=10000;T=1/FS;TP=N*T;

t=0:T:(N-1)*T;K=0:N-1;f=K/TP;

fc1=FS/10;%第一路调幅信号的载波频率fc1=1000HZ

fm1=fc1/10;%第一路调幅信号的调制信号频率为fm1=100hz.

fc2=FS/20;%第二路调幅信号的载波频率fc2=500HZ

fm2=fc2/10;%第二路调幅信号的调制信号频率为fm2=50hz.

fc3=FS/40;%第三路调幅信号的载波频率fc3=250HZ

fm3=fc3/10;%第三路调幅信号的调制信号频率为fm3=25hz.

xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);

xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);

xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);

st=xt1+xt2+xt3;

fxt=fft(st,N);%计算信号st的频谱.

%绘图

subplot(211)

plot(t,st);grid on;xlabel('t/s');ylabel('s(t)');

axis([0,TP/4,min(st),max(st)]);title('(a) s(t)的波形')

subplot(212)

stem(f,abs(fxt)/max(abs(fxt)),'.');grid on;title('(b) s(t)的频谱')

axis([0,FS/5,0,1.2]);xlabel('f/HZ');ylabel('幅度');

2、高通滤波器的程序

%高通滤波器设计

fp=800;

fs=700;

Fs=10000;

wp=2*fp/Fs;ws=2*fs/Fs;

rp=1;rs=40;

N=800;st=mstg;

T=1/Fs;Tp=N*T;

t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;

[N1,wpo]=ellipord(wp,ws,rp,rs);%确定最小阶数和截止频率

[B,A]=ellip(N1,rp,rs,wpo,'high');%求传递函数的分子分母系数

y=filter(B,A,st);%滤波

fyt=fft(y,N);%求其频谱

subplot(2,1,1),plot(t,y),grid

on;xlabel('t/s'),ylabel('y(t)'),

axis([0,Tp/4,min(y),max(y)]),title('(a) y(t)的波形')

subplot(2,1,2);

stem(f,abs(fyt)/max(abs(fyt)),'.');grid on;title('(b) y(t)的频谱')

axis([0,Fs/5,0,1.2]);

xlabel('f/Hz');ylabel('幅度')

3、带通滤波器

%带通滤波器

fpl=400;fpu=600;fsl=350;fsu=650;Fs=10000;

wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];

rp=1;rs=40;

N=800;st=mstg;

T=1/Fs;Tp=N*T;

t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;

[N1,wpo]=ellipord(wp,ws,rp,rs);

[B,A]=ellip(N1,rp,rs,wpo);

y=filter(B,A,st);

相关文档
最新文档