当前位置:首页 > 实验四-离散时间系统的频域分析(附思考题程序)
实验四 离散时间系统的频域分析
1.实验目的
(1)理解和加深傅里叶变换的概念及其性质。
(2)离散时间傅里叶变换(DTFT)的计算和基本性质。 (3)离散傅里叶变换(DFT)的计算和基本性质。 2.实验原理
对离散时间信号进行频域分析,首先要对其进行傅里叶变换,通过得到的频谱函数进行分析。
离散时间傅里叶变换(DTFT,Discrete-time Fourier Transform)是傅立叶变换的一种。它将以离散时间nT(其中,T为采样间隔)作为变量的函数(离散时间信号)f(nT)变换到连续的频域,即产生这个离散时间信号的连续频谱F(e),其频谱是连续周期的。
设连续时间信号f(t)的采样信号为:fsp(t)=¥¥iw?n=-?¥f(nT)d(t-nT),并且其傅里叶变
换为:F{fsp(t)}=ò?-?f(nT)d(t-nT)e-iwtdt。
¥n=-?这就是采样序列f(nT)的DTFT::FDTFT(eiwT)=?n=-?f(nT)e-inwT,为了方便,通常将采
样间隔T归一化,则有:FDTFT(eiw)=?n=-?¥f(n)e-inw,该式即为信号f(n)的离散时间傅
1piwinw里叶变换。其逆变换为:f(n)=F(e)edw。 DTFT2pò-p 离散傅里叶变换(DFT ,Discrete-time Fourier Transform)是对离散周期信号的一种傅里叶变换,对于长度为有限长信号,则相当于对其周期延拓进行变换。在频域上,DFT的离散谱是对DTFT连续谱的等间隔采样。 N-1N-1knTNFDFT(wk)=FDTFT(eiwT)=f(nT)e邋n=0-iwnT|w=2pkN=n=0f(nT)e-i2p 长度为N的有限长信号x(n),其N点离散傅里叶变换为:
X(k)=DFT[x(n)]=x(n)W?n=0N-1knN。
1N-1-knX(k)的离散傅里叶逆变换为:x(n)=IDFT[X(k)]=。 X(k)WN?Nk=0DTFT是对任意序列的傅里叶分析,它的频谱是一个连续函数;而DFT是把有限长序列作为周期序列的一个周期,对有限长序列的傅里叶分析,DFT的特点是无论在时域还是频域
都是有限长序列。 3.实验内容及其步骤
(1)复习傅里叶变换的定义及其性质,加深理解。 (2)熟悉离散时间傅里叶变换的概念及其性质。
参考一:计算离散时间傅里叶变换,并绘制图形。 已知有限长序列x(n)={1,2,3,4,5}。
n=-1:3;x=1:5;k=0:500;w=(pi/500)*k;X=x*(exp(-j*2*pi/500)).^(n'*k); magX=abs(X);angX=angle(X);realX=real(X);imagX=imag(X); subplot(2,2,1);plot(w/pi,magX);grid;
xlabel('');ylabel('模值 ');title('模值部分'); subplot(2,2,2);plot(w/pi,angX);grid;
xlabel('pi为单位');ylabel('弧度');title('相角部分'); subplot(2,2,3);plot(w/pi,realX);grid;
xlabel('');ylabel('实部');title('实部部分'); subplot(2,2,4);plot(w/pi,imagX);grid;
xlabel('pi为单位');ylabel('虚部');title('虚部部分'); 参考二:计算离散时间傅里叶变换。% Evaluation of the DTFT
H(e-iw2+e-iw)=-iw
1+0.6eclf;
% Compute the frequency samples of the DTFT
w = -4*pi:8*pi/511:4*pi; num = [2 1];den = [1 -0.6]; h = freqz(num, den, w); % Plot the DTFT subplot(2,1,1) plot(w/pi,real(h));grid title('Real part of H(e^{j\\omega})')
xlabel('\\omega /\\pi'); ylabel('Amplitude'); subplot(2,1,2) plot(w/pi,imag(h));grid title('Imaginary part of H(e^{j\\omega})')
xlabel('\\omega /\\pi'); ylabel('Amplitude'); pause
subplot(2,1,1) plot(w/pi,abs(h));grid title('Magnitude Spectrum |H(e^{j\\omega})|')
xlabel('\\omega /\\pi'); ylabel('Amplitude'); subplot(2,1,2) plot(w/pi,angle(h));grid title('Phase Spectrum arg[H(e^{j\\omega})]')
xlabel('\\omega /\\pi'); ylabel('Phase in radians'); (3)熟悉离散傅里叶变换的概念及其性质
参考一:x(n)=sin(n*pi/8)+sin(n*pi/4)是一个N=16的序列,计算其傅里叶变换。 N=16;n=0:N-1;xn=sin(n*pi/8)+sin(n*pi/4);k=0:1:N-1;
WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk; subplot(2,1,1);stem(n,xn);subplot(2,1,2);stem(k,abs(Xk));
参考二:计算x(n)=8*(0.4).^n,n属于[0,20)的圆周移位xm(n)=x[(n+10)]20R20(n)。 N=20;m=10;n=0:1:N-1;x=8*(0.4).^n;
n1=mod((n+m),N);xm=x(n1+1);subplot(2,1,1);stem(n,x); title('original sequence');xlabel('n');ylabel('x(n)'); subplot(2,1,2);stem(n,xm);
title('circular shift equence');xlabel('n');ylabel('x((n+10))mod 20'); 4.实验用MATLAB函数介绍
在实验过程中,MATLAB函数命令plot, figure, stem, subplot, axis, grid on, xlabel, ylabel, title, clc, mod, freqz等在不同的情况下具体表述也有所不同,应该在实验中仔细体会其不同的含义。 5.思考题
(1)理解离散时间系统的频域分析,掌握和加深对傅立叶变换及其性质的理解。 (2)计算一个N=12的序列x(n)=cos(n*pi/6)的离散时间傅里叶变换。 >> N=12; n=0:N-1; k=0:1:N-1; >> x=cos(n*pi/6);
>> X=x*(exp(-j*2*pi/N)).^(n'*k);
>> subplot(2,1,1);stem(n,x);legend('x[n]');
>> subplot(2,1,2);stem(n,abs(X));legend('X[k]');
(3) 求x1(n)=(0.8).^n,其中n属于[0,10]与x2(n)=(0.6).^n,并且n属于[0,18]的圆周卷积(N=20)。先构造一个计算圆周卷积的函数进行计算。 function y=circonv(x1,x2,N) if length(x1)>N
error('N should bigger than or equal to the length of x1!'); end
if length(x2)>N
error('N should bigger than or equal to the length of x2!'); end
x1=[x1,zeros(1,N-length(x1))]; x2=[x2,zeros(1,N-length(x2))]; m=0:1:N-1; H=zeros(N,N);
for n=1:1:N
H(n,:)=cirshift(x2,n-1,N); end
y=x1*H';
function y=cirshift(x,m,N) if length(x)>N
error('N should bigger than or equal to the length of x!'); end
x=[x zeros(1,N-length(x))]; n=0:1:N-1; n=mod(n-m,N); y=x(n+1);
>> n1=0:10;x1=(0.8).^n1; >> n2=0:18;x2=(0.6).^n2; >> N=20;
>> y=circonv(x1,x2,N);
>> subplot(3,1,1);stem(n1,x1);legend('x1(n)'); >> subplot(3,1,2);stem(n2,x2);legend('x2(n)'); >> subplot(3,1,3);stem(0:N-1,y);legend('y(n)');
6.实验报告要求
(1)明确实验目的以及实验的原理。
(2)通过实验内容分析离散时间信号的性质。
(3)完成思考题的内容,对实验结果及其波形图进行分析对比,总结主要结论。
共分享92篇相关文档