实验五IIR数字滤波器设计及软件实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);