MATLAB信号处理仿真实验Word文档格式.docx

上传人:b****3 文档编号:6841349 上传时间:2023-05-07 格式:DOCX 页数:27 大小:298.42KB
下载 相关 举报
MATLAB信号处理仿真实验Word文档格式.docx_第1页
第1页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第2页
第2页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第3页
第3页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第4页
第4页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第5页
第5页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第6页
第6页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第7页
第7页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第8页
第8页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第9页
第9页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第10页
第10页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第11页
第11页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第12页
第12页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第13页
第13页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第14页
第14页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第15页
第15页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第16页
第16页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第17页
第17页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第18页
第18页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第19页
第19页 / 共27页
MATLAB信号处理仿真实验Word文档格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB信号处理仿真实验Word文档格式.docx

《MATLAB信号处理仿真实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB信号处理仿真实验Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。

MATLAB信号处理仿真实验Word文档格式.docx

1.1892-0.03760.32730.1746-0.18670.7258

(6)方波

t=0:

0.1*pi:

6*pi;

y=square(t);

axis([07*pi-1.51.5]);

plot(t,y);

xlabel('

时间'

);

ylabel('

幅值'

(7)正弦波

t=0:

0.01*pi:

2*pi;

x=sin(2*pi*t);

plot(t,x);

(8)锯齿波

Fs=10000;

1/Fs:

1.5;

x=sawtooth(2*pi*50*t);

axis([00.2-11]);

(9)基本非周期波形

1/1000:

2;

x=chirp(t,0,1,150);

specgram(x,256,1000,256,250);

(10)sinc信号

t=linspace(-5,5);

x=sinc(t);

(11)pulstran信号

1/50E3:

10E-3;

d=[0:

1/1E3:

0.8.^(0:

10)]'

;

x=pulstran(t,d,'

gauspuls'

10E3,0.5);

(12)diric信号

t=[-4*pi:

0.1/pi:

4*pi];

x=diric(t,7);

y=diric(t,8);

subplot(1,2,1);

title('

n为奇数'

subplot(1,2,2);

n为偶数'

2.有两信号分别为

,其中

,编程实现此二信号的叠加,并计算它的抽样和、抽样积、信号能量和信号功率。

信号叠加:

抽样和:

抽样积:

信号能量:

信号功率:

程序如下:

t=(0:

0.001:

1);

xh=sin(2*pi*50*t)+2*sin(2*pi*120*t);

x=xh+0.5*randn(size(t));

y1=sum(x(1:

50));

y2=rod(x(1:

50);

Ex=sum(abs(x).^2);

Px=sum(abs(x).^2/n);

subplot(2,3,1);

plot(t(1:

50),xh(1:

Xh'

subplot(2,3,4);

50),x(1:

x'

subplot(2,3,2);

plot(y1,'

抽样和'

subplot(2,3,3);

plot(y2,'

抽样积'

subplot(2,3,5);

plot(Ex,'

能量'

subplot(2,3,6);

plot(Px,'

功率'

结果:

3.求信号

之和(其中

),并计算和的FFT变换。

有限长序列的离散傅立叶变换对定义:

正变换:

反变换:

1/99:

x=sin(2*pi*15*t)+sin(2*pi*40*t);

y=fft(x);

m=abs(y);

p=unwrap(angle(y));

f=(0:

length(y)-1)*99/length(y);

plot(f,m)

set(gca,'

XTick'

[15406085]);

grid;

plot(f,p*180/pi)

4.模拟信号

,求N点DFT的幅值谱和相位谱。

N=64;

63;

t=0.01*n;

q=n*2*pi/N;

x=2*sin(4*pi*t)+5*cos(8*pi*t);

y=fft(x,N);

subplot(3,1,1);

sourcesignal'

subplot(3,1,2);

plot(q,abs(y));

magnitude'

subplot(3,1,3);

plot(q,angle(y));

phase'

三、实验报告要求

完成上述各题给定要求并做好实验记录。

3.2IIR数字滤波器的设计

学会用MATLAB设计IIR数字滤波器。

1.设计一个三阶的模拟低通滤波器,通带内最大衰减为3dB,在阻带内的最大衰减为40dB,截止频率为

弧度,再把它转换成截止频率为

弧度的高通滤波器,绘出它们的频率响应图。

[z,p,k]=ellipap(3,3,40);

[A,B,C,D]=zp2ss(z,p,k);

[At,Bt,Ct,Dt]=lp2lp(A,B,C,D,8*pi);

[num,den]=ss2tf(At,Bt,Ct,Dt);

figure;

freqs(num,den);

[At1,Bt1,Ct1,Dt1]=lp2hp(A,B,C,D,50*pi);

[num1,den1]=ss2tf(At1,Bt1,Ct1,Dt1);

freqs(num1,den1);

(分别为三阶椭圆低通滤波器和高通滤波器的频率响应)

2.设计一个数字信号处理系统,它的抽样频率为Fs=100Hz,在该系统设计一个Butter-worth型高通滤波器,使其在通带内允许的最小衰减为0.5dB,阻带内的最小衰减为40dB,通带上限临界频率为30Hz,阻带下限临界频率为40Hz。

wp=30*2*pi;

ws=40*2*pi;

rp=0.5;

rs=40;

Fs=100;

%把数字滤波器的频率特征转换成模拟滤波器的频率特征

[N,Wn]=buttord(wp,ws,rp,rs,'

s'

%选择滤波器的阶数

[z,p,k]=buttap(N);

%创建Butterworth低通滤波器原型

%表达形式从零极点增益形式转换成状态方程形式

[At,Bt,Ct,Dt]=lp2hp(A,B,C,D,Wn);

%实现低通到高通滤波器类型的转换

[num1,den1]=ss2tf(At,Bt,Ct,Dt);

[num2,den2]=bilinear(num1,den1,100);

%从模拟高通到数字高通的转换,采用双线性变换

[H,W]=freqz(num2,den2);

%绘出频率响应

plot(W*Fs/(2*pi),abs(H));

grid

频率/Hz'

3.模拟信号

,由系统

处理,采样频率为1000Hz。

(1)设计一个最小阶数的IIR数字滤波器,以小于1dB的衰减通过150Hz的分量,以至少40dB抑制100Hz的分量。

滤波器应有单调的通带和等波动的阻带,求出有理函数形式的系统函数,画出幅度响应(dB)。

(2)产生上述信号

的150个样本,通过上述所设计的滤波器得到输出序列,内插此序列得到

画出输入和输出信号的图并解释结果。

fp=150;

fr=100;

fs=1000;

wp=2*pi*fp/fs;

wr=2*pi*fr/fs;

Ap=1;

Ar=40;

[N,wn]=cheb2ord(wp/pi,wr/pi,Ap,Ar);

[b,a]=cheby2(N,Ar,wn,'

high'

[C,B,A]=dir2cas(b,a);

[db,mag,pha,w]=freqz_m(b,a);

subplot(411);

plot(w/pi,db);

axis([0,1,-50,7]);

149;

t=n/fs;

x=5*sin(2*pi*fr*t)+2*cos(2*pi*fp*t);

subplot(412);

axis([0,0.15,-7,7]);

y=filter(b,a,x);

subplot(413);

stem(y);

ya=y*sinc(fs*(ones(length(n),1)*t-(n/fs)'

*ones(1,length(t))));

subplot(414);

plot(t,ya);

axis([0,0.15,-2,2]);

%直接型转换成级联型

function[b0,B,A]=dir2cas(b,a);

b0=b

(1);

b=b/b0;

a0=a

(1);

a=a/a0;

b0=b0/a0;

M=length(b);

N=length(a);

ifN>

M

b=[bzeros(1,N-M)];

elseifM>

N

a=[azeros(1,M-N)];

N=M;

else

NM=0;

end

k=floor(N/2);

B=zeros(k,3);

A=zeros(k,3);

ifk*2==N;

b=[b0];

a=[a0];

broots=cplxpair(roots(b));

aroots=cplxpair(roots(a));

fori=1:

2:

2*k

Brow=broots(i:

1:

i+1,:

Brow=real(poly(Brow));

B(fix(i+1)/2,:

)=Brow;

Arow=aroots(i:

Arow=real(poly(Arow));

A(fix(i+1)/2,:

)=Arow;

function[db,mag,pha,w]=freqz_m(b,a);

[H,w]=freqz(b,a,1000,'

whole'

H=(H(1:

501))'

w=(w(1:

mag=abs(H);

db=20*log10((mag+eps)/max(mag));

pha=angle(H);

结果为:

C=

0.2942

B=

1.0000-1.62841.0000

1.0000-1.79191.0000

1.0000-1.97081.0000

A=

1.0000-1.00320.2706

1.0000-1.02130.4255

1.0000-1.13730.7517

由图可见,输出信号抑制了输入信号的100Hz分量,基本上是150Hz的余弦信号,达到了信号处理的目的。

3.3FIR数字滤波器的设计

一、实验目的

学会用MATLAB设计FIR数字滤波器。

1.设理想带阻滤波器频率响应为

利用Kaiser窗函数,设计长度为55的带阻滤波器,使阻带衰减为60dB。

参数

可由式

确定,其中

n=55-1;

w=[0.40.6];

beta=0.1102*(60-8.7);

kai_w=kaiser(n+1,beta);

b=fir1(n,w,'

stop'

kai_w);

[h,w]=freqz(b,1,512,2);

plot(w,20*log10(abs(h)));

频率(归一化)'

),ylabel('

幅度(dB)'

2.根据下列技术指标,设计一个数字FIR低通滤波器。

选择一个恰当的窗函数,确定单位脉冲响应,绘出所设计的滤波器的幅度响应。

理想低通数字滤波器的频率响应为

式中,

为截止频率,

为采样延迟。

理想低通数字滤波器的单位脉冲响应为

为无限长非因果序列,关于

偶对称。

为了从

得到一个FIR数字滤波器,必须同时在两边截取

,要得到一个因果的线性相位FIR滤波器,它的

的长度为N,必须有

这种截取可看作是

矩形窗

为关于

偶对称的有限长因果序列。

N为奇数时是1型,N为偶数时是2型。

根据窗函数最小阻带衰减的特性,只有海明窗和布莱克曼窗可提供大于50dB的衰减。

故选择海明窗,它提供较小的过渡带,因此具有较小的阶数。

wp=0.2*pi;

wr=0.4*pi;

tr_width=wr-wp;

%过渡带宽度

N=ceil(6.6*pi/tr_width)+1%滤波器的长度,N=奇数为1型;

N=偶数为2型

wc=(wr+wp)/2;

%理想低通滤波器的截止频率

hd=ideal_lp(wc,N);

%理想低通滤波器的单位脉冲响应

w_ham=(hamming(N))'

%海明窗

h=hd.*w_ham;

%截取得到实际单位脉冲响应

[db,mag,pha,w]=freqz_m(h,[1]);

%计算实际滤波器的幅度响应

delta_w=2*pi/1000;

Ap=-(min(db(1:

wp/delta_w+1)));

%实际通带波动

Ar=-round(max(db(wr/delta_w+1:

501)));

%最小阻带衰减

subplot(221);

stem(n,hd);

理想单位脉冲响应hd(n)'

subplot(222);

stem(n,w_ham);

海明窗w(n)'

subplot(223);

stem(n,h);

实际单位脉冲响应h(n)'

subplot(224);

幅度响应(dB)'

axis([0,1,-100,10]);

functionhd=ideal_lp(wc,N);

alpha=(N-1)/2;

m=n-alpha+eps;

hd=sin(wc*m)./(pi*m);

N=34

Ap=0.0477

Ar=52

滤波器的长度为34,实际通带波动0.0477dB,最小阻带衰减52dB,满足设计要求。

3.设抽样频率为Fs=1000Hz,已知原信号为

,由于某种原因,信号被白噪声污染,实际获得的信号为xn=x+randn(size(t)),要求设计一个FIR滤波器恢复出原始信号。

%生成相应的信号

Fs=1000;

t=1:

1/fs:

%2秒长度的序列

x=sin(2*pi*80*t)+2*sin(2*pi*140*t);

xn=x+randn(size(t));

%使用最小二乘的滤波器设计方法设计一个多带滤波器

%取滤波器的阶数为100

n=100;

f=[00.130.150.170.190.250.270.290.311];

m=[0011001100];

b=firls(n,f,m);

[H,W]=freqz(b,1,512,2);

plot(W,abs(H));

归一化频率(Nyquist频率=1)'

幅度'

%对xn进行滤波

xo=filter(b,1,xn);

nn=500:

750;

tt=nn/Fs;

subplot(311);

plot(tt,x(nn));

原始信号'

),grid;

subplot(312);

plot(tt,xn(nn));

污染信号'

subplot(313);

plot(tt,xo(nn));

滤波信号'

时间(秒)'

三、实验报告要求

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

当前位置:首页 > 工作范文 > 行政公文

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

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