实验三 快速傅里叶变换及其应用
快速傅里叶变换应用

所得到的模拟远程高空卫星照片。
从图4可看到,整个模拟远程高空卫星 轮廓清晰可见,达到了较为理想的效果。对 下一步利用光学系统装置采集的远程目标的 进一步识别提供了有利的条件。
– 数字音频广播 (DAB) – 数字视频广播(DVB) – 高清晰数字 (HDTV) 地面广播
目录
➢ 快速傅里叶变换的发展 ➢ FFT/IFFT用于OFDM技术
1.简介 2.应用举例
a. 第四代移动通信技术(LTE) b. IEEE802.11(Wi-fi) c. 超宽带 (UWB) d. 光纤通信 e.其他
目录
➢ 快速傅里叶变换的发展 ➢ FFT/IFFT用于OFDM技术
1.简介 2.应用举例
a. 第四代移动通信技术(LTE) b. IEEE802.11(Wi-fi) c. 超宽带 (UWB) d. 光纤通信 e.其他
➢ FFT/IFFT用于图像处理
卫星通信
OFDM应用
其他: –固线网络
• 高比特 数字用户线路 (HDSL) • 非对称数字用户线路 (ADSL) • 超高速数字用户线路 (VDSL)
➢ FFT/IFFT用于图像处理
卫星通信
OFDM应用
超宽带 (UWB Ultra-Wideband)
标准: IEEE 802.15.3a
相对于传统的窄带无线通信系统 ,UWB无线通信系 统具有高空间频谱效率 、高测距精度 、低截获概率 、 抗多径衰落 、不干扰现有通信系统 、低功耗 、低成本 等诸多优点和潜力。这些优点使 UWB 通信成为中短距 无线网络理想的传输接入技术之一。
傅里叶变换及其应用

傅里叶变换及其应用傅里叶变换(Fourier Transform)是一种重要的数学工具和数学分析方法,广泛应用于信号处理、图像处理、通信系统、量子力学等领域。
通过将一个函数表示成一组正弦和余弦函数的叠加,傅里叶变换能够将时域中的信号转化为频域中的信号,从而使得复杂的信号处理问题变得更加简单。
本文将介绍傅里叶变换的原理、性质以及其在实际应用中的几个重要方面。
一、傅里叶变换的原理和基本定义傅里叶变换是将一个函数f(x)表示成指数函数的叠加的过程。
设f(x)在时域上是以周期T为基本周期的连续函数,那么其傅里叶变换F(k)在频域上将成为以1/T为基本周期的连续函数。
傅里叶变换的基本定义如下:F(k) = ∫[f(x) * e^(-i2πkx/T)]dx其中,i是虚数单位,k是频率变量。
通过这样的变换,我们可以将时域上的函数转换为频域上的函数,从而可以更加清晰地分析信号的频谱特征。
二、傅里叶变换的性质傅里叶变换具有一些重要的性质,这些性质使得傅里叶变换成为一种强大的工具。
1. 线性性质:傅里叶变换具有线性性质,即若f(x)和g(x)的傅里叶变换分别为F(k)和G(k),则对应线性组合的傅里叶变换为aF(k) +bG(k),其中a和b为常数。
2. 时移性质:若f(x)的傅里叶变换为F(k),则f(x - a)的傅里叶变换为e^(-i2πak/T)F(k),即时域上的平移将对频域上的函数进行相位调制。
3. 频移性质:若f(x)的傅里叶变换为F(k),则e^(i2πax/T)f(x)的傅里叶变换为F(k - a),即频域上的平移将对时域上的函数进行相位调制。
4. 尺度变换性质:若f(x)的傅里叶变换为F(k),则f(ax)的傅里叶变换为1/|a|F(k/a),即函数在时域上的尺度变换会对频域上的函数进行缩放。
5. 卷积定理:若f(x)和g(x)的傅里叶变换分别为F(k)和G(k),则f(x) * g(x)的傅里叶变换为F(k)G(k),即在频域上的乘积等于时域上的卷积。
快速傅里叶变换(含详细实验过程分析)

