哈尔滨工程大学数字信号处理实验二.
数字信号处理_实验报告__实验二_应用快速傅立叶变换对信号进行频谱分析

数字信号处理_实验报告__实验⼆_应⽤快速傅⽴叶变换对信号进⾏频谱分析数字信号处理实验报告实验⼆应⽤快速傅⽴叶变换对信号进⾏频谱分析2011年12⽉7⽇⼀、实验⽬的1、通过本实验,进⼀步加深对DFT 算法原理合基本性质的理解,熟悉FFT 算法原理和FFT ⼦程序的应⽤。
2、掌握应⽤FFT 对信号进⾏频谱分析的⽅法。
3、通过本实验进⼀步掌握频域采样定理。
4、了解应⽤FFT 进⾏信号频谱分析过程中可能出现的问题,以便在实际中正确应⽤FFT 。
⼆、实验原理与⽅法1、⼀个连续时间信号)(t x a 的频谱可以⽤它的傅⽴叶变换表⽰()()j t a a X j x t e dt +∞-Ω-∞Ω=?2、对信号进⾏理想采样,得到采样序列()()a x n x nT =3、以T 为采样周期,对)(n x 进⾏Z 变换()()n X z x n z +∞--∞=∑4、当ωj ez =时,得到序列傅⽴叶变换SFT()()j j n X e x n e ωω+∞--∞=∑5、ω为数字⾓频率sT F ωΩ=Ω=6、已经知道:12()[()]j a m X e X j T T Tωπ+∞-∞=-∑ ( 2-6 ) 7、序列的频谱是原模拟信号的周期延拓,即可以通过分析序列的频谱,得到相应连续信号的频谱。
(信号为有限带宽,采样满⾜Nyquist 定理)8、⽆线长序列可以⽤有限长序列来逼近,对于有限长序列可以使⽤离散傅⽴叶变换(DFT )。
可以很好的反映序列的频域特性,且易于快速算法在计算机上实现。
当序列()x n 的长度为N 时,它的离散傅⾥叶变换为:1()[()]()N kn N n X k DFT x n x n W -===∑其中2jNN W eπ-=,它的反变换定义为:11()[()]()N kn Nk x n IDFT X k X k WN--===∑⽐较Z 变换式 ( 2-3 ) 和DFT 式 ( 2-7 ),令kN z W -=则1()()[()]|kNN nkN N Z W X z x n W DFT x n ---====∑ 因此有()()|kNz W X k X z -==kN W -是Z 平⾯单位圆上幅⾓为2k的点,也即是将单位圆N 等分后的第k 点。
数字信号处理第二版(实验二) 信号的采样与重建

实验二信号的采样与重建一,实验目的(1)通过观察采样信号的混叠现象,进一步理解奈奎斯特采样频率的意义。
(2)通过实验,了解数字信号采样转换过程中的频率特征。
(3)对实际的音频文件作内插和抽取操作,体会低通滤波器在内插和抽取中的作用。
二,实验内容(1)采样混叠,对一个模拟信号Va(t)进行等间采样,采样频率为200HZ,得到离散时间信号V(n).Va(t)由频率为30Hz,150Hz,170Hz,250Hz,330Hz的5个正弦信号的加权和构成。
Va(t)=6cos(60pi*t)+3sin(300pi*t)+2cos(340pi*t)+4cos(500pi*t )+10sin(660pi*t)观察采样后信号的混叠效应。
程序:clear,close all,t=0:0.1:20;Ts=1/2;n=0:Ts:20;V=8*cos(0.3*pi*t)+5*cos(0.5*pi*t+0.6435)-10*sin(0.7*pi*t);Vn=8*cos(0.3*pi*n)+5*cos(0.5*pi*n+0.6435)-10*sin(0.7*pi*n);subplot(221)plot(t,V),grid on,subplot(222)stem(n,Vn,'.'),gridon,05101520-40-200204005101520-40-2002040(2)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,N=100,按因子M=2作抽取:(1)不适用低通滤波器;(2)使用低通滤波器。
分别显示输入输出序列在时域和频域中的特性。
程序:clear;N=100; M=2;f1=0.043; f2=0.31; n=0:N-1;x=sin(2*pi*f1*n)+sin(2*pi*f2*n); y1=x(1:2:100);y2=decimate(x,M,'fir'); figure(1);stem(n,x(1:N));title('input sequence'); xlabel('n');ylabel('fudu'); figure(2); n=0:N/2-1; stem(n,y1);title('output sequence without LP'); xlabel('n');ylabel('fudu'); figure(3); m=0:N/M-1;stem(m,y2(1:N/M));title('output sequence with LP'); xlabel('n');ylabel('fudu'); figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the input sequence'); xlabel('w');ylabel('fudu'); figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the output sequence without LP'); xlabel('w');ylabel('fudu'); figure(6);[h,w]=freqz(y2);plot(w(1:512),abs(h(1:512)));title('frequency spectrum of the output sequence without LP'); xlabel('w');ylabel('fudu');0102030405060708090100-2-1.5-1-0.500.511.52input sequencenf u d u05101520253035404550-2-1.5-1-0.500.511.52output sequence without LPnf u d u05101520253035404550-1.5-1-0.50.511.5output sequence with LPnf u d u0.511.522.533.505101520253035404550frequency spectrum of the input sequencewf u d u00.51 1.52 2.53 3.551015202530frequency spectrum of the output sequence without LPwf u d u00.51 1.52 2.53 3.5510152025frequency spectrum of the output sequence without LPwf u d u(3)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,长度N=50,内插因子为2.(1)不适用低通滤波器;(2)使用低通滤波器。
数字信号处理实验报告(二)

