基于MATLAB下取样定理的验证(2)

1970-01-01 08:00

Length: 个数

figure(n) : 指定n号图形窗口

subplot(n,m,t) : 当前窗口分为n行m列n*m个子图,指定t号子图 plot: 绘制向量或矩阵各队向量的图形 axis: 设置坐标范围 grid on: 绘制坐标分格线 box on: 使当前坐标呈封闭形式 title:给图形加标题 xlabel:给x轴加标记 ylabel:给y轴加标记 legend:给图形加注解 end: 向量的最后元素 sin(t)正弦函数 cos(t)余弦函数 exp(t)指数函数 【设计程序】 1 时域采样定理验证

% 时域采样理论验证程序 Tp=64/1000; %观察时间Tp=64微秒

%产生M长采样序列x(n) % Fs=1000;T=1/Fs; Fs=1000;T=1/Fs; M=Tp*Fs;n=0:M-1; f=n*Fs/M;

A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xn=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xn,M);%M点FFT[xnt)] subplot(3,1,1); plot(f,abs(Xk)); xlabel('f/Hz'); ylabel('|x1(jf)|'); title('x1(n)的幅度特性');

%==================================================================== %Fs=300Hz

Tp=64/1000; %观察时间Tp=64微秒 %产生M长采样序列x(n) % Fs=1000;T=1/Fs; Fs=300;T=1/Fs; M=Tp*Fs;n=0:M-1; f=n*Fs/M;

A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xn=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xn,M);%M点FFT[xnt)] subplot(3,1,1); plot(f,abs(Xk)); xlabel('f/Hz'); ylabel('|x1(jf)|');

title('x1(n)的幅度特性');

%======================================================== %Fs=200Hz Tp=64/1000; Fs=200;T=1/Fs; M=Tp*Fs;n=0:M-1;

A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); yn='xa(nT)';subplot(3,2,5); tstem(xnt,yn);

box on; title('(a) Fs=1000Hz'); k=0:M-1;fk=k/Tp;

subplot(3,2,6);plot(fk,abs(Xk));title('(a) T*FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);

2、频域采样理论的验证

M=27;N=32;n=0:M; %产生M长三角波序列x(n)

xa=0:floor(M/2); xb= ceil(M/2)-1:-1:0; xn=[xa,xb]; Xk=fft(xn,1024); X32k=fft(xn,32) x32n=ifft(X32k);

24点FFT[x(n)], 用于近似序列x(n)的TF ;2点FFT[x(n)]

2点IFFT[X32(k)]得到x32(n)

X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K) x16n=ifft(X16k,N/2);

点IFFT[X16(k)]得到x16(n)

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

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),'.');box on

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,'.');box on

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),'.');box on

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,'.');box on

title('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])

【设计结果】 信号波形:

【设计分析】

1由图可见,采样序列的频谱的确是以采样频率为周期对模拟信号频谱的周期延拓。当采样频率为1000Hz时频谱混叠很小;当采样频率为300Hz时,在折叠频率150Hz附近频谱混叠很严重;当采样频率为200Hz时,在折叠频率110Hz附近频谱混叠更很严重。

2频域采样定理的图验证了频域采样理论和频域采样定理。对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N=16时, N点IDFT[原序列x(n)以16为周期进行周期延拓后的主值区序列

XN(k)]得到的序列正是

MATLAB结课论文

姓名:郭晶 学号:0967119130 班级:通信一班


基于MATLAB下取样定理的验证(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教室文明策划书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: