数字信号处理实验.docx

上传人:聆听****声音 文档编号:735014 上传时间:2023-04-29 格式:DOCX 页数:45 大小:1.09MB
下载 相关 举报
数字信号处理实验.docx_第1页
第1页 / 共45页
数字信号处理实验.docx_第2页
第2页 / 共45页
数字信号处理实验.docx_第3页
第3页 / 共45页
数字信号处理实验.docx_第4页
第4页 / 共45页
数字信号处理实验.docx_第5页
第5页 / 共45页
数字信号处理实验.docx_第6页
第6页 / 共45页
数字信号处理实验.docx_第7页
第7页 / 共45页
数字信号处理实验.docx_第8页
第8页 / 共45页
数字信号处理实验.docx_第9页
第9页 / 共45页
数字信号处理实验.docx_第10页
第10页 / 共45页
数字信号处理实验.docx_第11页
第11页 / 共45页
数字信号处理实验.docx_第12页
第12页 / 共45页
数字信号处理实验.docx_第13页
第13页 / 共45页
数字信号处理实验.docx_第14页
第14页 / 共45页
数字信号处理实验.docx_第15页
第15页 / 共45页
数字信号处理实验.docx_第16页
第16页 / 共45页
数字信号处理实验.docx_第17页
第17页 / 共45页
数字信号处理实验.docx_第18页
第18页 / 共45页
数字信号处理实验.docx_第19页
第19页 / 共45页
数字信号处理实验.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字信号处理实验.docx

《数字信号处理实验.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验.docx(45页珍藏版)》请在冰点文库上搜索。

数字信号处理实验.docx

1

一月

二月

三月

产品名称

数量

金额

利润

产品名称

数量

金额

利润

产品名称

数量

金额

利润

合计

合计

合计

四月

五月

六月

产品名称

数量

金额

利润

产品名称

数量

金额

利润

产品名称

数量

金额

利润

合计

合计

合计

实验七

一、实验目的

加深理解IIR数字滤波器的特性,掌握IIR数字滤波器的设计原理与设计方法,以及IIR数字滤波器的应用。

二、实验原理

N阶IIR数字滤波器的系统函数为:

IIR数字滤波器的设计主要通过成熟的模拟滤波器设计方法来实现:

将数字滤波器设计指标转换为模拟滤波器设计指标,设计出相应的模拟滤波器H(s),再经过脉冲响应不变法或双线性变换法得到所需的IIR数字滤波器H(z)。

IIR数字滤波器设计的重要环节是模拟原型低通滤波器的设计,主要包括Butterworth、Chebyshev和椭圆等滤波器

MATLAB信号处理工具箱中提供了IIR滤波器设计的函数。

IIR滤波器阶数选择

buttord-巴特沃斯(Butterworth)滤波器阶数选择。

cheb1ord-切比雪夫(Chebyshev)I型滤波器阶数选择。

cheb2ord-切比雪夫(Chebyshev)II型滤波器阶数选择。

ellipord-椭圆(Elliptic)滤波器阶数选择。

IIR滤波器设计

butter-巴特沃斯(Butterworth)滤波器设计

cheby1-切比雪夫(Chebyshev)I型滤波器设计

cheby2-切比雪夫(Chebyshev)II型滤波器设计

ellip-椭圆(Elliptic)滤波器设计

maxflat-通用的巴特沃斯(Butterworth)低通滤波器设计

yulewalk-Yule-Walker滤波器设计(直接数字滤波器设计法)

1.Butterworth滤波器设计

Butterworth滤波器是通带、阻带都单调衰减的滤波器。

(1)调用buttord函数确定巴特沃斯滤波器的阶数,格式为

[N,Wc]=buttord(Wp,Ws,Ap,As)

输入参数:

Ap,As为通带最大衰减和阻带最小衰减,以dB为单位。

Wp,Ws为归一化通带截频和阻带截频,0

输出参数:

N为滤波器的阶数;Wc为截频,0

(2)调用butter函数设计出巴特沃斯滤波器,格式为

[b,a]=butter(N,Wc,options)

输入参数:

N和Wc是buttord函数返回的参数,含义见上。

Options=’low’,’high’,’bandpass’,’stop’,分别对应低通、高通、带通、带阻,默认情况下为低通或带通。

输出参数:

b和a为设计出的IIR数字滤波器H(s)的分子多项式和分母多项式的系数矩阵。