数字信号处理第二次实验报告学院:信息工程学院班级:2012级电子信息工程*班姓名:学号:20125507**指导老师:实验四:IIR数字滤波器设计及软件实现一、实验目的1、熟悉双线性变换设计IIR滤波器的原理与方法2、掌握IIR滤波器的MATLAB实现方法二、实验原理简述IIR数字滤波器间接法基本设计过程:1、将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;2、设计过渡模拟滤波器;3、将过渡模拟滤波器系统函数转换成数字滤波器的系统函数三、程序与图形1、%-----------------信号产生函数mstg---------------function st=mstg %功能函数的写法%产生信号序列向量st,并显示st的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 %N为信号st的长度。
Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz,Tp为采样时间t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号的载波频率fc1=1000Hz,fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号的载波频率fc2=500Hzfm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号的载波频率fc3=250Hz,fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路调幅信号相加fxt=fft(st,N); %计算信号st的频谱%-------绘制st的时域波形和幅频特性曲线-----subplot(2,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形')subplot(2,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱') axis([0,Fs/5,0,1.2]);xlabel('f/Hz');ylabel('幅度')-10123t/ss (t )(b) s(t)的频谱f/Hz幅度2、%-------实验4-2--------- clear all;close allFs=10000;T=1/Fs; %采样频率%调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号st st=mstg;fp=280;fs=450; %下面wp,ws,为fp,fs 的归一化值范围为0-1wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF 指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord 计算椭圆DF 阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %调用ellip 计算椭圆带通DF 系统函数系数向量B 和A[h,w]= freqz(B,A);y1t=filter(B,A,st); %滤波器软件实现 figure(2);subplot(2,1,1); plot(w,20*log10(abs(h))); axis([0,1,-80,0]) subplot(2,1,2);t=0:T:(length(y1t)-1)*T; plot(t,y1t);%axis([0,1,-80,0])-10123t/ss (t )(b) s(t)的频谱f/Hz幅度-80-60-40-20000.020.040.060.080.10.120.140.16-1-0.500.511.53、%-------实验4-3---------fpl=440;fpu=560;fsl=275;fsu=900;wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord 计算椭圆DF 阶数N 和通带截止频率wp[B,A]=ellip(N,rp,rs,wp); %调用ellip 计算椭圆带通DF 系统函数系数向量B 和A[h,w]= freqz(B,A); y2t=filter(B,A,st);figure(3);subplot(2,1,1);plot(w,20*log10(abs(h))); axis([0,1,-80,0]) subplot(2,1,2);t=0:T:(length(y2t)-1)*T; plot(t,y2t);00.20.40.60.81-80-60-40-20000.020.040.060.080.10.120.140.16-2-10124、%-------实验4-4--------- fp=900;fs=550;wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF 指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs);%调用ellipord 算椭圆DF 阶数N 通带截止频率 [B,A]=ellip(N,rp,rs,wp,'high'); %调用ellip 计算椭圆带通DF 系统函数系数向量B 和A[h,w]= freqz(B,A); y3t=filter(B,A,st);figure(4);subplot(2,1,1); plot(w,20*log10(abs(h))); axis([0,1,-80,0]) subplot(2,1,2);t=0:T:(length(y3t)-1)*T; plot(t,y3t);-80-60-40-20000.020.040.060.080.10.120.140.16-2-1012四、实验结果分析由图可见,三个分离滤波器指标参数选取正确,损耗函数曲线达到所给指标。
哈工程数字信号处理实验二

