实验三 离散傅立叶变换

合集下载

对离散数据进行傅里叶变换

对离散数据进行傅里叶变换

对离散数据进行傅里叶变换
离散数据是指在时间或空间上取有限个值的数据,例如离散信号、离散时间序列等。

而傅里叶变换是一种将信号从时域转换到频域的数学工具,可以将信号分解为不同频率的正弦和余弦函数的叠加。

离散数据的傅里叶变换在信号处理、图像处理等领域有着广泛的应用。

它可以帮助我们分析和理解信号的频域特性,从而更好地处理和提取信号中的信息。

在进行离散数据的傅里叶变换时,我们首先需要将离散数据按照一定的规则进行采样,得到离散时间序列。

然后,利用傅里叶变换公式将离散时间序列转换到频域。

傅里叶变换的结果是一个复数序列,包含了信号在不同频率上的幅度和相位信息。

离散数据的傅里叶变换可以帮助我们分析信号的频谱特性,例如确定信号中存在的主要频率成分、检测信号中的周期性、滤除噪声等。

通过对信号进行傅里叶变换,我们可以得到信号的频谱图,从而更好地理解信号的频域特性。

除了离散数据的傅里叶变换,还存在连续数据的傅里叶变换。

两者的区别在于采样方式不同,连续数据的傅里叶变换是对连续时间信号进行变换,而离散数据的傅里叶变换是对离散时间信号进行变换。

离散数据的傅里叶变换是一种重要的信号处理工具,可以帮助我们更好地理解和处理离散信号。

它在通信、图像处理、音频处理等领
域有着广泛的应用前景。

通过对离散数据进行傅里叶变换,我们可以更好地理解信号的频域特性,从而提高信号处理的效果。

实验三数字图像的离散傅里叶变换

实验三数字图像的离散傅里叶变换

电子科技大学实验报告学生姓名:学号:指导教师:彭真明日期:2014 年 4 月12 日一、 实验名称:数字图像的离散傅里叶变换二、 实验目的:1. 了解数字图像的各种正交变换的概念和用途。

2. 掌握各种数字图像变换的方法和原理。

3. 深入理解离散信号采样频率、奈奎斯特频率及频率分辨率等基本概念,弄清它们之间的相互关系。

弄清离散傅里叶变换(DFT )中频率泄露的原因,以及如何尽量减少频率泄露影响的途径。

4. 熟练掌握离 DFT 、DCT 的原理、方法和实现流程,熟悉两种变换的性质,并能对图像DFT 及DCT 的结果进行必要解释。

5. 熟悉和掌握利用 MA TLAB 工具进行数字图像FFT 及DCT 的基本步骤、MA TLAB 函数使用及具体变换的处理流程。

6. 能熟练应用 MA TLAB 工具对数字图像进行FFT 及DCT 处理,并能根据需要进行必要的频谱分析和可视化显示。

三、 实验原理:傅里叶变换是信号处理领域中一个重要里程碑,它在图像处理技术中同样起着十分重要的作用,被广泛应用于图像提取、图像增强与恢复、噪声控制、纹理分析等多个方面。

1. 离散傅里叶变换(DFT)要把傅里叶变换应用到数字图像处理中,就必须处理离散数据,离散傅里叶变换的提出使得这种数学方法能够和计算机技术联系起来。

正变换:逆变换:幅度:相位角:功率谱:2. 快速傅里叶变换(FFT)离散傅里叶变换运算量巨大,计算时间长,其运算次数正比于N^2,当N 比较大的时候,运算时间更是迅速增长。

而快速傅里叶变换的提出将使傅里叶变换的复杂度∑∑-=-=+-=101)//(2),(1),(M x N y N vy M ux j e y x f MN v u F π∑∑-=-=+=1010)//(2),(),(M x N y N vy M ux j e v u F y x fπ由N^2下降到NlgN/lg2,当N 很大时计算量可大大减少。

快速傅里叶变换需要进行基2或者基4的蝶形运算,算法上面较离散傅里叶变换困难。

实验三用FFT对信号进行频谱分析和MATLAB程序

实验三用FFT对信号进行频谱分析和MATLAB程序

实验三用FFT对信号进行频谱分析和MATLAB程序实验三中使用FFT对信号进行频谱分析的目的是通过将时域信号转换为频域信号,来获取信号的频谱信息。

MATLAB提供了方便易用的函数来实现FFT。

首先,我们需要了解FFT的原理。

