《数字信号处理》第三版课后实验答案 西安电子科技大学出版社Word下载.docx
《《数字信号处理》第三版课后实验答案 西安电子科技大学出版社Word下载.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》第三版课后实验答案 西安电子科技大学出版社Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
h(n)'
%===内容2:
调用conv函数计算卷积============================
x1n=[11111111];
h1n=ones(1,10);
h2n=[12.52.51];
y21n=conv(h1n,x1n);
y22n=conv(h2n,x1n);
figure
(2)
length(h1n)-1;
stem(n,h1n);
(d)系统单位脉冲响应h1n'
h1(n)'
length(y21n)-1;
stem(n,y21n);
(e)h1(n)与R8(n)的卷积y21n'
y21(n)'
length(h2n)-1;
stem(n,h2n);
(f)系统单位脉冲响应h2n'
h2(n)'
length(y22n)-1;
subplot(2,2,4);
stem(n,y22n);
(g)h2(n)与R8(n)的卷积y22n'
y22(n)'
%=========内容3:
谐振器分析========================
un=ones(1,256);
%产生信号u(n)
255;
xsin=sin(0.014*n)+sin(0.4*n);
%产生正弦信号
A=[1,-1.8237,0.9801];
B=[1/100.49,0,-1/100.49];
y31n=filter(B,A,un);
%谐振器对u(n)的响应y31(n)
y32n=filter(B,A,xsin);
figure(3)
length(y31n)-1;
subplot(2,1,1);
stem(n,y31n,'
(h)谐振器对u(n)的响应y31n'
y31(n)'
length(y32n)-1;
subplot(2,1,2);
stem(n,y32n,'
(i)谐振器对正弦信号的响应y32n'
y32(n)'
%DTMF双频拨号信号产生6位电话号码
%clearall;
tm=[1,2,3,65;
4,5,6,66;
7,8,9,67;
42,0,35,68];
%DTMF信号代表的16个数
N=205;
K=[18,20,22,24,31,34,38,42];
f1=[697,770,852,941];
%行频率向量
f2=[1209,1336,1477,1633];
%列频率向量
TN=input('
键入6位电话号码='
%输入6位数字
TNr=0;
%接收端电话号码初值为零
forl=1:
6;
d=fix(TN/10^(6-l))
TN=TN-d*10^(6-l);
forp=1:
4;
forq=1:
iftm(p,q)==abs(d);
break,end%检测码相符的列号q
end
break,end%检测码相符的行号p
n=0:
1023;
%为了发声,加长序列
x=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000);
%构成双频信号
sound(x,8000);
%发出声音
pause(0.1)
%接收检测端的程序
X=goertzel(x(1:
205),K+1);
%用Goertzel算法计算八点DFT样本
val=abs(X);
%列出八点DFT向量
subplot(3,2,l);
stem(K,val,'
grid;
k'
|X(k)|'
)%画出DFT(k)幅度
axis([10500120])
limit=80;
%
fors=5:
8;
ifval(s)>
limit,break,end%查找列号
forr=1:
ifval(r)>
limit,break,end%查找行号
TNr=TNr+tm(r,s-4)*10^(6-l);
end
disp('
接收端检测到的号码为:
'
)%显示接收到的字符
disp(TNr)
显示结果:
键入6位电话号码=123456
d=1
d=2
d=3
d=4
d=5
d=6
123456
%DTMF双频拨号信号产生8位电话号码
键入8位电话号码='
%输入8位数字
d=fix(TN/10^(8-l))
TN=TN-d*10^(8-l);
subplot(4,2,l);
TNr=TNr+tm(r,s-4)*10^(8-l);
disp('
disp(TNr)
显示结果:
键入8位电话号码=12345678
d=1
d=2
d=3
d=4
d=5
d=6
d=7
d=8
12345678
程序清单及波形显示:
%时域采样理论验证程序
Tp=64/1000;
%观察时间Tp=64微秒
Fs=1000;
T=1/Fs;
M=Tp*Fs;
M-1;
t=n*T;
A=444.128;
alph=pi*50*2^0.5;
omega=pi*50*2^0.5;
xat=A*exp(-alph*t).*sin(omega*t);
Xk=T*fft(xat,M);
%M点FFT[xat)]
subplot(3,2,1);
stem(n,xat,'
xlabel('
x1(n)'
(a)Fs=1000Hz'
k=0:
fk=k/Tp;
subplot(3,2,2);
plot(fk,abs(Xk));
title('
(a)T*FT[xa(nT)],Fs=1000Hz'
\omega/hz'
(H1(ejw))'
axis([0,Fs,0,1.2*max(abs(Xk))]);
Fs=300;
subplot(3,2,3);
x2(n)'
(b)Fs=300Hz'
subplot(3,2,4);
(a)T*FT[xa(nT)],Fs=300Hz'
(H2(ejw))'
Fs=200;
subplot(3,2,5);
x3(n)'
(c)Fs=200Hz'
subplot(3,2,6);
(a)T*FT[xa(nT)],Fs=200Hz'
(H3(ejw))'
axis([0,Fs,0,1.2*max(abs(Xk))])
%频域采样理论验证程序
clc;
clear;
M=27;
N=32;
M;
xa=0:
(M/2);
xb=ceil(M/2)-1:
-1:
0;
xn=[xa,xb];
%产生M长三角波序列x(n)
Xk=fft(xn,1024);
%1024点FFT[x(n)],用于近似序列x(n)的TF
X32k=fft(xn,32);
%32点FFT[x(n)]
x32n=ifft(X32k);
%32点IFFT[X32(k)]得到x32(n)
X16k=X32k(1:
2:
N);
%隔点抽取X32k得到X16(K)
x16n=ifft(X16k,N/2);
%16点IFFT[X16(k)]得到x16(n)
stem(n,xn,'
(b)三角波序列x(n)'
x(n)'
axis([0,32,0,20])
wk=2*k/1024;
plot(wk,abs(Xk));
(a)FT[x(n)]'
\omega/\pi'
|X(e^j^\omega)|'
axis([0,1,0,200])
N/2-1;
stem(k,abs(X16k),'
(c)16点频域采样'
|X_1_6(k)|'
axis([0,8,0,200])
n1=0:
stem(n1,x16n,'
(d)16点IDFT[X_1_6(k)]'
x_1_6(n)'
axis([0,32,0,20]);
N-1;
stem(k,abs(X32k),'
(e)32点频域采样'
|X_3_2(k)|'
axis([0,16,0,200]);
stem(n1,x32n,'
boxon
(f)32点IDFT[X_3_2(k)]'
x_3_2(n)'
axis([0,32,0,20])
%用FFT对信号作频谱分析
clearall;
closeall
%实验内容
(1)===================================================
x1n=[ones(1,4)];
%产生序列向量x1(n)=R4(n)
M=8;
xa=1:
xb=(M/2):
1;
x2n=[xa,xb];
%产生长度为8的三角波序列x2(n)
x3n=[xb,xa];
X1k8=fft(x1n,8);
%计算x1n的8点DFT
X1k16=fft(x1n,16);
%计算x1n的16点DFT
X2k8=fft(x2n,8);
X2k16=fft(x2n,16);
X3k8=fft(x3n,8);
X3k16=fft(x3n,16);
%以下绘制幅频特性曲线
subplot(1,2,1);
stem(X1k8,'
%绘制8点DFT的幅频特性图
(1a)8点DFT[x_1(n)]'
ω/π'
幅度'
subplot(1,2,2);
stem(X1k16,'
%绘制16点DFT的幅频特性图
(1b)16点DFT[x_1(n)]'
figure
(2)
subplot(2,2,1);
stem(X2k8,'
(2a)8点DFT[x_2(n)]'
subplot(2,2,2);
stem(X2k16,'
(2b)16点DFT[x_2(n)]'
subplot(2,2,3);
stem(X3k8,'
(3a)8点DFT[x_3(n)]'
subplot(2,2,4);
stem(X3k16,'
(3b)16点DFT[x_3(n)]'
%实验内容
(2)周期序列谱分析==================================
N=8;
%FFT的变换区间N=8
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k8=fft(x4n);
%计算x4n的8点DFT
X5k8=fft(x5n);
%计算x5n的8点DFT
N=16;
%FFT的变换区间N=16
X4k16=fft(x4n);
%计算x4n的16点DFT
X5k16=fft(x5n);
%计算x5n的16点DFT
figure(3)
stem(X4k8,'
(4a)8点DFT[x_4(n)]'
stem(X4k16,'
(4b)16点DFT[x_4(n)]'
stem(X5k8,'
(5a)8点DFT[x_5(n)]'
stem(X5k16,'
(5b)16点DFT[x_5(n)]'
%实验内容(3)模拟周期信号谱分析===============================
figure(4)
Fs=64;
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);
%对x6(t)16点采样
X6k16=fft(x6nT);
%计算x6nT的16点DFT
X6k16=fftshift(X6k16);
%将零频率移到频谱中心
Tp=N*T;
F=1/Tp;
%频率分辨率F
k=-N/2:
fk=k*F;
%产生16点DFT对应的采样点频率(以零频率为中心)
subplot(3,1,1);
stem(fk,abs(X6k16),'
boxon%绘制8点DFT的幅频特性图
(6a)16点|DFT[x_6(nT)]|'
f(Hz)'
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])
N=32;
%对x6(t)32点采样
X6k32=fft(x6nT);
%计算x6nT的32点DFT
X6k32=fftshift(X6k32);
subplot(3,1,2);
stem(fk,abs(X6k32),'
(6b)32点|DFT[x_6(nT)]|'
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])
N=64;
%对x6(t)64点采样
X6k64=fft(x6nT);
%计算x6nT的64点DFT
X6k64=fftshift(X6k64);
subplot(3,1,3);
stem(fk,abs(X6k64),'
boxon%绘制8点DFT的幅频特性图
(6a)64点|DFT[x_6(nT)]|'
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])
fc1=250;
fm1=15;
fc2=500;
fm2=50;
fc3=1000;
fm3=100;
N=800;
Fs=10000;
Ts=1/Fs;
n=[0:
N-1];
t=n*Ts;
x11=cos(2*pi*fc1*t);
x12=cos(2*pi*fm1*t);
x1=x11.*x12;
subplot(3,1,1);
plot(t,x11,'
g'
plot(t,x12,'
r'
plot(t,x1,'
b'
legend('
载波'
'
调制波'
已调'
t/s'
波形'
)
x=cos(2*pi*fc1*t).*cos(2*pi*fm1*t)+cos(2*pi*fc2*t).*cos(2*pi*fm2*t)+cos(2*pi*fc3*t).*co