实验三离散傅里叶变换
实验离散时间傅里叶变换和离散傅里叶变换
![实验离散时间傅里叶变换和离散傅里叶变换](https://img.taocdn.com/s3/m/81ea932633d4b14e84246853.png)
实验二离散时间傅里叶变换和离散傅里叶变换一.实验目的1. 深刻理解离散时间信号傅里叶变换的定义,与连续傅里叶变换之间的关系;2. 深刻理解序列频谱的性质(连续的、周期的等) ;3. 能用MATLAB编程实现序列的DTFT,并能显示频谱幅频、相频曲线;4. 深刻理解DFT的定义、DFT谱的物理意义、DFT与DTFT之间的关系;5. 能用MATLAB编程实现有限长序列的DFT ;6. 熟悉循环卷积的过程,能用MATLAB编程实现循环卷积运算。
二.实验原理1. 离散时间信号的频谱和图示化2. 离散傅里叶变换的定义和图示化三.实验结果w=[0:2:500]*pi*2/500;h=(1+0.9*exp(-j*w))./(1-0.9*exp(-j*w));magh=abs(h);plot(w/pi,magh);grid;xlabel( 'f' );ylabel( '|H(w)|' );n=[0:127];m=[0:127];x=exp(j*2*pi/128*m.* n);[xk]=dft(x,128);n=[0:127];m=[0:127];x=cos(2*pi/128*m.* n);[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');« 0n=[0:127];m=[0:127]; [xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');n=[0:127];m=[0,127];x=s in(n);[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');fC. ------------------------ ----------- ------------- ------------ ------------ ------------ -------------40 - -■3D ・-2D =-1D I- ii j | i■西k -____ g , ,上,___________注X] Sfl EC IDO 120 '40n=[0:127];m=[0:127];x=cos( n);[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');n=[0:127];m=[0:127];x=n;[xk]=dft(x,128);stem( n,xk);xlabel( 'n' );ylabel( 'xk');n=[0:9];x1=[1,1,1,1,1,0,0,0,0,0];x2=[1,1,1,1,1,-1,-1,-1,-1,-1];[y]=circ on vt(x1,x2,10);stem( n,y);xlabel( 'n' );ylabel( 'y');。
离散傅立叶变换DFT实验报告
![离散傅立叶变换DFT实验报告](https://img.taocdn.com/s3/m/8b36be09b9d528ea80c7790f.png)
实验一 离散时间系统的时域分析一、实验目的1. 运用MATLAB 仿真一些简单的离散时间系统,并研究它们的时域特性。
2. 运用MATLAB 中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:∑=∑=-=-M k k N k k k n x p k n y d 00][][当输入信号为冲激信号时,系统的输出记为系统单位冲激响应 ][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][ 当h[n]是有限长度的(n :[0,M])时,称系统为FIR 系统;反之,称系统为IIR 系统。
在MA TLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。
例1clf;n=0:40;a=1;b=2;x1= 0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=[1, 0.5,3];den=[2 -3 0.1];ic=[0 0]; %设置零初始条件y1=filter(num,den,x1,ic); %计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic); %计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic); %计算输入为x (n)时的输出y(n)yt= a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y);ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘加权输出a*y1+b*y2’);(一)、线性和非线性系统对线性离散时间系统,若)(1n y 和)(2n y 分别是输入序列)(1n x 和)(2n x 的响应,则输入)()()(21n bx n ax n x +=的输出响应为)()()(21n by n ay n y +=,即符合叠加性,其中对任意常量a 和b 以及任意输入)(1n x 和)(2n x 都成立,否则为非线性系统。
离散傅里叶变换及其应用
![离散傅里叶变换及其应用](https://img.taocdn.com/s3/m/39e20c59e55c3b3567ec102de2bd960590c6d9f0.png)
离散傅⾥叶变换及其应⽤实验三离散傅⽴叶变换及其应⽤⼀、实验⽬的:1.进⼀步加深DFT 算法的原理和基本性质的理解;2.学习⽤FFT 对信号进⾏谱分析的⽅法,并分析其误差及其原因;3.学习利⽤DFT 计算程序计算IDFT 的⽅法。
⼆、实验原理:1.N 点序列的DFT 和IDFT 变换定义式如下:km N N k W k x m X ∑-==10][][, km N N m W m X N k x --=∑=10][1][ 利⽤旋转因⼦km N W 具有周期性,可以得到快速算法(FFT )。
在MATLAB 中,可以⽤函数X=fft(x) %计算N 点的DFT ,N 为序列x[k]的长度,即N=length (x ); X=fft (x ,N )%计算序列x[k]的N 点DFT ;x=ifft (X ) %计算N 点的IDFT ,N 为序列x[m]的长度;x=ifft (X ,N )%计算序列x[m]的N 点IDFT ;2. impz 函数是求解离散系统单位脉冲响应,并绘制其时域波形,其调⽤格式为:impz(b,a)3.MATLAB 计算循环卷积函数的调⽤格式:y=circonv(x,h)4.求有限长序列的DTFT ,并画出它的幅度谱,相位谱,实部和虚部。
三、实验内容1.假设现含有3种频率成分,Hz f 201=,Hz f 5.202=,Hz f 403=, )2sin()2sin()2sin()(321t f t f t f t x πππ++=,取采样频率Hz f s 100=对)(t x 进⾏等间隔采样得)(k x ,对)(k x 加长度为128的矩形窗进⾏截断得有限长序列)(1k x ,对)(1k x 做128点的DFT ,画出原信号此时的频谱图,然后对)(1k x 做512的DFT ,画出原信号此时的频谱图,分析两副图的特点,总结实验中的主要结论。
2.若)(k x 加矩形窗的长度为512,并作512点的DFT ,画出原信号的此时的频谱图,对⽐(1)的结果,分析其结论。
离散傅里叶变换及FFT应用实验三
![离散傅里叶变换及FFT应用实验三](https://img.taocdn.com/s3/m/21def710bdd126fff705cc1755270722192e59d2.png)
离散傅里叶变换及FFT 应用实验一、实验目的1、掌握离散时间傅立叶变换(DTFT )的计算方法和编程技术。
2、掌握离散傅立叶变换(DFT )的计算方法和编程技术。
3、理解离散傅立叶变换(DFT )的性质并用MATLAB 进行验证。
4、理解用FFT 对周期序列进行频谱分析时所面临的问题并掌握其解决方法。
5、掌握用时域窗函数加权处理的技术。
6、理解用FFT 对非周期信号进行频谱分析所面临的问题并掌握其解决方法。
二、实验器材MATLAB 软件。
三、实验原理1、离散时间傅立叶变换如果序列x(n)满足绝对可和的条件,即∞<∑∞-∞=n n x |)(|,则其离散时间傅立叶变换定义为:∑∞-∞=-==n nj j en x n x F e X ωω)()]([)(如果x(n)是无限长的,则不能直接用MATLAB 由x(n)计算X(ej ω),但可以用它来估计X(ej ω)表达式在[0,π]频率区间的值并绘制它的幅频和相频(或实部和虚部)曲线。
如果x(n)是有限长的,则可以用MATLAB 对任意频率ω处的X(ej ω)进行数值计算。
如果要在[0,π]间按等间隔频点估计X(ej ω),则(1)式可以用矩阵-向量相乘的运算来实现。
假设序列x(n)在N n n n ≤≤1(即不一定在[0, N-1])有N 个样本,要估计下列各点上的X(ej ω):Mk k Mk ...,2,1,0==, πω它们是[0,π]之间的(M+1)个等间隔频点,则(1)式可写成:Mk n x ee X Nl l kn Mjj l...,2,1,0)()(1==∑=-, πω将{x(nl)}和{X(ej ωk)}分别排列成向量x 和X ,则有:X=Wx 其中W 是一个(M+1)×N 维矩阵:⎭⎬⎫⎩⎨⎧=≤≤=-M k n n n e N kn M j ...,2,1,0;1, πW将{k}和{n}排成列向量,则⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=n k W T M j πexp 在MATLAB 中,把序列和下标排成行向量,对(3)式取转置得:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-=k n x X T T T M j πexp 其中nTk 是一个N ×(M+1)维矩阵。
离散傅立叶变换的性质及应用实验
![离散傅立叶变换的性质及应用实验](https://img.taocdn.com/s3/m/5c67a80b763231126edb11a9.png)
离散傅立叶变换的性质及应用实验实验目的 1.了解DFT性质及应用。
2.熟悉MATLAB编程的特点。
实验要求能够用MATLAB来进行数字信号的处理。
实验原理 1、DFT变换正变换:反变换:2、序列卷积设序列的长度为N,序列的长度为M。
则分别对两个序列作点的DFT得到和,则两序列的线性卷积等于。
即时域卷积频域为相乘关系。
实验仪器计算机一台;MATLAB软件实验步骤 1、用三种不同的DFT程序计算的傅立叶变换,并比较三种程序计算机的运行时间。
(1)编制用for循环语句的M函数文件dft1.m,用循环变量逐点计算;(2)编写用MATLAB矩阵运算的M函数文件dft2.m,完成下列矩阵运算:(3)调用FFT库函数,直接计算 ;(4)分别利用上述三种不同方式编写的DFT程序计算序列的傅立叶变换,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。
2、利用DFT 实现两序列的卷积运算,并研究DFT点数与混叠的关系。
用FFT和IFFT分别求线性卷积和混叠结果输出,并用函数stem(n,y)画出相应图形。
选择不同的DFT点数进行对比,观察其混叠效应。
3、研究高密度频谱与高分辨率频谱设有连续信号以采样频率对该信号采样,分析下列三种情况的幅频特性。
(1)采集数据长度点,做点的DFT,并画出幅频特性。
(2)采集数据长度点,补零到256点的DFT,并画出幅频特性。
(3)采集数据长度点,做点的DFT,并画出幅频特性。
观察三幅不同频率特性图,分析和比较它们的特点以及形成的原因。
4、实现序列的内插和抽取所对应的傅立叶变换。
给定序列,做128点的傅立叶变换,并求和为整数对应的傅立叶变换(128点)。
比较这三个计算结果得到的幅频特性图,分析其差别产生的原因。
选择不同的插值倍数和抽样倍数对比其幅频的变化实验内容 1.(1)M函数文件dft1.mfunction y=dft1(x)N=length(x);for k=1:N A=0;for n=1:NA=A+x(n)*exp((-j*2*pi/N)*(k-1)*(n-1));y(k)=A;endendend(2)M函数文件dft2.mfunction y=dft2(x)N=length(x);x1=x'';for r=1:Nfor c=1:Ng(r,c)=exp((-j*2*pi/N)*(r-1)*(c-1));endendy=g*x1;end2.取23点的DFT>> x=0:15;h=ones(1,8); y1=fft(x,23); y2=fft(h,23); y3=y1.*y2; y4=ifft(y3,23)取24点的DFT>> y1=fft(x,24); y2=fft(h,24); y3=y1.*y2; y4=ifft(y3,24)取18点的DFT>> y1=fft(x,18); y2=fft(h,18); y3=y1.*y2; y4=ifft(y3,18)3.>> fs=32000;Ndata=16;N=16;>> n=0:Ndata-1;t=n/fs;>> x=cos(2*pi*6500*t)+cos(2*pi*9000*t);/>> x2=neicha(x,3);>> y=fft(x,128);y1=fft(x1,128);y2=fft(x2,128);>> subplot(3,1,1),stem(n,abs(y)),title(''x(n)幅频特性'')>> subplot(3,1,2),stem(n,abs(y1)),title(''x(3n)幅频特性'')>> subplot(3,1,3),stem(n,abs(y2)),title(''x(n/3)幅频特性'')>> grid on>> subplot(3,1,1),grid on>> subplot(3,1,2),grid on序列抽取函数chouqu.mfunction y=chouqu(x,k)n=length(x);m=((n-1)-mod((n-1),k))/k;for j=0:my(j+1)=x(k*j+1);endend序列内插函数neicha.mfunction y=neicha(x,k)n=length(x);for m=0:(n-1)*kif mod(m,k)==0y(1+m)=x((m/3)+1);else y(m+1)=0;endendend为序列抽取和内插函数。
实验三DFT和FFT频谱分析
![实验三DFT和FFT频谱分析](https://img.taocdn.com/s3/m/678019f4a5e9856a57126097.png)
实验三DFT和FFT频谱分析、实验目的1.掌握DFT频谱分析的原理与编程方法。
2.理解FFT算法的编程思想。
2.熟练掌握利用FFT对信号作频谱分析,包括正确地进行参数选择、画频谱及读频谱图。
3.利用FFT频谱分析进行快速卷积和太阳黑子周期性检测。
二、实验环境1.Windows xp以上操作系统2.安装MATLAB2007a 软件三、实验原理1.离散傅里叶变换(DFT)设序列为x(n),长度为N,则N 1X(ej 3 k)=DFT[x(n)]=送x(n) e-j o k n,n z02 n其中3 k= k(k=0,1,2, …-M,通常M>N,以便观察频谱的细节。
|X(ej 3 kH-x(n)的幅频谱。
M矚慫润厲钐瘗睞枥庑赖賃軔。
矚慫润厲钐瘗睞枥庑赖賃。
2.谱分析参数选择1)设信号x(t)最高频率为fc,对其进行取样得x(n),根据取样定理,取样频率fs必须满足: fs>=2fc。
聞創沟燴鐺險爱氇谴净祸測。
聞創沟燴鐺險爱氇谴净祸。
2)设谱分辨率为F,则最小记录时间tpmin=1/F ;取样点数N> 2fc/F为使用快速傅里叶变换(FFT)进行谱分析,N还须满足:N=2E (E为整数)。
3.用FFT计算信号x(n)的频谱。
[设x(n)为实信号]快速傅里叶变换(FFT)是DFT的一种快速算法,其使得DFT的运算速度大为加快。
1)对信号x(n)作N点FFT,得频谱X(k)(k=0~N-1)X(k)=XR(k)+jXI(k) (k=0~N/2-1)XR(k) — X(k)的实部;Xl(k) — X(k)的虚部。
残骛楼諍锩瀨濟2 / 12溆塹籟婭骤。
残骛楼諍锩瀨濟溆塹籟婭。
Matlab 语句:Y=fft(x,N) 其中:X----X (n );Y----X(k)』2 22)幅频谱:|X(k)|= V XR (K)+X I (K), 由于x(n)为实信号,因此|X(k)|对称,Matlab 语句:abs(Y)iii)功率谱:PSD(k)=|X(k)|2/N=X(k)X*(k)/N Matlab 语句:PSD=Y .*conj(Y)/N其中:conj(Y)-- X*(k)[X(k) 的共轭]4.读频谱图频谱图中任意频率点k 对应实际频率为:fk=fs/N*k 。
实验三 离散傅里叶变换(DFT)
![实验三 离散傅里叶变换(DFT)](https://img.taocdn.com/s3/m/c2766d34bcd126fff6050b0a.png)
title('|X(k)|'); subplot(2, 2, 4); stem(k, angle(Xk)); %显示序列的相位谱 title('arg|X(k)|'); 由这个周期序列的实验我们可以看出,与例 1 相比,有限长序列 x(n) 可以看成是周期序列 x(n) 的 一个周期;反之,周期序列 x(n) 可以看成是有限长序列 x(n) 以 N 为周期的周期延拓。频域上的情况也 是相同的。从这个意义上说,周期序列只有有限个序列值有意义。 3)有限长序列 DFT 与离散时间傅里叶变换 DTFT 的联系 离散时间傅里叶变换(DTFT)是指信号在时域上为离散的,而在频域上则是连续的。如果离散 时间非周期信号为 x(n) ,则它的离散傅里叶变换对(DTFT)表示为:
~ ~
DTFT[ = x(n)] X = (e j w )
n = −∞
∑ x ( n) e
∞
− j wn
jw IDTFT[ X (e= )] x= ( n)
1 2π
−π
∫ X (e
π
ห้องสมุดไป่ตู้
jw
) e j wn d w
其中 X (e jω ) 称为信号序列的频谱。将频谱表示为
X (e j w ) = X (e j w ) eϕ ( w )
3.4实验报告
(1) 列写调试通过的实验内容程序,打印或描绘实验程序产生的曲线图形。 (2) 思考题:有限长序列的离散傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)有何联系与 区别?
② 画出原信号与傅里叶逆变换 IDFT[ X ( k ) ]的图形进行比较。 ,求 x(n) 周期重复次数为 3 次时的 DFS 和 (3) 已知周期序列的主值 x(n) =[7,6,5,4,3,2] IDFS。要求: ① 画出原信号序列的主值和周期序列的图形。
信号分析离散傅里叶变换实验报告
![信号分析离散傅里叶变换实验报告](https://img.taocdn.com/s3/m/1b70df30647d27284a735111.png)
stem(n,y)画出相应的图形。 实验程序:
实验图:
实验结果分析:两个序列的长度分别为 32 和 16,因此 32 点循环卷积和线性卷积在 0-15 点 发生了混叠失真。图一为混得失真后的图像,图二为线性卷积,图三为两个图像得房方 便观察混叠现象。 6.研究高密度频谱和高分辨率频谱。 设有连续信号
−10 ≤ n ≤ 10
实验程序如下所示:
实验图像如下所示:
实验结果分析: 所采用方法与一相同,程序使用循环来实现 DTFT,先进行理论计算,根据离散时间 傅里叶变换的公式,可以得到有限长离散时间信号的离散时间傅里叶变换的值,即
10
X
X (n)e
n=-10
j n
210 e10 j 211 e 11 j 1 2e j
1.求以下有限长离散时间信号的离散时间傅立叶变换 X( 1) 已知 实验程序: , 0 ≤ n ≤ 10
实验图像如下:
实验结果分析: 先进行理论计算,根据离散时间傅里叶变换的公式可以得到有限长离散时间信号傅里叶 变换的值,即
10
X
X (n)e
n= 0
jn
1 (0.9 e
y (-1) y ( 2) x(-1) x( 2) 0 H ( z) Y ( z) 1 z 2 X ( z ) 1 0.81z 2
由理论推导与实际程序操作可知,将理论结果稍加变形即可得到实验结果,运行过程正确。 实验程序:
实验图:
2 实验结果分析: H ( z ) Y ( z ) 1 z X ( z ) 1 0.81z 2
一台 一套
四、操作方法和实验步骤 a)按照实验要求,完成对 MATLAB 程序的编写,并生成相应的波形图; b)对上述问题进行理论计算,将理论计算的结果与上述实验仿真的结果相比较,并解释实验 结果是否正确; c)反思实验过程中出现的问题,并完成实验报告。 五、实验数据记录和处理 六、实验结果与分析
实验三 离散傅里叶变换及性质
![实验三 离散傅里叶变换及性质](https://img.taocdn.com/s3/m/6d09c639f18583d049645963.png)
实验3 离散傅里叶变换及性质1、实验目的(1)通过本实验的练习,了解离散时间信号时域运算的基本实现方法。
(2)了解相关函数的调用格式及作用。
(3)通过本实验,掌握离散傅里叶变换的原理及编程思想。
2、实验原理对于离散序列,存在着两种傅里叶变换——离散时间傅里叶变换(DTFT)和离散傅里叶变换(DFT)。
DTFT用以求出离散信号的连续频谱,它仅在时域上离散而在频域上是连续的;DFT用以求出连续频谱上的离散样本点,所以其在时域和频域上都是离散的。
对于一个离散序列x(n),它的离散时间傅里叶变换(DTFT)的定义为:离散时间傅里叶变换收敛的充分条件是x(n)绝对可加,即利用离散快速傅里叶变换函数计算傅里叶变换。
MATLAB提供了内部函数来快速地进行离散傅里叶变换(DFT)和逆变换(IDFT)的计算,如下所列。
fft(x), fft(x,N), ifft(x), ifft(x,N)(1) fft(x):计算L点的DFT,L为序列x的长度,即L=length(x)。
(2) fft(x,N):计算N点的DFT。
N为指定采用的点数,当N>L,则程序会自动给x后面补N-L个零点;如果N<L,则程序会自动截断x,取前N个数据。
(3) ifft(x):计算L点的IDFT,L为序列x的长度,即L=length(x)。
(4) ifft(x,N):计算N点的IDFT。
N为指定采用的点数,当N>L,则程序会自动给x后面补N-L个零点;如果N<L,则程序会自动截断x,取前N个数据。
3、实验内容和方法1. 离散时间傅里叶变换DTFT【例3-1】求有限长序列x(n)=[1,2,3,4,5]的DTFT,画出它的幅值谱、相位谱、实部和虚部。
MATLAB程序如下:clf;x=[1,2,3,4,5];nx=[-1:3];w=linspace(0,2*pi,512);H=x*exp(-j*nx'*w);subplot(2,2,1); plot(w,abs(H)); ylabel('幅度'); grid on;%画幅度特性曲线subplot(2,2,2); plot(w,angle(H)); ylabel('相角'); grid on;%画相位特性曲线subplot(2,2,3); plot(w,real(H)); ylabel('实部'); grid on;%画幅度实部特性曲线subplot(2,2,4); plot(w,imag(H)); ylabel('虚部'); grid on;%画幅度虚部特性曲线set(gcf,'color','w');程序运行的结果如图3.1所示。
实验三离散傅立叶变换
![实验三离散傅立叶变换](https://img.taocdn.com/s3/m/4ef98c25854769eae009581b6bd97f192279bf05.png)
实验三离散傅立叶变换实验三离散傅立叶变换(DFT)一、实验目的1.掌握离散傅立叶级数(DFS)2.掌握DFT 变换3.掌握DFT 性质4.掌握利用DFT 计算线性卷积5.掌握快速傅立叶变换(FFT)二、实验原理1、离散傅立叶级数DFSIDFS2、离散傅立叶变换(DFT)X(n)为有限长序列:DFT:IDFT:∑∑-=-=-===10102)(~)(~)](~[)(~N n nk NN n N j W n x e n x n x DFS k X π∑∑-=--====101 02)(~)(~1)](~[)(~N k nkN N k nk N j W k X e k X k X IDFS n x π∑∑-=-=-===1 0102)()()]([)(N n nk N N n nk N j W n x en x n x DFT k X π∑∑-=--====10102)()(1)]([)(N k nk N N k nk N j W k X ek X N k X IDFT n x π3、DFT的性质线性性循环折叠性共轭性时序列的对称性序列的圆周移位频域中的圆周移位时域循环卷积频域循环卷积帕赛瓦尔定理4、用DFT计算线性卷积1)设x1(n)为N1点的序列,x2(n)为N2点的序列,则线性卷积的长度为N1+N2-1,而当其两者的圆周卷积的长度取为N1+N2-1时,圆周卷积与线性卷积相等。
2)实际中,当x1(n)的长度远远大于和x2(n)的长度时,往往采用分块卷积的方法,即重叠保留法和重叠相加法。
5、快速傅立叶变换(FFT)在MATLAB中提供fft函数来计算x的DFT。
X=fft(x,N);三、实验内容1.离散傅立叶级数给定有限长序列[1234],延拓为周期N=6的周期序列,并求其DFS。
2.求以下序列的N=16,32,64点的快速傅立叶变换x(n)=exp(-i*pi/8*n);x2(n)=cos(pi/8*n);x3(n)=sin(pi/8*n)3.利用DFT 计算线性卷积给定序列x1(n)=0.9^n,n=[0:11];h(n)=R 9(n)求x1(n)*h(n);x1(n)与h(n)的10点圆周卷积。
【精品】3离散傅里叶变换PPT课件
![【精品】3离散傅里叶变换PPT课件](https://img.taocdn.com/s3/m/71bbd1bd312b3169a551a455.png)
X1(k)=DFT[x1(n)]
X2(k)=DFT[x2(n)]
如果 X(k)=X1(k)·X2(k)
则
N 1
x(n )ID F T [X (k)] x 1 (m )x2((n m ))N R N (n )
m 0
N 1
或 x(n )ID F T [X (k)] x2(m )x 1 ((n m ))N R N (n )
设序列xn长度为m在频域02之间等间隔采样n点56将上式代入xz的表示式中得57上式中1因此上式就成为xn的傅里叶变换xe59例331长度为26的三角形序列编写matlab程序验证频域采样定理60dftdft的快速算法fft的出现dft在数字通信语言信号处理图像处理功率谱估计仿真系统分析雷达理论光学医学地震以及数值分析等各个领域都得到广泛应用
29
第3章 离散傅里叶变换(DFT) 直接计算循环卷积较麻烦。计算机中
采用矩阵相乘或快速傅里叶变换(FFT) 的方法计算循环卷积。下面介绍用矩阵 计算循环卷积的公式。
30
第3章 离散傅里叶变换(DFT)
当n = 0, 1, 2, …, L-1时,由x(n)形成的
序列为: {x(0), x(1), …, x(L-1)}。循环移位后
(2) 时域循环移位定理: 设x(n) 是长度为N的有限长序列,
y(n)为x(n)的循环移位, 即 y(n)=x((n+m))NRN(n)
则
Y(k)=DFT[y(n)]
WNkmX(k)
其中 X(k)=DFT[x(n)], 0≤k≤N-1。
24
第3章 离散傅里叶变换(DFT) (3)频域循环移位定理,如果
可得下面的矩阵:
x(0)
x(1)
实验三 离散傅里叶变换
![实验三 离散傅里叶变换](https://img.taocdn.com/s3/m/cce26ddb76eeaeaad1f33022.png)
实验三 离散傅里叶变换一 实验目的1、理解和加深DFS 和DFT 的概念及其性质;2、学习利用离散傅里叶变换分析信号的频谱。
二 实验设备1、计算机2、MA TLAB R2007a 仿真软件三 实验原理离散傅里叶变换在时域和频域都离散有限的特点,使其成为信号分析与处理中的一个最根本的也是最常用的变换。
然而,但序列的长度N 很大时,直接计算DFT 需要很大的计算量。
快速傅里叶变换使DFT 的运算效率提高数个数量级,为数字信号处理技术应用与各种信号的实时处理创造了良好的条件。
MA TLAB 提供了用于快速计算DFT 的fft 函数,其调用格式为:y=fft(x) 或 y=fft(x,N);fft 函数用来计算序列)(n x 的N 点DFT ,如果序列的长度小于N ,则函数在序列的尾部补零至N 点;而当序列的长度大于N 时,函数对序列进行截短。
为了提高运行速度,通常将N 取为2的整数次幂。
四 实验内容1、上机实验前,认真阅读实验原理,掌握DFS 和DFT 的基本概念;2、掌握离散傅里叶变换分析信号频谱的MATLAB 实现方法。
实例1:求周期序列)()(~5~n R n x ,周期分别为N=20 和N=60时的)(~k X 。
将下列指令编辑到“exlfft.m ”文件中: clc;close all;clear all;L=5;N1=20;N2=60;xn1=[ones(1,L),zeros(1,N1-L)]; xn2=[ones(1,L),zeros(1,N2-L)]; n1=0:N1-1; n2=0:N2-1; Xk1=fft(xn1,N1); Xk2=fft(xn2,N2); magXk1=abs(Xk1); magXk2=abs(Xk2);k1=[-N1/2:N1/2];k2=[-N2/2-10:N2/2+10];magXk11=abs([Xk1(N1/2+1:N1),Xk1(1:N1/2+1)]);magXk22=abs([Xk2(N2/2-9:N2),Xk2(1:N2/2+11)]);subplot(3,2,1);stem(n1,xn1,'.');title('SQ WAVE:L=5,N=20');subplot(3,2,2);stem(n2,xn2,'.');title('SQ WAVE:L=5,N=60');subplot(3,2,3);stem(n1,magXk1,'.');xlabel('(a)');subplot(3,2,4);stem(n2,magXk2,'.');xlabel('(b)');subplot(3,2,5);stem(k1,magXk11,'.');xlabel('(c)');subplot(3,2,6);stem(k2,magXk22,'.');xlabel('(d)');文件编辑后保存,然后单击Debug→Run,运行“exlfft.m”,所示结果如下图所示。
实验三用FFT对信号作频谱分析_实验报告
![实验三用FFT对信号作频谱分析_实验报告](https://img.taocdn.com/s3/m/872e91497dd184254b35eefdc8d376eeaeaa17d0.png)
实验三用FFT对信号作频谱分析_实验报告一、实验目的1.理解离散傅里叶变换(FFT)的原理和应用;2.学会使用FFT对信号进行频谱分析;3.掌握频谱分析的基本方法和实验操作。
二、实验原理离散傅里叶变换(FFT)是一种用来将时域信号转换为频域信号的数学工具。
其基本原理是将连续时间信号进行离散化,然后通过对离散信号进行傅里叶变换得到离散频域信号。
傅里叶变换(Fourier Transform)是一种将时域信号转换为频域信号的方法。
在信号处理中,经常需要对信号的频谱进行分析,以获取信号的频率分量信息。
傅里叶变换提供了一种数学方法,可以将时域信号转换为频域信号,实现频谱分析。
在频谱分析中,我们常常使用快速傅里叶变换(Fast Fourier Transform,FFT)算法进行离散信号的频谱计算。
FFT算法可以高效地计算出离散信号的频谱,由于计算复杂度低,广泛应用于信号处理和频谱分析的领域。
频谱分析的流程一般如下:1.采集或生成待分析的信号;2.对信号进行采样;3.对采样得到的信号进行窗函数处理,以改善频谱的分辨率和抑制信号泄漏;4.使用FFT算法对窗函数处理得到的信号进行傅里叶变换;5.对傅里叶变换得到的频谱进行幅度谱和相位谱分析;6.对频谱进行解释和分析。
三、实验内容实验所需材料和软件及设备:1.信号发生器或任意波形发生器;2.数字示波器;3.计算机。
实验步骤:1.连接信号发生器(或任意波形发生器)和示波器,通过信号发生器发送一个稳定的正弦波信号;2.调节信号频率、幅度和偏置,得到不同的信号;3.使用数字示波器对信号进行采样,得到离散时间信号;4.对采样得到的信号进行窗函数处理;5.对窗函数处理得到的信号进行FFT计算,得到频谱;6.使用软件将频谱进行幅度谱和相位谱的分析和显示。
四、实验结果与分析1.信号频谱分析结果如下图所示:(插入实验结果图)从频谱图中可以看出,信号主要集中在一些频率上,其他频率基本没有,表明信号主要由该频率成分组成。
信号与信号处理实验六 离散傅里叶变换(DFT)
![信号与信号处理实验六 离散傅里叶变换(DFT)](https://img.taocdn.com/s3/m/9b06ef29bd64783e09122ba0.png)
DFT公式: 公式: 公式
X (k ) =
N −1 n= 0 kn x ( n)W N = ∑ N −1 n= 0
∑ 1.m: 用for循环计算 循环计算DFT 循环计算 function [Am,pha]=dft1(x) N=length(x); w=exp(-j*2*pi/N); for k=1:N sum=0; for n=1:N sum=sum+x(n)*w^((k-1)*(n-1)); end Am(k)=abs(sum); pha(k)=angle(sum); end
实验三 离散傅里叶变换(DFT) 离散傅里叶变换(DFT)
一、实验目的 1.掌握序列傅里叶变换的计算机实现方法。 .掌握序列傅里叶变换的计算机实现方法。 2.了解 的性质及应用。 .了解DFT的性质及应用。 的性质及应用 3. 应用离散傅里叶变换 应用离散傅里叶变换(DFT),分析离散信号 , x(n)的频谱。深刻理解 的频谱。 的频谱 深刻理解DFT分析离散信号频谱 分析离散信号频谱 的原理,掌握改善分析过程中产生的误差的方法。 的原理,掌握改善分析过程中产生的误差的方法。
x ( 0) N −1 x (1) L WN M M M ( N −1 )( N −1 ) L WN x( n − 1) L
0 WN
dft2.m: 用MATLAB矩阵运算计算 矩阵运算计算DFT 矩阵运算计算 function [Am,pha]=dft2(x) N=length(x); n=[0:N-1]; k=[0:N-1]; w=exp(-j*2*pi/N); nk=n'*k; wnk=w.^nk; Xk=x*wnk; Am=abs(Xk); pha=angle(Xk);
实验三 离散傅里叶变换.
![实验三 离散傅里叶变换.](https://img.taocdn.com/s3/m/2cea8d1467ec102de2bd89dd.png)
实验三离散傅里叶变换23320078104194 07通信工程戴文一·实验目的1·掌握离散傅里叶级数2·掌握DFT变换3·掌握DFT特性4·掌握利用DFT计算线性卷积5·掌握快速傅里叶变换(FFT)二·实验原理1·离散傅里叶级数2·离散傅里叶变换3·DFT特性4·利用DFT计算线性卷积5·快速傅里叶变换三·实验内容1(2).clear all;xn=[1,2,3,0]Xk=dfs(xn,4)运行结果Xk =6.0000 -2.0000 - 2.0000i 2.0000 + 0.0000i -2.0000 + 2.0000i2_2.clear all;x=[1,1,1,1,1,1];a=dft(x,6)figure(1);subplot(2,1,1);stem(abs(a))subplot(2,1,2);stem(angle(a))figure(2);b=idft(a,6)subplot(2,1,1);stem(abs(b))subplot(2,1,2);stem(angle(b))2(3)_a.n=0:10;x=cos(0.47*pi.*n)+cos(0.53*pi*n); a=dft(x,11);figure(1);subplot(2,1,1);stem(abs(a))subplot(2,1,2);stem(angle(a))2(3)_b.n=0:10;x=cos(0.47*pi.*n)+cos(0.53*pi*n); a=[x,zeros(1,90)];figure(1);stem(a)y=dft(a,101);figure(2);subplot(2,1,1);stem(abs(y))subplot(2,1,2);stem(angle(y))figure(3);yy=fft(a,101);subplot(2,1,1);stem(abs(yy))subplot(2,1,2);stem(angle(yy))2(3)_c.n=0:500;x=cos(0.47*pi.*n)+cos(0.53*pi*n); a=dft(x,501);figure(1);subplot(2,1,1);stem(abs(a))subplot(2,1,2);stem(angle(a))3_1.n=0:10;x=10*(0.8).^n;figure(1);stem(x)figure(2);a=cirshftt(x,15,11);stem(a)3(2).x1=[1,2,2];x2=[1,2,5,4];y1 = circonvt(x1,x2,5)x1=[1,2,2];x2=[1,2,5,4];y2 = circonvt(x1,x2,6)4.x=[1,2,3,4,5,6,7,8,9,10];h=[1,0,-1];figure(1);subplot(2,1,1);stem(x)subplot(2,1,2);stem(h);b=ovrlpsav(x,h,4);figure(2);subplot(2,1,1);stem(abs(b))subplot(2,1,2);stem(angle(b))5.1n=0:44;x=2*sin(4*pi*0.1.*n)+5*cos(8*pi*0.1.*n);a=fft(x,45);stem(abs(a))5.2w=randn(1,64);x=2*sin(4*pi*0.1*n)+5*cos(8*pi*0.1.*n)+0.8*w; a=fft(x,64);stem(abs(a))图形:2_22_3a 2_3b2_3c345四·思考题1·clear all;clc;[x,fs,bits]=wavread('ding'); Sound(x,fs,bits);n=0:999;t=0.1*n;y=fft(x);a=size(x) %数据量subplot(211);stem(abs(x))subplot(212);stem(abs(y))2·clear all;clc;N=64;n=0:N-1;t=0.001.*n;noise=randn(1,N);x=cos(100*pi*t)+cos(240*pi*t);x1=cos(100*pi*t)+cos(240*pi*t)+noise;y=fft(x);y1=fft(x1);subplot(2,1,1);stem(n,abs(y))title('无噪音幅值谱')subplot(2,1,2);stem(n,abs(y1))title('有噪音幅值谱')3·clear all;clc;N=45;n=0:N-1;t=0.001.*n;x=2*sin(2*pi*20.*t)+5*cos(2*pi*30.*t)+sin(2*pi*45.*t); y=fft(x,N);subplot(2,1,1);stem(x)title('原信号')subplot(2,1,2);stem(abs(y))title('DFT变换后的信号')4·clear all;clc;N=1000;n=0:N-1;t=0.1.*n;x=2*sin(2*pi*50.*t)+1.2*randn(size(t));y=fft(x,N);stem(abs(y))title('FFT变换后的信号')5·clear all;clc;load sunspot.datyear = sunspot(:,1);wolfer = sunspot(:,2);figure(1)plot(year,wolfer)title('Sunspot Data')Y = fft(wolfer);N = length(Y);Y(1) = [];power = abs(Y(1:N/2)).^2;nyquist = 1/2;freq = (1:N/2)/(N/2)*nyquist;figure(2)plot(freq,power), grid onxlabel('cycles/year') title('Periodogram') 图形1图形2图形3图形4图形5五·实验小结本次试验是离散的傅里叶变换,主要的内容所涉及的是离散傅里叶级数及其变换特性还有计算,在今后的很多领域都有很广泛的运用,应该努力学好来。
实验三、DFT和DCT及频域滤波
![实验三、DFT和DCT及频域滤波](https://img.taocdn.com/s3/m/80a45e844431b90d6d85c751.png)
一. 实验名称:数字信号的 DFT/DCT 及频域滤波 二. 实验目的1. 熟练掌握数字信号(1D )及数字图像(2D)离散傅立叶变换(DFT )及离散余弦变换(DCT )方法、基本原理及实现流程。
熟悉两种变换的性质,并能对 DFT 及 DCT 的结果进行必要解释。
2. 深入理解离散信号采样频率、奈奎斯特频率及频率分辨率等基本概念,弄清它们之间的相互关系。
了解离散傅里叶变换(DFT )中频率泄露的原因,以及如何尽量减少频率泄露影响的途径。
3. 熟悉和掌握利用 MATLAB 工具进行 1D/2D FFT 及 DCT 的基本步骤、MATLAB 函数使用及对具体变换的处理流程。
4. 能熟练应用 MATLAB 工具对数字图像进行 FFT 及 DCT 处理,并能根据需要进行必要的频谱分析和可视化显示。
三. 实验原理 1、 傅立叶变换● 傅立叶变换:非周期函数表示为正弦和/或余弦乘以加权函数的积分。
● 一维连续Fourier 变换对函数f (x )进行傅立叶变换得到F (u )()()2j xu F u f x e dx π+∞--∞=⎰(1)逆变换,即将F (u)变换到f (x )为()()2j xu f x F u e du π+∞-∞=⎰(2)● 一维离散Fourier 变换正变换(DFT)()12/0(),0,1,,1N j xu N x F u f x e u N π--===-∑L(3)逆变换(IDFT)()12/01(),0,1,,1N j xu Nu f x F u ex N Nπ-===-∑L (4)● 用幅值和相位表示傅立叶变换()()()j u F u F u eθ= (5)2、 离散余弦变换● 1D-DCT()()()()()()()1010,21=cos 0,1,2,...,12N c n N n F k w k f n g k n n k w k f n k N N π-=-==+⎛⎫=- ⎪⎝⎭∑∑,(6)()11k w k k N ⎧=⎪=≤≤-其中, (7)● IDCT 变换()()()()()()()1010=,21cos 0,1,2,...,12N ck N c k f n w k F k g k n n k w k F k n N N π-=-='+⎛⎫==- ⎪⎝⎭∑∑, (8)()011k w k k N ⎧=⎪=≤≤-其中,(9)● 矩阵形式 ==F Gf f GTF ,(10)()11 (1)3(21)cos cos ...cos 2226(21)2cos cos ...cos 222............(1)(1)3(1)(21)cos cos ...cos 222N N N N N G w n N N N N N N N N N N πππππππππ⎡⎤⎢⎥-⎛⎫⎛⎫⎛⎫⎢⎥ ⎪ ⎪ ⎪⎢⎥⎝⎭⎝⎭⎝⎭⎢⎥-⎛⎫⎛⎫⎛⎫⎢⎥= ⎪ ⎪⎪⎢⎥⎝⎭⎝⎭⎝⎭⎢⎥⎢⎥⎢⎥----⎛⎫⎛⎫⎛⎫⎢⎥⎪ ⎪⎪⎝⎭⎝⎭⎝⎭⎣⎦(11)()011n w n n N ⎧=⎪=≤≤-其中,(12)四. 实验步骤1. 1D 数字信号的FFT 及频谱分析 给定如下式(1)所示的1D 连续信号:2sin (30)0.5cos(120)4sin (240)x t t t πππ=++ (13)1) 设采样频率ƒs =1000Hz ,对信号x 进行离散化,并画出一个周内的信号振幅随时间变化的波形图。
三、实验原理 离散傅里叶变换.
![三、实验原理 离散傅里叶变换.](https://img.taocdn.com/s3/m/e77b395e5acfa1c7aa00cc52.png)
前言“数字信号处理”是一门理论和实践密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,作习题和上机实验。
上机实验不仅可以帮助读者深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本课程根据课程重点编写了五个实验,供学生使用或参考。
由于数字信号处理实验的主要目的是验证数字信号处理的有关理论,进一步理解巩固所学理论知识,所以,对实验用算法语言不作任何限制。
为了提高实验效率,我们提倡学生选用编程效率比C语言高好几倍的MATLAB 语言,按照指导书的要求,上机编程完成实验。
实验一用FFT进行谱分析实验一、实验目的:(1) 用FFT进行谱分析,了解fft.m文件的各参数及使用方法;(2) 学习提高频率分辨率的方法,加深对栅栏效应和频谱泄漏等概念的理解。
二、实验设备:计算机,MATLAB软件。
三、实验原理:离散傅里叶变换(DFT)可以用快速傅里叶变换(FFT)算法来计算。
在MATLAB信号处理工具箱中,提供了函数fft()、ifft()分别求解离散傅里叶变换与逆变换。
调用格式如下:Xk=fft(x)Xk=fft(x,N)表示计算信号x的快速离散傅里叶变换Xk。
当x的长度N为2的整数次方时,采用基2算法,否则采用较慢的分裂基算法。
当length(x)>N时,截断x,否则补零。
x=ifft(Xk)x=ifft(Xk,N)表示计算Xk的逆离散傅里叶变换。
1. 用FFT进行谱分析用FFT的结果分析x(t)=cos(2π×50t)+ 0.5cos(2π×150t) + 0.3cos(2π×250t)的频谱。
t=0:0.02/64:0.04;f1=50;y1=cos(2*pi*f1*t)+0.5*cos(2*pi*3*f1*t)+0.3*cos(2*pi*5*f1*t);subplot(311);plot(t,y1);t=0:0.02/16:0.02-0.02/16;f=cos(2*pi*f1*t)+0.5*cos(2*pi*3*f1*t)+0.3*cos(2*pi*5*f1*t);F_1024=2*abs(fft(f,16))/16;k=0:1:15;subplot(312);stem(k,abs(F_1024)); %由于栅栏效应,只能看到16条谱线axis([0,16,0,1.5])F_1024=2*abs(fft(f,1024))/16; %补零减小栅栏效应,可以得到连续频谱L=0:1023;subplot(313);plot(L/1023,abs(F_1024));set(gca,'xtick',[0,0.0625,0.125,0.1875,0.25,0.3125,0.375,0.4 375,0.5,0.5625,0.625,0.6875,0.75,0.8125,0.875,0.9375,1]) %频率刻度为归一化频率运行该程序,结果显示如下:2. 用FFT进行谱分析中的观测时间的选取改变观测时间可以提高频率分辨率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 离散傅里叶变换
一 实验目的
1、理解和加深DFS 和DFT 的概念及其性质;
2、学习利用离散傅里叶变换分析信号的频谱。
二 实验设备
1、计算机
2、MA TLAB R2007a 仿真软件
三 实验原理
离散傅里叶变换在时域和频域都离散有限的特点,使其成为信号分析与处理中的一个最根本的也是最常用的变换。
然而,但序列的长度N 很大时,直接计算DFT 需要很大的计算量。
快速傅里叶变换使DFT 的运算效率提高数个数量级,为数字信号处理技术应用与各种信号的实时处理创造了良好的条件。
MA TLAB 提供了用于快速计算DFT 的fft 函数,其调用格式为:y=fft(x) 或 y=fft(x,N);fft 函数用来计算序列)(n x 的N 点DFT ,如果序列的长度小于N ,则函数在序列的尾部补零至N 点;而当序列的长度大于N 时,函数对序列进行截短。
为了提高运行速度,通常将N 取为2的整数次幂。
四 实验内容
1、上机实验前,认真阅读实验原理,掌握DFS 和DFT 的基本概念;
2、掌握离散傅里叶变换分析信号频谱的MATLAB 实现方法。
实例1:求周期序列)()(~
5
~
n R n x ,周期分别为N=20 和N=60时的)(~
k X 。
将下列指令编辑到“exlfft.m ”文件中: clc;
close all; clear all;
L=5;N1=20;N2=60;
xn1=[ones(1,L),zeros(1,N1-L)]; xn2=[ones(1,L),zeros(1,N2-L)]; n1=0:N1-1; n2=0:N2-1;
Xk1=fft(xn1,N1); Xk2=fft(xn2,N2); magXk1=abs(Xk1); magXk2=abs(Xk2); k1=[-N1/2:N1/2];
k2=[-N2/2-10:N2/2+10];
magXk11=abs([Xk1(N1/2+1:N1),Xk1(1:N1/2+1)]);
magXk22=abs([Xk2(N2/2-9:N2),Xk2(1:N2/2+11)]);
subplot(3,2,1);
stem(n1,xn1,'.');title('SQ WAVE:L=5,N=20');
subplot(3,2,2);
stem(n2,xn2,'.');title('SQ WAVE:L=5,N=60');
subplot(3,2,3);
stem(n1,magXk1,'.');xlabel('(a)');
subplot(3,2,4);
stem(n2,magXk2,'.');xlabel('(b)');
subplot(3,2,5);
stem(k1,magXk11,'.');xlabel('(c)');
subplot(3,2,6);
stem(k2,magXk22,'.');xlabel('(d)');
文件编辑后保存,然后单击Debug→Run,运行“exlfft.m”,所示结果如下图所示。
实例2:
实例3:
实例4:
MATLAB程序如下:
五实验报告要求
1、简述实验目的和实验原理;
2、编程实现实验内容,要求附上详细的源程序和清晰的截图;
3、总结实验中的主要结论。
作业三 离散傅里叶变换
题1:求周期序列)()(~
4~
n R n x ,周期分别为N=16 、N=32和N=64时的)(~
k X 。
题2:
题3:
题1: clc;
close all; clear all;
l=4;N1=16;N2=32;N3=64; xn1=[ones(1,l),zeros(1,N1-l)]; xn2=[ones(1,l),zeros(1,N2-l)]; xn3=[ones(1,l),zeros(1,N3-l)]; n1=0:N1-1; n2=0:N2-1; n3=0:N3-1;
xk1=fft(xn1,N1); xk2=fft(xn2,N2); xk3=fft(xn3,N3); magxk1=abs(xk1); magxk2=abs(xk2); magxk3=abs(xk3); k1=[-N1/2:N1/2]; k2=[-N2/2-8:N2/2+8]; k3=[-N3/2-18:N3/2+18];
magxk11=abs([xk1(N1/2+1:N1),xk1(1:N1/2+1)]); magxk22=abs([xk2(N2/2-7:N2),xk2(1:N2/2+9)]); magxk33=abs([xk3(N3/2-17:N3),xk3(1:N3/2+19)]); subplot(3,3,1);
stem(n1,xn1,'.');title('SQ WA VE:l=4,n=16'); subplot(3,3,2);
stem(n2,xn2,'.');title('SQ WA VE:l=4,n=32'); subplot(3,3,3);
stem(n3,xn3,'.');title('SQ WA VE:l=4,n=64'); subplot(3,3,4);
stem(n1,magxk1,'.');xlabel('(a)');
subplot(3,3,5);
stem(n2,magxk2,'.');xlabel('(b)');
subplot(3,3,6);
stem(n3,magxk3,'.');xlabel('(c)');
subplot(3,3,7);
stem(k1,magxk11,'.');xlabel('(d)');
subplot(3,3,8);
stem(k2,magxk22,'.');xlabel('(e)');
subplot(3,3,9);
stem(k3,magxk33,'.');xlabel('(f)');
程序二:
n=[0:1:99];y=2*sin(0.48*pi*n)+cos(0.52*pi*n); subplot(2,1,1);stem(n,y);
title('signal x(n),0<=n<=99');xlabel('n');
axis([0,100,-2.5,2.5]);
Y=fft(y);magY=abs(Y(1:1:51));
k=0:1:50;w=2*pi/100*k;
subplot(2,1,2);stem(w/pi,magY);
title('samples of DTFTM agnitude');
xlabel('frequency in pi units');
Axis([0,1.4,0,100]);
程序三:
fn=[3 2 1 0 1 2 3];N=7;K=[0:1:6];
FK=fft(fn,N);
magFK=abs(FK);
angFK=angle(FK).*180./pi;
subplot(2,1,1);stem(K,magFK);
title('振幅部分');ylabel('振幅');
subplot(2,1,2);stem(K,angFK);
xlabel('K');title('相位部分');ylabel('相位');。