作业帮 > 综合 > 作业

① 产生一时域序列信号,长度为N;对其频谱进行采样,取得M个频谱抽样值;

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 17:55:04
① 产生一时域序列信号,长度为N;对其频谱进行采样,取得M个频谱抽样值;
② 动态演示通过M个频谱抽样值恢复时域序列的过程(M根据程序处理需要指定范围),演 示原信号频谱及其抽样值信号,演示时域原始序列及由频谱抽样值恢复的周期延拓时域序列.
③ 动态演示频域采样与时域周期延拓序列主值区域的关系;
matlab怎么进行动态演示
假如我产生了一个 M 长三角波序列 x(n)
往后我怎么编这个代码 才能是动态演示上述过程
频域采样定理演示程序的设计(频域采样时域周期延拓)
目的:① 熟练掌握MATLAB工具软件在工程设计中的使用;
② 熟练掌握频域采样定理在数字信号处理中的重要意义.
要求:① 动态演示频域采样与时域周期延拓现象;
② 动态演示频域采样与时域周期延拓序列主值区域的关系;
③ 说明频域采样点数M不小于时域序列长度N的必要性.
① 产生一时域序列信号,长度为N;对其频谱进行采样,取得M个频谱抽样值;
② 动态演示通过M个频谱抽样值恢复时域序列的过程(M根据程序处理需要指定范围),演 示原信号频谱及其抽样值信号,演示时域原始序列及由频谱抽样值恢复的周期延拓时域序列.
③ 动态演示频域采样与时域周期延拓序列主值区域的关系;
④ 分析说明M大于等于N的必要性.
时域采样理论验证程序exp2a.m
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;
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); %M点FFT[xnt)]
yn='xa(nT)';subplot(3,2,1);
tstem(xnt,yn); %调用自编绘图函数tstem绘制序列图
box on;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('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])
%
% Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz完全相同.

2 频域采样理论的验证程序清单
%频域采样理论验证程序exp2b.m
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); %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,'.');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])