2.ChebyshevII型滤波器设计

ChebyshevII型滤波器为阻带纹波控制器:

在阻带呈现纹波特性。

[N,Wc]=cheb2ord(Wp,Ws,Ap,As)

[b,a]=cheby2(N,As,Wc,options)

3.椭圆滤波器设计

椭圆滤波器在通阻带都呈现纹波特性。

[N,Wc]=ellipord(Wp,Ws,Ap,As)

[b,a]=ellip(N,Ap,As,Wc,options)

三、实验内容

1.信号,确定设计指标,实现各种IIR数字滤波器以实现以下信号处理。

(1)设计IIR低通滤波器,滤除的成分。

(2)设计IIR高通滤波器,滤除的成分。

(3)设计IIR带通滤波器,滤除的成分。

(4)设计IIR带阻滤波器,滤除的成分。

要求利用butterord函数求解滤波器的阶数;利用butter函数设计各IIR数字滤波器;画出滤波器的幅度相应和相位响应;给出IIR数字滤波器的系统函数。

(1)

clear;

fsam=100;

t0=1/fsam;t=6;k=0:

t0:

t;

N=512;

x=1+cos(pi/4.*k/t0)+cos(2*pi/3.*k/t0);

f=(-N/2:

(N/2-1))/N*2*pi;

[N1,Wc]=buttord(1/4,1/2,3,60);

[b,a]=butter(N1,Wc,'low');

freqz(b,a);

figure;

axis([0,1,-120,0]);

y=filter(b,a,x);

Y=fftshift(fft(y,N));

stem(f,abs(Y));

(2)

clear;

fsam=100;

t0=1/fsam;t=6;k=0:

t0:

t;

N=512;

x=1+cos(pi/4.*k/t0)+cos(2*pi/3.*k/t0);

f=(-N/2:

(N/2-1))/N*2*pi;

[N1,Wc]=buttord(2/3,10/24,3,100);

[b,a]=butter(N1,Wc,'high');

freqz(b,a);

figure;

axis([0,1,-120,0]);

y=filter(b,a,x);

Y=fftshift(fft(y,N));

stem(f,abs(Y));

(3)

clear;

fsam=100;

t0=1/fsam;t=6;k=0:

t0:

t;

N=512;

x=1+cos(pi/4.*k/t0)+cos(2*pi/3.*k/t0);

f=(-N/2:

(N/2-1))/N*2*pi;

[N1,Wc]=buttord([1/88/24],[1/322/3],3,60);

[b,a]=butter(N1,Wc,'bandpass');

freqz(b,a);

figure;

axis([0,1,-120,0]);

y=filter(b,a,x);

Y=fftshift(fft(y,N));

stem(f,abs(Y));

(4)

clear;

fsam=100;

t0=1/fsam;t=6;k=0:

t0:

t;

N=512;

x=1+cos(pi/4.*k/t0)+cos(2*pi/3.*k/t0);

f=(-N/2:

(N/2-1))/N*2*pi;

[N1,Wc]=buttord([1/322/3],[0.210/27],3,60);

[b,a]=butter(N1,Wc,'stop');

freqz(b,a);

figure;

axis([0,1,-120,0]);

y=filter(b,a,x);

Y=fftshift(fft(y,N));

stem(f,abs(Y));

2.某带通滤波器的设计指标为

(1)试分别利用巴特沃斯、切比雪夫Ⅰ型、切比雪夫Ⅱ型和椭圆模拟滤波器,通过脉冲响应不变法设计该带通数字滤波器,画出其频率特性,比较设计结果。

(2)试分别利用巴特沃斯、切比雪夫Ⅰ型、切比雪夫Ⅱ型和椭圆模拟滤波器,通过双线性变换法设计该带通数字滤波器,画出其频率特性,比较设计结果。

(3)分析比较以上设计结果,有何结论?

(1).脉冲响应不变法

clear;

omegas=[0.20.72]*pi;

omegap=[0.30.6]*pi;

Ap=1;As=42;

Fs=1;

ws=omegas*Fs;

wp=omegap*Fs;

[N,Wc]=buttord(wp,ws,Ap,As,'s');

[b,a]=butter(N,Wc,'bandpass','s');

%[N,Wc]=cheb1ord(wp,ws,Ap,As,'s');

%[b,a]=cheby1(N,Ap,Wc,'bandpass','s');

%[N,Wc]=cheb2ord(wp,ws,Ap,As,'s');

%[b,a]=cheby2(N,As,Wc,'bandpass','s');

%

%[N,Wc]=ellipord(wp,ws,Ap,As,'s');

%[b,a]=ellip(N,Ap,As,Wc,'bandpass','s');

[numd,dend]=impinvar(b,a,Fs);

w=linspace(0,pi,512);

h=freqz(numd,dend,w);

norm=max(abs(h));

numd=numd/norm;

plot(w/pi,20*log10(abs(h)/norm));

gridon

右图从上到下分别是buttord

Cheby1cheby2ellipord型滤波器的

频率特性(脉冲响应不变法)

(2)双线性变换法

clear;

omegas=[0.20.72]*pi;

omegap=[0.30.6]*pi;

Ap=1;As=42;

Fs=1;T=1/Fs;

wp=2*tan(omegap/2)/T;

ws=2*tan(omegas/2)/T;

%[N,Wc]=buttord(wp,ws,Ap,As,'s');

%[b,a]=butter(N,Wc,'bandpass','s');

%[N,Wc]=cheb1ord(wp,ws,Ap,As,'s');

%[b,a]=cheby1(N,Ap,Wc,'bandpass','s');

%

%[N,Wc]=cheb2ord(wp,ws,Ap,As,'s');

%[b,a]=cheby2(N,As,Wc,'bandpass','s');

[N,Wc]=ellipord(wp,ws,Ap,As,'s');

[b,a]=ellip(N,Ap,As,Wc,'bandpass','s');

[numd,dend]=bilinear(b,a,Fs);

w=linspace(0,pi,512);

h=freqz(numd,dend,w);

norm=max(abs(h));

numd=numd/norm;

plot(w/pi,20*log10(abs(h)/norm));

gridon

title('ellipord')

(1)利用DTMF的产生原理合成数字“4”,合成公式为:

画出其时域波形和频谱图。

(2)根据图中的低通和高通滤波器,画出两个滤波器的幅频响应;并利用

对信号进行滤波;利用fft函数求得输出的频响,绘出幅频响应曲线。

(3)设计图中的第一组的四个带通滤波器,画出滤波器的幅频响应;并利用

对图中相应的输入信号进行滤波,在一张图上用不同颜色画出这四条输出曲线。

比较其幅值,BP770Hz滤波器的输出最大,因此确定该DTMF的行频为770Hz。

(1)

clear;

k=0:

204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);

stem(k,x);

title('时域波形')

figure;

X=fftshift(fft(x));

omega=((-(N-1)/2):

((N-1)/2))/N*2*pi;

stem(omega,abs(X));

title('频谱图')

(2)

clear;

k=0:

204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);

omega=((-(N-1)/2):

((N-1)/2))/N*2*pi;

%低通

wp=2*941/8000;ws=2*1200/8000;Ap=3;As=60;

[N,wc]=buttord(wp,ws,Ap,As);

[b,a]=butter(N,wc);

freqz(b,a);

figure

%滤波输出

y=filter(b,a,x);

Y=fftshift(fft(y));

stem(omega,abs(Y))

clear;

k=0:

204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);

omega=((-(N-1)/2):

((N-1)/2))/N*2*pi;

%高通

wp=2*1200/8000;ws=2*1000/8000;Ap=3;As=60;

[N,wc]=buttord(wp,ws,Ap,As);

[b,a]=butter(N,wc,'high');

freqz(b,a);

figure

%滤波输出

y=filter(b,a,x);

Y=fftshift(fft(y));

stem(omega,abs(Y))

(3)

clear;

k=0:

204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);

omega=((-(N-1)/2):

((N-1)/2))/N*2*pi;

wp1=[692702]./4000;ws1=[687707]./4000;

wp2=[765775]./4000;ws2=[760780]./4000;

wp3=[847857]./4000;ws3=[842862]./4000;

wp4=[936946]./4000;ws4=[931951]./4000;

Ap=3;As=30;

[N1,wc1]=buttord(wp1,ws1,Ap,As);

[b1,a1]=butter(N1,wc1,'bandpass');

[N2,wc2]=buttord(wp2,ws2,Ap,As);

[b2,a2]=butter(N2,wc2,'bandpass');

[N3,wc3]=buttord(wp3,ws3,Ap,As);