快速傅⾥叶变换(含详细实验过程分析)[实验2] 快速傅⾥叶变换 (FFT) 实现⼀、实验⽬的1、掌握FFT 算法和卷积运算的基本原理;2、掌握⽤C 语⾔编写DSP 程序的⽅法;3、了解利⽤FFT 算法在数字信号处理中的应⽤。
⼆、实验设备 1. ⼀台装有CCS 软件的计算机; 2. DSP 实验箱的TMS320C5410主控板; 3. DSP 硬件仿真器。
三、实验原理(⼀)快速傅⾥叶变换傅⾥叶变换是⼀种将信号从时域变换到频域的变换形式,是信号处理的重要分析⼯具。
离散傅⾥叶变换(DFT )是傅⾥叶变换在离散系统中的表⽰形式。
但是DFT 的计算量⾮常⼤, FFT 就是DFT 的⼀种快速算法, FFT 将DFT 的N 2步运算减少⾄ ( N/2 )log 2N 步。
离散信号x(n)的傅⾥叶变换可以表⽰为∑=-=10][)(N N nk N W n x k X , Nj N e W /2π-=式中的W N 称为蝶形因⼦,利⽤它的对称性和周期性可以减少运算量。
⼀般⽽⾔,FFT 算法分为时间抽取(DIT )和频率抽取(DIF )两⼤类。
两者的区别是蝶形因⼦出现的位置不同,前者中蝶形因⼦出现在输⼊端,后者中出现在输出端。
本实验以时间抽取⽅法为例。
时间抽取FFT 是将N 点输⼊序列x(n) 按照偶数项和奇数项分解为偶序列和奇序列。
偶序列为:x(0), x(2), x(4),…, x(N-2);奇序列为:x(1), x(3), x(5),…, x(N-1)。
这样x(n) 的N 点DFT 可写成:()()∑++∑=-=+-=12/0)12(12/02122)(N n kn NN n nkNW n x Wn x k X考虑到W N 的性质,即2/)2//(22/)2(2][N N j N j N W e e W ===--ππ因此有:()()∑++∑=-=-=12/02/12/02/122)(N n nkN k NN n nkN W n x WWn x k X或者写成:()()12()kN X k X k W X k =+由于X 1(k) 与X 2(k) 的周期为N/2,并且利⽤W N 的对称性和周期性,即:kNNkNWW-=+2/可得:()()12(/2)kNX k N X k W X k+=-对X1(k) 与X2(k)继续以同样的⽅式分解下去,就可以使⼀个N点的DFT最终⽤⼀组2点的DFT来计算。
实验三用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.实验目的和背景介绍。
毕业论文-快速傅里叶变换算法及其在信号处理中的应用

2015 届毕业设计(论文)题目快速傅里叶变换算法及其在信号处理中的应用专业班级2011电子信息工程021104030231学号姓名周汝耀指导教师华夏讲师学院名称电气信息学院2011 年 6 月 9 日摘要快速傅氏变换(FFT),是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。
傅里叶变换的理论与方法在“数理方程”、“线性系统分析”、“信号处理、仿真”等很多学科领域都有着广泛应用,由于计算机只能处理有限长度的离散的序列,所以真正在计算机上运算的是一种离散傅里叶变换. 虽然傅里叶运算在各方面计算中有着重要的作用,但是它的计算过于复杂,大量的计算对于系统的运算负担过于庞大,使得一些对于耗电量少,运算速度慢的系统对其敬而远之,然而,快速傅里叶变换的产生,使得傅里叶变换大为简化,在不牺牲耗电量的条件下提高了系统的运算速度,增强了系统的综合能力,提高了运算速度,因此快速傅里叶变换在生产和生活中都有着非常重要的作用,对于学习掌握都有着非常大的意义。
关键词:快速傅氏变换;快速算法;简化;广泛应用AbstractFast Fourier Transform (FFT), is a discrete fast Fourier transform algorithm, which is based on the Discrete Fourier Transform of odd and even, false, false, and other characteristics of the Discrete Fourier Transform algorithms improvements obtained. Its Fourier transform theory has not found a new, but in the computer system or the application of digital systems Discrete Fourier Transform can be said to be a big step into. Fourier transform theory and methods in the "mathematical equation" and "linear systems analysis" and "signal processing, simulation," and many other areas have a wide range of applications, as the computer can only handle a limited length of the sequence of discrete, so true On the computer's operation is a discrete Fourier transform. Fourier Although all aspects of computing in the calculation has an important role, but its calculation was too complicated, a lot of computing system for calculating the burden is too large for some Less power consumption, the slow speed of operation of its system at arm's length, however, have the fast Fourier transform, Fourier transform greatly simplifying the making, not in power at the expense of the conditions to increase the speed of computing systems, and enhance the system The comprehensive ability to improve the speed of operation, the Fast Fourier Transform in the production and life have a very important role in learning to master all have great significance.KeyWords:Fast Fourier Transform; fast algorithm; simplified; widely used目录摘要 (I)Abstract (II)1.绪论1.1选题背景 (1)1.2 课题研究的意义 (2)2.快速傅里叶变换原理及性质2.1快速傅里叶变换原理 (3)2.2快速傅里叶变换的优越性 (4)2.3快速傅里叶变换的意义 (4)3.快速傅里叶变换的算法3.1快速傅里叶变换算法 (6)3.2 Cooley=Tukey FFT算法 (8)3.3 Rader-Brennr FFT算法 (9)3.4 Goertsel 算法 (10)4.快速傅里叶变换在信号处理中的理论应用4.1利用FFT计算连续时间信号的傅里叶变换 (13)4.2利用FFT计算离散信号的线性卷积 (17)4.3利用FFT进行离散信号压缩 (19)4.4利用FFT对离散信号进行滤波 (22)4.5利用FFT提取离散信号中的最强正弦分量 (24)5.快速傅里叶变换在数字信号分析与处理的实际应用5.1快速傅里叶变换在喇曼光谱信号噪声平滑中的应用 (29)5.2采用异步实现的快速傅里叶变换处理器 (31)5.3快速傅里叶算法在哈特曼夏克传感器波前重构算法中的应用 (33)致谢 (36)参考文献 (37)1 绪论傅立叶变换在生产生活中的重要性非常突出,它将原本难以处理的时域信号相比比较容易地转换成易于分析的频域信号,我们可以利用一些专业工具对这些频域信号进行处理、加工,使信号转化为可以对其进行各种数学变换的数学公式,对其进行处理。
FFT算法分析实验实验报告

