- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理MATLB实例
第1章 离散时间信号与系统
例1-1 用MATLAB计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
解 MATLAB程序如下:
a=[-2 0 1 -1 3];
b=[1 2 0 -1];
c=conv(a,b);
M=length(c)-1;
n=0:1:M;
stem(n,c);
?????????????? xlabel(n); ylabel(幅度);
图1.1给出了卷积结果的图形,求得的结果存放在数组c中为:{-2 -4 1 3 1 5 1 -3}。
?
例1-2 用MATLAB计算差分方程
当输入序列为 时的输出结果 。
解 MATLAB程序如下:
N=41;
a=[0.8 -0.44 0.36 0.22];
b=[1 0.7 -0.45 -0.6];
x=[1 zeros(1,N-1)];
k=0:1:N-1;
y=filter(a,b,x);
stem(k,y)
xlabel(n);ylabel(幅度)
?????????? 图 1.2 给出了该差分方程的前41个样点的输出,即该系统的单位脉冲响应。
例1-3 用MATLAB计算例1-2差分方程
所对应的系统函数的DTFT。
解 例1-2差分方程所对应的系统函数为:
??????????????????????????????
??????? 其DTFT为
??????????????????????????????
????? 用MATLAB计算的程序如下:
k=256;
num=[0.8 -0.44 0.36 0.02];
den=[1 0.7 -0.45 -0.6];
w=0:pi/k:pi;
h=freqz(num,den,w);
subplot(2,2,1);
plot(w/pi,real(h));grid
title(实部)
xlabel(\omega/\pi);ylabel(幅度)
subplot(2,2,2);
plot(w/pi,imag(h));grid
title(虚部)
xlabel(\omega/\pi);ylabel(Amplitude)
subplot(2,2,3);
plot(w/pi,abs(h));grid
title(幅度谱)
xlabel(\omega/\pi);ylabel(幅值)
subplot(2,2,4);
plot(w/pi,angle(h));grid
title(相位谱)
xlabel(\omega/\pi);ylabel(弧度)
?????????????????
第2章 离散傅里叶变换及其快速算法 ?
2-1 对连续的单一频率周期信号 按采样频率 采样,截取长度N分别选N =20和N =16,观察其DFT结果的幅度谱。
解 此时离散序列 ,即k=8。用MATLAB计算并作图,函数fft用于计算离散傅里叶变换DFT,程序如下:
k=8;
n1=[0:1:19];
xa1=sin(2*pi*n1/k);
subplot(2,2,1)
plot(n1,xa1)
xlabel(t/T);ylabel(x(n));
xk1=fft(xa1);xk1=abs(xk1);
subplot(2,2,2)
stem(n1,xk1)
xlabel(k);ylabel(X(k));
n2=[0:1:15];
xa2=sin(2*pi*n2/k);
subplot(2,2,3)
plot(n2,xa2)
xlabel(t/T);ylabel(x(n));
xk2=fft(xa2);xk2=abs(xk2);
????? subplot(2,2,4)
stem(n2,xk2)
xlabel(k);ylabel(X(k));
??????
????????计算结果示于图2.1,(a)和(b)分别是N=20时的截取信号和DFT结果,由于截取了两个半周期,频谱出现泄漏;(c) 和(d) 分别是N=16时的截取信号和DFT结果,由于截取了两个整周期,得到单一谱线的频谱。上述频谱的误差主要是由于时域中对信号的非整周期截断产生的频谱泄漏。
例2-2 用FFT计算两个序列
的互相关函数 。
解 用MATLAB计算程序如下:
x=[1 3 -1 1 2 3 3 1];
y=[2 1 -1 1 2 0 -1 3];
k=length(x);
xk=fft(x,2*k);
???????????????????? yk=ff
文档评论(0)