FFT(快速傅里叶变换)是一种快速计算离散傅里叶变换(DFT)的算法,用于将离散的时间域信号转换为连续的频域信号。

FFT算法的主要思想是将问题划分为多个规模较小的子问题,并利用DFT的对称性质进行递归计算。

FFT算法能够帮助我们高效地进行频谱分析。

下面是一个使用MATLAB进行频谱分析的示例程序:```matlab%生成一个10秒钟的正弦波信号,频率为1Hz,采样率为100Hzfs = 100; % 采样率t = 0:1/fs:10-1/fs; % 时间范围f=1;%正弦波频率x = sin(2*pi*f*t);%进行FFT计算N = length(x); % 信号长度X = fft(x); % FFT计算magX = abs(X)/N; % 幅值谱frequencies = (0:N-1)*(fs/N); % 频率范围%绘制频谱图figure;plot(frequencies, magX);xlabel('频率(Hz)');ylabel('振幅');title('信号频谱');```上述代码生成了一个10秒钟的正弦波信号,频率为1 Hz,采样率为100 Hz。

通过调用MATLAB的fft函数计算信号的FFT,然后计算每个频率分量的幅值谱,并绘制出信号频谱图。

在频谱图中,横轴表示频率,纵轴表示振幅。

该实验需要注意以下几点:1.信号的采样率要与信号中最高频率成一定比例,以避免采样率不足导致的伪频谱。

2.FFT计算结果是一个复数数组,我们一般只关注其幅值谱。

3.频率范围是0到采样率之间的频率。

实验三的报告可以包含以下内容:1.实验目的和背景介绍。

数字信号处理实验三离散时间傅里叶变换DTFT及IDTFT

数字信号处理实验三离散时间傅里叶变换DTFT及IDTFT

数字信号处理实验三离散时间傅里叶变换DTFT及IDTFT一、实验目的:(1)通过本实验,加深对DTFT和IDFT的理解;(2)熟悉应用DTFT对典型信号进行频谱分析的方法;(3)掌握用MATLAB进行离散时间傅里叶变换及其逆变换的方法;二、实验内容:1自己生成正弦序列如矩形序列,正弦序列,指数序列等,对其进行频谱分析,观察其时域波形和频域的幅频特性;记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线;矩形序列:程序:M=10;N=2M+1;T=;n=-4M:4M;x=zeros1,3M,ones1,N,zeros1,3M;w=-15::15+1e-10;X=sinNwT./sinwT;subplot1,3,1;stemn,x,'.';axis-20,20,,,grid onxlabel'n',title'a序列幅度'subplot1,3,2,plotw,X,grid onxlabel'\Omega',title'b幅频特性'subplot1,3,3,plotw,X,grid onv=axis;axis-pi/T,pi/T,v3,v4;xlabel'\Omega',title'c横轴放大后幅频特性' setgcf,'color','w'正弦序列:程序:n=-10:10; x=sinnpi;k=-200:200; w=pi/100k;X=xexp-jpi/100.^n'k; magX=absX;angX=angleX;subplot3,1,1;stemn,x,'.k';title'xn=sinπn';subplot3,1,2;plotw/pi,magX,'.k';title'Xe^jw幅度谱';subplot3,1,3;plotw/pi,angX,'.k';title'Xe^jw相位谱';n=-10:10; x=sinnpi;k=-200:200;w=pi/100k;X=xexp-jpi/100.^n'k;magX=absX;angX=angleX;subplot3,1,1;stemn,x,'.k';title'xn=sinπn';subplot3,1,2;plotw/pi,magX,'.k'; title'Xe^jw幅度谱'; subplot3,1,3;plotw/pi,angX,'.k'; title'Xe^jw相位谱';波形如下:指数序列:程序:n=-5:5;x=.^n;k=-200:200;w=pi/100k;X=xexp-jpi/100.^n'k;magX=absX;angX=angleX;subplot2,1,1;plotw/pi,magX,'k';grid;axis-2,2,0,15xlabel'frequency in units of\pi';ylabel'|x|'gtext'Magnitde Part'subplot2,1,2;plotw/pi,angX,'k'/pi,grid;axis-2,2,-4,4xlabel'frequency in units of\pi';ylabel'radians\pi' gtext'Angle Part';2.对于理想的低通,高通滤波器,用IDTFT 求出它的逆变换所对应得离散时间序列;记录实验中观察到的现象,绘出相应的时域序列曲线;要求滤波器的截至频率可由用户在MATLAB 界面自行输入;程序:wc=pi;n=-10:10+1e-10;hd=sinnwc./npi;subplot1,2,1;plot-pi,-wc,-wc,wc,wc,pi,0,0,1,1,0,0xlabel'频率1/秒';ylabel'幅度';axis-pi,pi,,,grid onsubplot1,2,2;stemn,hd,grid onxlabel'n';ylabel'序列';axis-10,10,wc,wcsetgcf,'color','w'三、思考题离散时间信号的频谱分辨率在实验中能体现出来吗实序列的DTFT具有对称性吗若是,如何体现出来答:能,实序列的DTFT具有对称性;离散时间信号的频谱中,频谱分辨率体现在相同的坐标系下面,能表现信号的范围,当表现的范围越大,其分辨率越高。