实验二离散时间傅立叶变换一:实验原理经由正、负离散时间傅立叶变换表达式是信号分析的一个关键部分。
当LTI系统用于滤波的时候,作为冲激响应离散时间傅立叶的频率响应,提供了LTI系统间接的描述。
离散时间傅立叶变换X()是w的周期复值函数,周期总是2π,并且基周期通常选在区间[-π,π]上。
对离散时间傅立叶变换DTFT来说有两个问题:1.DTFT的定义对无限长信号是有效的。
2.DTFT是连续变量w的函数在MATLAB中,任何信号(向量)必须是有限长度的,所以DTFT 无法用MATLAB直接计算。
当能从变换定义式推导出解析式并计算它时,可以用MATLAB计算。
第二个问题是频率抽样问题。
MATLAB 擅长在有线网络点上计算DTFT,通常选足够多的频率以使绘出的图平滑,逼近真实的DTFT。
二:实验内容1.矩形信号的DTFT设矩形脉冲r[n]由下式定义。
(3.12)A.证明r[n]的DTFT可由式(3.13)得出B.使用DTFT函数计算12点脉冲信号的DTFT。
绘出在区间上对w的DTFT。
把实部和虚部分开绘出,但是注意这些图不是很有用。
另绘出DTFT的幅度。
绘图时,注意要正确地标注频率坐标轴的变量。
C.注意asinc函数零点的位置是规律分布的。
对奇数长脉冲,比如L=15的脉冲重复进行DTFT计算并绘出幅度;同样再次检验零点位置,注意峰值高度。
D.对asinc函数零点的间距与ASINC函数的直流值,确定出通用规则。
4.指数信号对于信号x[n], 使用freqz函数计算其DTFT X(eⁿ)。
A..对w在区间-π<=w<π上绘出幅度与相位特性。
这需要从freqz返回的[X,W] 向量的移位。
解释为什么幅度特性是w的偶函数,而相位特性是w的奇函数。
B.推算一阶系统的幅度特性与相位特性的表达式。
C.直接以这些表达式来计算幅度特性和相位特性,并与用freqz函数计算出的结果相对比。
三.实验程序1.脉冲信号的DTFTA.format compact,subplot(111)L=10;a=ones(1,L);n=0:(L-1); xn=a.^n;[X,W]=dtft(xn,128);subplot(211),plot(W/2/pi,abs(X));grid,title('Test2_1_a_1');xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|') subplot(212),plot(W/2/pi,180/pi*angle(X));gridxlabel('NORMALZEDFREQUENCY'),ylabel('DEGEREES')title('Test2_1_a_2')B.format compact,subplot(111)L=12;a=ones(1,L);n=0:(L-1); xn=a.^n;[X,W]=dtft(xn,128);subplot(311),plot(W/2/pi,real(X),'b');grid,title('Test2_1_b_1');xlabel('NORMALIZEDFREQUENCY/w'),ylabel('REAL(X)')subplot(312),plot(W/2/pi,imag(X),'b');grid,title('Test2_1_b_2');xlabel('NORMALIZEDFREQUENCY/w'),ylabel('IMAG(X)')subplot(313),plot(W/2/pi,abs(X));grid,title('Test2_1_a_1');xlabel('NORMALIZED FREQUENCY/w'),ylabel('|H(w)|')C.format compact,subplot(111)L=15;a=ones(1,L);n=0:(L-1); xn=a.^n;[X,W]=dtft(xn,128);subplot(111),plot(W/2/pi,abs(X));grid,title('Test2_1_c_1');xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|')D.4.指数信号A.B.C.四.结果分析1.脉冲信号的DTFTA.由dtft函数计算出r[n]的dtft如下图,与标准sinc函数图象一致,故证明得证。
哈工程数字信号处理2013版 实验二 离散时间傅里叶变换汇编

