《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx

上传人:b****4 文档编号:12095754 上传时间:2023-04-17 格式:DOCX 页数:27 大小:160.58KB
下载 相关 举报
《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx_第1页
第1页 / 共27页
《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx_第2页
第2页 / 共27页
《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx_第3页
第3页 / 共27页
《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx_第4页
第4页 / 共27页
《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx

《《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx(27页珍藏版)》请在冰豆网上搜索。

《数字信号处理》第三版课后实验答案 西安电子科技大学出版社.docx

《数字信号处理》第三版课后实验答案西安电子科技大学出版社

程序清单及波形显示:

clc;closeall;clearall;

%======内容1:

调用filter解差分方程,由系统对u(n)的响应判断稳定性======

A=[1,-0.9];B=[0.05,0.05];%系统差分方程系数向量B和A

x1n=[11111111zeros(1,50)];%产生信号x1(n)=R8(n)

x2n=ones(1,128);%产生信号x2(n)=u(n)

y1n=filter(B,A,x1n);%求系统对x1(n)的响应y1(n)

n=0:

length(y1n)-1;

subplot(2,2,1);stem(n,y1n,'.');title('(a)系统对R8(n)的响应y1(n)');xlabel('n');ylabel('y1(n)');

y2n=filter(B,A,x2n);%求系统对x2(n)的响应y2(n)

n=0:

length(y2n)-1;

subplot(2,2,2);stem(n,y2n,'.');title('(b)系统对u(n)的响应y2(n)');xlabel('n');ylabel('y2(n)');

hn=impz(B,A,58);%求系统单位脉冲响应h(n)

n=0:

length(hn)-1;

subplot(2,2,3);y=hn;stem(n,hn,'.');title('(c)系统单位脉冲响应h(n)');xlabel('n');ylabel('h(n)');

%===内容2:

调用conv函数计算卷积============================

x1n=[11111111];%产生信号x1(n)=R8(n)

h1n=ones(1,10);h2n=[12.52.51];

y21n=conv(h1n,x1n);y22n=conv(h2n,x1n);

figure

(2)

n=0:

length(h1n)-1;

subplot(2,2,1);stem(n,h1n);title('(d)系统单位脉冲响应h1n');xlabel('n');ylabel('h1(n)');

n=0:

length(y21n)-1;

subplot(2,2,2);stem(n,y21n);title('(e)h1(n)与R8(n)的卷积y21n');xlabel('n');ylabel('y21(n)');

n=0:

length(h2n)-1;

subplot(2,2,3);stem(n,h2n);title('(f)系统单位脉冲响应h2n');xlabel('n');ylabel('h2(n)');

n=0:

length(y22n)-1;

subplot(2,2,4);stem(n,y22n);title('(g)h2(n)与R8(n)的卷积y22n');xlabel('n');ylabel('y22(n)');

%=========内容3:

谐振器分析========================

un=ones(1,256);%产生信号u(n)

n=0:

255;

xsin=sin(0.014*n)+sin(0.4*n);%产生正弦信号

A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49];%系统差分方程系数向量B和A

y31n=filter(B,A,un);%谐振器对u(n)的响应y31(n)

y32n=filter(B,A,xsin);%谐振器对u(n)的响应y31(n)

figure(3)

n=0:

length(y31n)-1;

subplot(2,1,1);stem(n,y31n,'.');title('(h)谐振器对u(n)的响应y31n');xlabel('n');ylabel('y31(n)');

n=0:

length(y32n)-1;

subplot(2,1,2);stem(n,y32n,'.');title('(i)谐振器对正弦信号的响应y32n');xlabel('n');ylabel('y32(n)');

程序清单及波形显示:

%DTMF双频拨号信号产生6位电话号码

%clearall;clc;

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:

4;

iftm(p,q)==abs(d);break,end%检测码相符的列号q

end

iftm(p,q)==abs(d);break,end%检测码相符的行号p

end

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;xlabel('k');ylabel('|X(k)|')%画出DFT(k)幅度

axis([10500120])

limit=80;%

fors=5:

8;

ifval(s)>limit,break,end%查找列号

end

forr=1:

4;

ifval(r)>limit,break,end%查找行号

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位电话号码

%clearall;clc;

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('键入8位电话号码=');%输入8位数字

TNr=0;%接收端电话号码初值为零

forl=1:

8;

d=fix(TN/10^(8-l))

TN=TN-d*10^(8-l);

forp=1:

4;

forq=1:

4;

iftm(p,q)==abs(d);break,end%检测码相符的列号q

end

iftm(p,q)==abs(d);break,end%检测码相符的行号p

end

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(4,2,l);

stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|')%画出DFT(k)幅度

axis([10500120])

limit=80;%

fors=5:

8;

ifval(s)>limit,break,end%查找列号

end

forr=1:

4;

ifval(r)>limit,break,end%查找行号

end

TNr=TNr+tm(r,s-4)*10^(8-l);

end

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;n=0:

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('n');ylabel('x1(n)');title('(a)Fs=1000Hz');

k=0:

M-1;fk=k/Tp;

subplot(3,2,2);plot(fk,abs(Xk));title('(a)T*FT[xa(nT)],Fs=1000Hz');