傅里叶变换 实验报告

傅里叶变换 实验报告

傅里叶变换实验报告傅里叶变换实验报告引言:傅里叶变换是一种重要的数学工具,广泛应用于信号处理、图像处理、物理学、工程学等领域。

本次实验旨在通过实际操作和数据分析,深入了解傅里叶变换的原理、特性以及应用。

一、实验目的本实验的目的是通过实际操作,掌握傅里叶变换的基本原理,了解其在信号处理中的应用,并能够正确进行频域分析。

二、实验仪器和材料1. 信号发生器2. 示波器3. 计算机4. 傅里叶变换软件三、实验步骤1. 将信号发生器与示波器连接,并设置合适的频率和幅度,产生一个正弦信号。

2. 通过示波器观察并记录原始信号的时域波形。

3. 将示波器输出的信号通过音频线连接到计算机的输入端口。

4. 打开傅里叶变换软件,选择输入信号源为计算机输入端口,并进行采样。

5. 在傅里叶变换软件中,通过选择合适的窗函数、采样频率和采样点数,进行傅里叶变换。

6. 观察并记录变换后的频域波形,并进行分析。

四、实验结果与分析通过实验操作和数据分析,我们得到了信号的时域波形和频域波形。

在时域波形中,我们可以清晰地看到正弦信号的周期性特征,而在频域波形中,我们可以看到信号的频率成分。

傅里叶变换将信号从时域转换到频域,通过分析频域波形,我们可以得到信号的频率成分。

在实验中,我们可以通过改变信号发生器的频率和幅度,观察频域波形的变化,进一步理解傅里叶变换的原理和特性。

此外,傅里叶变换还可以用于信号滤波。

通过观察频域波形,我们可以选择性地去除某些频率成分,从而实现信号的滤波处理。

这在音频处理、图像处理等领域中具有广泛的应用。

五、实验总结本次实验通过实际操作和数据分析,深入了解了傅里叶变换的原理、特性以及应用。

傅里叶变换作为一种重要的数学工具,在信号处理、图像处理等领域中具有广泛的应用前景。

通过本次实验,我们不仅掌握了傅里叶变换的基本原理和操作方法,还深入了解了信号的时域和频域特性。

这对于我们进一步研究和应用傅里叶变换具有重要的意义。

总之,傅里叶变换是一项重要的数学工具,通过实际操作和数据分析,我们可以更好地理解和应用傅里叶变换,为信号处理和图像处理等领域的研究和应用提供有力支持。

数字信号处理实验报告

数字信号处理实验报告

《数字信号处理》—实验指导数字信号处理课程组电子与信息工程学院班级:姓名:学号:综合评定:成绩:指导教师签字:实验一 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。

2. 掌握MATLAB 产生常用离散时间信号的编程方法。

3. 掌握MATLAB 计算卷积的方法。