实验二 离散时间傅里叶变换一.实验目的1.离散时间傅里叶变换应该如何建立函数和应用2.学习一些新函数如fftshift (),ceil(),fix()以及asinc()是如何使用的二.实验原理1、经由正、逆离散时间傅里叶变换表达的信号傅里叶表示式是信号分析的一个关键部分。
X(ωj e )=∑∞-∞=-n ][x n j en ω(3.9) ωωωd e )e (21][x n j j ⎰-=πππX n (3.10) 类似地,当LTI 系统用于滤波时,作为冲击响应离散时间傅里叶变换的频率响应,提供了LTI 系统简介的描述。
离散时间傅里叶变换X(ωj e )是ω的周期复值函数,周期总是2π,并且基周期通常选在区间[-π,π)上。
对离散时间傅里叶变换DTFT 来说有两个问题:① DTFT 的定义对无限长信号是有效的。
② DTFT 是连续变量ω的函数。
在MA TLAB 中,任何信号(向量)必须是有限长度的,仅此就是第一点成为问题。
因此,不可能使用MATLAB 计算无限长信号的DTFT 。
有一个值得注意的例外情形,当能从变换定义式推导出解析式并只是计算它时,可以使用MA TLAB 计算无限长信号的DTFT 。
2、对于频率抽样问题。
MATLAB 擅长在有限网格点上计算DTFT 。
通常选择足够多的频率以使绘出的图平滑,逼近真实的DTFT 。
对计算有利的最好选择是在(-π,π)区间上一组均匀地隔开的频率,或者对共轭对称变换选择[0,π]区间。
采用上述抽样办法,DTFT 式变成X(ωj e )=1...2,1,0,][)(10)/2(/2-==∑-=-N k e n x e X L n n N k j N k j ππDTFT 的周期性意味着在-π≤ω<0区间上的数值是那些对k>N/2的数值。
因为上市是在有限数量的频率点k ω=2πk/N 处计算,并在有限范围内求和,因此它是可计算的。
由于信号长度必须是有限的(0≤n<L ),这个求和式不适用于x[n]=na u[n]的情形。
数字信号处理-实验二-FFT频谱分析

实验三:用FFT对信号作频谱分析10.3.1实验指导1.实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。
2.实验原理用FFT对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D和分析误差。
频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2 /N,因此要求2 /N D。
可以根据此式选择FFT的变换区间N。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3•实验步骤及内容(1)对以下序列进行谱分析。
X1 (n) RHn)n 1, 0 n 3X2 (n) 8 n, 4 n 70 ,其它n4 n, 0 n 3X3( n) n 3, 4 n 70, 其它n选择FFT的变换区间N为8和16两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
x4(n) cos—n44x5(n) cos( n/4) cos( n/8)选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析x6(t) cos8 t cos16 t cos20 t选择采样频率F s 64Hz ,变换区间N=16,32,64 三种情况进行谱分析。
数字信号处理实验报告一二

数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: 式中()p t 为周期冲激脉冲,()a x t 为()a x t 的理想采样。
()a x t 的傅里叶变换为()a X j Ω:上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。
也即采样信号的频谱()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。
因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号ˆ()()()a a xt x t p t =1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑()()n P t t nT δ∞=-∞=-∑计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。
(完整版)数字信号处理实验二

