数字信号处理Matlab课后实验吴镇扬Word文档下载推荐.docx
《数字信号处理Matlab课后实验吴镇扬Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字信号处理Matlab课后实验吴镇扬Word文档下载推荐.docx(54页珍藏版)》请在冰点文库上搜索。
A'
subplot(4,2,2);
stem(n,B,'
时间序列n'
B'
subplot(4,2,3);
stem(n,C,'
A+B'
subplot(4,2,4);
stem(n,D,'
A-B'
subplot(4,2,5);
stem(n,E,'
A.*B'
subplot(4,2,6);
stem(n,F,'
A./B'
subplot(4,2,7);
stem(n,G,'
A.^B'
运行结果:
(2)用MATLAB实现以下序列。
a)x(n)=0.8n0≤n≤15
n=0:
15;
x=0.8.^n;
stem(n,x,'
xlabel('
x(n)=0.8^n'
b)x(n)=e(0.2+3j)n0≤n≤15
x=exp((0.2+3*j)*n);
x(n)=exp((0.2+3*j)*n)'
a)的时间序列b)的时间序列
c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π)0≤n≤15
1:
x=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);
xlabel('
x(n)=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi)'
d)将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期
63;
x=3*cos(0.125*pi*rem(n,16)+0.2*pi)+2*sin(0.25*pi*rem(n,16)+0.1*pi);
x16(n)'
e)将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期
39;
x=3*cos(0.125*pi*rem(n,10)+0.2*pi)+2*sin(0.25*pi*rem(n,10)+0.1*pi);
x10(n)'
d)的时间序列e)的时间序列
(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。
a)x1(n)=2x(n+2)-x(n-1)-2x(n)
3;
x=[1-135];
x1=circshift(x,[0-2]);
x2=circshift(x,[01]);
x3=2*x1-x2-2*x;
stem(x3,'
x1(n)=2x(n+2)-x(n-1)-2x(n)'
b)
x1=circshift(x,[01]);
x2=circshift(x,[02]);
x3=circshift(x,[03]);
x4=circshift(x,[04]);
x5=circshift(x,[05]);
xn=1*x1+2*x2+3*x3+4*x4+5*x5;
stem(xn,'
x2(n)=x(n-1)+2x(n-2)+3x(n-3)+4x(n-4)+5x(n-5)'
a)的时间序列b)的时间序列
(4)绘出时间函数的图形,对x轴、y轴图形上方均须加上适当的标注。
a)x(t)=sin(2πt)0≤t≤10sb)x(t)=cos(100πt)sin(πt)0≤t≤4s
clc;
t1=0:
0.001:
10;
t2=0:
0.01:
xa=sin(2*pi*t1);
xb=cos(100*pi*t2).*sin(pi*t2);
subplot(2,1,1);
plot(t1,xa);
t'
x(t)'
title('
x(t)=sin(2*pi*t)'
subplot(2,1,2);
plot(t2,xb);
x(t)=cos(100*pi*t2).*sin(pi*t2)'
(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1<
n0<
n2,绘出该函数的图形,起点为n1,终点为n2。
n1=input('
请输入起点:
'
n2=input('
请输入终点'
n0=input('
请输入阶跃位置'
n=n1:
n2;
x=[n-n0>
=0];
xlable('
ylable('
u(n-n0)'
2
请输入终点:
8
请输入阶跃位置:
6
(5)运行结果(6)运行结果
(6)给一定因果系统
求出并绘制H(z)的幅频响应与相频响应。
a=[1-0.670.9];
b=[1sqrt
(2)1];
[hw]=freqz(b,a);
fp=20*log(abs(h));
plot(w,fp);
xlabel('
时间序列t'
幅频特性'
xp=angle(h);
plot(w,xp);
相频特性'
(右上图)
(1)在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉FFT子程序。
(2)熟悉应用FFT对典型信号进行频谱分析的方法。
(3)了解应用FFT进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT。
(4)熟悉应用FFT实现两个序列的线性卷积的方法。
(5)对DCT变换用作数据压缩有初步的认识。
(1)观察高斯序列的时域和幅频特性。
%p=8,q=2
p=8;
q=2;
x1=exp(-(n-p).^2./q);
fp1=fft(x1);
fp1=abs(fp1);
subplot(5,2,1);
plot(x1);
n'
时域特性'
p=8,q=2'
subplot(5,2,2);
plot(fp1);
%p=8,q=4
q=4;
x2=exp(-(n-p).^2./q);
fp2=fft(x2);
fp2=abs(fp2);
subplot(5,2,3);
plot(x2);
p=8,q=4'
subplot(5,2,4);
plot(fp2);
%p=8,q=8
q=8;
x3=exp(-(n-p).^2./q);
fp3=fft(x3);
fp3=abs(fp3);
subplot(5,2,5);
plot(x3);
p=8,q=8'
subplot(5,2,6);
plot(fp3);
%p=13,q=8
p=13,q=8;
x4=exp(-(n-p).^2./q);
fp4=fft(x4);
fp4=abs(fp4);
subplot(5,2,7);
plot(x4);
p=13,q=8'
subplot(5,2,8);
plot(fp4);
%p=14,q=8
p=14,q=8;
x5=exp(-(n-p).^2./q);
fp5=fft(x5);
fp5=abs(fp5);
subplot(5,2,9);
plot(x5);
p=14,q=8'
subplot(5,2,10);
plot(fp5);
(2)观察衰减正弦序列xb(n)的时域和幅频特性。
=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下频谱的形状和谱峰出现为止,又无混叠和泄露现象?
说明产生现象的原因。
a=0.1;
f1=0.0625;
f2=0.4375;
f3=0.5625;
x1=exp(-a*n).*sin(2*pi*f1.*n);
x2=exp(-a*n).*sin(2*pi*f2.*n);
x3=exp(-a*n).*sin(2*pi*f3.*n);
subplot(3,2,1);
a=0.1,f=0.0625'
subplot(3,2,2);
subplot(3,2,3);
a=0.1,f=0.4375'
subplot(3,2,4);
subplot(3,2,5);
a=0.1,f=0.5625'
subplot(3,2,6);
(3)观察三角波和反三角波序列的时域和幅频特性。
N=8时:
7;
%x1为三角波序列时域特性,x2为反三角波时域特性
x1=zeros(size(n));
x2=zeros(size(n));
xa=(n>
=0)&
(n<
=3);
x1(xa)=n(xa);
x2(xa)=4-n(xa);
=4)&
=7);
x1(xa)=8-n(xa);
x2(xa)=n(xa)-4;
%fp1为三角波序列幅频特性,fp2为反三角波幅频特性
subplot(2,2,1);
stem(n,x1,'
.'
三角波序列'
subplot(2,2,2);
stem(n,fp1,'
subplot(2,2,3);
stem(n,x2,'
反三角波序列'
subplot(2,2,4);
stem(n,fp2,'
N=16时:
16;
=8)&
=15);
x1(xa)=0;
x2(xa)=0;
(4)一个连续信号含两个频率分量,经采样得x(n)=sin2π*0.125n+cos2π*(0.125+Δf)nn=0,1……,N-1已知N=16,Δf分别为1/16和1/64,观察其频谱;
当N=128时,Δf不变,其结果有何不同。
n1=0:
%N=16时,vf1=1/16,vf2=1/64两种情况下
vf1=1/16;
vf2=1/64;
x1=sin(2*pi*0.125.*n1)+cos(2*pi*(0.125+vf1).*n1);
%时域特性
x2=sin(2*pi*0.125.*n1)+cos(2*pi*(0.125+vf2).*n1);
stem(n1,x1,'
N=16vf=1/16'
stem(n1,fp1,'
stem(n1,x2,'
N=16vf=1/64'
stem(n1,fp2,'
N=128时:
n2=0:
127;
%N=32时,vf1=1/16,vf2=1/64两种情况下
x3=sin(2*pi*0.125.*n2)+cos(2*pi*(0.125+vf1).*n2);
x4=sin(2*pi*0.125.*n2)+cos(2*pi*(0.125+vf2).*n2);
%幅频特性
stem(n2,x3,'
N=128vf=1/16'
stem(n2,fp3,'
stem(n2,x4,'
N=128vf=1/64'
stem(n2,fp4,'
(5)用FFT分别计算xa(n)(p=8,q=2)和xb(n)(a=0.1,f=0.0625)的16点循环卷积和线性卷积。
30;
f=0.0625;
xa=exp(-((n1-p).^2)/q);
xb=exp(-a.*n1).*sin(2*pi*f.*n1);
fa=fft(xa);
fb=fft(xb);
circle=fa.*fb;
%圆周卷积
line=conv(xa,xb);
%线性卷积
stem(n1,xa,'
高斯序列xa'
stem(n1,xb,'
衰减正弦序列xb'
stem(n1,circle,'
xa与xb的16点循环卷积'
stem(n2,line,'
xa与xb的线性卷积'
(6)产生一512点的随机序列xe(n),并用xc(n)和xe(n)做线性卷积,观察卷积前后xe(n)频谱的变化。
要求将xe(n)分成8段,分别采用重叠相加法和重叠保留法。
n2=4:
518;
k=1:
xe=rand(1,512);
xc1=n1;
xc2=8-n2;
xc=[xc1,xc2];
xe1=k-k;
xe2=[xe1,xe];
%重叠相加法
yn=zeros(1,519);
yn3=zeros(1,519);
forj=0:
7
%%重叠相加法%重叠保留法
xj=xe(64*j+1:
64*(j+1));
xj1=xe2(64*j+1:
64*j+71);
xak=fft(xj,71);
xak1=fft(xj1);
xck=fft(xc,71);
xck1=fft(xc,71);
yn1=ifft(xak.*xck);
yn2=ifft(xak1.*xck1);
%每段卷积的结果
temp=zeros(1,519);
temp1=zeros(1,519);
temp(64*j+1:
64*j+71)=yn1;
temp1(64*j+1:
64*j+64)=yn2(8:
71);
yn=yn+temp;
yn3=yn3+temp1;
%将每段的卷积结果加到yn中
end;
figure
(1);
plot(n,yn);
y(n)'
xc(n)与xe(n)的线性卷积(重叠相加法)'
plot(n,abs(fft(yn)));
k'
Y(k)'
axis([0,600,0,300]);
figure
(2);
plot(n,yn3);
y(n)'
xc(n)与xe(n)的线性卷积(重叠保留法)'
plot(n,abs(fft(yn3)));
Y(k)的幅频特性'
重叠相加法:
重叠保留法:
(7)对
做16点DCT变换,取前m个系数
做16点IDCT,得到不同m下的
,求归一化的均方误差
,绘出
随m变化的关系并观察不同的m下的
。
实验结果:
一、实验目的
(1)掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。
(2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲
响应不变法的特点。
(3)熟悉巴特沃思滤波器、切比