FFT算法分析实验实验报告一、实验目的快速傅里叶变换(Fast Fourier Transform,FFT)是数字信号处理中一种非常重要的算法。
本次实验的目的在于深入理解 FFT 算法的基本原理、性能特点,并通过实际编程实现和实验数据分析,掌握 FFT 算法在频谱分析中的应用。
二、实验原理FFT 算法是离散傅里叶变换(Discrete Fourier Transform,DFT)的快速计算方法。
DFT 的定义为:对于长度为 N 的序列 x(n),其 DFT 为X(k) =∑n=0 到 N-1 x(n) e^(j 2π k n / N) ,其中 j 为虚数单位。
FFT 算法基于分治法的思想,将 N 点 DFT 分解为多个较小规模的DFT,从而大大减少了计算量。
常见的 FFT 算法有基 2 算法、基 4 算法等。
三、实验环境本次实验使用的编程语言为 Python,主要依赖 numpy 库来实现 FFT 计算和相关的数据处理。
四、实验步骤1、生成测试信号首先,生成一个包含不同频率成分的正弦波叠加信号,例如100Hz、200Hz 和 300Hz 的正弦波。
设定采样频率为 1000Hz,采样时间为 1 秒,以获取足够的采样点进行分析。
2、进行 FFT 计算使用 numpy 库中的 fft 函数对生成的测试信号进行 FFT 变换。
3、频谱分析计算 FFT 结果的幅度谱和相位谱。
通过幅度谱确定信号中各个频率成分的强度。
4、误差分析与理论上的频率成分进行对比,计算误差。
五、实验结果与分析1、幅度谱分析观察到在 100Hz、200Hz 和 300Hz 附近出现明显的峰值,对应于生成信号中的频率成分。
峰值的大小反映了相应频率成分的强度。
2、相位谱分析相位谱显示了各个频率成分的相位信息。
3、误差分析计算得到的频率与理论值相比,存在一定的误差,但在可接受范围内。
误差主要来源于采样过程中的量化误差以及 FFT 算法本身的近似处理。
傅里叶变换及其应用
傅里叶变换及其应用傅里叶变换(Fourier Transform)是一种将一个函数(或信号)从时域(时间域)转换为频域的数学技术。
它是由法国数学家傅里叶(Jean-Baptiste Joseph Fourier)提出的,因此得名。
傅里叶变换在信号处理、图像处理、通信等领域有广泛的应用,并且为这些领域的发展做出了重大贡献。
一、傅里叶变换的定义和性质傅里叶变换可以将一个连续函数表示为正弦和余弦的加权和,它的数学公式如下:F(ω) = ∫[f(t) * e^(-iωt)] dt其中,F(ω)表示频域上的函数,f(t)表示时域上的函数,e^(-iωt)是复指数函数。
傅里叶变换有一些重要的性质,如线性性、时移性、频移性、对称性等。
这些性质使得傅里叶变换成为一种非常有用的工具,在信号处理中广泛应用。
二、傅里叶级数与傅里叶变换的关系傅里叶级数是傅里叶变换的一种特殊形式,主要用于分析周期性信号。
傅里叶级数可以将一个周期为T的函数展开成正弦和余弦函数的和。
而傅里叶变换则适用于非周期性信号,它可以将一个非周期性函数变换为连续的频谱。
傅里叶级数和傅里叶变换之间存在着密切的关系,它们之间可以相互转换。
傅里叶级数展开的周期函数可以通过将周期延拓到无穷大,得到其对应的傅里叶变换。
而傅里叶变换可以通过将频谱周期化,得到其对应的傅里叶级数。
三、傅里叶变换的应用1. 信号处理傅里叶变换在信号处理中有着重要的应用。
通过将信号从时域转换到频域,我们可以分析信号的频谱特性,如频率成分、幅度、相位等。
这对于音频、图像、视频等信号的处理非常有帮助,例如音频信号的降噪、图像的去噪、视频的压缩等。
2. 图像处理傅里叶变换在图像处理中也有广泛的应用。
通过对图像进行傅里叶变换,可以将图像从时域转换为频域,进而进行频域滤波和频域增强等操作。
这些操作可以实现图像的模糊处理、边缘检测、纹理分析等。
3. 通信在通信领域中,傅里叶变换是无线通信、调制解调、信道估计等技术的基础。
快速 Fourier 变换(FFT)及其应用
0.0395 0.0538 0.0098 0.0245 -0.0054 -0.0737 -0.0881 -0.1385 -0.1163
Columns 46 through 54
-0.0813 -0.0359 -0.0453 -0.0418 -0.0116 -0.0676 -0.0672 -0.0403 -0.0966
x=ifft(X,64);
n=k;
stem(n,abs(x))
grid
运行结果:
3、对实验现象、数据及观察结果的分析与讨论:
图一的理论分析:
图二的理论分析:
比较用IFFT函数时,得其结果是复数求其模值与理论值进行比较得:
程序代码:
x1=1/(1-0.8^N)*0.8.^n;
delta=x1-abs(x)
Columns 19 through 27
-0.0035 0 0.0035 -0.0208 -0.0694 -0.0685 -0.0572 -0.0048 0.0529
Columns 28 through 36
0.0659 0.0969 0.1177 0.1598 0.1266 0.1231 0.0762 0.1276 0.0911
5、实验总结
⑴本次实验成败之处及其原因分析:
⑵本实验的关键环节及改进措施:
①做好本实验需要把握的关键环节:
对matlab语言要极其的熟悉,其次对于课程理论学习的知识要很好的掌握。
②若重做本实验,为实现预期效果,仪器操作和实验步骤应如何改善:
实践前做好充足的准备,熟练掌握matlaB软件,多加练习相关类似的习题一增加理解。
运行结果:
delta =
快速傅立叶变换(FFT)的实现(DSP实验报告)
快速傅立叶变换(FFT )的实现一、实验目的在数字信号处理系统中,FFT 作为一个非常重要的工具经常使用,甚至成为DSP 运算能力的一个考核因素。
FFT 是一种高效实现离散付氏变换的算法。
离散付氏变换的目的是把信号由时域变换到频域,从而可以在频域分析处理信息,得到的结果再由付氏逆变换到时域。
本实验的目的在于学习FFT 算法,及其在TMS320C54X 上的实现,并通过编程掌握C54X 的存储器管理、辅助寄存器的使用、位倒序寻址方式等技巧,同时练习使用CCS 的探针和图形工具。
另外在BIOS 子目录下是一个使用DSP/BIOS 工具实现FFT 的程序。
通过该程序,你可以使用DSP/BIOS 提供的分析工具评估FFT 代码执行情况。
二、实验原理1)基 2 按时间抽取FFT 算法对于有限长离散数字信号{x[n]} ,0 ≤n ≤-1 N,其离散谱{x[k]} 可以由离散付氏变换(DFT)求得。
DFT 的定义为:X(k) x[n]e N k 0,1,...,N 1 n0可以方便的把它改写为如下形式:N1nkX(k) x[n]W n N k k 0,1,..., N 1n0不难看出,WN 是周期性的,且周期为N,即( n mN )(k lN ) nkm,l 0, 1, 2...W N W NWN 的周期性是DFT 的关键性质之一。
为了强调起见,常用表达式WN 取代W 以便明确其周期是N。
2) 实数FFT 运算对于离散傅立叶变换( DFT)的数字计算,FFT 是一种有效的方法。
一般假定输入序列是复数。
当实际输入是实数时,利用对称性质可以使计算DFT 非常有效。
一个优化的实数FFT 算法是一个组合以后的算法。
原始的2N 个点的实输入序列组合成一个N 点的复序列,之后对复序列进行N 点的FFT 运算,最后再由N 点的复数输出拆散成2N 点的复数序列,这2N点的复数序列与原始的2N点的实数输入序列的DFT 输出一致。
实验三 傅里叶变换
实验三傅里叶变换一实验目的(1)掌握连续时间信号傅立叶变换的数值计算方法;(2)熟悉基本信号的频域转换;(3)熟悉傅立叶变换的性质。
二实验原理1.连续时间信号傅立叶变换的数值计算:信号 f(t)的傅立叶变换定义为:F(jw)= ∫ ∞ ?∞ f (t )e ? jwt dt = lim τ →0 n = ?∞ ∑ f ( nτ ) e ∞ ? jwn ττ (3.1)当取τ足够小时,上式的近似情况可以满足实际需要。
若信号 f(t)是时限的,或当 |t|大于某个给定值时,f(t)的值已衰减得很厉害,可以近似地看成时限信号时,则(3.1)式中的 n 可取有限值,设为 N,并对(3.1)式中的频率 w 进行取样,设wk = 2π k Nτ N ?1 n=0 (3.2) ? jwk nτF (k ) = τ ? ∑ f (nτ )e , 0≤k≤N (3.3)用 MATLAB 实现时,其要点是要正确生成 f(t)的 N 个样本 f(nτ)的向量 f, 及向量 e ? jwk nτ ,两向量的内积(即两矩阵的乘积)结果即完成式(3.3)的计算。
2. MATLAB 的 Symbolic Math Toolbox 提供了能直接求解傅立叶变换及逆变换的函数 fourier(f)和 ifourier(F)。
在调用函数 fourier()和 ifourier()之前,要用 syms 命令对所用到的变量进行说明,即要将这些变量说明成符号变量。
对 fourier()中的函数 f 及ifourier()中的函数 F,也要用符号定义符 sym 将 f 或 F 说明为符号表达式; f 或 F 是 MATLAB 中的通用表达式,若则不必用 sym 加以说明。
三实验内容1..已知门信号 f(t)=g2(t)= 0 |t|>1 |t|<1 1,利用数值计算的方法,求其傅立叶变换F(jw)。
实现该过程的 MATLAB 命令程序如下:R=0.01;t=-2:R:2;f=Heaviside(t+1)-Heaviside(t-1);W1=2*pi*5; %频率带宽N=500;k=-N:N;W=k*W1/N;F1=f*exp(-j*t'*W)*R;F=real(F1);subplot(2,1,1);plot(t,f)xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');axis([-2 2 0 1.2])subplot(2,1,2);plot(W,F)xlabel('W');ylabel('F(w)');title('f(t)的傅氏变换 F(w)');axis([-40 40 -0.5 2])2.试用 fourier()函数求下列信号的傅立叶变换 F(jw), 并画出|f(jw)|。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP试验 04008012 1 实验三 快速傅里叶变换及其应用
一:实验目的 (1) 加深对FFT的理解,熟悉matlab中的有关函数。 (2) 应用FFT对典型信号进行频谱分析。 (3) 了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT. (4) 应用FFT实现序列的线性卷积和相关。
二:实验原理: 在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,
它的DFT定义为: 反变换为: 有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。 FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。它是对变换式进行一次次分解,
使其成为若干小点数的组合,从而减少运算量。常用的FFT是以2为基数的,其长度 。它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。
(一)在运用DFT进行频谱分析的过程中可能的产生三种误差 (1) 混叠 序列的频谱是被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。 避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。 (2) 泄漏 实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。 泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。 (3) 栅栏效应 DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。 减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。
(二)用FFT计算线性卷积 用FFT可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周卷积等于线性卷积。一般情况,设两个序列的DSP试验 04008012 2 长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N≥N1+N2 对于长度不足N的两个序列,分别将他们补零延长到N。 当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。有两种方法: (1)重叠相加法。将长序列分成与短序列相仿的片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。 (2) 重叠保留法。这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。
(三)用FFT计算相关函数
两个长为N的实离散时间序列)(nx与)(ny的互相关函数定义为 :
)()()()()()()(1010mymxnymnxmnynxmrNnNmxy )(nrxy的离散傅里叶变换为: 10),()()(NkkYkXkRxy
当)()(nynx时,得到)(nx的自相关函数为:kmNjNnNkxxekXNmnxnxmr221010)(1)()()( 利用FFT求两个有限长序列线性相关的步骤(设)(nx长1N,)(ny长2N): (1)为了使两个有限长序列的线性相关可用其圆周相关代替而不产生混淆,选择周期LN2≥121NN,以便使用FFT,将)(nx,)(ny补零至长为N。 (2)用FFT计算10),(),(NkkYkX (3)10),()()(NkkYkXkRxy (4)对)(kRxy作IFFT;取后1N项,得11)(mNmrxy;取前N项,得10)(Nmmrxy。
三、实验内容及步骤 实验中用到的信号序列:
a)高斯(Gaussian)序列 b)衰减正弦序列
其它0150)(2)(nenx
q
pn
a
其它0150)2sin()(nfne
nxan
b
c)三角波序列 d)反三角波序列 DSP试验 04008012
3 其它074830)(nnnnnxc
其它0744304)(nnnnnxd
上机实验内容: (1)观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q的值,使q分别等于2,4,8,观察它们的时域和幅频特性,了解当q取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 参数p=8不变 主要代码如下: i=1:15; p=8;q=2; subplot(3,2,1); x(i)=exp((-(i-p).^2)/q); stem(x);xlabel('n'); subplot(3,2,2); G=fft(x); plot(abs(G(1:15)));xlabel('k'); 运行结果如下:
对比三张图可知: P不变,随着q值的增大,时域信号幅值变化缓慢时域幅度对应变大,波形变胖,低频分量变多,频域信号频谱泄露程DSP试验 04008012 4 度减小。
参数q=8不变 代码和之前相比只要改变相应几个参数而已,故不列出; 运行结果如下:
可见,当q不变,随着p的增大,时域信号幅值不变,会在时间轴移位,对应右移,可见p决定了波形位置, 当实验中q=8,p=13时,明显出现泄漏。
(2)观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?说明产生现象的原因。 其中一段代码如下(其他的都是改变参数而已): a=0.1;f=0.0625; DSP试验 04008012 5 for i=1:16 x(i)=exp(-a*(i-1))*sin(2*pi*f*(i-1)); end for i=17:100 x(i)=0; end n=0:15; subplot(3,2,1); plot(n(1:16),x(1:16));xlabel('n'); subplot(3,2,2); G=fft(x,16); plot(n(1:16),abs(G(1:16)));xlabel('k'); 结果:
(3)观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列xc(n)和xd(n)的幅频特性,观察两者的序DSP试验 04008012
6 列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。 主要代码如下: for i=1:4 x(i)=i-1; end for i=5:8 x(i)=9-i; end n=0:7; subplot(2,2,1); plot(n,x(1:8));xlabel('n'); subplot(2,2,2); G=fft(x,8); plot(n(1:8),abs(G(1:8)));xlabel('k'); 结果:
在xc(n)和xd(n)末尾补零,用N=32点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两情况的FFTDSP试验 04008012
7 频谱还有相同之处吗?这些变化说明了什么? 代码只需改动几处数据即可,其中一段如下所示: for i=1:4 x(i)=i-1; end for i=5:8 x(i)=9-i; end for i=9:32 x(i)=0; end n=0:31; subplot(2,1,1); G=fft(x,32); plot(n(1:32),abs(G(1:32)));xlabel('k'); 运行结果:
变化:反三角波的低频分量增多,对信号末尾补零加长整数个周期可以对原信号达到细化频谱的作用。 (4) 一个连续信号含两个频率分量,经采样得x(n)=sin[2π*0.125n]+cos[2π*(0.125+Δf)n] n=0,1……,N-1 已知N=16,Δf分别为1/16和1/64,观察其频谱;当N=128时,Δf不变,其结果有何不同,为什么?