y = filter(num,den,x,ic);
yt = a*y1 + b*y2;
d = y - yt;
subplot(3,1,1)
stem(n,y);
ylabel('振幅');
title('加权输入: a \cdot x_{1}[n] + b \cdot x_{2}[n]的输出');
subplot(3,1,2)
%扫频信号通过2.1系统:
clf;
n = 0:100;
s1 = cos(2*pi*0.05*n);
s2 = cos(2*pi*0.47*n);
a = pi/2/100;
b = 0;
arg = a*n.*n + b*n;
x = cos(arg);
M = input('滤波器所需的长度=');
num = ones(1,M);
三、实验器材及软件
1.微型计算机1台
2. MATLAB 7.0软件
四、实验原理
1.三点平滑滤波器是一个线性时不变的有限冲激响应系统,将输出延时一个抽样周期,可得到三点平滑滤波器的因果表达式,生成的滤波器表示为
归纳上式可得
此式表示了一个因果M点平滑FIR滤波器。
2.对线性离散时间系统,若y1[n]和y2[n]分别是输入序列x1[n]和x2[n]的响应,则输入
plot(n, y);
axis([0, 100, -2, 2]);
xlabel('时间序号 n'); ylabel('振幅');
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告课程名称实验项目名称实验类型实验学时班级学号姓名指导教师实验室名称实验时间实验成绩预习部分实验过程表现实验报告部分总成绩教师签字日期实验二 离散时间傅立叶变换 实验报告一、实验原理1、经由正、逆离散时间傅里叶变换表达的信号傅里叶表达式是信号分析的一个关键部分,下面方程分别是分析方程和综合方程。
X(ωj e)=∑∞-∞=-n ][x nj en ωωωωd e )e (21][x nj j ⎰-=πππX n 类似地,当LTI 系统用于滤波时,作为冲击响应离散时间傅里叶变换的频率响应,提供了LTI 系统简介的描述。
离散时间傅里叶变换X(ωj e)是ω的周期复值函数,周期总是2π,并且基周期通常选在区间[-π,π)上。
对离散时间傅里叶变换DTFT 来说有两个问题:第一个问题是:DTFT 的定义对无限长信号是有效的 第二个问题是:DTFT 是连续变量ω的函数在MA TLAB 中,任何信号必须是有限长度的,这就使第一点成为问题。
因此,不可能使用MA TLAB 计算无限长信号的DTFT 。
有一个值得注意的例外情形,当能从变换定义式推导出解析式并只是计算它时,可以使用MATLAB 计算无限长信号的DTFT 。
例如在x[n]=na u[n],x[n]具有有理的DTFT 的情形下。
2、第二个问题是频率抽样问题。
MA TLAB 擅长在有限网格点上计算DTFT 。
通常选择足够多的频率以使绘出的图平滑,逼近真实的DTFT 。
对计算有利的最好选择是在(-π,π)区间上一组均匀地隔开的频率,或者对共轭对称变换选择[0,π]区间。
采用上述抽样办法,DTFT 式变成X(ωj e)=1...2,1,0,][)(1)/2(/2-==∑-=-N k e n x eX L n n N k j Nk j ππ(3.11)DTFT 的周期性意味着在-π≤ω<0区间上的数值是那些对k>N/2的数值。
因为上式是在有限数量的频率点k ω=2πk/N 处计算,并在有限范围内求和,因此它是可计算的。
由于信号长度必须是有限的(0≤n<L ),这个求和式不适用于x[n]=na u[n]的情形。
在对DTFT 进行抽样时,并不要求N=L ,尽管通常经由DFT 进行计算(使用FFT算法)时,如果N=L 很便利。
的确,在使用N 点DFT 时,如果N>L ,只须想像x[n]是增补零的即可;如果N<L ,会较复杂。
这种情形下,在正确应用FFT 计算N 点DFT 前,需要对x[n]进行时间混叠,因此此时应确保总是比远处是时间序列(即N>=L )点数多得多的频率处来计算DTFT 。
3、计算DTFT 需要两个函数,MA TLAB 的freqz 函数计算无限长信号,dtft (h ,H )函数计算有限长信号的DTFT 。
二:实验内容实验内容包括脉冲信号的DTFT ,asinc 的M 文件,无限长信号的DTFT ,指数信号,复指数信号这五个部分。
1. 脉冲信号的DTFTa 、已知矩形脉冲r[n]的定义式为在0≤n<L 上r[n]=1,n 为其余值时,r[n]均为0。
将r[n]代入DTFT 的分析方程X(ωj e)=∑∞-∞=-n ][x nj en ω中,计算化简后可得:2/)1(*)}2/sin(/)2/{sin()(--=L jw jw e w wl e R 。
b 、建立DTFT 函数(.M 文件) 实验程序清单1:function[A,B]=dtft(h,N)%DTFT calculate DTFT at N equally spaced frequencies %Usage:%[A,B]=dtft(h,N)%h:finite-length input vector,whose length is L %N:number of frequencies for evaluation over [-pi,pi) %==>constraint:N>=L %H:DTFT values(complex)%W:(2nd output)vector of freqs where DTFT is computed %N=fix(N);L=length(h); h=h(:); %<--for vectors ONLY!!! if(N<L)error('DTFT: # data samples cannot exceed # freq samples') endB=(2*pi/N)*[0:(N-1)]'; mid=ceil(N/2)+1;B(mid:N)=B(mid:N)-2*pi;%move[pi,2pi)to[-pi,0) B=fftshift(B);A=fftshift(fft(h,N));%move negative freq components实验程序清单2:(当w=80时)h=ones(1,12);[A,B]=dtft(h,80); %w=80时subplot(311),plot(B,real(A)); %把绘图窗口分成三行一列三个子图,然后在第一块区域作图 xlabel('B'),ylabel('A,real part'); %以B 为横轴,A 的实部为纵轴subplot(312),plot(B,imag(A)); %把绘图窗口分成三行一列三个子图,然后在第二块区域作图 xlabel('B'),ylabel('A,imag part'); %以B 为横轴,A 的虚部为纵轴subplot(313),plot(B,abs(A)); %把绘图窗口分成三行一列三个子图,然后在第三块区域作图 xlabel('B'),ylabel('A amplitude'); %以B 为横轴,A 的幅值为纵轴实验仿真图:-4-3-2-101234-1001020BA ,r e a l p a r t-4-3-2-101234-10010BA ,i m a g p a r t-4-3-2-101234051015BA a m p l i t u d e实验程序清单3:(当w=100时) h=ones(1,12);[A,B]=dtft(h,100); %w=100时 subplot(311),plot(B,real(A)); xlabel('B'),ylabel('A,real part'); subplot(312),plot(B,imag(A)); xlabel('B'),ylabel('A,imag part'); subplot(313),plot(B,abs(A)); xlabel('B'),ylabel('A amplitude'); 实验仿真图:-4-3-2-101234-1001020BA ,r e a l p a r t-4-3-2-101234-10010BA ,i m a g p a r t-4-3-2-101234051015BA a m p l i t u d e实验程序清单4:(当w=120时) h=ones(1,12);[A,B]=dtft(h,120); %w=120时 subplot(311),plot(B,real(A)); xlabel('B'),ylabel('A,real part'); subplot(312),plot(B,imag(A)); xlabel('B'),ylabel('A,imag part'); subplot(313),plot(B,abs(A)); xlabel('B'),ylabel('A amplitude');实验仿真图:-4-3-2-101234-1001020BA ,r e a l p a r t-4-3-2-101234-10010BA ,i m a g p a r t-4-3-2-101234051015BA a m p l i t u d e实验结果分析:由以上三组不同频率(w=80,w=100,w=120)的仿真图形可知,当w 越大,取的点数越多时,绘制的图形越来越平滑。
c 、注意asinc 函数零点的位置是规则分布的。
对奇数长脉冲,比如L=15的脉冲重复进行DTFT 计算并绘出幅度;同样再次检验零点位置,注意峰值高度。
实验程序清单: n=0:14;h=ones(1,15);[X,W]=dtft(h,150);subplot(211),plot(W,abs(X)); %把绘图窗口分成二行一列二个子图,然后在第一块区域作图grid; %图层为网格xlabel('W'),ylabel('|X(w)|'); %X 轴为w ,Y 轴为X(w)幅值 [H,X]=dtft(X,150);subplot(212),plot(X,abs(H)); %把绘图窗口分成二行一列二个子图,然后在第二块区域 作图 grid;xlabel('X'),ylabel('|H(w)|');%X 轴为X ,Y 轴为H(w)幅值实验仿真图:-4-3-2-101234051015W|X (w )|-4-3-2-11234050100150X|H (w )|实验结果分析:由仿真结果可以看出函数零点关于x=0对称。
在对称轴处幅值最大,离对称轴越远,幅值逐渐减小。
d 、对asinc 函数零点的间距与asinc 函数的直流值,确定出通用规则。
零点间距为π/6,由数学推导:在a 部分中,当L=12时,由R(ωj e)=0可得sin(wL/2)=0,即wL/2=k* π 则w=k*π/6。
故得出以上结论。
在实验a 部分的仿真图中,可观察到幅值高度为12。
则零点间距*幅值=(π/6)*12=2*π。
2、asinc 的M 文件编写一个MATLAB 的函数如asinc(w,L),直接从混叠函数表达式中计算在频率格上的asinc(w,L)。
该函数应该有两个输入:唱的L 和频率w 的向量。
函数必须检查被零除的情况,如w=0时。
直接计算混叠sinc 函数得到脉冲信号的DTFT 。
绘出幅度,保存该图以便将其与用dtft 得到的结果进行比较。
function [H,W]=asinc(w,L) %定义asinc 函数 N=fix(L); if (N<0)error('Please input a positive integer.(L>0)'); end%if(sin(w/2)=0) %endW=(2*pi/N)*[0:(N-1)]'; H=sin(w*N/2)/sin(w/2);3、指数信号对于信号x[n]=(0.9)^n*u[n],使用freqz 函数计算其DTFT X(ωj e )。