数字信号处理实验报告-DFTFFT的应用之一确定性信号谱分析
数字信号处理实验二用FFT作谱分析.

西安郵電學院数字信号处理课内实验报告书系部名称:学生姓名:专业名称:班级:学时号:间:计算机系常成娟电子信息科学与技术0603040620952008-11-23实验二:用FFT 作谱分析一、实验目的:(1)进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。
(2)熟悉FFT 算法原理和FFT 子程序的应用。
(3)学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、实验步骤:(1)复习DFT 的定义、性质和用DFT 作谱分析的有关内容。
(2)复习FFT 算法原理与编程思想,并对照DIT —FFT 运算流图和程序框图,读懂本实验提供的FFT 子程序。
(3)编制信号产生子程序,产生以下典型信号供谱分析用:x 1(n =R4(n⎧n +1,0<=n <=3⎪x 2(n =⎨8-n , 4<=n <=7⎪0, 其它n ⎩⎧4-n ,0<=n <=3⎪x 3(n =⎨n -3, 4<=n <=7⎪0, 其它n ⎩x 4(n =cos(pi/4*n x 5(n =sin(pi/8*nx 6(t =cos(pi*8*t+ sin(pi*16*t+cos(20*pi*t应当注意,如果给出的是连续信号xa(t,则首先要根据其最高频率确定采样速率fs 以及由频率选择采样点数N ,然后对其进行软件采样(即计算x(n=xa(nT,0<=n<=N-1), 产生对应序列x(n。
对信号x6(t,频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。
对周期序列,最好截取周期的整数倍进行分析,否则有可能产生较大的分析误差。
请实验者根据DFT 的隐含周期性思考这个问题。
(4)编写主程序。
下图给出了主程序框图,供参考。
实验二用DFT及FFT进行谱分析

实验二用DFT及FFT进行谱分析实验二将使用DFT(离散傅里叶变换)和FFT(快速傅里叶变换)进行谱分析。
在谱分析中,我们将探索如何将时域信号转换为频域信号,并观察信号的频谱特征。
首先,我们需要了解DFT和FFT的基本概念。
DFT是一种将时域信号分解为频域信号的数学方法。
它将一个离散时间序列的N个样本转换为具有N个频率点的频率谱。
DFT在信号处理和谱分析中被广泛应用,但它的计算复杂度为O(N^2)。
为了解决DFT的计算复杂度问题,Cooley和Tukey提出了FFT算法,它是一种使用分治策略的快速计算DFT的方法。
FFT算法的计算复杂度为O(NlogN),使得谱分析在实际应用中更加可行。
在实验中,我们将使用Python编程语言和NumPy库来实现DFT和FFT,并进行信号的谱分析。
首先,我们需要生成一个具有不同频率成分的合成信号。
我们可以使用NumPy的arange函数生成一组时间点,然后使用sin函数生成不同频率的正弦波信号。
接下来,我们将实现DFT函数。
DFT将时域信号作为输入,并返回频域信号。
DFT的公式可以表示为:X(k) = Σ(x(n) * exp(-i*2πkn/N))其中,X(k)是频域信号的第k个频率点,x(n)是时域信号的第n个样本,N是信号的长度。
我们将使用循环计算DFT,但这种方法的计算复杂度为O(N^2)。
因此,我们将在实验过程中进行一些优化。
接下来,我们将实现FFT函数。
FFT函数将时域信号作为输入,并返回频域信号。
可以使用Cooley-Tukey的分治算法来快速计算FFT。
FFT的基本思想是将一个长度为N的信号分解为两个长度为N/2的子信号,然后逐步地将子信号分解为更小的子信号。
最后,将所有子信号重新组合以得到频域信号。
实验中,我们将使用递归的方式实现FFT算法。
首先,我们将信号分解为两个子信号,然后对每个子信号进行FFT计算。
最后,将两个子信号的FFT结果重新组合以得到频域信号。
实验二 确定性信号谱分析

实验报告课程名称: 数字信号处理 指导老师: 成绩:__________________实验名称:DFT 的应用之一 − 确定性信号谱分析一、实验目的和要求谱分析即求信号的频谱。
本实验采用DFT 技术对周期性信号进行谱分析。
通过实验,了解用X(k)近似地表示频谱X(e j ω)带来的栅栏效应、混叠现象和频谱泄漏,了解如何正确地选择参数(抽样间隔T 、抽样点数N )。
二、实验内容和步骤2-1 选用最简单的周期信号:单频正弦信号、频率f=50赫兹,进行谱分析。
2-2 谱分析参数可以从下表中任选一组(也可自定)。
对各组参数时的序列,计算:一个正弦周期是否对应整数个抽样间隔?观察区间是否对应整数个正弦周期?2-3 对以上几个正弦序列,依次进行以下过程。
2-3-1观察并记录一个正弦序列的图形(时域)、频谱(幅度谱、频谱实部、频谱虚部)形状、幅度谱的第一个峰的坐标(U ,V )。
2-3-2 分析抽样间隔T 、截断长度N (抽样个数)对谱分析结果的影响; 2-3-3 思考X(k)与X(e j ω)的关系;2-3-4 讨论用X(k)近似表示X(e j ω)时的栅栏效应、混叠现象、频谱泄漏。
专业:________________ 姓名: 陈斌斌学号: 3120104034 日期:________________ 地点:________________实验名称:_______________________________姓名:______________学号:__________________ P.三、主要仪器设备MATLAB编程。
四、操作方法和实验步骤(参见“二、实验内容和步骤”)五、实验数据记录和处理程序清单:t =linspace(0,0.04,16);xn = sin(100*pi*t);N=length(xn);WNnk=dftmtx(N);Xk=xn*WNnk;subplot(2,2,1),stem(1:N,xn),title('时域离散序列x(n)');subplot(2,2,2),stem(1:N,abs(Xk)),title('幅度谱');subplot(2,2,3),stem(1:N,real(Xk)),title('频谱实部');subplot(2,2,4),stem(1:N,imag(Xk)),title('频谱虚部');六、实验结果与分析本实验以第五组参数为基准:采样频率:400 Hz6-1 实验前预习有关概念,并根据上列参数来推测相应频谱的形状、谱峰所在频率(U)和谱峰的数值(V)、混叠现象和频谱泄漏的有无。
信号处理课设报告——DFT对信号进行谱分析

燕山大学课程设计说明书课程名称数字信号原理及应用题目DFT对信号进行谱分析学院(系)电气工程学院年级专业学号学生姓名指导教师教师职称电气工程学院《课程设计》任务书课程名称:数字信号处理课程设计基层教学单位:仪器科学与工程系指导教师:王娜学号学生姓名(专业)班级设计题目16、DFT对信号进行谱分析设计技术参数)2.0cos(2)(1nnxπ=)]cos()1.0[cos(5.0)(2nnnxππ-=)10(2)(213+=-nRnx n设计要求选择合适的变换区间长度N,用DFT对上述信号进行谱分析,画出时域波形、幅频特性和相频特性曲线参考资料数字信号处理方面资料MATLAB方面资料周次前半周后半周应完成内容收集消化资料、学习MA TLAB软件,进行相关参数计算编写仿真程序、调试指导教师签字基层教学单位主任签字说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科目录一、绪论 (1)1.1 信号处理简介 (1)1.2 MATLAB简介 (2)二、信号处理原理 (4)2.1 DFT的定义及推导 (4)2.2 DFT的性质 (6)2.3 快速傅里叶变换 (7)三、软件仿真设计 (8)四、程序设计与结果 (9)4.1信号1的分析 (9)4.2信号2的分析 (10)4.3信号3的分析 (11)4.4补零计算 (12)五、设计体会及心得 (15)参考文献 (16)一、绪论1.1信号处理简介数字信号处理是对时间变量均为离散的信号进行变换、加工和处理的技术。
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
由于客观世界中大量存在的是模拟信号,因此,在工程应用中常常是用“数字系统”处理模拟信号。
数字信号处理技术是一门理论性、技术性都很强的科学,涉及知识面非常广,涉及信号分析、离散系统分析、综合实现技术等。
数字信号处理的过程包含变换、运算和识别;对象既有确定信号由于随机信号;处理方法涉及时域、频域和复频域;实现方法不同于模拟处理系统,可以分为软件实现和硬件实现。
数字信号处理实验三--用FFT作谱分析

数字信号处理实验三--用FFT作谱分析数字信号处理实验报告一、实验目的(1)进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质);(2)熟悉FFT 算法的原理;(3)学习用FFT 对连续信号和时域离散信号进行谱分析的方法分析误差及其原因,以便在实际中正确应用FFT 。
二、实验内容(1)x(n)={1 0≤n ≤50 其他构造DFT 函数计算x(n)的10点DFT ,20点DFT并画出图形;(2)利用FFT 对下列信号逐个进行谱分析并画出图形a 、x 1(n)=R 4(n); b 、x 2(n)=cos π4n ; c 、x 3(n)=sin π8n以上3个序列的FFT 变换区间N=8,16(3)设一序列中含有两种频率成份,f1=2HZ,f2=2.05HZ,采样频率取为fs =10HZ ,即)/2sin()/2sin()(21s s f n f f n f n x ππ+=要区分出这两种频率成份,必须满足N>400,为什么?a.取x(n)(0≤n<128)时,计算x(n)的DFT X(k)b.将a 中的x (n )以补零方式使其加长到0≤n<512,计算X(k)c.取x(n)( 0≤n<512),计算X(k)(4)令)()()(32n x n x n x +=用FFT 计算16点离散傅立叶变换并画出图形,分析DFT 的对称性(5))()()(32n jx n x n x +=用FFT 计算16点离散傅立叶变换并画出图形,分析DFT 的对称性三、实验代码(1)1、代码function[Xk]=dft(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk; %离散傅立叶变换方法定义N=10; %10点DFTn1=[0:N-1];x1=[ones(1,6),zeros(1,N-6)]; %生成1行6列的单位矩阵和1行N-6列的0矩阵Xk1=dft(x1,N); %10点DFTfigure(1);subplot(2,1,1);stem(n1,x1); %画火柴图xlabel(‘n’);ylabel(‘x(n)’);subplot(2,1,2);stem(n1,abs(Xk1));xlabel(‘n’);ylabel(‘x(n)’);N=20;n2=[0:N-1];x2=[ones(1,6),zeros(1,14)];Xk2=dft(x2,N);figure(2);subplot(2,1,1);stem(n2,x2);xlabel(‘n’);ylabel(‘x(n)’);subplot(2,1,2);stem(n2,abs(Xk2));xlabel(‘n’);ylabel(‘x(n)’);2、运行结果图1 10点DFT图2 20点DFT3、结果分析定义x(n)的N 点DFT 为由定义知:DFT 具有隐含周期性,周期与DFT 的变换长度N 一致,这说明,变换长度不一样,DFT 的结果也不一样10)()(1-≤≤=∑-=N k W n x k X N n nkNNjN eW π2-=其中(2)1、代码N=64;n=[0:N-1];x1=[ones(1,4),zeros(1,N-4)];%定义x1(n)=R4(n)nx2=cos((pi/4)*n); %定义x2(n)=cosπ4nx3=sin((pi/8)*n); %定义x3(n)=sinπ8y1=fft(x1);y2=fft(x2);y3=fft(x3); %分别进行DFTfigure(1);m1=abs(y1);subplot(2,1,1); %绘制x1(n)的图形stem(n,x1);subplot(2,1,2); %绘制x1(n)的DFT图形stem(n,m1)figure(2);m2=abs(y2);subplot(2,1,1);stem(n,x2); %绘制x2(n)的图形subplot(2,1,2);stem(n,m2); %绘制x1(n)的DFT图形figure(3);m3=abs(y3);subplot(2,1,1);stem(n,x3); %绘制x3(n)的图形subplot(2,1,2);stem(n,m3); %绘制x1(n)的DFT图形2、运行结果图3 x1(n)的DFT前后图形图4 x2(n)的DFT前后图形图5 x3(n)的DFT前后图形3、结果分析由图可以看出,离散序列的DFT与对应连续函数的FT有对应关系,不同之处在于DFT的结果是离散的,而FT的结果是连续的,再者,DFT结果与DFT 的变换长度N有关。
《数字信号处理》实验报告

《数字信号处理》上机实验指导书一、引言“数字信号处理”是一门理论和实验密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助学生深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
所以,根据本课程的重点要求编写了四个实验。
第一章、二章是全书的基础内容,抽样定理、时域离散系统的时域和频域分析以及系统对输入信号的响应是重要的基本内容。
由于第一、二章大部分内容已经在前期《信号与系统》课程中学习完,所以可通过实验一帮助学生温习以上重要内容,加深学生对“数字信号处理是通过对输入信号的一种运算达到处理目的” 这一重要概念的理解。
这样便可以使学生从《信号与系统》课程顺利的过渡到本课程的学习上来。
第三章、四章DFT、FFT是数字信号处理的重要数学工具,它有广泛的使用内容。
限于实验课时,仅采用实验二“用FFT对信号进行谱分析”这一实验。
通过该实验加深理解DFT的基本概念、基本性质。
FFT是它的快速算法,必须学会使用。
所以,学习完第三、四章后,可安排进行实验二。
数字滤波器的基本理论和设计方法是数字信号处理技术的重要内容。
学习这一部分时,应重点掌握IIR和FIR两种不同的数字滤波器的基本设计方法。
IIR滤波器的单位冲激响应是无限长的,设计方法是先设计模拟滤波器,然后再通过S~Z平面转换,求出相应的数字滤波器的系统函数。
这里的平面转换有两种方法,即冲激响应不变法和双线性变换法,后者没有频率混叠的缺点,且转换简单,是一种普遍应用的方法。
学习完第六章以后可以进行实验三。
FIR滤波器的单位冲激响应是有限长的,设计滤波器的目的即是求出符合要求的单位冲激响应。
窗函数法是一种基本的,也是一种重要的设计方法。
学习完第七章后可以进行实验四。
以上所提到的四个实验,可根据实验课时的多少恰当安排。
例如:实验一可根据学生在学习《信号与系统》课程后,掌握的程度来确定是否做此实验。
若时间紧,可以在实验三、四之中任做一个实验。
DFT-FFT的应用之确定性信号谱分析

实验报告课程名称:数字信号处理指导老师:成绩:__________________实验名称:DFT/FFT的应用之一确定性信号谱分析实验类型:__验证_ 同组学生姓名:—一、实验目的和要求谱分析即求信号的频谱。
本实验采用DFT/FFT技术对周期性信号进行谱分析。
通过实验,了解用X(k)近似地表示频谱X(ejω)带来的栅栏效应、混叠现象和频谱泄漏,了解如何正确地选择参数(抽样间隔T、抽样点数N)。
二、实验内容和步骤2-1 选用最简单的周期信号:单频正弦信号、频率f=50赫兹,进行谱分析。
2-2 谱分析参数可以从下表中任选一组(也可自定)。
对各组参数时的序列,计算:一个正弦周期是否对应整数个抽样间隔?观察区间是否对应整数个正弦周期?信号频率f(赫兹)谱分析参数抽样间隔T(秒)截断长度N (抽样个数)50 第一组参数0.000625 3250 第二组参数0.005 3250 第三组参数0.0046875 3250 第四组参数0.004 3250 第五组参数0.0025 162-3 对以上几个正弦序列,依次进行以下过程。
2-3-1 观察并记录一个正弦序列的图形(时域)、频谱(幅度谱、频谱实部、频谱虚部)形状、幅度谱的第一个峰的坐标(U,V)。
2-3-2 分析抽样间隔T、截断长度N(抽样个数)对谱分析结果的影响;2-3-3 思考X(k)与X(e jω)的关系;2-3-4 讨论用X(k)近似表示X(ejω)时的栅栏效应、混叠现象、频谱泄漏。
三、主要仪器设备MATLAB编程。
四、操作方法和实验步骤(参见“二、实验内容和步骤”)五、实验数据记录和处理%program 2-2-1clear;clf;clc;%清楚缓存length=32;T=0.000625;t=0:0.001:31;%设置区间以及步长n=0:length-1;xt=sin(2*pi*50*t);xn=sin(2*pi*50*T*n);figure(1);subplot(2,1,1);plot(t,xt);xlabel('t');ylabel('x(t)');axis([0 0.1 -1 1]);title('原序列');subplot(2,1,2);stem(n,xn);xlabel('n');ylabel('xn)');title('抽样后序列');axis([0 length -1 1]);figure(2); %画出序列的实部、虚部、模、相角subplot(2,2,1);stem(n,real(xn));xlabel('n');ylabel('real(xn)');title('序列的实部');axis([0 length -1 1]); subplot(2,2,2);stem(n,imag(xn));xlabel('n');ylabel('imag(xn)');title('序列的虚部');axis([0 length -1 1]); subplot(2,2,3);stem(n,abs(xn));xlabel('n');ylabel('abs(xn)');title('序列的模');axis([0 length -1 1]); subplot(2,2,4);stem(n,angle(xn));xlabel('n');ylabel('angle(xn)');title('序列的相角');axis([0 length -1 1]); F=fft(xn,length); %计算DFTfigure(3); %画出DFT的的幅度,实部和虚部subplot(3,1,1);stem(n,abs(F));xlabel('k');ylabel('abs(F)');title('DFT幅度谱');subplot(3,1,2);stem(n,real(F));xlabel('k');ylabel('real(F)');title('dft 实部'); subplot(3,1,3);stem(n,imag(F));xlabel('k');ylabel('imag(F)');title('DFT的虚部'); 六、实验结果与分析 实验结果: 第一组参数:tx (t )原序列nx n )nr e a l (x n )ni m a g (x n )na b s(x n )na n g l e (x n )k a b s (F )-15kr e a l (F )dft 实部ki m a g (F )第二组参数:tx (t )nx n )nr e a l (x n )ni m a g (x n )na b s (x n )na n g l e (x n )k a b s (F )DFT 幅度谱-14kr e a l (F )dft 实部ki m a g (F )第三组参数:tx (t )原序列nx n )nr e a l (x n )ni m a g (x n )序列的虚部na b s(x n )na n g l e (x n )序列的相角k a b s (F )DFT 幅度谱kr e a l (F )dft 实部-14ki m a g (F )DFT的虚部第四组参数;tx (t )原序列nx n )抽样后序列nr e a l (x n )ni m a g (x n )na b s (x n )na n g l e (x n )k a b s (F )DFT 幅度谱kr e a l (F )dft 实部ki m a g (F )第五组数据:tx (t )原序列nx n )nr e a l (x n )ni m a g (x n )序列的虚部na b s (x n )na n g l e (x n )k a b s (F )DFT 幅度谱-15kr e a l (F )dft 实部ki m a g (F )实验数据分析6-1 实验前预习有关概念,并根据上列参数来推测相应频谱的形状、谱峰所在频率(U )和谱峰的数值(V )、混叠现象和频谱泄漏的有无:奈奎斯特定律的时候不会出现频率的混叠现象。
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 算法本身的近似处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称: 数字信号处理 指导老师: 成绩:__________________ 实验名称:DFT/FFT 的应用之一 − 确定性信号谱分析 实验类型:__验证_ 同组学生姓名: —
一、实验目的和要求
谱分析即求信号的频谱。
本实验采用DFT/FFT 技术对周期性信号进行谱分析。
通过实验,了解用X(k)近似地表示频谱X(ej ω)带来的栅栏效应、混叠现象和频谱泄漏,了解如何正确地选择参数(抽样间隔T 、抽样点数N )。
二、实验内容和步骤
2-1 选用最简单的周期信号:单频正弦信号、频率f=50赫兹,进行谱分析。
2-2 谱分析参数可以从下表中任选一组(也可自定)。
对各组参数时的序列,计算:一个正弦周期是
否对应整数个抽样间隔?观察区间是否对应整数个正弦周期?
2-3 对以上几个正弦序列,依次进行以下过程。
2-3-1
观察并记录一个正弦序列的图形(时域)、频谱(幅度谱、频谱实部、频谱虚部)形状、幅度谱的第一个峰的坐标(U ,V )。
2-3-2 分析抽样间隔T 、截断长度N (抽样个数)对谱分析结果的影响; 2-3-3 思考X(k)与X(e j ω)的关系;
2-3-4 讨论用X(k)近似表示X(ej ω)时的栅栏效应、混叠现象、频谱泄漏。
三、主要仪器设备
MATLAB 编程。
专业:________________ 姓名:________________
学号:________________ 日期:________________ 地点:________________
实验名称:_______________________________姓名:______________学号:__________________ P. 四、操作方法和实验步骤
(参见“二、实验内容和步骤”)
五、实验数据记录和处理
列出MATLAB程序清单,加注释。
六、实验结果与分析
6-1 实验前预习有关概念,并根据上列参数来推测相应频谱的形状、谱峰所在频率(U)和谱峰的数值(V)、混叠现象和频谱泄漏的有无。
6-2 观察实验结果(数据及图形)的特征,做必要的记录。
5-2 用基本理论、基本概念来解释各种现象。
(注:
A、黑色部分不要改动。
B、蓝色部分,学生根据本人情况填写。
C、“五、实验数据记录和处理”和“六、实验结果与分析”根据要求(见红色部分),逐条撰写。
D、从第二页起,在每页头部填写实验名称、姓名、学号,标上页码。
不够时自行加页。
E、上交纸质报告)
P. 实验名称:_______________________________姓名:________________学号:__________________
P. 实验名称:_______________________________姓名:________________学号:__________________。