xlabel('\omega/hz');ylabel('(H1(ejw))');axis([0,Fs,0,1.2*max(abs(Xk))]);

Fs=300;T=1/Fs;M=Tp*Fs;n=0:

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,3);stem(n,xat,'.');xlabel('n');ylabel('x2(n)');title('(b)Fs=300Hz');

k=0:

M-1;fk=k/Tp;

subplot(3,2,4);plot(fk,abs(Xk));title('(a)T*FT[xa(nT)],Fs=300Hz');

xlabel('\omega/hz');ylabel('(H2(ejw))');axis([0,Fs,0,1.2*max(abs(Xk))]);

Fs=200;T=1/Fs;M=Tp*Fs;n=0:

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,5);stem(n,xat,'.');xlabel('n');ylabel('x3(n)');title('(c)Fs=200Hz');

k=0:

M-1;fk=k/Tp;

subplot(3,2,6);plot(fk,abs(Xk));title('(a)T*FT[xa(nT)],Fs=200Hz');

xlabel('\omega/hz');ylabel('(H3(ejw))');axis([0,Fs,0,1.2*max(abs(Xk))])

%频域采样理论验证程序

clc;clear;closeall;

M=27;N=32;n=0:

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)

subplot(3,2,2);stem(n,xn,'.');

title('(b)三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])

k=0:

1023;wk=2*k/1024;

subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');

xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])

k=0:

N/2-1;

subplot(3,2,3);stem(k,abs(X16k),'.');

title('(c)16点频域采样');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])

n1=0:

N/2-1;

subplot(3,2,4);stem(n1,x16n,'.');

title('(d)16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20]);

k=0:

N-1;

subplot(3,2,5);stem(k,abs(X32k),'.');

title('(e)32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200]);

n1=0:

N-1;

subplot(3,2,6);stem(n1,x32n,'.');boxon

title('(f)32点IDFT[X_3_2(k)]');xlabel('n');ylabel('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:

(M/2);xb=(M/2):

-1:

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);%计算x1n的8点DFT

X2k16=fft(x2n,16);%计算x1n的16点DFT

X3k8=fft(x3n,8);%计算x1n的8点DFT

X3k16=fft(x3n,16);%计算x1n的16点DFT

%以下绘制幅频特性曲线

subplot(1,2,1);stem(X1k8,'.');%绘制8点DFT的幅频特性图

title('(1a)8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');

subplot(1,2,2);stem(X1k16,'.');%绘制16点DFT的幅频特性图

title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度');

figure

(2)

subplot(2,2,1);stem(X2k8,'.');%绘制8点DFT的幅频特性图

title('(2a)8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');

subplot(2,2,2);stem(X2k16,'.');%绘制16点DFT的幅频特性图

title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度');

subplot(2,2,3);stem(X3k8,'.');%绘制8点DFT的幅频特性图

title('(3a)8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');

subplot(2,2,4);stem(X3k16,'.');%绘制16点DFT的幅频特性图

title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度');

%实验内容

(2)周期序列谱分析==================================

N=8;n=0:

N-1;%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;n=0:

N-1;%FFT的变换区间N=16

x4n=cos(pi*n/4);

x5n=cos(pi*n/4)+cos(pi*n/8);

X4k16=fft(x4n);%计算x4n的16点DFT

X5k16=fft(x5n);%计算x5n的16点DFT

figure(3)

subplot(2,2,1);stem(X4k8,'.');%绘制8点DFT的幅频特性图

title('(4a)8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');

subplot(2,2,3);stem(X4k16,'.');%绘制16点DFT的幅频特性图

title('(4b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');

subplot(2,2,2);stem(X5k8,'.');%绘制8点DFT的幅频特性图

title('(5a)8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');

subplot(2,2,4);stem(X5k16,'.');%绘制16点DFT的幅频特性图

title('(5b)16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');

 

%实验内容(3)模拟周期信号谱分析===============================

figure(4)

Fs=64;T=1/Fs;

N=16;n=0:

N-1;%FFT的变换区间N=16

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:

N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)

subplot(3,1,1);stem(fk,abs(X6k16),'.');boxon%绘制8点DFT的幅频特性图

title('(6a)16点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])

N=32;n=0:

N-1;%FFT的变换区间N=16

x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)32点采样

X6k32=fft(x6nT);%计算x6nT的32点DFT

X6k32=fftshift(X6k32);%将零频率移到频谱中心

Tp=N*T;F=1/Tp;%频率分辨率F

k=-N/2:

N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)

subplot(3,1,2);stem(fk,abs(X6k32),'.');boxon%绘制8点DFT的幅频特性图

title('(6b)32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])

N=64;n=0:

N-1;%FFT的变换区间N=16

x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x6(t)64点采样

X6k64=fft(x6nT);%计算x6nT的64点DFT

X6k64=fftshift(X6k64);%将零频率移到频谱中心

Tp=N*T;F=1/Tp;%频率分辨率F

k=-N/2:

N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心)

subplot(3,1,3);stem(fk,abs(X6k64),'.');boxon%绘制8点DFT的幅频特性图

title('(6a)64点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');

axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])

 

程序清单及波形显示:

clc;clearall;closeall;

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('载波','调制波','已调');xlabel('t/s');ylabel('波形')

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

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1