数字信号处理实验二FFT频谱分析

合集下载

数字信号处理实验报告

数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。

2、熟悉离散信号和系统的时域特性。

3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。

4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。

二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。

2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。

信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。

根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。

三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。

(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。

实验二用DFT及FFT进行谱分析

实验二用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结果重新组合以得到频域信号。

数字信号处理实验:基于FFT谱分析中的误差分析及处理

数字信号处理实验:基于FFT谱分析中的误差分析及处理

学生实验报告2020 —— 2021 学年第 1学期实验课程数字信号处理实验地点主教414学院电子信息工程学院专业通信工程学号姓名实验项目基于FFT谱分析中的误差分析及处理实验时间10.20 实验台号预习成绩报告成绩一、实验目的1.在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写2.熟悉应用FFT对典型信号进行频谱分析的方法。

3.了解应用FFT对非周期信号进行频谱分析所面临的问题并掌握其解决方法。

二、实验原理对非周期序列进行频谱分析应注意的问题1、混叠三、预习内容1.混叠,泄漏,栅栏效应的概念2.应用FFT对典型信号进行频谱分析的方法3.应用FFT对非周期信号进行频谱分析所面临的问题并掌握其解决方法4.傅里叶变换的相关性质四、实验内容(一)完成如下实验内容的学习和调试1. 对有限长序列进行谱分析(2)将上述有限长序列x(n)[1,2,3,2,1]末尾补零到N=1000点,使用FFT计算其频谱。

2. 对无限长序列进行谱分析用FFT进行无限长序列的频谱分析,首先要将无限长序列截断成一个有限长序列。

序列长度的取值对频谱有较大的影响,带来的问题是引起频谱的泄漏和波动。

已知一个无限长序列为, x(n)=0(n<0),采样频率Fs=20Hz,要求用FFT求其频谱。

3. 对模拟信号进行谱分析(一)用FFT计算下列连续时间信号的频谱,并观察选择不同的Ts和N值对频谱特性的影响。

(二)记录实验图形结果并结合基本原理,理解每一条语句的含义;(三)讨论有限长序列谱分析时增加分辨率的措施和方法;(四)谈论连续信号谱分析时不同时域采样频率及点数N不同时对频谱分析的影响;(五)对模拟信号进行谱分析,选择采样频率Fs=64Hz,变换区间长度N分别取8、32和64,用FFT分析其频谱。

记录结果并对比、分析和讨论。

五、实验步骤Fs=10;xn=[1,2,3,2,1];N=length(xn);D=2*pi*Fs/N;k=floor(-(N-1)/2:(N-1)/2);X=fftshift(fft(xn,N));subplot(1,2,1);plot(k*D,abs(X),'o:');title('幅度频谱');xlabel('rad/s');subplot(1,2,2);plot(k*D,angle(X),'o:');title('相位频谱');xlabel('rad/s');Fs=10;N=1000;xn=[1,2,3,2,1];Nx=length(xn);xn=[1,2,3,2,1,zeros(1,N-Nx-1)];D=2*pi*Fs/N;k=floor(-(N-1)/2:(N-1)/2);X=fftshift(fft(xn,N));subplot(1,2,1);plot(k*D,abs(X)); title('幅度频谱');xlabel('rad/s'); subplot(1,2,2);plot(k*D,angle(X)); title('相位频谱');xlabel('rad/s');Fs=20;C=[8,16,128];for r=0:2;N=C(r+1);n=0:N-1;xn=exp(-0.5*n);D=2*pi*Fs/N;k=floor(-(N-1)/2:(N-1)/2);X=fftshift(fft(xn,N));subplot(3,2,2*r+1); plot(k*D,abs(X));axis([-80,80,0,3]);subplot(3,2,2*r+2);stairs(k*D,angle(X));axis([-80,80,-1,1]);endT0=[0.5,0.25,0.125,0.125];N0=[256,256,2048,2048];for r=1:4;Ts=T0(r);N=N0(r);n=0:N-1;xn=exp(-0.5*n);D=2*pi/(N*Ts);xa=exp(-0.01*n*Ts).*(sin(2*n*Ts)+sin(2.1*n*Ts)+sin(2.2*n*Ts)); k=floor(-(N-1)/2:(N-1)/2);Xa=Ts*fftshift(fft(xa,N));[r,Xa(1)]subplot(2,2,r);plot(k*D,abs(Xa));axis([1,3,1.1*min(abs(Xa)),1.1*max(abs(Xa))]);end六、总结分析1.离散时间信号的FFT变换,其频谱是以抽样点数N为周期的周期延拓2.当N2为N1的整数倍时,以为抽样点数的抽样的图形就是在以为抽样点数的抽样图形的每两个点之间插入N2/N1个点的谱图形。

FFT实践及频谱分析实践报告

FFT实践及频谱分析实践报告

FFT实验一.内容1. 用Matlab产生正弦波,矩形波,以及白信号,并显示各自时域波形图;2. 进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选;3. 做出上述三种信号的均方根图谱,以及对数均方根图谱;4. 用IFFT傅里叶反变换恢复信号,并显示恢复的正弦信号时域波形图;5.滤波器的设计。

(一).编写程序1.正弦波fs=100;%设定采样频率N=128;n=0:N-1;t=n/fs;f0=10;%设定正弦信号频率%生成正弦信号x=sin(2*pi*f0*t);figure(1);subplot(231);plot(t,x);%做正弦信号的时域波形xlabel('t');ylabel('y');title('正弦信号y=2*pi*10t时域波形');grid;%进行FFT变换并做频谱图y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(1);subplot(232);plot(f,mag);%做频谱图axis([0,100,0,80]);xlabel('频率(HZ)’);ylabel('幅值’);title('正弦信号y=2*pi*10t幅频谱图N=128’);grid;%求均方根谱sq=abs(y);figure(1);subplot(233);plot(f,sq);xlabel('频率(HZ)’);ylabel('均方根谱’);title('正弦信号y=2*pi*10t均方根谱’);grid;%求功率谱power=sq.^2;figure(1);subplot(234);plot(f,power);xlabel('频率(HZ)’);ylabel('功率谱’);title('正弦信号y=2*pi*10t功率谱’);grid;%求对数谱ln=log(sq);figure(1);subplot(235);plot(f,sq);xlabel('频率(HZ)’);ylabel('对数谱’);title('正弦信号y=2*pi*10t对数谱’);grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs;figure(1);subplot(236);plot(ti,magx);xlabel('t’);ylabel('y’);title('通过IFFT转换的正弦信号波形’);grid;2.矩形波fs=10;%设定采样频率t=-5:0.1:5;x=rectpuls(t,2);x=x(1:99);figure(2);subplot(231);plot(t(1:99),x);%作矩形波的时域波形xlabel('t');ylabel('y');title('矩形波时域波形');grid;%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(2);subplot(232);plot(f,mag);%做频谱图xlabel('频率(HZ)');ylabel('幅值');title('矩形波幅频谱图'); grid;%求均方根谱sq=abs(y);figure(2);subplot(233);plot(f,sq);xlabel('频率(HZ)');ylabel('均方根谱');title('矩形波均方根谱'); grid;%求功率根谱power=sq.^2;figure(2);subplot(234);plot(f,power);xlabel('频率(HZ)');ylabel('功率谱');title('矩形波功率谱'); grid;%求对数谱ln=log(sq);figure(2);subplot(235);plot(f,ln);xlabel('频率(HZ)');ylabel('对数谱');title('矩形波对数谱'); grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs; figure(2);plot(ti,magx);xlabel('t');ylabel('y');title('通过IFFT转换的矩形波波形');grid;3.白噪声fs=10;%设定采样频率t=-5:0.1:5;x=zeros(1,100);x(50)=100000;figure(3);subplot(231);plot(t(1:100),x);%作白噪声的时域波形xlabel('t');ylabel('y');title('白噪声时域波形');grid;%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对象的频率转换figure(3);subplot(232);plot(f,mag);%做频谱图xlabel('频率(HZ)');ylabel('幅值');title('白噪声幅频谱图');grid;%求均方根谱sq=abs(y);figure(3);subplot(233);plot(f,sq);xlabel('频率(HZ)');ylabel('均方根谱');title('白噪声均方根谱');grid;%求功率谱power=sq.^2;figure(3);plot(f,power);xlabel('频率(HZ)');ylabel('功率谱');title('白噪声功率谱');grid;%求对数谱ln=log(sq);figure(3);subplot(235);plot(f,ln);xlabel('频率(HZ)');ylabel('对数谱');title('白噪声对数谱');grid;%用IFFT恢复原始信号xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs;figure(3);subplot(236);plot(ti,magx);xlabel('t');ylabel('y');title('通过IFFT转换的白噪声波形'); grid;4.巴特沃斯高通数字滤波器Fs=5000;wp=2000*2/Fs;ws=1500*2/Fs;Rp=1;Rs=20;Nn=128;[N,Wn]=buttord(wp,ws,Rp,Rs);[b,a]=butter(N,Wn,'high');freqz(b,a,Nn,Fs)(二).程序执行后得到的图像①正弦波②矩形波③白噪声④巴特沃斯高通滤波器四.结论1. FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。

FFT算法分析实验实验报告

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 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。

2.应用DFT 分析信号的频谱。

3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。

二、实验设备与环境 计算机、MATLAB 软件环境 三、实验基础理论1.DFT 与DTFT 的关系有限长序列 的离散时间傅里叶变换 在频率区间 的N 个等间隔分布的点 上的N 个取样值可以由下式表示:212/0()|()()01N jkn j Nk N k X e x n eX k k N πωωπ--====≤≤-∑由上式可知,序列 的N 点DFT ,实际上就是 序列的DTFT 在N 个等间隔频率点 上样本 。

2.利用DFT 求DTFT方法1:由恢复出的方法如下:由图2.1所示流程可知:101()()()N j j nkn j nN n n k X e x n eX k W e N ωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑ 由上式可以得到:IDFTDTFT( )12()()()Nj k kX e X k Nωπφω==-∑ 其中为内插函数12sin(/2)()sin(/2)N j N x eN ωωφω--= 方法2:实际在MATLAB 计算中,上述插值运算不见得是最好的办法。

由于DFT 是DTFT 的取样值,其相邻两个频率样本点的间距为2π/N ,所以如果我们增加数据的长度N ,使得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样就可以利用DFT 计算DTFT 。

如果没有更多的数据,可以通过补零来增加数据长度。

3.利用DFT 分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。

对于连续时间非周期信号,按采样间隔T 进行采样,阶段长度M ,那么:1()()()M j tj nT a a a n X j x t edt T x nT e ∞--Ω-Ω=-∞Ω==∑⎰对进行N 点频域采样,得到2120()|()()M jkn Na a M kn NTX j T x nT eTX k ππ--Ω==Ω==∑因此,可以将利用DFT 分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T ,得到离散序列(2)确定截取长度M ,得到M 点离散序列,这里为窗函数。

数字信号处理-实验二-FFT频谱分析

数字信号处理-实验二-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 三种情况进行谱分析。

实验二 应用 FFT 对信号进行频谱分析

实验二 应用 FFT 对信号进行频谱分析

三、实验内容及步骤
(一)编制实验用主程序及相应子程序
1、在实验之前,认真复习 DFT 和 FFT 有关的知识,阅读本实验原 理与方法和实验附录部分中和本实验有关的子程序,掌握子程序的原理 并学习调用方法。 2、编制信号产生子程序及本实验的频掊分析主程序。实验中需要用 到的基本信号包括: (1)高斯序列: (2)衰减正弦序列: (3)三角波序列: (4)反三角序列:
四、思考题
能说出哪一个低频分量更多一些吗?为什么? 2、 对一个有限长序列进行离散傅里叶变换(DFT),等价于将该序 列周期延拓后进行傅里叶级数(DFS)展开。因为 DFS 也只是取其中一 个周期来运算,所以 FFT 在一定条件下也可以用以分析周期信号序 列。如果实正弦信号,用 16 点的 FFT来做 DFS 运算,得到的频谱是信 号本身的真实谱吗?
(二)上机实验内容
1、观察高斯序列的时域和频域特性 ①固定信号中的参数 p=8,改变 q 的值,使 q 分别等于 2,4,8。观 察它们的时域和幅频特性,了解 q 取不同值的时候,对信号时域特性和 幅频特性的影响。 ②固定 q=8,改变 p,使 p 分别等于 8,13,14,观察参数 p 变化对 信号序列时域及幅频特性的影响。注意 p 等于多少时,会发生明显的泄 漏现象,混淆现象是否也随之出现?记录实验中观察到的现象,绘制相 应的时域序列和幅频特性曲线。 2、观察衰减正弦序列的时域和幅频特性 ①令α=0.1 并且 f=0.0625,检查谱峰出现的位置是否正确,注意频谱 的形状,绘制幅频特性曲线。 ②改变 f=0.4375,再变化 f=0.5625,观察这两种情况下,频谱的形状 和谱峰出现的位置,有无混淆和泄漏现象发生?说明产生现象的原因。 3、观察三角波序列和反三角波序列的时域和幅频特性
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:用FFT 对信号作频谱分析10.3.1 实验指导1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。

2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要容。

经常需要进行谱分析的信号是模拟信号和时域离散信号。

对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。

频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。

可以根据此式选择FFT 的变换区间N 。

误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。

周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。

如果不知道信号周期,可以尽量选择信号的观察时间长一些。

对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。

如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

3.实验步骤及容(1)对以下序列进行谱分析。

⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它nn n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。

分别打印其幅频特性曲线。

并进行对比、分析和讨论。

(2)对以下周期序列进行谱分析。

4()cos4x n n π=5()cos(/4)cos(/8)x n n n ππ=+选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。

分别打印其幅频特性曲线。

并进行对比、分析和讨论。

(3)对模拟周期信号进行谱分析6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。

分别打印其幅频特性,并进行分析和讨论。

4.思考题(1)对于周期序列,如果周期不知道,如何用FFT 进行谱分析? (2)如何选择FFT 的变换区间?(包括非周期信号和周期信号)(3)当N=8时,)(2n x 和)(3n x 的幅频特性会相同吗?为什么?N=16 呢? 5.实验报告要求(1)完成各个实验任务和要求。

附上程序清单和有关曲线。

(2)简要回答思考题。

实验容(1)x1n=[ones(1,4)]; X1k8=fft(x1n,8); X1k16=fft(x1n,16); N=8;f=2/N*(0:N-1);subplot(1,2,1);stem(f,abs(X1k8),'.'); title('(la) 8点DFT[x_1(n)]');xlabel('频谱特性');ylabel('幅度'); N=16;f=2/N*(0:N-1);subplot(1,2,2);stem(f,abs(X1k16),'.'); title('(la) 16点DFT[x_1(n)]'); xlabel('频谱特性');ylabel('幅度');M=8;xa=1:(M/2);xb=(M/2):-1:1; x2n=[xa,xb]; x3n=[xb,xa]; X2k8=fft(x2n,8);X2k16=fft(x2n,16); X3k8=fft(x3n,8); X3k16=fft(x3n,16); figure(2); N=8;f=2/N*(0:N-1);subplot(2,2,1);stem(f,abs(X2k8),'.'); title('(2a) 8点DFT[x_2(n)]');xlabel('频谱特性');ylabel('幅度'); subplot(2,2,3);stem(f,abs(X3k8),'.'); title('(3a) 8点DFT[x_3(n)]');xlabel('频谱特性');ylabel('幅度'); N=16;f=2/N*(0:N-1);subplot(2,2,2);stem(f,abs(X2k16),'.'); title('(2a) 16点DFT[x_2(n)]'); xlabel('频谱特性');ylabel('幅度'); subplot(2,2,4);stem(f,abs(X3k16),'.'); title('(3a) 16点DFT[x_3(n)]'); xlabel('频谱特性');ylabel('幅度');图(1a )和(1b )说明14()()x n R n =的8点DFT 和16点DFT 分别是1()x n 的频谱函数的8点和16点采样; 因为3288()((3))()x n x n R n =+,所以,3()x n 与2()x n 的8点DFT 的模相等,如图(2a )和(3a )。

但是,当N=16时,3()x n 与2()x n 不满足循环移位关系,所以图(2b )和(3b )的模不同。

(2)N=8;n=0:N-1; x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8); X4k8=fft(x4n,8); X4k16=fft(x4n,16); X5k8=fft(x5n,8); X5k16=fft(x5n,16); figure(3); N=8;f=2/N*(0:N-1);subplot(2,2,1);stem(f,abs(X4k8),'.'); title('(4a) 8点DFT[x_4(n)]');xlabel('频谱特性');ylabel('幅度'); subplot(2,2,3);stem(f,abs(X5k8),'.'); title('(5a) 8点DFT[x_5(n)]');xlabel('频谱特性');ylabel('幅度'); N=16;f=2/N*(0:N-1);subplot(2,2,2);stem(f,abs(X4k16),'.'); title('(4b) 16点DFT[x_4(n)]'); xlabel('频谱特性');ylabel('幅度'); subplot(2,2,4);stem(f,abs(X5k16),'.'); title('(5b) 16点DFT[x_5(n)]'); xlabel('频谱特性');ylabel('幅度');对周期序列谱分析4()cos4x n n π=的周期为8,所以N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25π处有1根单一谱线。

如图(4b )和(4b )所示。

5()cos(/4)cos(/8)x n n n ππ=+的周期为16,所以N=8不是其周期的整数倍,得到的频谱不正确,如图(5a )所示。

N=16是其一个周期,得到正确的频谱,仅在0.25π和0.125π处有2根单一谱线, 如图(5b )所示。

(3)Fs=64;T=1/Fs; N=16;n=0:N-1; nT=n*T;x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT); X8k16=fft(x8n,16); N=16;f=2/N*(0:N-1); figure(4);subplot(2,2,1);stem(f,abs(X8k16),'.'); title('(6a) 16点DFT[x_8(n)]'); xlabel('频谱特性');ylabel('幅度'); N=32;n=0:N-1; nT=n*T;x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT); X8k32=fft(x8n,32);N=32;f=2/N*(0:N-1); figure(4);subplot(2,2,2);stem(f,abs(X8k32),'.'); title('(6b) 32点DFT[x_8(n)]'); xlabel('频谱特性');ylabel('幅度'); N=64;n=0:N-1; nT=n*T;x8n=cos(8*pi*nT)+cos(16*pi*nT)+cos(20*pi*nT); X8k64=fft(x8n,64); N=64;f=2/N*(0:N-1); figure(4);subplot(2,2,3);stem(f,abs(X8k64),'.'); title('(6c) 64点DFT[x_8(n)]'); xlabel('频谱特性');ylabel('幅度');实验容(3),对模拟周期信号谱分析6()cos8cos16cos20x t t t t πππ=++6()x t 有3个频率成分,1234,8,10f Hz f Hz f Hz ===。

所以6()x t 的周期为0.5s 。

采样频率12364168 6.4s F Hz f f f ====。

变换区间N=16时,观察时间Tp=16T=0.25s ,不是6()x t 的整数倍周期,所以所得频谱不正确,如图(6a )所示。

变换区间N=32,64 时,观察时间Tp=0.5s ,1s ,是6()x t 的整数周期,所以所得频谱正确,如图(6b )和(6c )所示。

图中3根谱线正好位于4,8,10Hz Hz Hz 处。

变换区间N=64 时频谱幅度是变换区间N=32 时2倍,这种结果正好验证了用DFT 对中期序列谱分析的理论。

思考题:。

相关文档
最新文档