[b3,a3]=butter(N3,wc3,'bandpass');

[N4,wc4]=buttord(wp4,ws4,Ap,As);

[b4,a4]=butter(N4,wc4,'bandpass');

figure

(1)

freqz(b1,a1);

figure

(2)

freqz(b2,a2);

figure(3)

freqz(b3,a3);

figure(4)

freqz(b4,a4);

以上分别是4个带通滤波器的幅频响应.

clear;

k=0:

204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);

omega=((-(N-1)/2):

((N-1)/2))/N*2*pi;

wp1=[692702]./4000;ws1=[687707]./4000;

wp2=[765775]./4000;ws2=[760780]./4000;

wp3=[847857]./4000;ws3=[842862]./4000;

wp4=[936946]./4000;ws4=[931951]./4000;

Ap=3;As=20;

[N1,wc1]=buttord(wp1,ws1,Ap,As);

[b1,a1]=butter(N1,wc1,'bandpass');

[N2,wc2]=buttord(wp2,ws2,Ap,As);

[b2,a2]=butter(N2,wc2,'bandpass');

[N3,wc3]=buttord(wp3,ws3,Ap,As);

[b3,a3]=butter(N3,wc3,'bandpass');

[N4,wc4]=buttord(wp4,ws4,Ap,As);

[b4,a4]=butter(N4,wc4,'bandpass');

y1=filter(b1,a1,x);

Y1=abs(fftshift(fft(y1)));

y2=filter(b2,a2,x);

Y2=abs(fftshift(fft(y2)));

y3=filter(b3,a3,x);

Y3=abs(fftshift(fft(y3)));

y4=filter(b4,a4,x);

Y4=abs(fftshift(fft(y4)));

plot(omega,Y1,'-g',omega,Y2,'-r',omega,Y3,'-b',omega,Y4,'-k');

由图中可以看出bp770hz滤波器的输出最大,所以该dtmf的行频为770hz

(4)

clear;

k=0:

204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);

omega=((-(N-1)/2):

((N-1)/2))/N*2*pi;

wp1=[12041214]./4000;ws1=[11991219]./4000;

wp2=[13311341]./4000;ws2=[13261346]./4000;

wp3=[14721482]./4000;ws3=[14671487]./4000;

Ap=3;As=20;

[N1,wc1]=buttord(wp1,ws1,Ap,As);

[b1,a1]=butter(N1,wc1,'bandpass');

[N2,wc2]=buttord(wp2,ws2,Ap,As);

[b2,a2]=butter(N2,wc2,'bandpass');

[N3,wc3]=buttord(wp3,ws3,Ap,As);

[b3,a3]=butter(N3,wc3,'bandpass');

y1=filter(b1,a1,x);

Y1=abs(fftshift(fft(y1)));

y2=filter(b2,a2,x);

Y2=abs(fftshift(fft(y2)));

y3=filter(b3,a3,x);

Y3=abs(fftshift(fft(y3)));

plot(omega,Y1,'-g',omega,Y2,'-r',omega,Y3,'-b');

图中可以看出bp1209hz滤波器输出最大

由(3)(4)可以得出dtmf信号按键为’4’

(5)

x=sin(2*pi*770/8000.*k)+sin(2*pi*1477/8000.*k);

检验数字’6’

行频输出

列频输出

得dtmf信号按键为’6’

(6)

答:

可以,只要取的各个频率的表示颜色不同即可.

四、思考题

1.哪些主要因素直接影响IIR数字滤波器的阶数?

从工程概念进行定性解释。

答:

通带截频,阻带截频,通带最大衰减和阻带最大衰减。

2.巴特沃斯、切比雪夫I型、切比雪夫II型和椭圆模拟原型滤波器的幅频特性有哪些特点?

其优缺点是什么?

答:

巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。

在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大;

切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。

切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。

切比雪夫I型滤波器在通带内有波动,切比雪夫II型滤波器在阻带内有波动。

椭圆滤波器是在通带和阻带等波纹的一种滤波器。

椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。

它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。

3.脉冲响应不变法和双线性变换法的基本思想有何不同?

优缺点是什么?

答:

脉冲响应不变法在数字和模拟频域是线性的映射关系,优点是在数字频域能较好地保持模拟频域的幅频特性.缺点是会有一定程度的频谱混叠,不能用于设计高通和带阻滤波器.双

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

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

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

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