实验四:IIR数字滤波器设计及软件实现Word格式.doc

上传人:聆听****声音 文档编号:3714597 上传时间:2023-05-02 格式:DOC 页数:6 大小:80.50KB
下载 相关 举报
实验四:IIR数字滤波器设计及软件实现Word格式.doc_第1页
第1页 / 共6页
实验四:IIR数字滤波器设计及软件实现Word格式.doc_第2页
第2页 / 共6页
实验四:IIR数字滤波器设计及软件实现Word格式.doc_第3页
第3页 / 共6页
实验四:IIR数字滤波器设计及软件实现Word格式.doc_第4页
第4页 / 共6页
实验四:IIR数字滤波器设计及软件实现Word格式.doc_第5页
第5页 / 共6页
实验四:IIR数字滤波器设计及软件实现Word格式.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验四:IIR数字滤波器设计及软件实现Word格式.doc

《实验四:IIR数字滤波器设计及软件实现Word格式.doc》由会员分享,可在线阅读,更多相关《实验四:IIR数字滤波器设计及软件实现Word格式.doc(6页珍藏版)》请在冰点文库上搜索。

实验四:IIR数字滤波器设计及软件实现Word格式.doc

③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter、cheby1、cheby2和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR数字滤波器。

本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

实验程序框图:

调用函数mstg产生st,自动绘图

显示st的时域波形和幅频特性曲线

调用ellipord和ellip分别设计三个椭圆滤波器,并绘图显示其幅频响应特性曲线。

调用filter,用三个滤波器分别对信号st进行滤波,分离出三路不同载波频率的调幅信号y1(n)、y2(n)和y3(n)

绘图显示y1(n)、y2(n)和y3(n)的时域波形和幅频特性曲线

End

三.实验内容及步骤

(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

主要程序:

信号发生函数mstg清单:

functionst=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;

fm1=fc1/10;

fc2=Fs/20;

fm2=fc2/10;

fc3=Fs/40;

fm3=fc3/10;

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);

subplot(3,1,1);

plot(t,st);

grid;

xlabel('

t/s'

);

ylabel('

s(t)'

axis([0,Tp/8,min(st),max(st)]);

title('

as(t)'

subplot(3,1,2);

stem(f,abs(fxt)/max(abs(fxt)),'

.'

(b)s(t)的频谱'

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

f/Hz'

幅度'

各个特殊绘图函数的实现:

1.tplot函数:

functiontplot(xn,T,yn)

%时域序列连续曲线绘图函数

%xn:

信号数据序列,yn:

绘图信号的纵坐标名称(字符串)

%T为采样间隔

n=0:

length(xn)-1;

t=n*T;

plot(t,xn);

ylabel(yn);

axis([0,t(end),min(xn),1.2*max(xn)])

2.myplot:

函数:

functionmyplot(B,A)

%时域离散系统损耗函数绘图

%B为系统函数分子多项式系数向量

%A为系统函数分母多项式系数向量

[H,W]=freqz(B,A,1000);

m=abs(H);

plot(W/pi,20*log10(m/max(m)));

gridon;

\omega/\pi'

幅度(dB)'

axis([0,1,-80,5]);

损耗函数曲线'

1.滤波器参数的选取:

对载波频率为250Hz的条幅信号,可以用低通滤波器分离,其指标为

带截止频率Hz,通带最大衰减dB;

阻带截止频率Hz,阻带最小衰减dB,

对载波频率为500Hz的条幅信号,可以用带通滤波器分离,其指标为

带截止频率Hz,Hz,通带最大衰减dB;

阻带截止频率Hz,Hz,Hz,阻带最小衰减dB,

对载波频率为1000Hz的条幅信号,可以用高通滤波器分离,其指标为

说明:

(1)为了使滤波器阶数尽可能低,每个滤波器的边界频率选择原则是尽量使滤波器过渡带宽尽可能宽。

(2)与信号产生函数mstg相同,采样频率Fs=10kHz。

(3)为了滤波器阶数最低,选用椭圆滤波器。

2.实验主程序:

clearall;

closeall

%采样频率

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

st=mstg;

%低通滤波器设计与实现

fp=280;

fs=450;

wp=2*fp/Fs;

ws=2*fs/Fs;

rp=0.1;

rs=60;

%DF指标(低通滤波器的通、阻带边界频)

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

%调用ellipord计算椭圆DF阶数N和通带截止频率wp

[B,A]=ellip(N,rp,rs,wp);

%调用ellip计算椭圆带通DF系统函数系数向量B和A

y1t=filter(B,A,st);

%滤波器软件实现

%低通滤波器设计与实现绘图部分

figure

(2);

myplot(B,A);

%调用绘图函数myplot绘制损耗函数曲线

yt='

y_1(t)'

;

tplot(y1t,T,yt);

%调用绘图函数tplot绘制滤波器输出波形

%带通滤波器设计与实现

fpl=440;

fpu=560;

fsl=275;

fsu=900;

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

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

%调用ellipord计算椭圆DF阶数N和通带截止频率wp

%调用ellip计算椭圆带通DF系统函数系数向量B和A

y2t=filter(B,A,st);

subplot(3,2,1);

subplot(3,2,2);

%高通滤波器设计与实现

fp=890;

fs=600;

[B,A]=ellip(N,rp,rs,wp,'

high'

y3t=filter(B,A,st);

subplot(3,3,1);

subplot(3,3,2);

3.实验程序运行结果:

(a)低通滤波器损耗函数及其分离出的调幅信号y1(t)

(b)带通滤波器损耗函数及其分离出的调幅信号y2(t)

(c)高通滤波器损耗函数及其分离出的调幅信号y3(t)

四.思考题及简答:

(1)请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。

(2)信号产生函数mstg中采样点数N=800,对st进行N点FFT可以得到6根理想谱线。

如果取N=1000,可否得到6根理想谱线?

为什么?

N=2000呢?

请改变函数mstg中采样点数N的值,观察频谱图验证您的判断是否正确。

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

答:

分析发现,st的每个频率成分都是25Hz的整数倍。

采样频率Fs=10kHz=25×

400Hz,即在25Hz的正弦波的1个周期中采样400点。

所以,当N为400的整数倍时一定为st的整数个周期。

因此,采样点数N=800和N=2000时,对st进行N点FFT可以得到6根理想谱线。

如果取N=1000,不是400的整数倍,不能得到6根理想谱线

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2