- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武汉理工Matlab实验报告程序
实验一:
1、利用zeros和ones函数来产生单位阶跃序列。
函数格式: zeros(1,n) ones(1,n) n为序列长度。
程序如下:
n1=-2;n2=8;k=0;
n=n1:n2;
nt=length(n);
nk=abs(k-n1)+1;
x=[zeros(1,nk-1),ones(1,nt-nk+1)];
stem(n,x)
图1 单位阶跃序列
2、已知信号
x1(n)=3e -0.25n(4n10)
x2(n)=u(n+1) (-2n6) 求x(n)=x1(n)*x2(n),并画出对应波形。
程序如下:
function[x,n]=stepseq(n1,n2,n0)
n=[n1:n2];
x=[(n-n0)=0];
function [y,ny]=conv_m(x,nx,h,nh,p)
nyb=nx(1)+nh(1);
nyc=nx(length(x))+nh(length(h));
ny=[nyb:p:nyc];
y=conv(x,h);
p=1;
n1=[-4:p:10];
f1=3*exp(-0.25*n1);
n2=[-2:p:6];
[f2,n2]=stepseq(-2,6,-1);
[y,ny]=conv_m(f1,n1,f2,n2,p);
subplot(3,1,1);stem(n1,f1)
subplot(3,1,2);stem(n2,f2)
subplot(3,1,3);stem(ny,y)
图2 对应波形
实验二
验证线性性质:
如果有两个有限长序列分别为x1(n)和x2(n),长度分别为N1和N2,且y(n)=ax1(n)+bx2(n),(a,b均为常数),则该y(n)的N点DFT为 Y(k)=DFT[y(n)]=aX1(k)+bX2(k) (0=k=N-1) 其中:N=max(N1,N2),X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。
序列:x1(n)=[0,1,2,4] x2(n)=[1,0,1,0,1]
程序如下:
xn1=[0,1,2,4];xn2=[1,0,1,0,1];
N1=length(xn1);N2=length(xn2);
N=max(N1,N2);
if N1N2
xn2=[xn2,zeros(1,N1-N2)];
elseif N2N1
xn1=[xn1,zeros(1,N2-N1)];
end
yn=2*xn1+3*xn2;
n=0:N-1;
k=0:N-1;
yk1=yn*(exp(-j*2*pi/N).^(n*k));
xk1=xn1*(exp(-j*2*pi/N).^(n*k));
xk2=xn2*(exp(-j*2*pi/N).^(n*k));
yk2=2*xk1+3*xk2;
subplot(2,2,1); stem(n,yk1)
subplot(2,2,2); stem(n,yk2)
subplot(2,2,3); stem(n,xk1)
图1 对应波形
subplot(2,2,4); stem(n,xk2)
实验三
1.用函数conv和FFT计算同一序列的卷积,比较其计算时间。
clock函数读取瞬时时钟
etime(t1,t2)函数计算时刻t1,t2间所经历的时间。
FFT和卷积运算速度
程序如下:
L=5000; N=L*2-1; n=1:L;
x1=0.5*n; x2=2*n;
t0=clock; yc=conv(x1,x2);
conv_time=etime(clock,t0)
t0=clock;
yf=ifft(fft(x1,N).*fft(x2,N));
fft_time=etime(clock,t0)
运算结果
conv_time =
0.0410
fft_time =
0.0040
2.DFT与FFT运算速度
fs=100;
N=128;
n=0:N-1;
t=n/fs;
x1=0.5*n;
t0=clock;
yd=dft(x1,N);
dft_time=etime(clock,t0)
t0=clock;
yf=fft(x1,N);
fft_time=etime(clock,t0)
运算结果
dft_time =
0.0920
fft_time =
0
3.序列长度和fft的长度对信号频谱的影响
fs=100;
Ndata=32; Nfft=32;
n=0:Ndata-1;
t=n/fs;
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);
y=fft(x,Nfft);
mag=abs(y);
f=(0:le
文档评论(0)