二、实验原理(一)MATLAB 常用离散时间信号1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n kn2.单位阶跃序列:⎩⎨⎧01)(n u<≥n n 在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:na n x =)(在MATLAB 中:na x N n .^1:0=-=6.y=fliplr(x)——信号的翻转; y=square(x)——产生方波信号y=sawtooth(x)——产生锯齿波信号; y=sinc(x)——产生sinc 函数信号。

(二)离散时间信号的卷积由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。

离散时间信号的卷积定义为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。

MATLAB 求离散时间信号卷积和的命令为conv ,其语句格式为y=conv(x,h)其中,x 与h 表示离散时间信号值的向量;y 为卷积结果。

FFT实验

FFT实验

FFT实验傅里叶变换(Fast Fourier Transform,FFT)是一种将时间域信号转换为频域信号的算法。

它在信号处理、图像处理、通信等领域得到广泛应用。

本实验将介绍FFT的原理,并提供一个简单的FFT实现程序。

一、傅里叶变换原理傅里叶变换是一种将连续时间域信号转换为连续频域信号的变换。

对于一个具有周期T的连续信号f(t),它的傅里叶变换F(w)可以表示为:F(w) = ∫[0,T] f(t) * exp(-j*w*t) dt其中,j是虚数单位,w是频率。

傅里叶变换的结果是一个复数函数,包含信号的幅度和相位信息。

在数字信号处理中,我们使用离散傅里叶变换(Discrete Fourier Transform,DFT)代替连续傅里叶变换。

离散傅里叶变换可以将离散时间域信号转换为离散频域信号。

对于一个N点采样的离散信号x(n),它的离散傅里叶变换X(k)可以表示为:X(k) = ∑[0,N-1] x(n) * exp(-j*2π*k*n/N)傅里叶变换的计算复杂度为O(n^2),而FFT是一种改进的傅里叶变换算法,可以将计算复杂度降低到O(n*logn)。

FFT通过将N点DFT分解为多个较小规模的DFT计算来实现。

以下提供一个使用C语言实现的简单FFT程序:#include <stdio.h>#include <math.h>int reverseBits(int num, int bits)int reversed = 0;for (int i = 0; i < bits; i++)reversed = (reversed << 1) , (num & 1); num >>= 1;}return reversed;void fft(double x[], double y[], int n) int bits = log2(n);for (int i = 0; i < n; i++)int j = reverseBits(i, bits);if (j < i)double temp = x[i];x[i]=x[j];x[j] = temp;temp = y[i];y[i]=y[j];y[j] = temp;}}for (int k = 2; k <= n; k <<= 1)int half = k >> 1;double wn_r = cos(2 * PI / k);double wn_i = sin(2 * PI / k);for (int i = 0; i < n; i += k)double w_r = 1.0;double w_i = 0.0;for (int j = 0; j < half; j++)double u_r = x[i + j];double u_i = y[i + j];double v_r = x[i + j + half] * w_r - y[i + j + half] * w_i; double v_i = x[i + j + half] * w_i + y[i + j + half] * w_r; x[i+j]=u_r+v_r;y[i+j]=u_i+v_i;x[i + j + half] = u_r - v_r;y[i + j + half] = u_i - v_i;double next_w_r = w_r * wn_r - w_i * wn_i;double next_w_i = w_i * wn_r + w_r * wn_i;w_r = next_w_r;w_i = next_w_i;}}}int maiint n = 8;double x[] = {0, 1, 2, 3, 4, 5, 6, 7};double y[] = {0, 0, 0, 0, 0, 0, 0, 0};fft(x, y, n);for (int i = 0; i < n; i++)printf("(%f, %f)\n", x[i], y[i]);}return 0;以上程序实现了一个8点FFT算法,可以将输入信号{x[0],x[1], ..., x[7]}转换为频域信号{X[0], X[1], ..., X[7]}。

滑块离散傅里叶变换

滑块离散傅里叶变换

滑块离散傅里叶变换一、引言滑块离散傅里叶变换是一种在信号处理领域应用广泛的数学工具,能够将一个连续周期信号分解为一系列频率成分。

本文将深入探索滑块离散傅里叶变换的原理和应用,带您领略频域的奇妙世界。

二、滑块离散傅里叶变换的原理滑块离散傅里叶变换是指通过将连续信号离散化,然后进行傅里叶变换,得到信号的频域表示。

其核心思想是将连续信号分解为一系列离散的频率分量,从而更好地理解和处理信号。

三、离散化过程为了进行滑块离散傅里叶变换,首先需要将连续信号离散化。

这意味着将连续信号在时间上进行采样,得到一系列离散的采样点。

通过这种方式,我们可以将连续信号转化为离散序列,方便进行后续的频域分析。

四、滑块离散傅里叶变换的计算过程滑块离散傅里叶变换的计算可以通过离散傅里叶变换(DFT)算法来实现。

DFT算法可以将离散序列转化为频域表示,得到信号的频谱信息。

通过对离散序列进行傅里叶变换,我们可以得到信号在不同频率下的振幅和相位信息。

五、滑块离散傅里叶变换的应用滑块离散傅里叶变换在信号处理领域有着广泛的应用。

它可以用于音频和图像信号的压缩与解压缩、滤波器设计、频域滤波、信号分析等方面。

通过对信号进行频域分析,我们可以更好地理解信号的特征和结构,从而实现更精确的信号处理。

六、总结滑块离散傅里叶变换是信号处理领域中重要的数学工具,能够帮助我们理解和处理信号的频域特性。

通过离散化和傅里叶变换,我们可以获得信号的频谱信息,从而实现更精确和高效的信号处理。

滑块离散傅里叶变换在音频、图像以及其他领域的应用也越来越广泛,为我们带来了更多的可能性和创新。

通过本文的介绍,相信您已经对滑块离散傅里叶变换有了更深入的了解。

希望本文能够激发您对信号处理领域的兴趣,并为您进一步探索频域的奇妙世界提供了一些启示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 3 0 3 3 3
X (1) x(n)W41n x (n)( j ) n 2 2 j
0 3 0 3
X (2) x( n)W42 n x( n)( j ) 2 n 2
0 0 3 n 4
X (3) x(n)W
从上图可以看出,信号序列的周期数越多,则频谱越
是向几个频点集中,当信号周期数趋于无穷大时 ,频 谱转化为离散谱。
离散傅立叶变换(DFT)
有限长序列x(n)表示为
x(n),0 n N 1 x ( n) 0,n为其他值
x(n)是非周期序列,但可以理解为周期序列 x ( n) 的
nk=n’*k;


WNnk=WN.^(-nk);
xn=(xk*WNnk)/N;
xn=idfs(xk',4) x=xn'
周期重复次数对序列频谱的影响
理论上讲 ,周期序列不满足绝对可积条件,要对周期
序列进行分析,可以先取K个周期进行处理,然后让K
无限增大,研究其极限情况。这样可以观察信号序列
WNnk=WN.^nk; xk=xn* WNnk;
例:xn=[0,1,2,3],N=4
xn=[0,1,2,3]; N=4; xk=dfs(xn,N)’
逆运算IDFS
function xn=idfs(xk,N)


n=[0:1:N-1];
k=n;


WN=exp(-j*2*pi/N);
例:已知信号由15Hz幅值0.5的正弦信号和40Hz
幅值2的正弦信号组成,数据采样频率为100Hz,
试绘制N=128点DFT的幅频图。
由题目可得
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)
fs=100 N=128/1024
fs=100;
N=128;
由非周期到周期变换时 ,频谱由连续谱逐渐向离散谱 过渡的过程。
例:已知一个矩形序列的脉冲宽度占整个周期的1/2,一 个周期的采样点数为10,用傅立叶级数变换求信号的重 复周期数分别为1、4、7、10时的幅度频谱。

MATLAB程序: xn=[ones(1,5),zeros(1,5)]; Nx=length(xn); Nw=1000;dw=2*pi/Nw; k=floor((-Nw/2+0.5):(Nw/2+0.5)); for r=0:3; K=3*r+1; nx=0:(K*Nx-1); x=xn(mod(nx,Nx)+1); Xk=x*(exp(-j*dw*nx'*k))/K; subplot(4,2,2*r+1); stem(nx,x) axis([0,K*Nx-1,0,1.1]); ylabel('x(n)'); subplot(4,2,2*r+2); plot(k*dw,abs(Xk)) axis([-4,4,0,1.1*max(abs(Xk))]); ylabel('X(k)'); end
j
2 kn N
比较正、逆变换的定义式可以看出,只要把DFT公式中
的系数
e DFT的计算程序就可以用来计算IDFT。
e
j
2 nk N
改为
j
2 nk N
,并最后乘以1/N,那么,
DFT与DFS的关系
比较两者的变换对,可以看出两者的区别仅仅是将周
期序列换成了有限长序列。
有限长序列x(n)可以看作是周期序列 x ( n ) 的一个周期;
利用FFT进行功率谱的噪声分析
已知带有测量噪声信号 x(t ) sin(2 f1t ) sin(2 f 2t ) 2(t )
实验三 离散傅立叶变换
一、实验目的
加深对离散傅立叶变换(DFT)的理解。 掌握利用MATLAB语言进行离散傅立叶变换和逆变换的
方法。
加深对离散傅立叶变换基本性质的理解。 掌握离散傅立叶变换快速算法的应用。
二、实验原理及方法
傅里叶变换
建立以时间t为自变量的“信号”与以频率f为 自变量的“频率函数”(频谱)之间的某种变换关系。
n=0:N-1;
t=n/fs;
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); y=fft(x,N); f=(0:length(y)-1)'*fs/length(y); mag=abs(y);
stem(f,mag);
title(‘N=128点’)
n=0:N-1;
xk=dft(xn,N);
x=idft(xk,N); subplot(2,2,1);
stem(n,xn) subplot(2,2,2); stem(n,abs(x)) subplot(2,2,3); stem(n,abs(xk)) subplot(2,2,4); stem(n,angle(xk))
n 0 N 1
例:求出下面周期序列的DFS
x(n)={……,0,1,2,3,0,1,2,3,0,1,2,3,……}
基本周期为N=4,WN=W4=-j,
X (k ) x(n)W
n 0 3 nk 4
因而
X (0) x( n)W40 n x( n) x(0) x(1) x(2) x(3) 6
列,因而对输入要进行“变址”计算(即码位倒置计算)。 “变址”实际上是一种“整序”的行为,目的是保证“同
址”。
FFT的应用
凡是利用付里叶变换来进行分析、综合、变换的
地方,都可以利用FFT算法来减少其计算量。
FFT主要应用在
1、快速卷积
2、快速相关
3、频谱分析
快速傅立叶变换的MATLAB实现
0
3
x(n)( j ) 3n 2 2 j
0
3
MATLAB实现
矩阵-向量相乘运算来实现。
由于x(n)和 X (k )均为周期函数,周期为N,可设 x 和 X
x(n 代表序列 )
和 X (k )
的主值区间序列,则前面的两个表
1 WN X N
快速傅立叶逆变换(IFFT)
函数调用格式
y=ifft(x)
y=ifft(x,N)
当N小于x长度时,对x进行截断,当N大于x长
度时,对x进行补零。
fftshift函数
功能:
对fft的输出进行重新排列,将零频分量移到频谱的中
心。
调用格式
y=fftshift(x)
当x为向量时,fftshift(x)直接将x中左右两半交换而 产生y。 当x为矩阵时,fftshift(x)直接将x中左右、上下进行 交换而产生y。
n 0 N 1 j 2 nk N
,k 0, 1,......
注意 X (k )也是一个基本周期为N的周期序列。
上面两式称为周期序列的傅立叶级数变换对。 令 WN e
j 2 N
表示复指数,可以得到以下:
N 1 n 0
X ( k ) DFS [ x( n)] x( n)WN nk (k )] 1 x(n) DFS [ X N X (k )WN nk
提供fft函数计算DFT 格式
X=fft(x)
X=fft(x,N)
如果x的长度小于N,则在其后填零使其成为N点序列,
反之对x进行截断,若省略变量N,则DFT的长度即为x 的长度。
如果N为2的幂,则得到高速的基-2FFT算法;若N不是2
的乘方,则为较慢的混合算法。
如果x是矩阵,则X是对矩阵的每一列向量作FFT。
利用MATLAB实现傅立叶级数计算
编写函数实现DFS计算
function xk=dfs(xn,N)
n=[0:1:N-1]; k=n; WN=exp(-j*2*pi/N); nk=n’*k;
%n的行向量 %k的行向量 %WN因子
%产生一个含nk值的N乘N维矩阵 %DFS矩阵 %DFS系数行向量
达式可写成:
X WN x x
式中,矩阵WN为方阵——DFS矩阵。
WN [WNkn 0 (k , n) N 1] 11n1 1 1WN WNN 1 k N 1 ( N 1)2 WN ...WN
离散傅里叶级数(DFS)
离散时间序列x(n)满足x(n)=x(n+rN),称为离散周期
序列,其中N为周期,x(n)为主值序列。
由傅立叶分析知道周期函数可由复指数的线性组合叠
加得到。其频率为基本频率的倍数。从离散时间傅立
叶变换的频率周期性,我们知道谐波次数是有限的,
其频率为 { 2
N k , k 0,1,......, N 1}
所以“时间”或“频率”取连续还是离散值, 就形成
各种不同形式的傅里叶变换对。
四种不同傅里叶变换对
傅里叶级数(FS):连续时间, 离散频率的傅里叶变换。
周期连续时间信号傅里叶级数(FS)得到非周期离散频 谱密度函数。
傅里叶变换(FT):连续时间, 连续频率的傅里叶变换。
非周期连续时间信号通过连续付里叶变换(FT)得到非
DFT的快速算法—FFT是数字信号处理的基本方法和基
本技术,是必须牢牢掌握的。
时间抽选FFT算法的理论推导和流图详见《数字信号处
理》教材。该算法遵循两条准则: (1)对时间奇偶分;(2)对频率前后分。
这种算法的流图特点是:
(1)基本运算单元都是蝶形 任何一个长度为N=2M的序列,总可通过M次分解最后 成为2点的DFT计算。如图所示:
相关文档
最新文档